Friday, December 28, 2007

Filters 101: User Generated Content

With the soaring popularity of User Generated Content sites (like YouTube and MySpace), I have had many people ask me about how filters handle that content. I thought it was time to sit down a blog about it, so here goes.

First of all, let me state very clearly that I am a huge supporter of filters, and believe that every computer should have an updated and operational filter installed. Having said that, filters are far from perfected technology, and they don't deal well with user-generated content.

Before we can talk about YouTube, we need to understand a little bit about how filters work. There are essentially two things that filters can use to determine whether to display a page or not: it can either look at the URL, or it can use the content of the page to determine what category it falls into. The former is like blocking a channel on your TV, and the latter is like blocking shows based on their rating. The main difference between a computer filter and your TV parental controls, though, is that on the computer the filter attempts to "rate" the content on the fly, while the content on the TV uses a standard rating system. Television filtering is a much easier problem, as the parental control only needs to look at a standard rating in the stream, and can then enforce your choices for your family - the computer filter has to use sophisticated linguistic algorithms to determine what the content is. It is a much less accurate process.

So, how does this all apply to User Generated Content? Sites like YouTube and MySpace allow anyone to create content and upload it to their site for others to view. This does not go through any type of standard rating system, and when the content that is uploaded is video or images, the linguistic algorithms that filters use are relatively useless. This means that unless you block the entire site by adding the URL to your block list, the site is mainly unfiltered. If enough people type comments onto the page that describe what the video relates to, then the linguistic algorithms have something to work from, and they will pick up the page and categorize it - but this is only based on the textual comments added to the site. This is a very unreliable method of categorizing the video content.

Now, why is this important? Two reasons:

1. False sense of security with filters. I cannot tell you how many times I have had to explain this to parents. Their usual response is "but, I have a filter installed - won't that block the inappropriate content from YouTube?" Too often we install a filter and then feel that our job of protecting our children online is done - unfortunately, filters are only a piece of the puzzle. We still need to remain very aware of what our children are doing online, and how they spend their time. If they are spending large amounts of time on sites like YouTube, we need to know what they are seeing and why. The best way to do this is the old-fashioned way: Communication. Direct questions.

2. Undesirable content is easily masked to appear innocuous. It is a sad fact of our life today that people want to push their inappropriate content into our homes. In the early days of the Internet, people would register domain names that were a common mis-spelling of a popular site, and would post pornographic content there. This made it very easy for someone to stumble across a bad site. An example of this was whitehouse.com (instead of whitehouse.gov). This used to host pornography, until a law was passed that made this type of deception illegal. Unfortunately, there are no similar laws for user-generated content (yet). So, someone could easily film some extremely inappropriate content, label it "Sponge bob" and upload it.

I ran into an example of this recently. I was searching for that very funny SNL skit with Christopher Walken, so I searched for "cow bell". I found a video which looks like a possible hit for the content I was searching for. Instead, it turned out to be an ad for a presidential campaign. This is a perfect example of what our children could run into: they search for one thing, someone uploads content that appears to be what they are looking for, only to find that it is something much more offensive than a presidential advertisement. And no filter would catch it, unless you block the entire site where the content is hosted.

The bottom line here is that we need to be very careful about what our children are viewing online, and we cannot allow ourselves to be lulled into a false sense of security just because we have a filter.

In a future post, I will discuss the related problem of very popular peer-to-peer file sharing applications and how undesirable content can get bypass our filter, virus protection and other apps designed to keep that content off of our systems.

Thursday, December 13, 2007

Blogging 101

For those who may not understand the coolness of blogging, here is a youTube video that explains blogging in laymans terms...

Wednesday, December 12, 2007

I.T. as part of the business? Ludicrous.

I.T. is just a cost center, isn't it? The "business" is everyone who is not involved in I.T., right? Even as I settle into my new job in a very large organization, there is talk of having to align I.T. with the "business", or how important it is to satisfy our "customer" - meaning the rest of the organization that is not part of I.T.

This thinking is backwards, and creates the kind of attitude that will simply continue the difficult relationship between I.T. and the rest of the company. Instead, I.T. needs to be considered as part of the business - a part that is critical to its success, not a necessary evil that has to be overcome in order for the business to be successful. Too often, the "business" sees I.T. as a bunch of techno-geeks who just want to create cool technology, rather than an integral part of the company that needs to be leveraged as a partner to satisfy overall business needs. They are seen as technologists who don't really understand the intricacies of the business, and who should be kept on a need-to-know basis when it comes to business decisions.

We need to make I.T. a partner with the rest of the business in solving problems, and finding ways to satisfy our true customers: the end-user of the output of our business. Until we look at it that way, there will be a disconnect within the organization. This concept is eloquently stated in a recent blog post on CIO.com.

In order for this to happen, the entire organization needs to see I.T. as partners in solving problems, and needs to bring them to the table sooner rather than later. I have seen too many examples of "the business" trying to keep I.T. at arms length, and rather than bringing them to the table during the brainstorming of solutions, they involve I.T. only after they have decided what they want to do, and give only the information that they think I.T. needs to provide their part of the overall solution. This is fragmented, and leads to mediocre solutions in the end.

So, how do we change this? I.T. people need to change their attitude toward "the business", and stop hiding behind the thought process of "that is a business decision. Once they figure out what they want, we can provide it", and take on instead the attitude of "what is the real problem we are trying to solve for our customers, and how can we help our business achieve those goals". The non-I.T. folks also need to change their behavior, and realize that I.T. is much more than just the technical solution, but that there is real value in bringing them into the "inner circle".

When this happens, our business will be more aligned and we will have much better technology solutions that help keep our real customers happy.

Tuesday, December 4, 2007

The Future of Technology

I heard a great quote the other day at the UTC hall of fame that I wanted to share.

The quote came from Stanford Business School's Magazine. It was from
the school's former chairman of the board of trustees, and successful
private investor and entrepreneur Issac Stein.He said:
"We need to train our Graduate Business School students
for leadership in solving problems that have not yet been defined, with
technology that has not yet been invented."

Those who think that the best days in high tech were the 80's and 90's should be aware of the oft-quoted IBM exec who once said that the world would have use for maybe 5 computers at most. While times are certainly different than the garage-based startups turned huge successes, there are still plenty of great technological advances to be made.

The best is certainly ahead of us from a technology standpoint. Personally, I love the high tech industry, and look forward to the exciting days ahead.

Monday, December 3, 2007

UTC Hall of Fame

I attended another great Utah Technology Council Hall of Fame on Friday. It was a great event, as usual. The keynote speaker was Paul Otellini, President of Intel corporation.

Mr. Otellini mentioned two statistics that I found particularly interesting. First, he said that Intel projects that in 2009 laptop sales will out pace desktop sales. We are becoming a much more mobile culture. Then he mentioned that overall Internet traffic is expected to double every year through 2011. DOUBLE. Wow.

Taken in tandem, these two statistics, if they prove to be true, would indicate that by 2011 we will be a mobile Internet society, with the expectation that we can access whatever information we want anytime we want. The implications for businesses, as well as for family safety, are astounding. Mr. Otellini spoke of the Mobile Internet Devices (MIDs), which will provide for a much richer Internet experience while on the go.

I expect that he is right. The day after attending this event I went up to the mountains for a quick getaway with my wife. Unfortunatly, my BYU football team was playing a re-scheduled game in San Diego, and since I was not able to watch it on TV, I just wanted to get updated scores on on my blackberry. I was surprised at how difficult it was to find a place to obtain these scores during the game. When I did finally find a site that would just give me the score, we were too far up in the mountains to get a signal. I realized two things:

1. I expect to be able to access the Internet anywhere, anytime these days, especially for news and sports. If I cannot be in front of the TV to see a game, I just expect that I will be able to get the score wherever I happen to be.

2. Most Internet sites have not yet caught up to the mobile device craze - there are just too few sites designed for the small screens of today. Our cell phones, blackberries and the MIDs that will be coming in the near future have very limited screen space, and need websites specifically designed for them. Far too few websites have a mobile device alternative.

If Mr. Otellini is right, it won't be long before most websites cater to the mobile devices, and I won't have to worry about not being able to get updated scores while spending a weekend in the mountains with my wife. While I am looking forward to that day, the truth is I will probably never be able to actually make use of it - my wife will most likely make me leave my MID at home.

Thursday, November 22, 2007

Internet Safety

It seems that safe surfing is a hot topic these days. Having spent a couple of years at ContentWatch, which makes NetNanny, this is a topic that is close to my heart. As parents, we cannot simply allow our children to wander around on the Internet without some sort of supervision or control. Statistics show that about 60% of the content on the Internet is pornographic in nature. That is an amazing statistic - that means that a majority of the content out there is adult in nature. The average age of first exposure to innappropriate content is 8 years old. It is simply irresponsible parenting to allow our children free access to all of the content on the Internet. Even if they don't search it out, they will come across some type of pornographic content if they spend any significant amount of time on the Internet.

Another study, done by the FBI, showed that anyone who spends any significant amount of time in chat rooms has a 100% chance of interacting with a predator. Our children don't understand this danger, and it is up to us as parents to help them understand the dangers and avoid them.

