• Post Calendar

    February 2012
    S M T W T F S
    « Dec    
     1234
    567891011
    12131415161718
    19202122232425
    26272829  

New Year’s 2012

2011 was a year of change and by the time I reached New Year’s Eve and started work on my resolutions I was quite shocked. I have better measurements for January 2012 so I’ll use those numbers:

  • I weigh 10 pounds less today than I did the day I graduated from high school. (was 161 pounds 34 years ago… am ~151 pounds now)
  • I’ve ridden my bicycle over 100 miles in January (in Denver) but only driven my Prius 80 miles.
  • I rode my bicycle 24 days in January. I was in my Prius 2 days.
  • My total cholesterol dropped from 242 to 191 in 5 weeks in 2011.
  • I became a vegan.
  • I worked out at least 4 days a week (in addition to riding my bicycle) in January.

Why Do I Write This?

This week I’m in Houston for the first time since my move to Denver. I ran into numerous people that were shocked at how I looked. I got responses such as, “Are you OK?”, “Have you been sick?”, “You’ve lost so much weight!” That is what causes me to write about all these changes finally.

So here is a chronological perspective of the changes…

June – High Cholesterol – 239

I had some tests done in June and my cholesterol continued to be high at 239. The tests also indicated there was some plaque buildup… That’s something more serious… So now I must start to decrease it. I embarked on a new diet that eliminated all red meat from my diet. No cheese, no dairy, no beef, no pork, etc.

Early August – Forks Over Knives

My wife was flipping through the movies one night and came across one called “Forks Over Knives”. It was a movie about eating healthier, namely being vegetarian. It was quite an interesting moving. (More later…)

Mid-August – Job Change and Move to Denver

In mid-August I accepted a job with LMKR in Denver. After less than two weeks I was headed up to Denver with a U-Haul truck and my Prius on a trailer in tow. My wife and I agreed to get an apartment for a year so we could find where we wanted to live and have time to search. So I got an apartment 1 block from the office in the last week of August.

Visit My Parents

In addition to being in a great climate… my parents still live on the west slope of Colorado. I am now able to visit them more…

Early September – We Find a Place in Denver

Although our plan was to wait for a while, Lael and I found a place over the Labor Day weekend. So now I’m back working to terminate the lease as soon as possible.

Late September – Still High Cholesterol – 242

After eating healthy for 90 days and exercising a great deal (riding probably 100+ miles per week) from late August I was hopeful that my cholesterol would go down… Much to my disappointment it was 242! Up 3 points.

Early October – Overseas Travel Causes Parasite

Shortly after my cholesterol test I took a trip overseas. During that trip I managed to get a parasite that really upset my digestive track. I got some pretty good medical attention, but did not really get enough medication. After reaching a low point of 147 before I started to reverse it. I got the medication to help treat this on 10 October.

Mid-October – I Begin Vegan Diet

The next day, after reading “Preventing and Reversing Heart Disease” I decided to become vegan…. yes, vegan. For those like me (earlier in 2011) vegan is a strict vegetarian – that is, no animal protein – no eggs, not dairy. Additionally, no added oils. Those that know how much I enjoy a filet mignon are probably in shock… I was.

Late October – Sale of Houston Home

The last weekend of October I traveled down to Houston to help load up our belongings so they could be moved up to Denver. It seemed strange to move out of that home after we had put so much effort into making it such a nice place to live. Of course, I guess that’s why it sold so quickly (2 offers in the first 5 days).

Early November – Move Into New Home

So while I had the Denver place for several weeks, I really didn’t have much to put into there. It was really a snowy night of 1 November that the moving van arrived and most items were moved in. It was SO nice to have a sofa to sit on again. (The only seating in my apartment was my weight bench.)

DSC_0267

While I had a TV in my home, I didn’t get any cable service. My TV was limited to Pandora for music and NetFlix for movies… but no regular TV channels. This was really great… I used to watch several hours of TV each day… But that dropped to zero. That’s a good thing because I needed to use that time for other things.

DSC_0249

But the best thing about no TV was that I’ve been doing a lot more reading.

Late November – Lower Cholesterol – 191

So back in early October I had arranged to have a physical. I’d not had one for 3 years. During that physical they ran a full panel on my cholesterol. The results were much better than the past with my total cholesterol being 191! And that was after being a vegan for only 5 weeks!

More Cultural Events

