Archive

Posts Tagged ‘Editorial’

US Congress, Global Arbiter of Internet Legality?

September 20th, 2010 View Comments

Ars reported today on a new bill being entertained in US Congress.  The bill essentially would make it lawful to require a domain registrar to stop resolving DNS requests to web sites believed to be making pirated intellectual property available.

This is one of those things that seems like a good idea until you really give it some thought.  Of course, a big hint that it is a bad idea:  Orrin Hatch’s name is attached to it, again.  Just when I thought the guy was done hurting America…

Anyway, consider what’s being suggested here.  An organization, like the MPAA (specifically mentioned in the article), sees that a large number of DNS requests to EvilPiracySite.net are being resolved through some DNS service.  The MPAA successfully petitions a court order for an injunction on this DNS service to stop resolution of EvilPiracySite.net to its proper IP address; instead, it returns something like “No route to host” or similar.

The problem is, who decides whether the content of that website is pirated content?  The plaintiff?  The MPAA and RIAA definitions of “fair use” are certainly not mainstream and not what most reasonable people would consider rational.  Is the MPAA going to go to court and then submit this decision to a panel of domain experts?  The US government isn’t exactly known for their use of domain experts; clearly, this bill is one example of them failing to consult with anyone who knows anything about how the internet works.  Consider also the ridiculous state of the US patent office, or the DMCA.

Of course, shutting down a single DNS server is hardly going to address the MPAA’s (or any other plaintiff’s) problem in a satisfactory way.  They will need to successfully target probably hundreds or even thousands of DNS servers to make an impact, and will have to do it for probably hundreds or thousands of DNS names.  Surely each request for injunction cannot be submitted to a expert panel.  Likely, one of two things will happen:

  1. Courts will pretty much just grant these injunctions based on the request of the plaintiff alone, OR
  2. Courts will only be able to service the really wealthy organizations (who can pay the court costs), leaving small plaintiffs, who actually could benefit from such a law, out in the dark

If the answer is #2, the law seems to be pretty one-sided in favor of a few small corporations with no real positive effect on the average American.  If your answer is “so what?”, remember that the government is supposed to be for the people, not only for a few wealthy corporations with lobbying budgets.  We shouldn’t be passing laws that don’t have a clear positive effect on the general public.

If the answer is #1, that might even be worse.  Since when do we pass laws such that the plaintiff alone can leverage the law to his exclusive benefit, without any oversight or check?

The funny thing is, many of these “illegal” web sites are run outside of the United States.  I say “illegal” in quotes because, remember, they are located outside of the United States, and legality is defined by a country’s legal system.  Our government often makes the mistake of referring to them as being illegal because they would be illegal if they were located within the US.  But since they often are not, calling them illegal is truly just blatant misinformation.  I’m no expert on the laws of a foreign country, so I don’t know whether the website is legal or not.  But one thing I do know is that citizens of a foreign country, and businesses incorporated within that country, aren’t subject to US law.  Why should they be?

Oddly, the people complaining the most about all of this never complained when they were rolling in the dough from these same foreign countries.  Take the MPAA again.  They produce and license a movie in the United States and protect it under US intellectual property laws.  Then someone gets a great idea:  “I know!  Let’s also sell this movie in Russia!  There are millions of people in Russia!  We can make even more money by selling this movie in Russia!”  Never was any thought given to the fact that Russian IP law may be viewed differently than US IP law, or that perhaps it isn’t even enforced, or perhaps they don’t believe in IP law anyway.

The MPAA was perfectly happy to leverage US trade laws to their specific advantage when they were selling the movie abroad.  But suddenly, when people that live abroad start doing things that violate US IP law, the MPAA wants the US to spend the money to enforce US law in foreign countries, in order to protect their own pockets.  Surely the MPAA would even be in favor of us going to war, if necessary, to defend their fiscal interests.  That hardly sounds like the best thing for the US as a whole.

I’m on a tangent here, I realize.  I’m trying to make a point here, though, which is to state what this bill is really about:  It’s a way for large, wealthy, IP-based corporations to use US law to enforce sanctions against organizations that may not even be US organizations, all because, in the opinion of the plaintiff, those organizations might violate US law, even if they operate entirely legally in their own country.  And to do it, we will block things at the DNS level to accomplish it.

So in other words, we will essentially create a closed network where Americans can only go to web sites that are approved by the US government, and those approvals will be based on what the wealthiest among us think it is acceptable for us to visit.  I mean, really, isn’t that where this is headed?

Doesn’t that concern you?

Categories: Politics Tags: ,

Maybe YOU Are Responsible for the End of the World

May 11th, 2010 View Comments

Have you ever sent your child to school when they had a sore throat?

You probably thought it wasn’t too serious.  You probably didn’t want to have to deal with them being home sick.  You probably didn’t want to have to take a day off work or cancel your lunch date with your girlfriends.  (By the way, if that last one applies to you, I hope you are a girl, or not married.)

Anyway, you sent your child to school with a sore throat.

Well, guess what, Mr. Selfish-Pants?  Your child has strep throat!  Yep.  You didn’t even know it.

And then, since your child has strep, and since your child is in class with my child, now my child has strep.

And guess what else?  Maybe my child reacts differently to strep.  Maybe instead of just getting strep throat, my child gets a much more severe infection.  Did you know that thousands of children under the age of 12 are hospitalized each year for strep infections?

I’m not really sure if that is true, because I just made it up.

Nevertheless, maybe my child has a severe reaction.  Maybe my child ends up having some form of vasculitis or a fever or severe muscle and joint pain or pneumonia or swelling in her abdominal organs!  Maybe my child ends up severely ill and hospitalized for days and days while doctors try to figure out what is wrong!  Other than the fact that she gets to take narcotics, almost nothing good has come out of this!  All because you sent your child to school with strep throat.

That’s not all.  Maybe I had to miss several days of work to help take care of my sick child in the big scary hospital.  Maybe this happened right at the end of a project deadline, so as a result maybe my project missed its delivery date.  Maybe that means that our software product is not going to ship on time.  All because of you.

If that were to happen, maybe Microsoft misses its earnings projections. (In seriousness, please see below. Really.)  As a result of reporting bad earnings, our stock tanks, costing thousands of Microsoft employees and other shareholders thousands or even millions of dollars.  Revenues in Best Buy stores in the Redmond, Washington area drop 50% over the previous year due to unrealized bonuses.  The economy plummets as the S&P drops hundreds of points in a single day due to Microsoft’s bad numbers.