However, there is so much good stuff out there that we don't want to throw the baby out with the bathwater. It is not realistic to simply turn off the Internet to our homes.

So, we need to become educated as parents, and provide the tools and rules for using the Internet that will help our children have a good experience, and avoid the bad stuff out there. While I was still working for ContentWatch, I helped to compile the 10 safety tips for parents, and one of my friends has started an Internet Safety podcast site, where he discusses these types of issues. Dr. Knutson and I have had several great conversations regarding the need to provide guidance and protection for out children. This is a topic that is close to his heart, and these are meaningful podcasts. Check it out here.

Bottom line is that there are plenty of resources out there. Don't allow your children to become one of the statistics - get educated about Internet Safety, and put some rules and technology in place for your home.

Friday, November 2, 2007

Update

For those who have been following my personal battle with cancer recently, I wanted to post an update. I met with the doctor today, and was given a clean bill of health. We are done with all treatments for now, and will keep an eye on things for the next few months to be sure.

From a physical standpoint, I am feeling quite good these days. I have resumed many of my normal activities. There have been a couple of evenings this week when I needed to rest, and I am still getting to bed earlier than I used to, but I have spent three days back in the office this week, and have returned to most of my normal duties. I am planning to attend the BYU football game tomorrow, which will be the first one that I attend this season, and I see no reason why I would not be able to work a full week next week. Food tastes normal again - as a matter of fact, we are going to Outback to celebrate tonight. I am just waiting for my hair to grow back now...I may be waiting a while.

I told my wife that although I am now officially considered a cancer survivor, I don't feel like one. I feel more like a cancer treatment survivor. Either way, I am now ready to get back to normal life.

I want to thank all of you who have provided notes, thoughts, prayers and in any other way had kept me and my family in your thoughts - we certainly felt the impact, and I have no doubt that this positive outcome is directly related to your prayers on our behalf.

Thank you!

Saturday, October 27, 2007

The (Not-so) Agile Waterfall

For those who have read my blog in the past, you know that I am a strong believer in the Agile method of software development, and that I also believe that there is not a single "agile method" that will work for each organization. Instead, I believe that there are a core set of fundamental "agile" concepts that need to be implemented in the way that best meets the needs of each organization, and the entire organization needs to be very disciplined in adhering to those concepts. To define a single implementation of agile for all organizations is an oxymoron.

I have recently been made aware of yet another organization that says they are "doing agile" when in fact they are not. They are in fact following almost a text-book example of the waterfall method, but using agile terms such as "iteration" and calling it agile. They define every iteration up front, and lock themselves into dates when each iteration will be completed, even for projects that will last six months or longer. The development team is strictly held to meeting these dates, and product is not delivered until the end of the project.

This led me to wonder, what is the very least that can be done to consider yourself an "agile" development organization? And, what causes organizations to try to be agile, yet fall back to the old, failed waterfall methodology? Here are my answers to those two questions - I would love to hear your comments on this subject as well.

Regarding the question of what are the minimal Agile concepts that must be present: I believe it comes down to three:

1. Test-First: In order to truly have a customer-focused, agile process, you must have a test-first mentality, including prototypes that the customer can interact with. The customer must drive the functionality, and the acceptance criteria needs to be well-known before any development starts.

2. Commitment to change: The waterfall methodology locks you into features and dates well into the future, and thus creates a significant problem for keeping up with the fast-changing world of software development. Any implementation of an agile process must, by definition, not only allow for but embrace change throughout the project. This means that you cannot lock yourself into features or strict deadlines at the beginning of a long project - you can only lock down these things within an iteration or maybe two. After that. expect things to change, and build it into your process.

3. Working apps at the end of each iteration: In order to meet the ever-changing desires of your customers, you need to have a process that allows you to release a product with very short notice. The customer needs to be able to say "I decided that I don't want these last few features, I would rather have the product as it is today". An agile process needs to allow for this, and to provide working code to the customer, that could be released, at the end of each iteration. This also implies that you would deliver product every few months at the most, since most customers want their new features immediately.

As to the question of why organizations fall back to the old, comfortable waterfall, I believe it comes down to a very simple answer: metrics. Upper management likes to have nice metrics to track the progress of their organization, and the easiest metric to track is on-time delivery. If you can tie the delivery of something to a date, it is very easy to track that over time. So, executive management says "developers can use their agile methods, as long as they commit to features and dates at the beginning of the project, and meet those commitments". So, you end up with a purely waterfall method, where you lock in the features and dates up-front, but break things down into "iterations" so developers will think they are "doing agile". In the end, you wind up with nice metrics for upper management to track, but applications that don't meet customer needs because they can't keep up with the changing environment. Your customers become frustrated because you aren't delivering product frequently enough to meet their needs, and when you finally do deliver it isn't what they need anymore. Developers become frustrated because they ask why Agile isn't working to solve these problems.

So, it is the on-going fight between upper management and the front line. Upper management has come from a long career using waterfall methods, and view agile processes as the "cowboy" mentality. When we can provide metrics for upper management that show customer satisfaction with our frequently-released products that come from short iterations based on customer input, we will finally be able to break the cycle of trying agile but falling back into the waterfall.

Just my 2 cents...

Tuesday, October 23, 2007

Recovering

As anticipated, I finally turned the corner this weekend, and was up and around, albeit for a short time, on Saturday. I attended to most of my normal duties on Sunday, which made for a very busy day. I am actually in the office today (Tuesday), and plan to spend at least one more day in the office this week.

From a physical standpoint, I actually feel fairly good during the day now. I still tire easily - just walking from my car to my office got me quite winded. The only way I can think to describe how I feel is that I feel like I do when I am coming down with a flu. I don't have much energy and my muscles are sore, and my head feels a bit stuffed. But, I am up and around and attending to normal duties - for the most part. In the evenings I still tend to drop a bit, and have to get into bed quite early. Interestingly, I tend to have severe heartburn each evening. Once it goes away, I can rest through the evening, and by morning I am feeling better again.

I will go in for the post-chemotherapy test tomorrow, and will get the results next week. We will then know what the next few weeks will hold. Until then, I expect to feel just a bit better each day, and hope to spend 3 or 4 days in the office next week. I anticipate that by the first week of November I should be back to full activities.

I want to thank everyone who has kept me in their thoughts and prayers. There is a real power there which I have felt and deeply appreciate. I expect that I will return now to my high-tech focused blog entries, with probably one more update on my condition after my visit next week with the doctor.

I have heard that once you are diagnosed with cancer you view your life in two parts - the life before the cancer, and your life afterwards. I am excited to now begin my life after cancer...assuming the test shows that it has been eradicated.

Tuesday, October 16, 2007

And now we wait...

I have completed my final week of prescribed chemotherapy. We now enter the "wait and see" phase, where we will find out if we have successfully eradicated the cancer or not. It will be a couple of weeks until we know. Again, I seem to be on the fast track - I know of others who have to wait 6 months before they knew if the chemotherapy worked or not. It is surprising how much different the treatment is for each type of cancer.

As for my condition, this past week has been very difficult. From about Wednesday of last week, things have been rough. This time I am not only very weak and fatigued, but I have been very sick as well. It has been tough to keep food down, and we are a little worried about dehydration - but my wife keeps forcing me to drink fluids. I quite literally haven't left the bedroom since Friday, and today (Tuesday) is the first time that I am sitting up in bed for more than a few moments at a time. I have been sleeping quite a bit, but it is not easy to get comfortable - my body aches all over.

They tell me that I should not expect to rebound too quickly from the treatments. Since it took 7 weeks to drag my body down to rock bottom, it could take just about as long to completely recover. My plan is to take the rest of this week very slowly, and not try to jump up and move around too quickly. I hope to be back to semi-normal activities next week, including finally getting back to the office for at least a couple of half days. If all goes well, I will be feeling back to normal before my favorite holiday - Thanksgiving. And, of course, I am really looking forward to finally getting to a BYU football game this season - so far, I have given away all of my tickets. As long as I can make it to the BYU - Utah game, all will be well...

Sunday, October 7, 2007

Heading into my final week of Chemo

As I prepare to head into what I hope will be my final week of chemotherapy, I am surprised at a couple of things. First of all, it has only been 6 weeks so far. That seems like such a short time, but looking back on my experience, it feels like much longer. It seems as though I have been going to the cancer center for years. Of course, the daily blood thinner shots for the past two weeks have not helped that impression. In reality, 6 weeks is not long - and if this is indeed my last week, it will have only been 7 weeks of chemotherapy. That really is not long at all.