Lael and I have been many more cultural events. We have visited the Denver Arts Museum, we saw Lion King among other events.

New Year’s Eve – What Resolutions?

So this was a really odd year. I was talking with my wife about my New Year’s Resolutions. The usual suspects are lose weight, keep in touch, and save money. I find it interesting that eat right and exercise get rolled into a single category of lose weight.

When I really started to write things down I realized that I got a head start on my resolutions in 2011. I’d clearly lost weight. I was now more in touch with my parents and other friends in Denver. On the save money side… ok… There’s one I can write down. I do drive a lot less. I think I’ve only filled up 3 times since I moved to Colorado.

Summary

So when you see me… I’ve not been ill (except for the parasite that was only a week or two). I’ve been eating right and exercising more. I’m feeling great!

Software Architecture–Do One Thing Very Well

As I look at nature, I’m struck by the idea that for truly reusable software you must architect it following the principle that it must do one thing and only one thing very well.

Think about it for a moment… We are all made up of atoms. Individual units that generally stand the test of time. Sure, composite structures come and go, are born and die. But the little atoms keep on going. They are reusable. Wow… Now I have a new, probably unattainable, goal for my software!

Strategic Productivity–Ask the right question

Headline: Balance is required to chose the right approach when developing. If you only ask the question, “What is the fastest way for me to get this done?” your skills will become dull very quickly.

What’s the Right Question?

When someone is asked to produce some functionality there is a lot of inertia. Inertia from your current skill set. Perhaps inertia from an existing code base if your new functionality is to coexist with the older code. Thus, if you just ask the question, “What is the fastest way for me to get this done?” you’ll almost always pick what you know today rather than learn something new.

But doing it some new way isn’t always the right answer either.

So what is the right question? The closest I have been able to come is, “If I was equally proficient in the two, which one would I pick?” That at least removes the bias of being stuck only with what I know.

“If I was equally proficient in the two choices, which one would I pick?”

Now to answer that question you probably ask yourself many questions such as:

  • Which one is better? (by some measure)
  • Which one has the brighter future?
  • Which one will serve me better 2 years from now?

I’m sure there are many more.

Now this might actually be a hard question to answer. In part because you may not know enough about the two technologies. You may know one very well and know all its good points, but not the other. In that case, look for guidance from people that are proficient in both technologies. There’s usually someone out on the internet that is. Harvest their knowledge to make your choice.

Live Gallery Gone Without a Replacement

Today I went to look for an improved Weather Gadget for my desktop… The one that ships with Windows was showing the outside temperature at 19 degrees when in fact it was actually 52 degrees. That doesn’t help me much, so I went to look for a better Gadget. I right clicked on the Desktop in Windows 7 and selected Gadgets, and then selected Get more gadgets online… When I got there, rather than searching through hundreds or thousands of gadgets, there were only 31. After much searching I found this post on Microsoft Gadgets Gallery Goes Gone by Richard Hay.

At the beginning of October it seems Microsoft retired Windows Live Gallery. I get that they don’t want developers to develop them, but Windows 8 isn’t even out! Shouldn’t you wait until the replacement has been released to the public at least?!?

I would have even expected Microsoft to keep the gadgets people put energy into for perhaps a year after the release of Windows 8, but not substantially before its release.

I think they should shut down the development of new Gadgets, but let Windows 7 and Vista users at least have access to the many nice gadgets developed over the past few years.

My Dell U3011 Monitor Won’t Display 2560×1600

HEADLINE: Try using the DisplayPort cable that shipped with it.

I got the new Dell U3011 Monitor today – 30” monitor capable of up to 2560×1600 resolution. It ships with three cables – DVI (Dual Link), VGA, and DisplayPort. The DVI is attached and all the instructions show that you can use the 2560×1600 resolution with the DVI… but I couldn’t get it to work.

After about an hour talking to Lance at Dell he suggested trying the DisplayPort cable and viola – I now get 2560×1600!

I use a 55” monitor with 1920×1080 resolution at work. With that I can see 38 lines of code in Visual Studio. Here I can see 62 lines of code! That’s actually going to make my 55” monitor look small now.

image

I hope this helps other that might be having problems. I saw lots of posts, but no solutions. It seems that for some reason the feedback loop from the monitor to the computer isn’t working with the dual link DVI cables so it doesn’t think the resolution can be higher, but DisplayPort works fine.