People all over the country lose their jobs due to the tanking economy.  This death cycle continues as one company after another fails to meet revenue targets.  More and more people lose their homes.  Homeless rates skyrocket.  Anarchy reigns as people band together in small militias to stay alive, using force to raid convenience and grocery stores for food and water.  Larger militias take over entire towns and enforce their will through starvation of those who will not align under their rule.

Martial law is put into effect as the entire country becomes a military state in attempt to maintain some semblance of peace.  Basic freedoms guaranteed by the constitution are lost as the military takes over.  Local militia groups band together under an evil leader and take over the government by military coup, installing that leader as a supreme fascist dictator in a new communistic government.  Millions are needlessly slaughtered in public executions in order to bring the rest of the populace under control.

Then a huge asteroid is discovered, hurtling through outer space and heading straight for Earth.  And since the government has been overthrown and the new government no longer has any money, we can’t hire the world’s best deep-water drilling team to come and learn how to be astronauts in two weeks and fly up into outer space, slingshot around the moon at 35 g’s and drill into the asteroid, put nukes in there and blow it up.  The asteroid hits earth and everyone and everything on earth dies.

All because you sent your child to school with a sore throat.  You selfish, selfish, selfish, selfish, selfish little self-centered selfish-person, you.

DISCLAIMER: I work for Microsoft, but I don’t speak for Microsoft. I already said this before, but I’m just making sure you know, in case you don’t know how to tell when I am joking around. Seriously, I have no idea how our earnings will go. I have absolutely no inside information. I’m just a peon. Whatever you do, don’t make investment decisions based on my blog posts. If you saw my portfolio you would know what I’m talking about.

Categories: Humor Tags: , ,

Your Career Path … Probably Isn’t

April 5th, 2010 View Comments

I have a good friend named Chris Cooper.  (No, not the actor.)  I worked for Chris for many years when he was Director of Developer Services at Novell; now, Chris is a partner with UV Partners, a venture capital firm in Salt Lake City.

Working for Coop (he goes by Coop, not Chris; calling him Chris seems weird) was a very important educational experience for me, primarily because Coop is a businessman, not a technologist, by background.  Because of this, Chris taught me things about the software business that no other manager or director that I’ve worked for has been able to teach me.  In particular, Coop helped me understand many of the reasons why Novell made some of the decisions they made, and why they didn’t make others I thought they should.  Knowing this doesn’t mean that they are right, but it certainly helped me to gain a different perspective.

Some time ago I had the opportunity to meet Coop for lunch in Salt Lake City.  I asked him how he was liking his work and he gushed about how much he loved his job.  Then he admitted, “You know, I never would have even considered this as a career opportunity for me, let alone would I have thought I would like it so much.”  He briefly covered his background — education in business, joined Novell as a sales representative, established key relationships with others, always tried to execute in his assigned role — and then this opportunity played out for him.  We discussed how odd it is that as young people we fret so much about which major to choose and which college to go to and which classes to take and which job opportunity to pursue, almost as though we think that the sum of of these decisions is going to head us down a career freeway, at high speed towards a specific destination, with no exits or detours or scenic byways, when in fact many, many people end up somewhere completely different from what they had planned.

I mentioned this later to a long-time friend who had spent many years in his chosen profession as a physical therapist before making a career change to sell educational technology to schools (yeah, I know!).  Of course he could really identify with this.  He said that often we think of our career not only as a path, but as a freeway like I just mentioned.  But in fact, he said, our career is more like a waterway.  It might be a little stream, or a large river; it might be straight or twisty; it might be fast-moving and exiting, full of whitewater rapids, or it might be slow and steady, if somewhat boring.

He continued the analogy by saying that as you float along the waterway you’ve chosen, you might eventually realize, “Uh, I don’t think this is going where I want to go anymore.”  Maybe it started out going the direction you wanted, but quickly or gradually turned a different way.  Maybe you thought it was heading one direction, only to find that it actually wasn’t heading where you thought it was.  Or maybe it is still going where you once thought it was, but you’ve changed your mind about what you want.  Clearly, if you want to end up where you intended to go, you’ll have to pull your raft out of the waterway and choose another one.

That’s why I say, your career path probably isn’t.  It probably is a waterway.

This is why this post over the weekend by Seth Godin really stood out to me.  I’ve got a big extended family with lots of younger people (siblings, siblings-in-law, cousins, etc.) for me to give advice to that they can quickly ignore.  I’ve seen many of them struggle with this.  They choose a major because it is easy instead of choosing a major because it is interesting, or they don’t finish their degree at all, or they don’t even make choices in college or a career because they are afraid to commit their whole life to it.  I believe in the value of education, but sometimes I’ve wondered why it matters at all if your career is so much left to chance?

Seth’s post identifies the link for me.  Education should be preparing you to take the choices as they become available to you.  You might have a career endpoint in mind, but you can’t be so in love with that endpoint that you won’t consider opportunities and alternatives that become available to you along the way.  How do you even know you will like that endpoint anyway?  Fretting about choosing the right endpoint is pointless.  Your career isn’t a path, it is a waterway.  You don’t know whether the waterway leads where you want or not; you choose one based on the best available knowledge and judgment you have at the time.  You can always get out and choose another one.  So just get in and get started!

Why Do They Take School Pictures At School?

March 20th, 2010 View Comments

Against my better judgment I’m writing about education.  Education is a topic where, if you disagree with the status quo, you are automatically labeled as anti-education, which is logically ridiculous.

So, for the record, I’m decidedly pro-education.  I have a lot of opinion on the topic, and since this is my blog I guess it’s time I break the ice here and start talking about it.  Nevertheless, I’m sure that there are people who are going to take my opinions as being an attack on education or even themselves personally, even though I’m just now calling them out on it.  It isn’t meant that way.  But whatever.

Back to the topic.

I was thinking about this question the other day.  Actually, quite a while ago.  It was picture day at school, and so that morning the kids were concerned about what to wear and what does their hair look like and other such things.

For some reason it occurred to me:  Why do they even have picture day at school in the first place?

The de-facto knee-jerk answer to this question is:  ”So you can have a picture of your child!  Don’t you want a picture of your child?  You know, someday your child will be grown up and you’ll wish you had something to remember their childhood by!  What is wrong with you anyway?!?”