The other thing I have been surprised by is how badly I have felt this past week. At the end of my first cycle, I was feeling almost back to normal. I felt fairly good as I started into my second cycle. I thought that this week would be similar - but I was mistaken. I kept thinking I would feel better, and would get back to normal (almost) before starting my last cycle, but it never happened. As a matter of fact, there were a couple of days this past week when I could not clear my head all day - I woke up feeling drugged (although I hadn't taken anything except Tylenol), and simply couldn't get out of that "groggy" state all day. There are hours of those days that I cannot remember - I believe I fell back asleep.

So, I am not very optimistic about this coming week. If I am feeling this weak now, I expect that I will start to feel the effect of the chemo this week much faster than I did before.

Some friends have told me of the relationships that they made as they went through treatment, and how they heard stories from others about their experiences. I am really not a very social person, and am much less so these days, so I haven't talked to many of the others in treatment. I have gotten to know the nurses quite well, but not the other patients. I usually try to find a chair in the back, close to the network connection, and stick to myself. My wife is usually there for the treatments, and we talk - if I am not sleeping.

The other thing I am not looking forward to this week is getting stuck with a needle every day. My PICC line was removed due to the blood clot, and since I only have one week left, it didn't make any sense to try another one in the other arm. And we know from the first cycle that my veins won't handle two days in a row (my arms still have evidence of hardened veins from the I/V 6 weeks ago). So, I will just get a new I/V in a different vein everyday this week. Dang.

On the positive side, the doctor did tell me that my blood test showed decrease in the cancer markers, which is the only indication thus far that the treatments are working. A few more weeks and we will have a much more definitive test. Until then, I have one week of chemo, and then try to get back to normal.

Thursday, October 4, 2007

The Light at the End of the Tunnel

We are heading into my last cycle of treatments. I found out today that I am now done with the weekly shots, so my last cycle will consist just of the full week of chemotherapy, then two weeks of "waiting period". I will then have another PET/CT test to see how much of the cancer is left. We should know by the first week of November where we stand, and whether there will be a need for radiation treatments or not.

Regarding the blood clot; my pills haven't kicked in yet, so I remain on the daily blood thinner shots through at least next Monday - which makes almost two weeks total. We have increased my dosage of the blood thinner pills, so the hope is that by Monday we will determine that I no longer need the shots. I hope this is the case, as I really don't like those shots. They have to inject them into my stomach, and it stings for about 5 minutes afterwards.

All in all, this has gone relatively well. I expect next week to be the toughest yet, and the following week will probably be not much better as I try to recover from the chemotherapy treatments, but then it should be all downhill from there.

Indeed, I can now see the light at the end of the tunnel.

Tuesday, September 25, 2007

Halfway through - some bumps in the road

It is 10 pm, and I am feeling better than I have all day. Actually, I am probably feeling better than I have in days. I hope that I wake up feeling this good tomorrow.

Denial is an interesting thing. I can see now that I was in a bit of denial when this all started. I guess that because the prognosis is fairly positive, I thought "I don't have real cancer". It was like I was just taking the introductory course - the real stuff was for those who were sick, and tired, and got fatigued just standing up from their chair. That wasn't me. Until this week. This past week has been much harder than the first three weeks of treatment. I have been nauseous, tired, and overall just aching. I walk hunched over, and slow - when I can get up at all. I spent the entire weekend in bed. When I took my shower yesterday, I had to get back in bed afterwards because it had taken up all my energy just to shower and dry off.

The hardest thing is that I never know what will make me feel better. My wife and kids see me looking like I am hurting,and ask me if I need anything - YES! I need to FEEL BETTER. Problem is, I have no idea what will accomplish that: do I need a steak sandwich, a glass of water, a heating pad, an ice pack, more pills, what? I honestly have no idea sometimes what I need. So we guess. I usually guess the steak sandwich.

It is also tough to know which aches and pains are normal, and which I need to tell the doctor about. My arms have been hurting for quite a while now, and my neck stared to really hurt over the weekend. When we went into the doctor for my shot today, I decided to mention it, even though I thought I was just being a baby and assumed they would just say to take more Tylenol and deal with it. It was a good thing that I did mention it - as it turns out, the PICC line that had been my savior for the past two weeks has now become my nemesis. It irritated the vein just enough to cause a couple of blood clots, and they had to remove it today. I am now on blood thinners for a while. I was worried that this would interrupt my chemotherapy, and that it might extend my treatments, but the doctor said that for now it should not affect the treatment schedule at all. I just have to stay on the blood thinners for a few months.

As usual, I am trying to stay looking on the bright side. I was a bit worried today as we were discussing what this all meant with the doctor, but it really is nothing more than a small speed bump on the road to recovery. Maybe I am still in denial, but sometimes a little denial can be a healthy thing.

Wednesday, September 19, 2007

Chemo - cycle 2

As expected, I had a fairly good weekend. I was up and around quite a bit, but did run out of energy and still needed some occasional naps. I am now on day 3 of my full week of chemo, and am finding that I am feeling the effects a bit faster than I did the first time around. The last time I had the full week of treatments, I didn't really start feeling the effects until Thursday. This time, I started feeling tired yesterday (Tuesday), and am feeling it much more today. I am already finding it hard to concentrate, and just to take the time to write this is causing me to have to focus more than normal.

I am very glad that I got the PICC line. It has been very nice to just hook me up in the morning without have to get stuck with a needle. My right arm, which hadn't had any needles since just over 3 weeks ago, is finally just about back to normal - yesterday was the first day that I could extend that arm without feeling pain at the elbow. The vein had just hardened up from the I/V, and it was in almost constant dull pain, which would turn to a sharp pain when I extended my arm. The PICC line is taking care of that, as I am now on my third day with no side-effects in the vein that it empties into. I wish they had more fully explained the options before I started, as I would have chosen the PICC line right from the start.

We did have a minor scare last week, when my incision from the orchiectomy started to show some signs of infection. My doctors are very concerned about any type of infection, since my immune system is dramatically effected by the chemotherapy drugs, so we wanted to ensure that there was not a problem here. As it turned out, it was just a couple of stitches working themselves out of my body. I am not sure why they didn't dissolve like they were supposed to - maybe that has something to do with my blood cells working overtime on the cancer, and ignoring the stitches. That is just a guess though - Darn it, Jim, I am an engineer, not a doctor .

In an effort to maintain full disclosure, I need to mention that I had a pretty down day last week. I think this has all finally gotten to me, and I just crashed emotionally. As my kids will attest, I am a fairly emotional individual when it comes to things close to the Spirit, and I tend to get chocked up when talking about spiritual matters. However, it has been a very long time since I just felt like crying for no reason. Last week I had one of those days. It was not from asking "why me", or anything like that - I was just down and depressed about things in general. It passed fairly quickly, and I am back to my normal self now. It was strange to be in such a funk and not know how to get out of it, so I just slept through it.

Overall, I am still doing well physically. I am feeling more nauseous this time, but still have not been sick to my stomach yet. I am more tired this time around than I was last time, but I am still keeping up with work tasks and meetings, and seem to be handling the treatments well. My hair is falling out slowly, but for some reason my eyebrows have not yet been affected. Strange.

I think that is all I have for an update this week. I am expecting the next few days, probably trough the weekend, to be the toughest yet. We'll see if that turns out to be true. I hope I am not setting myself up for a self-fulfilling prophecy, but rather just being the pragmatist that I am.

Thursday, September 13, 2007

Cycle One Wrap-up

One down, two to go. The first 3-week cycle of chemotherapy is now complete. I met with my doctor today, and he said everything is progressing well and on-track. So, I get another good weekend, and then I start on the full regimen again on Monday. Last weekend was pretty good, with each day getting just a little bit better. I don't think I had to take a nap at all this past Monday, which was a first. The doctor said this is one of the tougher cocktails of chemotherapy drugs, and was pleased to hear that I have not been sick at all.

This week has thus far mimicked last week, with the Tuesday shot in the morning, and me sleeping much of Tuesday afternoon and evening. Wednesday was tough, with today just a little better. Again, I spent much of the late afternoon and evening in bed. I have been able to make it into the office a couple of times this week, which is nice because it gets me out of my bedroom.

As expected, my hair has started to fall out this week. Of course, my head is already bald, but we are now finding hair from all over my body falling out in the bed, in the shower, on the bathroom floor, etc. It is strange - I can run my hand over my arm, and several little hairs will just fall out. I can understand how unsettling it would be if I still had hair on my head.

I am truly humbled by the wonderful service of my great neighbors. Before all this started, Debbie and I (mostly Debbie) had been spending quite a bit of time in our yard, trying to get our landscaping in this year. We had completed the front yard, but the backyard still needed quite a bit of work, and Debbie had been out there by herself ever since I started my treatments.

Our caring neighbors took notice, and for the past two days we have had neighbors in our yard digging, raking, setting sprinkler heads, etc. What an outpouring of love and support. We don't feel worthy of such service, and are humbled greatly by it. It reminds me of the quote from Thomas S. Monson: "In the New Testament we learn that it is impossible to take a right attitude toward Christ without taking an unselfish attitude toward men." We have seen such Christlike service and giving from our neighbors, family and friends.

Although I would never desire to be a cancer patient, it has been such a blessing in our lives already - just for us to see such unselfish service from those we love. It certainly makes it all more bearable.

Thursday, September 6, 2007

Week 2 of 9

They tell me that it takes 48 hours for the chemotherapy drugs to be completely expelled from my system. If that is accurate, then I am now drug free for the first time in 11 days, and it will be 6 more days until my next injection. I suppose that these next few days I will be feeling the effects of my body trying to replace the blood cells that have been used up over the past week, rather than the direct effects of the drugs themselves.

Today is a good day - very different than yesterday, when I barely made it out of bed all day. Today I am out of bed, and actually got out of the house for an hour or so. My legs told me it was time to sit down again, but I am not as fatigued as I have been. I have not yet found any rhythm or cycle to the fatigue, other than the fact that I haven't had two good days in a row yet. Some days I can move around, and even attend to some normal activities (like going into the office), others I can barely walk from the bed to the bathroom before I have to lay down for a few minutes. I was definitely overly optimistic regarding my ability to maintain normal activities, but overall it has not been as bad as it could have been. Still no sickness, other than some overall aches throughout my body.

We had one scare this past week. It was about 1 am or so Sunday morning when I awoke with my body completely soaked in sweat. I felt very hot, and thought I had a fever. They had told us that a fever of just 101 would be an emergency situation for me, as the drugs reduce my immune systems' ability to function, so I awoke Debbie so she could check it out. Luckily, she said my skin felt cold rather than hot, and it turned out that I didn't have a fever at all. She still called the doctor, who said that hot flashes from the medication are not uncommon. He said if it didn't pass in a half hour or so that we should go to the emergency room. It passed, and all was well again.

Both of my arms are black and blue and swollen. They ache, and have even hurt enough to wake me up in the night if I move them wrong in my sleep. I can still tell which vein the IV was pushed into, as they are still sore. Since we now know that my veins won't take the IV for more than two days before causing pain, I have requested a PIC line, which they will install on Tuesday before my next injection. This is a line that will be inserted into my fore-arm, close to the elbow I think, and they will thread it up my arm and into my chest, where it will empty into a larger vein. This will stay in place for the remainder of my treatments, and will be the source for all IVs, injections and blood work. The other option was a porta-cath, but that had to be surgically implanted in the chest, and seemed like overkill for just 6 more weeks.

I am starting to recognize the signs my body gives me. I can tell when my body is planning to shut down, and how long it will be until it happens. It usually starts in my legs, then 15 - 30 minutes later I feel it in my head. After that, I have about 45 minutes or so before I had better be in my bed. It is as though my body decides it is time for a "troop surge" against the cancer cells, and starts depleting the blood from my legs for this purpose. Debbie tells me that the body will naturally re-route blood from the less-critical areas of the body (such as the extremities), which explains why it starts in my legs. Why it goes next to my brain is anyone's guess (insert your own joke here...).

It does seem as though my mind has been getting clearer these past few days, and I almost feel back to my normal self today. I hope that these next 6 days are more like today than yesterday...

Saturday, September 1, 2007

Week one of Treatment

It is 4:30 Saturday afternoon, and I finally have enough energy to sit up and type for a few minutes. I have completed my first week of chemotherapy. It could have been worse - I never did get nauseous. I suspect that is due to the saltines and strawberry fig newtons that I kept eating, as well as keeping water by my bed all the time. I never did have to take the "emergency" medication that they prescribed for me, which I consider a blessing.

Things certainly took a downturn on Thursday. I found it hard to open my eyes on Thursday. I couldn't necessarily sleep, but I just couldn't keep my eyes open. Friday I bounced back a bit, and although I was fatigued, I was lucid and able to participate in a good meeting at work.

Today is a different story. My legs feel like rubber, and my throat is very sore. My stomach feels like I have been doing sit ups. It hurts to swallow - I have had a lot of ice cream today (which is unusual for me, as I really don't eat many sweets). Some things are starting to taste different - I couldn't tell the difference between a Diet Coke and a Sprite. My head feels fuzzy - I find it difficult to concentrate. This is especially frustrating, as I can't read or study anything since I can't focus my brain. Since I don't have the strength to get out of bed, and I can't concentrate, I find myself simply staring at the ceiling for periods of time. Very weird.

The toughest thing for me is that I am listening to BYUs opening football game while laying in my bed, rather than sitting in my normal seats in the stadium watching it (at least we are winning...). My boys didn't have to miss out, though - with the help of some good neighbors and family we got them to the stadium. It has been inspirational to watch family and friends provide such support - everyone is doing something to help - bringing dinner, sending gifts, cards, e-mails, prayers, thoughts. I truly believe that having such a good support system has also been critical to making this week better than it could have been. Things certainly could have been much worse this week.

Wednesday, August 29, 2007

Chemotherapy Day 3

I am the only patient in the chemotherapy room this morning. It makes it nice for making a few work-related phone calls and meetings that I need to catch up on today.

Yesterday was a good day again. The nausea is staying under control, and for the most part I am feeling well. I participated in a meeting at work after therapy yesterday, and I could feel my body starting to shut down toward the end of the meeting, but I made it home before I got too groggy. Around 4 pm each day I have been taking a nap for a few hours - it is strange to wake up when it is dark outside. It seems to take a while to come out of it - almost like when I was trying to wake from the anesthesia after my operation.

Yesterday it felt like the vein they were pumping the drugs into was starting to complain. I could feel some burning sensations, and the I/V started to slow down - they had to hook me up to a pump. When we had some similar symptoms this morning, they decided to try a different vein, so I had to get stuck again. It is doing much better now, and hopefully we can stay with this vein for the rest of this week.

All in all, things are going well. No side-effects yet - food still tastes OK, and I am keeping it all down. Just a but tired in the late afternoons.

Tuesday, August 28, 2007

Chemotherapy - Day 2

Day 1 was no problem. I saw no immediate effects from the drugs while in the treatment center, and only had a few very small indications of anything amiss afterwards - some minor dizziness, and the start of some nausea. When I felt the nausea start, I took one of the prescribed pills, and it went away. Within a couple of hours, I was extremely tired, and took a couple of short naps. Other than that, the day went well. I got up and talked to some friends to came by the house to drop off some food for our family, and took a walk just prior to bed.

I was awoken in the middle of the night because of the I/V in my arm. Since they don't want to stick me every day, they leave the I/V in my arm and just wrap it in some tape. I moved the wrong way in the night, and it pulled on the I/V, which caused enough pain to wake me. Given that was the worst thing to happen that day, I would say it was a great day.

They tell me that today should be similar, although they will add a new drug to the mix today which could cause some aches and pains throughout my body. As a preventative measure, they will administer some Tylenol in conjunction with this "Tuesday" drug.

I am told that tomorrow will probably be the start of the downhill trend, when I will start to feel much worse, and I may start to loose my taste. For now, I see none of those effects.

There were quite a few people in the treatment center yesterday. Probably 15 people at one time. I am still surprised at how many people are actively fighting this disease just in this area. We spoke with one woman yesterday who has leukemia, and has been through three separate chemotherapy treatments over the past 15 years. She was here for her regular monthly visit, which took about an hour or so.

As for me, I was able to keep up with work from here, which is nice. I stayed on top of e-mails and meetings, made a few phone calls, etc. We will see how much I can continue that as things start to turn south in the next day or two. My wife spent most of the time in the treatment center with me, which really made it nice. I can't remember the last time we spent that many hours together without kids asking for something.

Monday, August 27, 2007

Technology and Being a Patient

I am sitting in the chemotherapy treatment lab, with about 5 other patients. I have been surprised at how busy this place is - I had no idea that this many people were dealing with cancer in this area. Every time I have come in here there have been 10 - 20 people in the waiting room.

This is not new news, but I have been reflecting recently on how technology has changed the experience of being a patient. As soon as I found out I had cancer, I immediately went to the web and began reading as much as I could about it. My neighbor is a doctor, and he also pulled some information off of the web for me. By the time I first met with the oncologist, I already knew the terms and could speak fairly intelligently about my test results. As he talked with me about those results, I understood more than I would have, as I had been exposed to the new terms already, and had looked up those that I wasn't familiar with.

Then there is the chemotherapy treatment lab. Here I sit, in a recliner, with my laptop on my lap, connected to the Internet. I have already done some work, answered some e-mails, and of course am blogging from this "comfy chair" (a reference for those Monty Python fans out there...). Except for the I/V in my arm, and the few strangers walking around in this room, this is much the same as when I work from home. Not exactly what I would have expected chemotherapy to be.

The availability of information and the widespread connectivity available today certainly makes the experience of being a patient much different than it once was. I wonder if the doctors find that a help or a nuisance.

Friday, August 24, 2007

When will technology serve us?

So, I have to get something off my chest. When I started my new job I was told that we use Groupwise for our corporate e-mail. No problem - I was peripherally involved in the creation of Groupwise many years ago (at WordPerfect, before Novell bought them), and I really liked it.

The problem is that I have been maintaining a personal folder in Outlook for several years. This is very important to me, as it contains all of my personal notes, e-mails, etc, and I refer to them on a regular basis.

OK - so this is not a problem, or so I thought. I would just use Outlook for my personal e-mail, and have Groupwise handle my corporate stuff. A rather simple solution, since technology should serve our needs - this will work just fine.

Little did I know that Outlook would automatically detect that I had Groupwise on my machine, and connect to it for me. Not only that, but as soon as I installed it, I could no longer send e-mails from either Groupwise or Outlook. So, I decided to uninstall both, and install and configure Outlook first. Having successfully accomplished this, I then re-installed Groupwise. Of course, Groupwise automatically detected that I had Outlook on the machine, and re-configured it to read my Groupwise e-mail - in the process, of course, removing all of the other settings I had set up. After all, these programs know better than I how they should work.

I spent several hours over the course of the next few weeks trying to find a configuration that would work for me. I am sure that there are some e-mail aficionados who would have been able to figure it out faster, just as I am sure that some would have given up long ago. At any rate, I finally have a configuration that doesn't cause havoc - albeit with some strange side-effects. Of course, I lost over 200 e-mail messages in the process, as Outlook kindly retrieved them, and then sent them into oblivion because it couldn't figure out how to route them to my personal folders with Groupwise on the box. I finally figured out how to get Outlook to ignore Groupwise, with the exception of the startup - Outlook continues to ask me for my Groupwise password, even though it doesn't handle any of my Groupwise messages now.

Why do we still have consumer applications that require a CS degree to configure the way we want? When will technology be truly intuitive, and truly serve us, rather than making us jump through hoops just to end up with a semi-acceptable solution, rather than a great solution?

I guess the answer is "when we stop accepting the mediocre solution, and demand intuitive software that does exactly what we want". In other words, probably not in my lifetime...

Thursday, August 23, 2007

A personal note

I really debated whether to blog about this here, since this is a very personal issue. But, many who are already aware of what is going on have asked me if I am going to blog about the experience, and I finally decided that it might be a good idea. So, this post (and some others in the near future) will deviate from my high-tech focus, and will delve into more a much more personal issue that I am now working through.

Just after starting my new job I was diagnosed with testicular cancer. I had known for a few months that something was not right, but I really didn't think it was the "C" word - after all, that happens to other people, not me. When I finally decided to see my doctor, he immediately recognized that this was quite serious. Within two days I had received an ultrasound and seen a specialist. A week later the tumor was removed, and I was informed that the cancer had already started to spread into the abdomen. It was really a whirlwind - add this to the normal stress of starting a new job, and you can see that I have been quite distracted.

It has been three weeks since the orchiectomy, and we are now "staging" the cancer. This means that we are trying to find out how far it has spread - if it is in the lungs, then I would be a stage III. If it is remained in the abdomen, I would be a stage II. Either way, I will be starting chemotherapy next week. I am told that I should expect to be in the cancer treatment center for between 4 - 6 hours each day for the first week (which really cuts into my work day...), and then I will return for a quick visit each Tuesday for the next two weeks. We will then start the process all over again, and I will go through that either 3 or 4 times.

As I begin the chemotherapy, I will continue to blog here about the experience. I hope to continue to work while going through this, although some friends say I am being overly optimistic, and they think I will be too tired to work. Everyone reacts differently, so until I know that I can't focus I will plan on trying to work as I go through this experience.

The real question in my mind is: do I wait for my hair to fall out, or shave it off before hand? Actually, anyone who knows me understands what a minor issue this is, as I am already bald by most standards. At any rate, I finally decided (with the help of my wife) that this really comes down to an issue of control - shaving my head is the only thing I can really control right now. If I do it before, then I am doing it on my terms, and not allowing the cancer to take control. Interesting perspective (she is smart that way). I am planning to shave my head before I start chemo on Monday...

Wednesday, August 22, 2007

blogging from my blackberry

I have never been a bleeding-edge kind of guy. I guess that is why it has taken me so long to get a blackberry. Now that I have had it for a week, I wonder how I got along without it.

So, I am posting from it now. As you can tell from my prior posts, I am usually quite verbose. Maybe the plus side of having this blackberry is that I will learn to be more consise.

At any rate, blogging from a blackberry is pretty cool.

Friday, August 3, 2007

Loosing "Craplets"

It looks like Dell is listening - they have come out with the "Vostro" line of desktops for small business. The really cool thing is that they are not shipping any trialware on this line of machines (which Walt Mossberg refers to as "craplets").

This is significant because it indicates that we have come full-circle. Everyone wanted to get their trialware on Dell machines - it was like a comic getting called over to Johnny Carson's desk after their bit - it meant you had arrived. Unfortunately, Dell (and others) took advantage of this, and saturated the market so customers became so frusterated with all of the stupid apps that they didn't request, but yet had to remove from their machine, that we have now come full-circle, and it is "big news" that Dell is shippinng a computer without them.

As a customer, I am very glad about this switch, and I hope others follow suit. As a software guy who has tried to get small businesses up and running, I believe that we will have to get more creative regarding our marketing and delivery mechanisms now.

All in all, this is a very good thing.

Friday, July 27, 2007

"That Agile Crap"

I have recently started a new job. In my experience, I usually drive home from my first day thinking one of two things: either I am wondering how I landed such a great job, and just can't wait to get to work tomorrow to gert started on some of the challenges ahead, or I am asking myself if I made a huge mistake and what can I do now to fix it. For me, there is usually not much middle ground here.

Having been such an advocate of Agile Methodologies, I was very interested to see how (if at all) agile processes had been implemented here, and what my role would be in either implementing or improving them. My first day was full of one-on-one meetings, where I was able to meet some of the key decision makers in my new organization. As I like to do when starting a new job, I asked each of them what I could do to be successful in this role in their eyes. One answer evoked a surprising comment about agile development - which was a real surprise, since I didn't mention agile or development practices at all (I try not to reveal my feelings on the subject yet, as I don't want to taint the well, so to speak).

I was told that a particular project was in disarray. As we talked about the reasons, he said something like "the development team keeps re-working things, and they keep doing the same thing over and over. You know, its because of all that agile crap".

Once again, it seems that Agile is being blamed for bad development practices. Either that, or the development team is using Agile as an excuse for not delivering - I guess I will have to figure out which it is. Either way, it seems that Agile development is always an easy scapegoat for projects gone bad.

While it is true that an agile approach leads to some re-work, it is also a key agile principle that the output of the agile team must meet the customers needs, and re-work should only occur if it is in direct response to a real customer need, not a perceived future benefit that has not yet been requested by the customer.

It seems that the real problem here is that the customers requirements are not understood by the developers working to solve their problems. Where the source of that breakdown is I don't yet know, but the failure certainly is not because of the "agile crap" - it is more likely that either the development team doesn't understand the customers real needs, or they are not practicing true agile principles.

So, on my long drive home, I found myself thinking about my day, and I did indeed fall squarely into one of the two camps I mentioned above. Which one it was should be quite obvious to anyone who knows me...

Wednesday, July 11, 2007

Ajax and Nielsen Ratings

I was very interested to read that Nielsen/NetRatings will change the way that they rank websites - mainly in reaction to the adoption of Ajax technology. Rather than ranking pages based on clicks or views, they will now rank pages based on amount of time spent on the page.

Of course, this is because of Ajax - referred to in the article as a "software trick". As this technology is becoming more popular, the page views are naturally reducing, as this is one of the key concepts of Ajax. Pages can refresh and update data without requiring a new page view request.

This is really quite interesting to me, because we have long fought with this concept as we try to report on time spent on the Internet in our product. How do you know if someone has their eyeballs on a page, or if they browsed to a page and then became distracted, or even left the room completely, but left their browser sitting open? Ad revenue will now be based on this concept of time spent, rather than page views, and (in my opinion) may be much less accurate. When you factor in the tabbed browsing capability, this has the potential for being very inaccurate, and a poor measure of true website popularity.

The article reports that this benefits AOL, since now all time spent on their Instant Messing is counted as part of this new metric. Thus, AOL ranks first with 25 billion minutes for May. Of course, this also means that Yahoo! ranks above Google, since they have different strategy with regard to web search - Yahoo! wants to provide you with data to read on their sites, where Google wants to link you over to your data as fast as possible.

When trying to determine popularity of web sites, and how much to charge for ads on those sites, I suppose it is necessary to find a better metric than page views. I am just not sure that time spent is the right one either.

Wednesday, June 27, 2007

Agile = Discipline

In a recent conversation with another agile enthusiast, I reiterated my assertion that any formal embodiment of Agile is inherently an oxymoron. This was met with some concern, and the conversation quickly turned to the subject of discipline and agile.

There is a very common misconception that agile means complete freedom (i.e., chaos) where every developer can do what they interpret to be the "right thing". Freedom from documentation, freedom from a disciplined approach to software development, freedom from being accountable for product not shipping on time. This is not only completely false, but is actually the polar opposite of a true Agile environment.

A team that is truly operating under the Agile principles actually must be extremely disciplined. In fact, I assert that following agile principles requires more discipline that non-agile processes. If you are going to get product out the door and into customers hands on a regular basis, and if you are going to have a functioning "shippable" product at the end of each iteration, and if you are going to operate under a "test first" mentality, then you must be extremely disciplined in whatever process you put in place.

My assertion that a single embodiment of agile principles will not always work for every team does not indicate that I advocate chaos. Rather, I believe that one needs to assess the team, the customers, and the product and come up with the implementation of the agile contepts that works best for that environment. Once those processes are put in place, the entire team must be extremely disciplined to follow those processes in order to get their product shipping regularly to customers.

Of course, every process must be molded and modified as time goes on. This is another reason why I believe that each team must create their own implementation of Agile in order to create their Agile Culture - because those processes will be changing over time to better meet customers needs. If you simply lock yourself into XP, Scrum or whatever other embodiment you choose, you may loose the ability to mold that process over time as your culture evolves.

Having a true agile culture actually means much more discipline on the part of developers, testers, product managers, management, etc.
  • Developers need to be more disciplined to ensure that they develop to the test plan that has already been written, that they do not change too much at one time, and that they return to a "shippable product" state before moving on to work on a new feature.
  • Management and product managers needs to be more disciplined in prioritizing features so that any given iteration is not overloaded with too many changes, and it takes discipline to stick to the idea that no product will ship before its time (or that no iteration will end before its time...).
  • Testers need to be more disciplined to ensure that the product remains shippable at the end of each iteration - especially if that product DOESN'T ship! It is much too easy for testing to sign-off on a "shippable" product so we can jump into the next iteration if they know the product isn't actually going to ship to customers. It takes discipline to stick to the same high standards regarding the definition of a shippable product regardless of whether it will actually get into customers hands or not.

Agile does not mean chaos - agile means dedication to small, incremental changes that benefit the customer in observable ways, and reacting to the changing priorities of customers. And that requires great discipline throughout the team.

Friday, June 15, 2007

Does Agile always apply?

I have been asked several times in just the past two weeks whether I believe that you can "apply Agile" to every project. This is a very interesting question to me, since I believe that agile is a culture, and not a defined process. To me, this question is much like asking whether you can apply your religious beliefs to every situation in life. Agile is a way of approaching software development, and if you are truly "doing agile", you will continue to use that same approach for every project - you can't simply set aside your core beliefs regarding how quality software is developed. To say that it doesn't apply to this product indicates that you don't believe that you can develop this project to meet real customer needs with a high degree of quality. Why would anyone take on that project in the first place?

I was very interested to read Alistair's explanation of applying agile practices to home building. This really shows how these concepts are truly universal, and can really be applied to many different situations.

When people ask if agile can be applied to any software project, I believe that what they are really asking is whether the specific agile implementation that they are familiar with can be strictly enforced for any project. Of course, the answer to this is "No". As a matter of fact, I believe that ANY implementation of agile cannot be strictly enforced - defining an agile implementation (like XP or Scrum) is an oxymoron.

To truly "do agile" one needs to look at the environment, understand the people involved, know the product and its complexities, and then put in place the pieces of certain agile processes that make sense for that environment. You have then created a culture where software can be developed with minimal documentation, a test-first mentality and most likely with daily stand-ups and automated testing. You take the values from agile and create a culture of software development that results in high-quality products that meet real customer needs.

When you create this culture, you do not set it aside for some new project that may not seem to fit into an agile process. Instead, you mold your processes around the culture you have created to meet the needs of this new project. Being an agile development team means more than strictly applying an agile process - it means being agile in the very definition of that process, and molding the processes and procedures to meet the needs of the project.

Wednesday, June 13, 2007

Can you put the toothpaste back in the tube?

I admit it - I have Google'd my own name. In todays world, I think you almost have to. I am fairly religious about getting my free credit report 3 times a year (once from each company), just to ensure that my credit score is where I expect it to be, and that someone hasn't stolen my identity and started using my credit. Considering the proliferation of blogs, and taking into account the permanent and yet dynamic nature of the Internet, I would think that we now need to be just as religious at finding out what other people are saying about us on their blogs and other posts -whether we are notable figures or not.

I read today about some companies that are trying to make a business out of helping people to stay on top of this. Defend My name and Reputation Defender are just two examples. Both claim to scour the web, watching for your name to be used in an unflattering way.

Their reaction is very different, however: one will start by sending an e-mail directly to the website owner, asking that the content be removed. If it is not removed, then they continue down that path, sending less-friendly e-mails to the owner, and even communicating with the ISP that provides the service for the "offending" site. This can often backfire, as some bloggers have simply posted these e-mails, and mocked the request to remove the content as a blatant attempt at censorship.

The other site takes a different approach: they will create positive posts to try and counter the negative ones. Their hope is to put enough positive things out there that the search engines will push the negative comments down, hopefully to the feared second page of results, which no one ever looks at.

Both of these approaches make me wonder: can you really put the toothpaste back in the tube? Once some negative comment is out there, it is really very tough to take it back - especially if it has already been widely distributed.

And what if the negative comments are actually accurate and well-deserved? What if you are really a con artist, taking people's money, or scamming them out of everything they own - but you want to use one of these services to keep your name from being defamed? Or, what if you are just a jerk, and your neighbor wants to tell people about it? They certainly have that right, at least in this country.

It is indeed a very interesting world we now live in. A few years ago I was involved in an on-going dispute with our school board. My name was mentioned in the minutes, which were posted to the web regularly. My comments were not just available to those at the meeting, or even to those at the school - but rather to anyone who happened to search for my name online (potential employers/employees, family, friends, etc). I kept a fairly close eye on those comments, just to ensure that they were not too defaming. In this case the posts, while not always complimentary, at least fairly accurately communicated my stance on the issue at hand. But this may not always be the case.

Do you search your name, just to see if your neighbor posted some negative comments about your barking dog, or worse yet - some pictures taken through your open window? How much would you pay for a service that would find these things, and attempt to remove them for you?

I would think that a service such as this should be paid for based on a reverse-AdWords approach: the more exposure it had before the company removed it, the less you would have to pay. A premium would be paid for those that were removed before anyone looked at it.

Regardless, I believe that just as we keep watch on our credit report, we all should Google our own names every once in a while, to keep watch on our on-line reputation. It is just one of those things we need to do in this new, online world of ours.

Wednesday, June 6, 2007

Microsoft Surface

OK - this is actually pretty cool. I had a chance to use something similar a few years ago when I was working with the FBI - it was a map-based system, run off of the satellites, where you could use your fingers to zoom in and out and move the map around. At the time, I was more impressed with the real-time satellite images (and I was looking at the non-classified version), but it was pretty cool to interact with this device without using a mouse or keyboard.

Now that Microsoft is bringing this to the consumer market, it actually looks pretty exciting. I really like the way it seems to seamlessly interact with other external devices, like phones, music players, and credit cards. Pretty cool stuff. I can't wait to get my hands on one.

Tuesday, June 5, 2007

Digital Music Services

I am not a big digital music fan - I have my "old" CD collection, and have a very old MP3 player (yes - it is a pre-iPod - contrary to popular belief, this technology did exist before the iPod). But my teenagers are really excited about their digital-music devices, and so I am always on the lookout for better ways for them to find songs than via peer-to-peer file sharing applications. Apart from being illegal, they simply expose our computer, and our children, to way too much bad stuff. Before I blocked these P2P apps from all of our computers, I once found an extremely graphic video on our machine, which one of my children had inadvertently downloaded thinking it was something else (which, of course, was the intent of whomever put this on the peer-to-peer network). With these P2P applications no longer an option in our home, and since they can't use iTunes (because they don't have iPods either), we are always looking for safe, legal ways to get the music they want.