Unit Testing Your JavaScript

This falls into the category of something I want to remember… so I’m putting it here… Unit Test 101: Are You Testing Your JavaScript?

As Microsoft seems to have been blocked on their XAML everywhere strategy as a cross-platform strategy they seem to be looking now to HTML5 and JavaScript. I was enthusiastic about the use of Silverlight and Windows Presentation Foundation (WPF) as two presentation tiers that could relatively easily share a common logic/data tier. But when Apple banned both Flash and Silverlight from the devices that created some issues. I was hoping that consumers would complain loudly about not having it and that Apple would listen to their customers. Not the case.

So now what… I see continued references to HTML5 and JavaScript as the way to achieve the cross-platform support. But I’ve grown very accustomed to high quality software made possible by a strong unit testing strategy (ideally test driven development or TDD). So this post is a pointer to an excellent article that is at least a start for doing that in a JavaScript world.

I hope Microsoft really pushes the envelope on their testability of JavaScript in their next release of Visual Studio.

Thanks Christian Johansen!

Changing the Patch on My Uniform

I’ve decided to pursue my passion for developing great software (for the oil and gas industry) at a new company.

The Military Perspective

When I was in the U.S. Army Reserves for 10 years I had occasion to change units – or companies – several times. For example, when I moved from Denver to Houston I switched from Headquarters Company in the 244th Engineer Battalion to D Company with the 871st Engineer Battalion. I really enjoyed working with individuals in the 244th and ran into someone from my old unit in the Denver airport several years ago. There is a true sense of camaraderie. We all worked toward the common goal to “defend the Constitution against all enemies, foreign and domestic”.

People Matter

I learned years ago that what really matters are people. Treat people with respect and look out for their best interest as you would your own child or someone else you love and all will work out well. I have a passion for excellence (hence one of my site’s name “JoyOfExcellence.com”). Along the way I’ve discovered that making my passion for excellence known attracts others with a similar passion. I know I’ve learned much from some talented individuals and I hope that some have learned from me as well. The challenge, learning, and smiling customers is what make software development a “pursuit of happiness” – take those away and it’s drudgery.

My Previous Company

I’ve really enjoyed work at SMT (Seismic Micro-Technology). As a matter of fact, to this day there is not an environment I’ve enjoyed more! I enjoy the loyal customers, my fellow developers and other colleagues, and the product (for the most part). There are most definitely colleagues I’ve worked with that I would greatly enjoy working with again. They share my passion for excellence.  I felt there was an exciting environment there and I’d like to think I had at least some contribution to that.

My Next Company

I fully expect to enjoy the time with my new company, LMKR. Their development presence is global and I’ll be operating out of the Denver office.

Through the years I have discovered that I have a true passion for commercial software development. But I was trained as a geophysicist. While the passion for commercial software development exists, my understanding of the oil & gas industry means that my greatest contribution is commercial software development in the oil & gas industry.

Of course my post on Parable of Two Villages paints my view.

Where Do I Want To Go?

If you follow my blog you’ll understand what I believe to be the “relatively” new way to develop software (at least in our industry).  It starts with unit testing and continues with agile development practices (for which I believe unit testing is a prerequisite… see previous posts for more detail). I believe that on occasion you can achieve a level above and beyond agile development – Super-sonic Software Development. There is a right time and place for each practice with Agile being the more prevalent.

I hope that I can work with both new and familiar faces to greatly enhance software to help find oil and gas.

Summary

So now I am changing companies – from SMT (Seismic Micro-Technology), to IHS, then to LMKR. I’m merely changing the patch on my uniform. I remain dedicated to great commercial software for the oil and gas industry. I hope the sense of camaraderie I’ve experience in both the military and the oil & gas software industry will continue.

Parable of Two Villages

I can’t seem to find the version I remember my wife reading me sometime back, so I’m going to work from memory on this one… Here is a link to a slightly different version.

A couple was travelling from one village to the next when they came upon a farmer working in his field. They stopped to ask him what the people in the next village were like. The farmer asked, “What were the people like in the last village?” The couple replied, “They were rude, unfriendly, dishonest people.” “You’ll find the people in the next village are the same.” said the farmer.

A second couple was also travelling between the same two villages and came upon the farmer. They too stopped to ask what people in the next village would be like. Again the farmer asked, “What were the people like in the last village?” The second couple replied, “They were kind, friendly, generous, great people!” “You’ll find the people in the next village are the same.” said the farmer.