See, the thing is, that is not the answer to my question.  That’s the answer to the question, “Why should I have portraits taken of my child?”  But my question is, why is it done at school?

It surely was not always this way.  If you went back far enough — 50 years, or 80, or 100? — you would certainly get to a time period where kids went to school but there was no picture day.

I can envision the business model here, for a company like LifeTouch that does school picture days all over the place, or at least Utah.  It is actually pretty sweet.  There’s no real estate costs, since you don’t have a studio.  You just set up at the school you are at every day.  You’ve got business automatically provided to you.  In a single day, you might shoot 100, or 200, or even 500 portraits.  Even if you only sold a $20 package to half of the, say, 200 portraits you shoot in a day, that’s $2000 of income in a single day!  That’s a pretty sweet business!

What really struck me as odd was when I asked my wife why our kids were even participating.  See, my wife worked as a professional photographer when we were first married, shooting high school, prom, bridal, and family portraits among other things in a full studio setting, with adjustable lighting and props and everything.  She can do just fine shooting pictures of my kids.  So for years we’ve avoided spending the admittedly lofty prices for boring picture packages from school and instead we’ve shot our own, which are much more interesting and are of comparable to better quality, and less expensive.

Knowing this, I didn’t understand why our kids were even having their pictures taken.  I mean, we know already that we aren’t going to buy any.  Why make the photographer shoot and develop pictures we know we aren’t going to buy?  So I asked Amber, and she said, “Well, it is harder to get them out of it than just to have them go along with it.”

I thought about that, and it makes sense.  Of course it is hard for the teacher to monitor kids that are getting pictures taken if some of them are also back in the classroom not getting pictures taken.  And of course it is hard for the teacher to know if the kids parents really don’t want their picture taken or whether it is just that the child himself is trying to avoid the picture for some reason.

But why is it even the teacher’s responsibility in the first place?

This was what finally hit me.  The teacher’s job is to teach my kids.  Why is there even a school picture day?  Why is it that educators, who have a minimum number of days that they must provide instruction for our kids, are counting as a day of instruction one where time is spent shuffling kids through a picture-taking process that has nothing to do with their education?

I don’t know the real reason, but I’m willing to bet it rhymes with Sick Jack.  But for most people, including education professionals, I don’t think they ever even think about it.  We’ve always had school pictures.  It is just part of the schedule.

I’m not particularly opposed to school pictures, but I fear it is setting a bad precedent.

In years past, they’ve held a book fair at my kids’ elementary.  I seem to remember this going on when I was in elementary school also.  The kids would go down to the book fair, as a class, and look through the books that were available for purchase.  Then their assignment is to come home and pester their parents for money to buy books.  Presumably this is allowed because books are educational, although one time I actually went to the book fair and only about half of the items for sale in the book fair were books.

It gets worse.  This past year at my kids’ elementary, there was another similar thing going on.  It operated exactly like the book fair.  As classes the kids were taken down to this little store that was set up in part of the school.  They were instructed by their teachers to go through the store and identify the things they wanted to buy, and how much they cost.  Then they were told to come home and discuss with their parents the things they wanted.  Then the next day they should bring their money, because they would go down to the store again as a class and anyone who brought money could buy stuff from the store.

Consider:  At this point, we’ve given up on trying to have anything in the store even remotely resemble education.  They pitched this as a finance unit, where kids could learn about how much things cost and how to pay for them.  In our case, however, this was no different than when our kids come with us to a regular store (you know, the kind that pays for its own real estate), where their job is to ask us for money to buy stuff they don’t need, and our job is to say, “No.”  The only difference is that the crap in this store at the school was significantly overpriced.  Significantly overpriced.

Well, when our kids came home and asked for money, of course we said, “No.”  We told them they were free to blow their own money on stuff, which they did.  The sad part of this story is that my daughter spent about $25 of her own money to buy Christmas presents at the store.  She spent about half of what she earns in a year to buy stuff she could have picked up at the dollar store for about $5.

She did this because the store was at the school, and because she was taken down to that store with her class, and encouraged to look at what she wanted to buy, and then come back with the money.  And she spent her own money because, unlike much of the world, we don’t want to encourage our kids to blow money on stuff they don’t need, and so we push back.

It angers me that this situation was even there in the first place.  Someone is setting up a business where they don’t have any real estate, instead setting their shop up in public schools.  Why in the world are we allowing private businesses to run out of a public school?  Why are we allowing children to go down to patronize these businesses as a part of their day that is supposed to be spent learning?

This is something that simply should not be happening, in my opinion.  The only logical reason I can think of why this happens is because the school system profits financially from doing it.  I can’t explain it any other way.  And if I’m right, it really makes me upset to think that the public education system is tricking people into funding the system and shortchanging our kids education in the same process.

Categories: Education, Rants Tags: ,

Society Offends Me

November 7th, 2009 View Comments

In 1972 the Miami Dolphins completed the only perfect season in the history of the NFL, going a perfect 17-0 and winning Super Bowl VII.  Undefeated seasons are fairly common in college football, and in fact is generally required for any chance at playing for the national title.  But in the NFL it is a different story.  Nobody else has ever done it before or since.

The Hall of Fame quarterback that led that famous team, Bob Griese, went on to become one of the best color commentators in college football.  Yet he now risks being remembered more for the remark he made on October 24, 2009, when a list of the current NASCAR top five drivers was displayed on screen.  Regarding the fact that driver Juan Pablo Montoya’s name was not shown, as explanation Griese quipped, “He’s out having a taco.”

Griese certainly did not consider his words before he said them.  He apologized during the game and later that day.  He was given a one-game suspension by ESPN for it, but I have to wonder if the real punishment is yet to come.

This whole thing has been bothering me ever since it happened, because frankly, I think it’s way past time for people to lighten up a little bit.

Before you cinch the noose around my neck, let me say a couple of things first.  I have many great friends of varied ethnic, cultural, and national backgrounds that I’ve made over the course of my life who I cherish and value, not only for the perspective they provide which broadens my own perspective, but for the numerous ways in which we are the same, as well as the ways in which we are different.  I have been greatly enriched by having the opportunity throughout my career to benefit from diversity in the places where I’ve worked — I value that experience tremendously.  And, believe it or not, I come from a background that’s endured its own share of discriminatory treatment.  More on that later.

Because of those valued relationships, even more than what people might think of me in general, I’ve been measured in blogging about this.  But I’ve got to tell you:  I think we’re taking this whole discrimination thing way too far.  I think the pendulum has swung too far the other way.