So, I was intrigued by this new service called lala.com. As it turns out, LaLa.com is taking a very different tactic than the rest of the iTunes competitors out there, in two major ways:

1. Lala.com will allow you to listen to any music on your computer for free. You can create playlists, and use the service as much as you want without every purchasing any music or paying any subscription fees. It is only when you want to move a song to your portable player that you have to pay for it. So, for those who hang out at their desk all day, and just want to listen to music while they work, this is a completely free service where you can access as much music as you like.

2. Lala.com will only sell the entire CD - you cannot purchase an individual song. When you are ready to download something to your player, and want to make a purchase, they are forcing you back into the old-school packaged CD mentality, where you must purchase the entire set of songs that make up the CD rather than the one song you want.

While this is not much of an option for my children (they don't listen to music while at the computer, and they don't like purchasing entire CDs), it will be interesting to see how this service is accepted by both the music industry and the consumers. I would expect that consumers would like the all-you-can-consume music streaming, but would not be happy about having to purchase an entire CD of songs, whereas the music industry would be just the opposite.

It will also be interesting to see how Apple responds to this, since you can play these songs on your iPod, and can also download songs directly to your iPod from lala.com without going through iTunes to get them there. Not exactly the Apple way.

This seems like a risky approach to me, and one that doesn't really meet anyones needs completely. But then again, as I mentioned above, I am not a big digital-music fan, so what do I know...