My wife only travels to the villages the second couple visited. I like having her as a travel companion! I hope I visit those too.

Drive

A friend recently recommended a book to me called “Drive: The Surprising Truth About What Motivates Us” by Daniel Pink. I’m glad I read it. There was much about the book that resonated with me. While I believe that Maslow’s Hierarchy of Needs explains the underlying principles for much of what is presented in the book it was eye-opening to read how much science goes behind the notions of focusing on higher planes. Now that many of us seldom worry about where our next meal will come from we can move to new levels.

I’d noted from many other readings that society tends to focus on the higher levels when there are forms of slavery – take the Romans or the Greeks as early examples. Slavery was a means of taking mundane tasks and having others perform them. Today we have computerization. This is an apparently “humane” form of slavery… I say “apparently” since much of the computerization replaces work that humans might otherwise perform.

The key message that I took away as someone that leads software development teams is that motivating individuals is not the problem. Finding ways to NOT de-motivate them is the real challenge. For better or worse, many individuals have an impact on the motivation of software developers that I work with. A lack of understanding of the principles in this book make it all too easy to demotivate high performers.

motivating individuals is not the problem. Finding ways to NOT de-motivate them is the real challenge.

I hope that my Drive for excellence will motivate others around me. I hope that people that work with me will say, “I’m better for working with him than I was before.”

Summary

If you are intrinsically motivated I highly recommend that you read Drive. I found it uplifting and a read that reinforces my beliefs. If you are extrinsically motivated you should probably still read the book so you know how to motivate and “leverage” intrinsically motivated people. Or at least figure out how to not demotivate them. However, I’ve found that extrinsically motivated people don’t understand the information and thus to not take to heart the actions that demotivate (and probably didn’t make it this far in my post anyway.)

I hope you enjoy reading Drive.

Super-sonic Software Development

What happens when you can develop software faster than you can describe what you want it to do? I think the best analogy is a sonic boom or moving faster than the speed of sound.

Agile Development Practices

I’m a big believer in agile software development practices. For that matter, not restricted to software… agile practices in general where you have tight feedback loops. However, I’ve observed some circumstances where even agile practices seemed overkill and to slow things down. Don’t get me wrong, this is an anomaly, but it was more than a one time occurrence.

Beyond Agile

imageI was talking with a colleague the other day about agile software development practices. However, we’d recently had experiences with projects that were small to medium sized but that seemed somewhat frustrating when using Agile practices.

We started to describe some of the characteristics of these projects…

  • The model was quite clear or simple
  • Unit tests were easy to write
  • We could code and deliver results almost as fast as we could write down the stories
  • Coding patterns such as Model-View-ViewModel were well established
  • The team had access to all the right people when they needed them
  • Focus
  • And most importantly, the people on the project were very sharp

The user stories were still valuable… but they were quite short and well formed – particularly the “so that” piece in the “As a [role] I want [feature] so that [outcome].”

Using Team Foundation Server (TFS) made putting the stories there useful from a traceability perspective. And this is not some sort of “free-for-all”. It’s clarity of vision. It’s very high code coverage. It’s tight and easy to understand code.

The Analogy – “Faster than the Speed of Stories”

As we continued to talk we described writing software as fast as we could talk about it. So rather than the “speed of sound”, we have the “speed of stories” – the speed at which a product owner can write and rank the stories and the team can read, discuss, develop acceptance criteria, story point, then place into an iteration. That’s actually pretty fast compared to traditional waterfall documentation cycles. Then when development occurs at a speed that is faster than the “speed of stories” we have Super-sonic Software Development (SSD).

This was a very exhilarating! But how could we sustain it?

That does pose a challenge. I think one trick is to develop software with consistent patterns and leverage the code reuse that’s been promised for so many decades. Another trick is to keep projects small. The unit tests let you refactor so that you can achieve the reuse.

Just as with super-sonic air travel, the conditions must be right – the right equipment and tools, the right people, and the right environment. It is not always possible. But what if we could increase the times that occurs? And somehow develop a process that would support and not hinder it?

I’ll Try to Nurture SSD…

This is a pattern that I’ve only recently started to see clearly, and while it will be a challenge I will do what I can to provide an environment that fosters such “Super-sonic Software Development”.