First off, I’ll state that, in my opinion, Mr. Griese should not have said what he said.  He knows it.  He knew it right after he said it.  ESPN also thinks he should not have said it, and I agree with them.

Now that we’ve established that, I’d like to figure out exactly why what he said is considered offensive.

  • Eating — I’m pretty sure this isn’t it.  Every person eats.
  • Eating A Taco — As far as I can tell, the act of eating a taco itself isn’t offensive, nor would it be offensive to suggest that a person might eat a taco.  I have eaten a taco.  More than one, in fact.  I’m not ashamed of it.  If you were to tell someone who does not read my blog that I have eaten a taco before, not only will I not be offended, but the other person will wonder why this is a big deal.  So I can only assume that it is not the suggestion of eating a taco itself that was offensive.
  • Implying That Juan Pablo Montoya Is Hispanic — Whether Griese meant to imply that Juan Pablo Montoya was Hispanic is hard to say.  However, Juan Pablo Montoya IS Hispanic.  Columbian, in fact.  There’s nothing wrong with being Hispanic, or Columbian.  So implying that a Hispanic person is Hispanic shouldn’t be a problem.
  • Implying That Juan Pablo Montoya Is Mexican — I honestly don’t know whether tacos are really Mexican or not.  I’m told they are.  But the tacos we eat here aren’t necessarily authentic anyway.  Regardless, there’s nothing wrong with being from Mexico; after all, Sammy Hagar lives there, at least some of the time.  And we already established that Montoya is from Columbia anyway, not Mexico.  I don’t see a problem here.
  • Implying That Juan Pablo Montoya Eats Tacos — I don’t know whether Montoya eats tacos or not.  We already established that it is not offensive to say that I eat tacos.  Why would it be offensive to suggest that Montoya eats tacos?  There’s nothing wrong with eating tacos.
  • Implying That Juan Pablo Montoya Eats Tacos Because He Is Hispanic — Well, now I think we may be getting somewhere, although I have to wonder why this matters.  Being Hispanic is not offensive.  Eating tacos is not offensive.  Is it offensive to suggest that Hispanic people eat tacos?  Can someone explain why this is?

On the day that Griese made this comment, NASCAR driver Ryan Newman was also not shown on the screen.  What if they had instead asked where Ryan Newman was instead of Montoya?  What if Griese had commented about Newman, “He’s out eating a hamburger.”  Certainly that would be equally offensive, right?

Or what if Griese had said the exact same thing — “He’s out eating a taco” — about Ryan Newman instead?  Would that also be offensive?

If it is not offensive when it is said about a Caucasian from the United States, why is it offensive when it is said about a Hispanic from Columbia?  I thought this whole thing was about treating all people as equals.  How is this treating people as equals?  Isn’t it wrong to treat people differently because of their differences, regardless of how we treat them?

This is society’s problem, not Montoya’s or Griese’s.  In our society, we’ve done a great job of identifying the people who have been discriminated against.  They are in protected classes.  Those are the people who have been discriminated against.  If you, like me, are not in a protected class, then it is not possible that others would discriminate against you.  In fact, according to society, I can only be the instigator of discrimination, not the victim, because I’m not in a protected class.

The problem here is, according to the popular interpretation, discriminatory treatment now has nothing to do with treating people equally and fairly.  It has to do with treating protected classes preferentially.  Ironically, we fail to realize that by treating others preferentially, we draw attention to the fact that there is a difference.  Treating them preferentially portrays the implication that they are uncapable of handling life the way the non-protected-class people face life, which is most certainly not true.  The reality is that we are equals.  Creating different sets of rules for different groups of people in society is exacerbating the problems and not solving anything.

Back in the middle of the 19th century, there was another group of people in the United States that were generally discriminated against by many in the general public.  Members of this group were publicly ridiculed; many others in society shunned and ostracized them, even members of their own families; much of the general public would refuse to live near them or patronize their businesses.  Prominent members were frequently subject to the wrath of mobs and riots, and even had property destroyed, and many were tortured publicly and even wrongly imprisoned.  Members of this group were so persecuted that many were forced to abandon homes and property numerous times as they moved again and again attempting to find a place where they could live peaceably.  Conditions escalated to the point that laws were changed in places such that it was not considered a crime to murder a member of this group in cold blood.  This group repeatedly appealed to local and federal government for protection but were flatly and openly denied.  Many members of this group, including a number of leaders, were killed.  Our government did nothing to stop this.  Eventually members of this group had to leave the country and flee to a barren wasteland in order to be left alone.

This group was not different because of their ethnicity or national background.  This group of people were known as Mormons.  Religion was the difference between them and those who discriminated against them so strongly.  Because of their religion, which is the first freedom guaranteed us by the US Constitution, they were discriminated against, while the very government that should have guaranteed their freedom turned a blind eye or even in some cases participated in the discrimination, to the point that they had to leave the very country that should have guaranteed their rights in order to have any semblance of peace.

These are my ancestors.  Even today, people have no issues at all saying derogatory things about members of my faith.  They will make jokes about how many wives I have (1) or how many horns come out of my head (0) or whether I am allowed to drive a car or use electricity (yes to both).  I find it ironic that a comedian or talk-show host can make fun of my religion in a public forum wherein he will knowingly make statements he either doesn’t understand or knows full well are untrue, and yet someone like Bob Griese can inadvertently and completely by accident say something as apparently benign as “He’s out having a taco” and have the whole world ready to string him up in a tree for being so racist and discriminatory.

I’m fully aware of the history of my ancestors.  I’ve mentioned some of it here.  It is a bit disturbing to know that this happened here in the United States, just some 150 years ago or so.  But I’ve gotten over it, and so have the members of my faith.  We aren’t on a crusade to have society make right to us all the wrongs that their ancestors did to ours.  We’re not lobbying for our group to receive a special protected class status.  And honestly, when people make fun of Mormons eating funeral potatoes or lime jello with shredded carrots inside, we laugh along with them.  Even though I love funeral potatoes and avoid lime jello with shredded carrots like the disgusting fodder it is, it doesn’t bother me that people would joke about me eating either one.

In other words, I would not be offended if people claimed I ate food stereotypical of Mormons, whether I actually eat it or not.