Wednesday, May 23, 2007

Missed again...

One of the most popular dating sites, which claims to be chasing Match.com this year, is run by one man out of his home. PlentyOfFish.com claims to generate over $10,000 a day in ad revenues, as documented in this video. In the video you can see a check from Google, which he also posted a picture of, for just under $1M, which was earned in about 2 months, as claimed on his blog. The Wall Street Journal reported that Google did indeed verify that this was a valid check.

I must be in the wrong business. With technologies like Bungee Labs now making web development "so easy a caveman can do it", and with Google paying out the wazoo for ad placement, just about anyone can make a website and make themselves a ton of cash-ola.

Sounds a lot like the dot-com boom all over again...only this time the cash is flowing. I guess I need to come up with a great idea that I can support with AdSense revenues...

Tuesday, May 22, 2007

Agile and the "Big Picture"

Software Quality News posted an interview with Alistair Cockburn regarding Agile and how it has been implemented (or not) by companies since the creation of the manifesto. I really like the interview, but the thing that really hit a nerve with me was one of his top ten ways you can tell you are NOT doing Agile. Number 9 is as follows:
They have itty-bitty requirements on the order of "here's what happens when you click here," but they don't have long-term vision for what they're trying to accomplish.
This reminds me of a discussion we had in the last the CTO Peer to Peer regarding how some groups expect their architecture to "emerge" from their agile processes, so they rationalize that there is no need for formal architecture in the project.

I believe these are all-too-frequent rationalizations when people attempt to adopt an Agile methodology. Since Agile de-emphasizes documentation, people jump on the cowboy mentality bandwagon, and begin coding without ANY documentation, hoping that their architecture, and their "big picture" system, will slowly emerge from the clouds as their project comes together.

This is a recipe for disaster. If anyone tells you that because you are "doing Agile" you cannot document the big picture or design an over-all architecture, that is a clear indication that this individual doesn't really understand the Agile methodology.

Jumping into solution space and writing code before you have a well-defined architecture and big-picture goal is like taking off in an airplane before you have a flight plan.

Using agile methodologies in this environment will only help you get the wrong solution released faster.

Monday, May 21, 2007

Mac vs. Vista

OK - I have to admit, while I am not a Mac user, I love their ads. They are very well done, and hit the nail on the head when poking fun at Vista. I have not converted to a Mac yet, but I am seriously considering making my next laptop a Mac.

With that backdrop, I read today that Mac sales are up 35% in the first quarter over the same period last year. The same article also stated that the Vista uptake rate is less than had been expected (no surprise there).

This begs the question: Why? What is driving people to buy a Mac and not Vista?

It has long been a well-known fact that Mac users have a religious fervor to their support of that platform. Back in the 80's and even the early 90's, Mac users were well known for their zeal in support of the freewheeling, innovative Apple over the stifling corporate-focused Microsoft.