It seems to me like we need to just relax a little bit, and choose not to be offended.  I’ve found my life is a lot happier when I do that.  How might society be if we all did this?  Seems like that is something worth pursuing.

The Truth About Novell Forge

September 30th, 2009 View Comments

I got an interesting e-mail the other day from Novell:

Please Note: You have been sent this email because you are listed as an administrator of one or more Novell Forge projects.

When Novell Forge was first launched Novell recognized the need for a site dedicated to providing hosting services to a growing number of software development projects, many supporting our open source initiatives. Novell Forge quickly grew and was soon providing these service to nearly 1000 such projects. Demand for new projects has all but disappeared during the past two years while a number of additional project hosting options have begun that can provide a similar set of services to those of Novell Forge.

Now that there are many other options, Novell can turn its focus to other areas and pass the project hosting responsibilities to these other dedicated hosting sites. Novell will be decommissioning the Novell Forge system on December 15, 2009.

This is interesting to me because it is not entirely true.  I should know, because without me there would never have been a Novell Forge.

It’s a bold statement, I know.  It’s one I’m happy to explain.

I came to Novell from IBM in 2000.  It didn’t take long to realize that Novell’s developer story and strategy, or rather the complete lack thereof, was (and still is) a significant weakness in their overall execution.  People buy a computer operating system in large part because of the applications that they can run on it; if a business wants to run a CRM system, they’ll want to be sure that whatever platform they buy will run a CRM suite that is acceptable to them.  This is why having a strong developer strategy is crucial to platform providers, and almost everyone seems to understand this.  Novell certainly should; NetWare owned the x86 server market in the 80′s and early 90′s until Microsoft entered that market.  Initially, the Microsoft offering was not necessarily better than NetWare in terms of stability or performance, but Microsoft definitely outgunned Novell when it came to applications.  It was so much easier to create applications for Microsoft’s platform that their supported portfolio dwarfed Novell’s, and that was a significant key to dethroning Novell’s dominant position in the x86 server market in the mid 90′s.

Anyway, when I came to Novell and learned this, I thought that probably Novell’s Developer Services organization just didn’t know what to do (a mistaken analysis, I later learned) and if I worked there I could probably fix everything.  I was pretty young, arrogant, and naive then.  But in 2002 I was presented an opportunity to work in Developer Services and I took it.

One of the first things I was asked to do was to provide support to customers programming to eDirectory.  I decided to try to learn more about how to do this the same way our third-party developers would, by using the resources that were available online.  I found what appeared to be our authoritative how-to-program-to-eDirectory tutorial, got most of the way through my sample app, and got stuck.  Finally I started asking questions.  I quickly learned that everything I’d been doing was wrong; the authoritative documentation was incorrect.  It used an out-of-date and deprecated API and was no longer considered best practice.  It was some two or three years out of date, but hadn’t been changed yet because changing the documentation was just too painful.

I felt this situation was unacceptable.  We needed the freedom to create an abundance of rich and helpful developer content and to have it published and updated freely and frequently.  We needed to be able to do this without going through drawn-out and tedious approval processes and staging phases for even minor edits.  We needed to be able to continuously deliver not only whitepapers but tutorials and sample applications.  I felt that what was needed was a complete overhaul of Novell’s developer site, converting it into a web application where administrators (Novell Developer Services employees) could update the content and have complete control over what information was being provided to our developer community.

I discussed this with a colleague and my manager, and then we called a formal meeting to discuss this proposal.  I think there were four Developer Services employees in the room.  As we discussed the reasons to do this, other advantages surfaced.  A key issue was that, in Novell’s then-existing developer forums, many Novell developers were already contributing to solving each other’s problems, including answering each other’s questions and even sharing code, from small snippets to complete applications.  We realized that instead of top-down support flowing from company to customer, what our customers really preferred was community support with Novell as an active participant.  As we discussed this, one of my colleagues suggested that instead of writing the web app I suggested, we should do a project hosting site, like SourceForge.  Such a site would allow us to participate as a community with our users to exchange sample code, documentation, tutorials, and other content.  Novell Forge was born.

As we began to socialize the idea, we found out that a separate group within Novell had been tasked with creating a project hosting site for internal company use.  When we both became aware of each other’s goals, the synergies were obvious and it seemed apparent that we should try to coordinate our efforts.  Interestingly, we had human resources to give to the project but lacked funding for capital expenses; the other group had capital expense budget but lacked human resources.  Ultimately we agreed that, as my team developed the Novell Forge solution, we would also develop an internal-use version of the site to meet the goals of this team; in exchange, they would help us to get the hardware we needed to host Novell Forge.

Around the time Novell Forge was launched and completed, a number of people involved directly or indirectly from that team claimed credit for having launched Novell Forge.  Some of them were quite handsomely rewarded by the company, presumably at least in part due to their claimed credit for the site.  Others still claim in public that they are responsible for the site even though they had absolutely nothing to do with the conceptualization, proposal, approval, or implementation.

Meanwhile, those of us who did come up with the idea, who did make the business case and get the approval and deliver the site, well, we pretty much had to settle for a brief pat on the back from Novell.  Or did we even get that?  Anyway.

Novell Forge, despite its pretty lame name and humble beginnings, was actually quite well received by the press.  It earned kudos for Novell from Dave Kearns of NetworkWorld, which was not exactly easy to come by.  And as Novell tried to reinvent itself with an open source focus, purchasing such open source companies as Ximian and SUSE Linux, the existence of Novell Forge was frequently cited as evidence that Novell was serious about an open source strategy (example).  Interest in the site grew quickly and it soon hosted over 1000 external projects, as stated in the e-mail I quoted above.  My team was excited about the traction the site was gaining.  We had many, many ideas for how to grow the site and make it an even more useful tool for software developers.  We had more work to do than time to do it, and it was neat to feel like what we were doing had an impact to Novell.

Even though Novell didn’t seem to care about it.

Oddly, in spite of what my team thought was a pretty obvious success, we could not get approval for funding to continue to promote the site.  The team was gradually reduced in size, again and again.  When people would leave, their vacancies would languish unfilled until that position was eventually lost.  The team was instructed to not develop the site but instead to work on undefined new work in other undefined areas, wasting many person-years of development effort.  The community could sense Novell’s lack of investment and they lost interest.  Novell Forge became a laughing stock.  It was used as evidence of what a company does when they “just don’t get” open source, when it was ironically used as evidence of Novell’s good faith not too long before.