However, I cannot believe that the "corporate culture" difference is the cause of this zeal today. Rather, here are some ideas that I have heard that would make more sense:
  1. The OS X is simply a better designed product. I referred to this in an earlier post, but the concept that Steve Jobs simply has a vision of how his OS should work, and requires nothing less than perfection from his employees in the creation of this vision. He maintains strict control over the implementation, and ensures it meets his high expectations.
  2. People are getting tired of being disappointed by Windows. They start with high expectations for significant improvement, but end up with an operating system that is only slightly incrementally better than the prior incarnation. The Mac is the natural place for these people to migrate to, since Linux desktops are still only for the "techies".
  3. Sales of the Mac are being driven by the iPod.
So, what can a software company learn from this? What do we take away here that can be emulated as small software companies fighting the Goliath in their vertical market? Here are some possibilities:
  1. You need a Dictator with vision to run your software company
  2. Be the only viable alternative to the Goliath
  3. Create a market via horizontal expansion that will drive sales of your product
  4. Have some cool ads and a good marketing strategy
Of course, none of these make for a viable, implementable strategy for a software startup. But, there has to be some lessons to be learned from the Mac success that small companies can follow. I would love to hear other people's thoughts on what those are.

I really don't know what single thing is driving Mac sales, nor why Apple has been able to create such a religious following - or if you can even boil it down to one or two key points. But, if other companies can figure out their magic recipe, we might find many more small companies building extremely innovative solutions and gaining extremely loyal customers.

Friday, May 18, 2007

E-mail signatures?

Interesting article in the Journal today regarding E-mail signatures. It mentions services like Meez where you can create your own "avatar" and include it in your e-mail signature. Evidently, this is a craze that is catching on - they report over 1 million registered users, with half of them joining in the first quarter of 2007. Crazy - I guess that is another entrepreneurial idea that passed me by.

I have to admit, I used to attach pithy comments to my e-mails, but have not done so for quite some time. This article makes me wonder, though, if we have now gotten to the point where the signature holds more "meat" than the e-mail message itself. I have noticed a trend recently where the signatures on e-mails are becoming more and more obvious and "in-your-face" than in the past, with graphics and company logos and such. It almost draws your attention to the signature before you read the message. And, my "pithy comments" didn't suck up extra bandwidth.

The article also mentioned John Edwards website, where it offers a download of an image that shows your support for his campaign. Great - more unsolicited advertising in my e-mails, only now it is coming from people I know, embedded in e-mails I want to read (or maybe not anymore...).

How far will this go? Maybe we need a new e-mail product that will strip e-mails of anything that is extraneous to the message in the body. Now that is a service I would pay for.

Wednesday, May 16, 2007

How much testing is enough?

It really doesn't matter when you plan to release, nor how much testing has occurred - someone will always be worried that it was not enough. Whether you are on an agile schedule of releasing every 4 - 8 weeks, or a more traditional waterfall process of 6, 12 or 18 month releases, it always seems that there was not enough testing time to really feel comfortable shipping a product. If you test too long, you will miss your window of opportunity in the market, and if you don't test enough you risk shipping a bad product.

So, how much is enough, and when do you know it? Test automation helps, but still nothing compares to putting hands on the product and getting a good feeling about it. There is much more subjectivity to testing than most people realize.

It has been said that good managers make decisions when they have only 40% - 60% of the data needed for that decision. The reason being that if they wait for all of the data, they usually miss the opportunity, but if they make the decision with less than 40% of the data, they risk making the wrong decision.

So, does this concept apply to testing as well? It certainly seems to fit (if you wait too long, you miss the window) - but then, if you ship a product where only 40% - 60% of the features have been tested, that doesn't sit well with anyone.

The bottom line here is that the decision to ship a product always comes with risk. You can never test all possible scenarios, because you never know exactly how someone will use your product. And you really never know exactly what features have been affected by the recent code changes, even though you might think you do. You can mitigate that risk with automated testing that has significant coverage, and you can also reduce the risk with acceptance-level tests that cover the most-often used features in the product.

However, there will always be risk when shipping new code - regardless of whether you are using agile methodologies or not. But, the agile world gives you two significant benefits: first, the amount of code change for any release is minimized, so the risk of something slipping through is smaller, and secondly with short iterations you can react faster to a "bad" release - which you hope you never have to do, but the reality is that there are just too many variables in todays software environments to avoid it completely.

Developers are their own breed

I recall having a conversation with one of my peers when I was working at Intel many years ago. We were discussing what motivates Software Developers, and how to best manage them. I have often thought back on that conversation, and thought I might share some thoughts about that this morning.

In the end, most developers just want to work on "cool stuff". They want to know that people like their software, and that their baby isn't ugly. Some developers don't even care if the end-user likes their code - they are motivated by knowing that they have "slayed the dragon", and came up with some really cool way to connect the dots under the covers of the application - the end-user will never even know just how cool it is.

So, how do you motivate developers? Personally, I have learned two things that I believe are invaluable:

1. Learn how THEY like to be managed, and change your management style to match it. Some developers prefer to talk out each step of their solution, and get your approval of everything they do. They like to me micro-managed, although that term has a bad connotation in today's management theory. If they are more successful because they talk through their solutions with you, then you need to be happy to do so.

On the other hand, some developers simply want to take an assignment and run with it. In this case, make sure you have clearly identified the desired outcome, and leave them to it. You hired them to solve the problems, so let them do it - and judge the results based on how well it solves the problem - not on whether it was the way you would have done it or not.

Which leads us to the second lesson:

2. There is not "one best way" to solve any problem. When I was a developer, I was quite arrogant, and really thought that I knew the best way to solve any problem. If someone else didn't do it my way - well, it might work, but it won't be as good, or last as long, be as maintainable, or as user-friendly as my solution.

I remember vividly when I realized just how wrong I was. I had been assigned to work as an Architect, and had to learn and understand three different product lines with the intent of bringing them together under one architecture. As I sat down with the top technical minds behind each product line, I realized that they were all solving the same problem, and had to answer the same questions as they went along. Of course, they all answered them differently (some with java, some with C++, some with client-server, some with SAAS, etc). I remember one day thinking that no one actually came to work one day and said "how can I really screw this up?" - they all had solid reasons for making their design decisions - and they all were now working on very successful products, based on very different architectures and technologies. They had all looked at many of the same technologies and architectures, but had made different decisions along the way. In the end, they all had happy customers and great products.

Developers, especially the good ones, tend to be a bit arrogant, and believe that there is really only one way to solve a problem. This reminds me of Abraham Maslow's comment that "he who is good with a hammer tends to think everything is a nail."

Bottom line is that in order to understand developers, you need to know what motivates them and help them achieve that goal. For some it will be more money, for others it will be a technical leadership role, for others it will be public recognition, and for others it will be to just work on cool stuff and have happy customers.

Regardless of what motivates them, however, the most important thing you can do as a leader is let them do what you hired them to do. They are smart people, and you hired them for a reason - don't try to do their job as well as yours or you will both fail.

Tuesday, May 15, 2007

Microsoft claims patents on Open Source code

The Wall Street Journal today reported that Microsoft has claimed that 235 of its patents are being infringed upon by the Free and Open Source Software (FOSS) movement, specifically mentioning the GUI, e-mail programs and Open Office as violators.

My first thought was "how did Microsoft get patents on GUI and e-mail programs?" I didn't know you could patent an idea that you "borrowed" from someone else...OK - maybe I'm being too harsh on Microsoft.

My next thought was "What took them so long?" These open-source projects have been around for quite a while - why did they wait until now to claim infringement? Maybe they thought that the best way to fight the Open Source movement was to ignore it, and that by claiming patent infringement would lend credibility to the movement. It has now gotten to the point that they cannot ignore the momentum of Open Source (actually, it got to that point quite a while ago...it is just like MS to play catch-up with the rest of the industry).

Of course, Microsoft has been on the other end of this battle many times. Gee, the first to come to mind is the Zune...doesn't that infringe on some patents by Apple? A large company like Microsoft is happy to enter the market knowing they are infringing on patents, and will simply take the "oops - my bad" approach when sued later for it.

I have to admit that I have not yet jumped completely into the Open Source world. I like Linux, and I actually have Open Office installed on a couple of computers at home, but I have yet to really dive into the Open Source movement with both feet. I am not a Microsoft hater, but I certainly would not personally like to ever work for them.

So, I consider myself a fairly objective outsider in this battle. I love to watch the open-source community eat into the strong-hold that Microsoft has on the operating system market, as well as any other market that they can gain a foothold in.

Having said all of this, the most surprising comment from this short article, and possibly the most troublesome comment, was from the legal counsel to the Free Software Foundation identified as Eben Moglen. He was reported to have said that software in general is a mathematical algorithm, and as such is inherently non-patentable.

We all know that the patent system is in trouble, and needs an over-haul. However, having spent many years in the software world, I believe that software patents do indeed provide some protection for small start-up companies. Not necessarily as a deterrent to large companies, but rather as a recourse if/when the large company infringes on the small companies technological patent. If we do away with software patents altogether, then the software industry as a whole will suffer. Innovation will be stifled, and the companies like Microsoft will continue to dominate in their non-innovation mentality.

Maybe Eben should re-think the defense for Microsoft's contention. If they win using the "software is not patentable" approach, it will increase Microsoft's stronghold over the competition rather than weaken it.

Friday, May 11, 2007

UTC CTO Peer to Peer

We had a great UTC CTO Peer to Peer meeting this morning. The discussion was regarding Architecture, and how and when to "do" architecture. We talked a bit about agile processes, and how to fit architectural re-writes into the iterations.

The most interesting part of the discussion to me was the evolution of a Product Architect (i.e, the career path that leads to this role, and how one progresses toward it), as well as how that role differs from a technical architect (i.e., the bits-and-bytes architect). The concepts brought out by the presenter, and others in the room during the ensuing discussion, validated some of the concepts that I have recently blogged about: namely, that there needs to be one Product Architect who is responsible for the entire product. The discussion took this one step farther, though, and determined that this role has many over-lapping duties with the Product Manager. So much so, was the conclusion of the presenter, that the roles actually should be one-and-the-same.

Very interesting discussion, and something I need to put more thought into.

Thursday, May 10, 2007

The Train has Left the Station

Many have heard this when discussing software enhancements, using the analogy that the software release is a train, and it is too late to get the feature into the product (even though the product is not yet released to the public).

I have put some thought into this analogy recently, and it is very interesting how far you can take the analogy and have it still hold up. It actually makes for a great way to help keep an agile process (or any process, really) on track (pun intended...).

Here is how it works:

First, we need to understand our terminology:

  • The Train is the Product Release (ours arrive at their destination every 5 weeks)
  • The Train Station is where Passengers board the train
  • The Destination is a public release (at some point in the future)
  • The Passengers are the Enhancements, or new features, for that product
  • The Luggage is the design documents, screen shots, etc that describe the feature (i.e., their clothing, makeup, etc)
  • The Ticket Counter operators are the Product Managers, Interactive Designers and QA people (in a test-first methodology, you have test cases before development starts)
  • The Ticket Takers are the Developers (they put the passengers on the train)
  • And, this train has a "freight" car, which is the bugs that are being fixed for this release (you can't leave them out, as they take development and testing resources as well as the features)

Now, there are plenty of "potential passengers" who are no where near the train station. These are enhancements that are simply a gleam in someone's eye, and may or may not actually make it onto the train at some point. Some may live very close to the station, and may be on "stand-by".

The passengers in the train station are those features that are high on the priority list. Many of them are standing at the ticket counter, awaiting their ticket. In order to obtain a ticket, they need to have their luggage with them (if they have any). Applying the test-first process, this means that they have to have their test case, screen shot, etc with them (i.e., documentation regarding the feature has been created and is "attached" to to it in whatever form you use to track enhancements).

Once they obtain a ticket, they are allowed to board the train. The train that is in the station being boarded is the next-in-line public release, which is beyond the scope of the train that has "left the station" - that is, the development team is already working on getting a train to its destination, and it is too late to add more features to it. The features being "boarded" now are for the following train, which has not yet started development.

Some ticket takers have been known to allow a passenger onto the train without a ticket. This would be a developer who sees a waiting "passenger", and decides to proceed without waiting for the passenger to be ticketed - this is how some features "sneak" into a release without getting designed first. While this is not always a good thing, it is better to spend the time on a feature that is a high-priority than some passenger who is not even close to the station yet...and some passengers can travel much lighter than others, and don't need as much design.

Note that if the freight car is too heavy, it may require removing a passenger car from this train - that is, if engineering is too busy fixing bugs for this release, some feature enhancements may have to wait for the next train.

Well, you get the idea. As I said, the analogy holds up fairly well, as long as you are willing to stretch the imagination just a little bit. You can even have some fun with it - set up queries in your bug/enhancement database to match these concepts (potential passengers, passengers at the ticket counter, boarded passengers, and passengers already traveling), and post them on your intranet - it is a good, light-hearted way to keep everyone informed and on the same page. And, it keeps your trains moving, and helps to prevent stow-aways from derailing a release...

Tuesday, May 8, 2007

Software Design: How?

How do you accomplish "good design" in software? There are so many people/roles involved:
  • Product Management, who is supposed to be closest to the customer needs
  • Marketing, who is supposed to be closest to the customers wants/desires
  • Development, who implements everyone else's ideas (and, ironically the farthest removed from the customer)
  • Quality Assurance, who is supposed to be closest to the customers pain threshold
  • Customer Support, who (unfortunately) is many times the only one to actually TALK to a real customer - but only the unhappy ones.
Everyone believes that they know the customer best, and all have ideas regarding how a feature should be implemented.

So, how do software companies resolve this? In order to completely understand what we should build, we need input from everyone, right? So, we get in a room and try to convince each other that WE know what would best meet the customers needs, then the developer returns to their computer and one of two things happen: either they implement what they THOUGHT they heard in the meeting, or they implement what THEY believe to be the right thing, regardless of what came out of the meeting.

This is called "Design by Committee", and it never works. It is based on self-referential design, where each person simply puts themselves in the position of "user", and decides how they would like the feature to work.

Frederick Brooks, author of the Mythical Man Month and No Silver Bullet talks about this in terms of "Conceptual Integrity":“Conceptual integrity in turn dictates that the design must proceed from one mind”... “I will contend that Conceptual Integrity is the most important consideration in system design”. He goes on to say that it is the single most important ingredient in success.

Wikipedia describes his idea of "Conceptual Integrity" in this way:
To make a user-friendly system, the system must have conceptual integrity, which can only be achieved by separating architecture from implementation. A single chief architect (or a small number of architects), acting on the user's behalf, decides what goes in the system and what stays out. A "super cool" idea by someone may not be included if it does not fit seamlessly with the overall system design. In fact, to ensure a user-friendly system, a system may deliberately provide fewer features than it is capable of. The point is that if a system is too complicated to use, then many of its features will go unused because no one has the time to learn how to use them.

Donald Norman, author of The Design of Everyday Things also talks about this concept, He said:
"You don't do good software design by committee. You do it best by having a dictator. From the user's point of view, you must have a coherent design philosophy…The person who's done it best is Steve Jobs, and he's well-known for being a tyrant."
In this particular quote, he was referring to Open Source projects, but I believe the concept applies beyond that realm.

Finally, in addressing the same topic, Alan Cooper, author of The Inmates are Running the Asylum, said it this way:
“The hypothesis is that better results can be obtained by working in a team with equal representation from users, programmers, managers, marketers, and usability professionals. In my experience, this ‘Seat at the Table’ doesn’t work. The goals and concerns of the members diverge, and the one constituent whose goals are most relevant – the User – is often the poorest equipped to articulate his concern. What’s worse, the programmers – who always have ultimate control over the software-based artifact anyway – inevitably drive the team, usually from the back seat.”
The bottom line is that we need one true "customer representative" who can design the interface for the product, and everyone else needs to operate in a "disagree and commit" mentality. That is, you have a chance to provide your input to a feature, but if the "customer representative" (or "interactive designer", or "product dictator", or whatever you want to call this person) designs it differently, you stand behind it. Having a single design philosophy, or "conceptual integrity", and the right person to own it, works wonders when presenting functionality to an end-user, and maintains a simple user interface without too many "bells and whistles" that detract from the main goal of your application.