Things finally came to the point where there was only one employee assigned to maintain the site, along with other unrelated duties (I, and the rest of the team, had by now been reassigned to different projects).  Novell Forge was completely unsupported by Novell’s IT group, leaving instead the support of the site to this one individual.  I recall an occasion where the site went down over the weekend and was out for a couple of days.  It was obvious that the site was in demand, because users made Novell aware of the outage quite quickly.  However, Novell was not willing to pay for 24/7 support for the site, so instead of being brought back online right away, the site was down for the entire weekend until that resource came in to work the next Monday.  My manager brought this to the attention of our team with the insistence that we address it.  He stated that from that point on, that one employee would be the primary off-hours maintenance person for the site, and I would be the backup.

I then asked if Novell was going to start reimbursing me for my cell phone bill.  He said no.  I asked if they were going to buy me an additional cell phone, pay that bill, and also pay me extra to carry that additional phone.  He said no.  He said they would just list my personal cell number in the emergency contact list, and would call it if there were an emergency.  I stated that in that case I maintained the right to not answer.  He stated that I would have to answer, that it was my assignment.  I claimed that Novell could not require me to answer my personal cell phone if I’m the one paying the bill.  I then reminded him that in Novell’s support organization, at least at that time, people that were expected to respond 24/7 had their cell phone bill paid by Novell, were paid an additional amount to be on call, and were paid an additional amount if they actually took a call and worked that call during off hours.  I said, “If the site is important to Novell, that is what Novell should do.  If the site is important, it should be important enough that Novell is willing to pay in order to maintain uptime and keep our customers satisfied.”

Novell was not willing to pay.

I shortly moved on to a different team within Novell, and the other guy left the company altogether.  I’m not sure who has been maintaining the site since then.

What Novell chooses to do with their money and their human resources is their business.  This isn’t meant as a criticism; I don’t claim to have the right experience to criticize their decision to strangle Novell Forge to death.  This is simply meant as a statement of fact, and the facts are pretty clear:

  • You get what you pay for.
  • Novell did not pay for Novell Forge by giving due reward and recognition to those who truly brought this idea to the company.
  • Novell did not pay for Novell Forge by feeding its success with additional funding, promotion, and development.
  • Novell did not pay for Novell Forge by giving it the kind of support and maintenance that its customers expected.
  • The customers of Novell Forge were initially enthusiastic, but grew to sense the lack of commitment by the company and thus stopped participating.
  • Novell Forge died as a result.

Novell Forge may be planned for decommission this December, but it died years ago.  And don’t think you can fool me, Novell.  Novell Forge did not die because of lack of interest by the user community.  Novell Forge died because you did not care about it.  Whether that was a good decision or not is not for me to decide, but please, Novell, at least be honest with your community.  We did not kill Novell Forge — you did.

UPDATE:  Dan Reese, a member of my team back then, corroborated this in his blog.

CARS Problems

August 20th, 2009 View Comments

When I first heard about our country’s new CARS program, my reaction was, “Hey!  Free money if I trade in my Durango for a new SUV!  Despite the dumb name, this seems like an excellent plan!  Almost too good to be true!”

Of course, that should make us stop and think about it.

And I have.  I have some problems with this new plan.  I get the sales pitch:  Make it easier to buy a new, more fuel-efficient vehicle.  Help out the auto makers by increasing sales.  Help out the environment by replacing a number of higher-pollution vehicles with lower-pollution vehicles.  Reduce our oil dependency by replacing a number of less efficient vehicles with more efficient vehicles.  And I get a new car.  Everybody wins!

Well, I do have a number of problems with it.

I have a nomenclature problem.  I don’t understand why we have to come up with a cute little acronym name for this program.  It is also known as “Cash for Clunkers,” which is equally dumb.  My 1998 Durango, which definitely qualifies for the full $4500 rebate, has been a great vehicle for me, runs quite well, and is definitely not a clunker by my definition.  This lets you know what sort of vehicle standards the folks in Washington have, and how disconnected they are from the world in which their constituents live.

I have a fundamental problem.  It should not be the place of the government to get involved in consumer affairs like this.  We’ve had a lot of ever-increasing government intervention in society over the last 60+ years, but rarely has this intervention actually done any good; often it hurts more than it actually helps.

I have a financial problem.  Where does all of this money come from?  Well, ultimately it has to come from the pockets of the taxpayers, either in increased taxes or in increased prices due to inflation caused by printing money to cover it.

I have a principle problem.  Taking a perfectly good, functioning vehicle and scrapping it is flat-out wasteful.  There’s this part of my being that screams out that we can’t expect a net good to come from a plan that isn’t founded in solid principles.

I have an economics problem.  Junking these cars will have an inflationary effect on the general price of cars.  It’s simple supply and demand.  Given a closed ecosystem with 100 car owners with one car each, suppose 10 are new and 20 qualify for the CARS program.  Under normal conditions, we might assume that twenty people are buying a car each year, half of them are buying new and half are buying used, and so ten cars are cycling through the ecosystem per year.  Now you inject CARS into the mix.  There will be people participating who might normally not have bought this year at all, or who might have bought this year but would normally have bought used instead of new.  If half of the 20 participate, and half of those would not have normally bought this year at all, that means instead of 10 new cars entering the ecosystem we have 18, if my math is right.  To balance it, there must be 18 older cars leaving the ecosystem instead of the normal 10.  What you end up with is fewer used cars — 82% are used instead of 90% — and the average car value has gone up.  But note that, at best, the economic condition of the people in the group hasn’t changed.  In fact, it should have gone down by around $400 per person ($3500 to 4500 times ten participants, divided among all 100 participants).  With fewer used vehicles in the ecosystem but the same number of buyers, the demand for used vehicles will go up, driving up the price of used vehicles.

So if you already own a used vehicle in that ecosystem it is only partially bad, because the value of your used car should be higher now.  It’s only a problem if you want to buy.  But I’m not sure this will help automakers beyond this year.  What effect will higher used-car values have on new car sales?  I think you could just as easily argue that it will hurt as much as it will help.

At any rate, it causes yet another economic bubble.  This program artificially inflates the market for car sales and makes adjustments to the ecosystem, based not on the GDP of the people in the ecosystem but on government intervention to make affordable a good that is less affordable if free market economics are left to do their thing.  The government tried this same tactic with the general housing market, and I think history shows that did not turn out too well.

So what we really have here is yet another government program with a dumb name, based on poor principles, with dubious economics at best, that you and I get to pay for.

It’s doubtful it will do anything but hurt us in the long term.  Which is why I’m considering participating.  I mean, if I have to pay for it anyway, I might as well get a new SUV and $4500 out of the deal.

Categories: Cars, Politics Tags: , ,

Discipline as a Prerequisite to Critical Code Contribution

August 12th, 2009 View Comments

Merriam-Webster’s dictionary defines discipline as:  “…”

Nah.  Just kidding.

Most software teams I’ve worked on have had some degree of discipline around what code changes go into the codebase.  This tends to take the form of:

  • Any change should be associated with a defect or feature that is documented somewhere.
  • Commit small, isolated, related changes, all associated with a single defect or feature, that can be easily rolled back.
  • Test changes before committing them; avoid breaking the build at all costs.

That last one seems most obvious, but it is so critical that it has to be stated anyway.  Think of it this way:  If you work for me on an already functioning product, I would rather have you do NO WORK AT ALL than to break the build.

Of course, I would not pay you to do no work at all, either.  But breaking the build is taking the product in the opposite direction from where we want it to go.

Some time ago I worked on a software team* where a team member had a problem with this kind of discipline.  Details don’t matter too much, but the net effect was that whenever this person made a commit, the rest of the team would tense up and hold their breath as they integrated the updates.  This person had broken the build enough that his/her commits weren’t trusted by the rest of the team.  And even if the code would compile and run, you still didn’t trust the changes because this person would often sprinkle in little changes hither and yon that were not tied to a documented defect or feature, and often wouldn’t even call out the changes in the commit message.

(As a slight distraction here, I’ll point out how frustrating this is when the team member works in the same office as you, as cited above.  When that person works remotely, it becomes MUCH MUCH WORSE.)

I discussed this with my boss one day who wasn’t sure what to do.  We had a person on the team who was obviously very talented, but who was just not following good practice despite repeated requests to do so.  I offered up the suggestion that I’m restating here, which is basically the following:

Disciplined software engineering should be a prerequisite to having the rights to make critical code contributions.

In other words, no matter how talented a programmer is, they shouldn’t be allowed to contribute code to critical parts of the product if they do not exhibit sufficient discipline to be there.  So what are the “critical parts” and what is the “sufficient discipline”?  The critical parts are the parts that, if they are broken, the software doesn’t perform it’s primary function.  For a product like Firefox, the “Help” dialog is almost certainly not critical, but the HTML parsing engine definitely is.  The sufficient discipline is what I outlined above, but primarily centered around not breaking the build.

So to summarize, what it means is, someone who continually breaks the build should be disallowed to commit changes directly to the critical parts of the product until they earn that right back by adopting the discipline required.  Of course, if you are that free-spirited maverick, there’s a pretty strong incentive now to change your approach.  You may not be paid to be disciplined, but you are paid to deliver software, and if you can’t deliver software because your approach is irresponsible, this should encourage you to get on track.

Some teams choose to approach this by building elaborate systems that enforce proper behavior.  I could build a complex checkin proxy that automatically merges my changes with the latest changes in the repository, builds the product, and then runs the tests (there are tests, right?), and then only makes my commit once all of that passes acceptably.  That’s nice and all, I suppose.  But it seems like a lot of infrastructure, overhead, and process to impose upon the whole team, when to me it seems reasonable to expect that professional software engineers have enough discipline to do this on their own.

So if you aren’t doing this now, how do you go about changing?

Well, you’ve gotta have a suite of automated tests in order to do any of this – a “broken” build is defined as one that does not pass the automated tests.  If you do not have any automated tests, it is time for you to repent, my son.  I do not have time to go into this here, but you must confess your grievous sin and atone by writing an automated test and adding it to your build process.  Just one test is enough to get started – but it MUST be available as a part of the normal build process.  Then every time a build passes the test suite but is, in fact, broken, update your test suite.

Now that you have automated tests, insist that your developers do the following before they commit:

  • Update.
  • Build.
  • Test.

See?  It’s easy.  If the tests pass, they can commit.

Now it is time for you to be disciplined.  Committing code that does not pass the tests is a naughty thing to do.  Do not let your developers be naughty.  Take immediate action.  I think I’d take the following approach:

  • First time is a meeting with the boss.  Go over the process.  Make sure they understand the process and what happened.  Personally, it seems like it would be tough to misunderstand, but hey, things happen.  Don’t be presumptuous or condescending.  This meeting alone might be enough to get most people in line.
  • If the problem continues, require peer review before checkin.
  • If the problem continues, another meeting.  This time, express that all of their current assignments have been reassigned to other members of the team, and they are being reassigned work that is not critical to the functionality of the project.  Let them know that you are concerned about the impact this will have on their performance, because they are expected to contribute at a higher level than what their new assignments will allow.  They have to demonstrate changed behavior and commitment to discipline in order to earn the right to do the important work again.
  • If the problem continues after that, it is probably performance-improvement-plan time.  Or mutual-agreement-that-they-find-a-different-employer time.
*(To my faithful readers who think they know what situation I’m speaking of, may I remind you that I’ve worked for seven different software companies and thirteen-ish different software teams over fourteen-plus years in this career, so be careful what assumptions you might make.  Thank you.)

Actions Speak Louder Than Code

August 7th, 2009 View Comments

It took me a while, but I finally settled into my routine and got to where I’m reading my RSS feeds most days again.  I was going through the posts of the past month or so, since the job change, and ran across this article on the “Making Good Software” blog about things that keep someone from being a good software engineer, outside of (and often in spite of) an ability to engineer software.

I’ll summarize here.  It isn’t my intent to plagiarize; if you are remotely interested go read the article.  Here are the things:

  • Lack of discipline
  • Big ego
  • Poor communication
  • Forgetting the customer
  • Lack of proper work prioritization

I have known many of these people during my career.  Indeed, I was one of them.  I remember coming to Novell from IBM almost ten years ago.  I thought I was pretty hot stuff and I made sure my team knew it.  In fact, I actually said (this is embarrassing to admit) on more than one occasion, “There are people who know C++ better than I do, but I haven’t met any of them.”  My ego surely made me hard to work with.  It definitely was a cause of friction between myself and my management chain, and ended up being a (deserved) source of frustration and difficulty for me, until I recognized the problem and started working to address it.

I’m pretty ashamed of having behaved that way back then.  I hope I’m better than that today.  I guess recognizing the weakness is a good first step.  Fortunately for me, back then I was on a really great team with a lot of very capable, patient, and talented engineers that waited for me to learn from my mistakes and to grant them the mutual respect they deserved.  I consider myself pretty fortunate to have been able to learn from them what real software engineering is about.

Over my career I’ve had to work with people like this from time to time, software engineers that manifest one or more of these traits.  Sometimes these guys are pretty talented technically.  I’ve felt sorry for them as I’ve observed, realizing that these weaknesses are going to hold their career back until they recognize them and work to overcome them.  No amount of programming prowess will compensate for it.  And what’s even worse is, often because these people have the personality issues they have, you don’t get anywhere by trying to bring these weaknesses to their attention; they are often unreceptive to this type of feedback.  Like I said, you just have to wait until they recognize it themselves.

I can imagine being in a performance review with someone like this, having them explain to me all the technical awesome they did, and me replying, “Your poor soft skills are shouting so loudly that I cannot hear your technical awesomeness.”  Or, as I said in the title, actions speak louder than code.

I really believe this is true.  To write software professionally, of course you must have technical ability; however, this is a necessary but not sufficient condition for greatness.  The best software engineers I’ve had the fortune to work with in my career, past and present, not only had awesome technical ability but did not exhibit weakness in these areas.  And I’ll tell you what:  Those teams are wonderful teams to be a part of.  Those teams create strong. uplifting work environments and are able to deliver great products that meet customer demand.

Another way to say this is, in order to be a good software engineer, you must first be a good employee.

In fact, I’ll tell you how important I think this is.  The ability to mitigate or eliminate these defects from a software engineer’s persona is so important to me that, if I had my own company and were making the hiring decisions, I would not hire a candidate that I knew had these problems, no matter how incredible their technical ability.

A person with these weaknesses is really only suited to be set to the side to work on a special side R&D project where interaction with other employees is limited, and they don’t have to interact with customers at all.  Problem is, those kind of projects are either a) strategically important to the long-term future of the company, or b) of little to no real value, or c) a combination, often high potential value but with a lot of inherent risk that causes the real value to be low.  If the project is strategically important or of high value, do you really want to reward the biggest jerk in your company by giving him the highest profile assignment, leaving your best engineers to maintain the legacy project?  Wouldn’t you want to have someone working on that high profile assignment that knows how to collaborate with others and assemble all the best ideas to solve the problem the best way, even if that solution isn’t his/her own?  Contrariwise, if the project is of little real value or has so much risk that it offsets the real value, why even do it at all?

Nope.  In my company, if I were ever to have one, I wouldn’t hire or keep an employee who had these weaknesses and was not committed to addressing them.  I’ve seen the difference, both in morale and productivity, between teams where they don’t have these problems and teams that do.

Pre-Vegas-Supercross Interviews

May 3rd, 2009 View Comments

So I haven’t seen the Las Vegas Supercross yet (I have my reasons – I know, there is really no excuse). But before I see the end, I had to comment on the pre-race interviews the SPEED channel broadcasted, because it will make my comments more genuine.

SPEED started off by highlighting a race replay from the Salt Lake City race which very clearly shows Chisholm looking back, seeing both riders racing for position, moving out of Stewart’s way, and then immediately racing Reed to impede progress.  This is not just a smoking gun; in addition, there is gunshot residue all over Chisholm’s hand and his fingerprints are on both the gun and the shell casing.

Next they shows some interviews with regard to last week’s team tactics incident.  SPEED first tried to interview Stewart for his reaction, but he declined to be interviewed.  My guess is he knows he’s not a very good liar and he knows nobody is believing his story anyway, because it is obviously not true.

Next they interviewed Team Suzuki’s team manager, Roger DeCoster, and Chad Reed himself.  DeCoster said that after seeing the replays on TV it is obvious that Chisholm intentionally tried to impede Reed’s progress, and since this is out of character for Chisholm it seems likely that he was ordered to do this by the team.  DeCoster gave no indication of any retaliation planned or resolve to stoop to the level of the L&M Racing team in order to help Reed get the title – just that it was pretty apparent what had happened.  If you saw the replay, you can’t deny what DeCoster is saying – it is pretty clear.

But the best of them all was Reed’s interview.  He began his answer by saying, “You have to find your happy place.”  I wondered what he was talking about.  Then he explained that immediately after the race was over, he was fuming mad.  But instead of losing control of his emotions, he took a few moments of time-out by himself to find his happy place.  He said after he took a moment to himself, he was really fine with it.

Understand this – it’s big.  This guy is competing for the world title, and he’s fine with it.

His words were, “The joke is on them.”  How true.  Once he found himself, he realized that he’s bigger than one race or even one championship.  It’s more important for him to compete aggressively but fairly and to be true to himself.  He wouldn’t want a championship that he wasn’t proud of.  The joke is clearly on L&M Racing and James Stewart.

Later on, when he won his heat race (I did watch some of it), SPEED asked if they could expect any team tactics or retaliation, to which Reed simply replied, “You can expect a hard-fought, clean race.”

All of this made Larry Brooks all the more stupid when they showed his interview later, when he spent all his time talking about how Team Suzuki was whining and complaining about how unfair everything was and kept trying to deflect the conversation toward how Stewart is faster.  I’ve never heard anyone deny that Stewart is fast, so I don’t get what he’s trying to defend.  I do know, however, that before Chad Reed came along, Larry Brooks was nowhere – team manager at KTM, the clear afterthought factory team of supercross.  Whoop-de-do.  Their factory guys are rejects from many of the factory support teams.  Then Reed shows up and they form L&M Racing, and Reed gives them a supercross title, after which they get rid of Reed in favor of Stewart.  Or maybe Reed realized they weren’t really good sportsmen and wanted to align himself with a more respectable team.

Larry Brooks clearly needs a lesson in gratitude.  And humility.  And sportsmanship.  And intelligence.

But no matter.  I’m proud to be a Chad Reed fan this year.  He sets a great example for my son, who watches the races with me, in many ways.  He competes aggressively but fairly.  He is a good sport, always showing respect for his competitors.  He only worries about the things that he can change.  And he doesn’t lose sight of what is most important – in this case, being true to himself and happy with the choices he makes.  If he has to give that up, like Stewart did, to win the title, I’d rather have him lose it and continue to be that kind of man.

Categories: Sports Tags: , ,