Friday, October 30, 2009

Wes Potts

I had planned to post another installment of Software Nomad (focusing on Cerner), but I found out the sad news this week that a friend of mine Wes Potts passed away.  I'm going to share some of my memories and lessons I learned from Wes.

I first met Wes when he was trying to get off of Social Security disability and come back to work at Perceptive Software.  Wes was one of the first long term successful liver transplant patients (in the early 80's).  In fact he had two liver transplants very close together and is one of the longest surviving patients of those operations.  By the time I met him in 2004 he had already been forced to quit working once due to complications with the same illness that required his liver transplanted, however at that time he was feeling better and rather than just sit around at home, he wanted to come back to work. 

This leads me to one of the first things I learned from Wes.  Don't sit idle.  Regardless of the state of your body, if you can contribute with your mind do it.  Wes was on numerous prescription drugs to manage the pain and other symptoms, including enough morphine to kill an average person.  Wes didn't always feel well, in fact he was high on pain killers almost the entire time I knew him.  There were days he would have a hard time typing in an if statement, but it was very rare that he didn't come into work.

Wes was one of the founding developers at Perceptive Software and he wrote a large portion of the various products that came and evolved over time.  One time, I was talking to Wes about the early days of Perceptive and he shared a story with me about how "LearnMode" came into existence.  The current owner of Perceptive (different company name at the time) was convinced that they needed to make a government focused accounting package.  Wes and Hugh (another founding developer) were the primary, maybe only, engineers in the company and in the process of building an accounting package, they developed a very cool stream splitting integration technique.  Against the wishes of the owner at the time (and incognito) they built a technology that has long been the "secret sauce" of ImageNow.  For a younger software developer, as I considered myself at the time, this was a profound story and concept to me.  It hit me that I had become the 100th employee of a company built on the ideas of a couple rouge programmers.  This was very appealing to me and taught me that when you know, and I mean really know you have the best idea.  Go with it!  I have used this lesson a few pivotal times in my career and so far, I'm batting close to 1.000.  As Kenny Rogers would say "Know when to hold'em, know when to fold'em."


I had the pleasure of working very closely with Wes on a project that became known as "SmartFonts".  This project was focused on utilizing artificial neural network programming constructs to perform low res OCR of screen captures.  Wes was writing the neural network code and I was consuming it to perform the non-programmatic integration along with feature analysis.  This work resulted in a patent application I share with Wes as well as many hours of bonding between he and I.  However it never became a released product.  Instead after many months of heads down development I went rogue and created a better, more maintainable product that would solve the same problem and continues to set ImageNow apart.  In all this, Wes taught me to be willing to risk your success, even when it comes at the hands of your own bitter defeat.  Don't fall in love with your solution because there is no guarantee that it's right, or even possible.  Go with the best option at every turn.

I also remember the day that Wes went back on disability.  He had been working for almost a year and his illness was just taking too much of a toll on his body.  At the time I wondered why he came back at all, what drove him?  I finally think I understand it.  It's about the people, ideas, leaving a mark, being remembered.  Wes felt he wasn't done.  He had more to give and he was willing to give it because he believed in himself and the cause to which he was giving his most precious resource, his time.  I'm very thankful to those 10-12 months.  I learned a lot from Wes.  I like to thank many of them he didn't intend to teach, but he instead taught through his example and witness of how things had come to be. 

Since I worked with Wes I've seen him only a handful of times.  I can remember them well.  Most vividly I remember a visit Hugh and I made to Wes when he was in the hospital and everyone was pretty sure the end was near.  Wes was unable to talk due to some bad drug interactions, but his mind was still working.  Hugh and I spent a good 45 minutes visiting with him.  He would write notes, or try and communicate other ways.  We gave him the gossip at the office and watched some of the History Channel.  I shared with Wes that I had recently gone down to Disney World with my family.  Wes, with the help of his wife, told me about the trip his family had made many years before.  They even stayed in the tree house village, which has since been shut down.  It was at this point that I had another lesson lived out before me.  The importance of family.  The importance of memories.  Wes's memories touched me that day.  The passion in his eyes and his desire to share will always be a reminder to me that I need to live a life worth remembering.  Moments go by so fast, most of the time all we have left is the memory of the moment. 

I'm a better person because I was able to get to know Wes Potts.  He showed me to not sit idle, ever.  He lived out before me the power of leading through production and knowing when to put it all on the line.  I also took away the importance of keeping an open mind to a better solution even when you've invested so much into a different solution.  But most of all, he showed me the importance of living a life you want to remember and share with others.  It is this I encourage those reading this blog to remember.  What ever you want to be remembered for and whatever you want to remember when your time comes.  It is up to you to make those memories.  I've been told for the last 4 years that Wes is close to passing.  There have been many scares.  My warning to you is that most people don't get to play the "end game" of life for as long as Wes did.

Rest in peace Wes Potts and thank you for the memories that I have.

Tuesday, September 22, 2009

Software Nomad - Sprint Edition

It is not broadly known that I did my duty as a citizen of Overland Park, KS and worked at Sprint.  I spent a long and educational summer in the Long Distance Division working on the Plain Old Telephone Systems (POTS).  I was on the Bonanza team which was responsible for the Routing and Trunking of Long Distance Nortel Switches that powered the backbone of Sprint (at the time).  My role was that of an intern.  I worked on a small project that consumed most of the summer.  I also cleaned up PVCS. 

I enjoyed the summer at Sprint.  I had a chance to see an environment of mostly contractors working on a very large scale, highly fault tolerant software system.  Looking back I was exposed to many concepts that have influenced my opinion of what a cohesive software team looks like. 

The entire software system was modeled in Rational Rose.  Everything from class diagrams to sequence diagrams to use case diagrams.  You could take the class diagrams and with the click of one button create all the .h and .cpp files, along with all the function stubs.  From the sequence diagrams you could click one macro and create mountains of documentation that would describe down to the level of pseudo code what each function was supposed to do.  This is by far the most mature development environment I've ever worked in. 

Here are the grades as I see them.

1.) Business Need  - C
      - Even though all the customers of the system were internal, I never met one in 3 months.  It isn't required to meet them, but can be very helpful.  We were building the typical internal development project.  We thought we knew what they needed or at least we were going to build something and it was going to work for them, they really had no choice and we had no competition.

2.) Requirements - A
      - Like I said above, we had everything down to the click of a button, and every picture drawn with every arrow pointing the right way.

3.) Design - A
      - We had such a great design that the system could build itself and anyone could walk through the large function level documentation to add features to the system.  CMM level 5, here we come.

4.) Implementation - C
      - Implementation was pretty well put together. We had a philosophy that once the system was up, nothing should be able to bring it down.  This was pretty cool and if everything wasn't perfect on start-up we would shut down.  However a lot of the spirit of the project seemed to be lost in the letter of the design.

5.) Maintenance - D
     - We were the final level of support on the software we had written.  There was a team that sat between the customer and the developers to operate and manage the system.  One day a very old part of the system that was already live went bad.  Rather than restarting and making the system usable to the customer we allowed the system to sit in a state of near death and unresponsiveness while we troubleshot the issue.  Ridiculous.  This was one of the biggest mistakes I've seen so far in my career.  Days went by while we tried to figure out how this could have happened.  After 3-4 days we finally restarted the system and allowed our customers back in.  It took another week to get access to this old source code and another week to make the 3 line fix that would hopefully prevent this from happening again.  Oh yeah, in those 3-4 days we didn't even pinpoint what went wrong...

Summary:
    Sprint was fun, but not nearly as much fun as it could have been.  The idolatry of the design and diagrams got in the way of making really good software and having fun time doing it.  The politics between contractors who are just trying to get their job done and contract renewed and the full-time employee was also eye-opening.  I learned a lot from Sprint.  I'm grateful for the opportunities I was afforded there.  And I'm glad I didn't take their offer to come back.  The Bonanza team moved on to the Sprint ION project and was quickly let go as ION flopped faster than a stack of Chris Cakes on a styro-foam plate.

Monday, September 21, 2009

Software Nomad

I had the honor and pleasure to provide a guest lecture for Dr. Arvin Agah's software engineering class. It turns out people might appreciate my perspective on software development. I crafted a 75 minute long lecture that can only be described as a hist-orial (half history of my travels and half editorial). All facts were littered with my opinion, even complete with a controversial grade card of software process for each stop on my way. Where did I start? Why at the beginning of course, Aleon.

I thought I might give a little longer version for those remotely curious of what I might have said and to serve as notes so I don't forget what I might have said.

As I see it there are 5 phases of a software process (and much of the world agrees with me).
1.) identify the business need.
2.) formal requirements.
3.) technical design
4.) implementation
5.) production / maintenance.

Sure, you could argue that I've left something out, but lets just assume I could convince you that its included in one of these phases.

So, Aleon was a small Web development company. I started at Aleon in June 1999 writing ASP code to create mostly data driven websites. Looking back, I took this job for granted. I had the opportunity to create some cool sites, and see some people trying to get their company off the ground. I'll save most of those memories for another day. When I started at Aleon it was called IES Midwest Consulting, then it became GrapeVine Consulting group, then Aleon. In this transition of names, I witnessed a company of 70 people contract down to 7.

Our process mostly consisted of making sure we kept good time records. So my grades shouldn't be any surprises, but here they are...

1. Business Need - A
- I got to work hand in hand with the customer. If we got one thing right (maybe to a fault) it was making what the customer wanted. Sometimes the customer had no idea, and then we made what we wanted, but you get the idea.

2. Requirements - F
- Right, we had none, I mean NONE. Much of what we discussed when straight from email to implementation.

3. Design - D
- We were better at this than you would think, mostly because we had to deal with the consequences of bad design by tons of maintenance, still I can't in good conscience give us better than a D.

4. Implementation - B
- We could write code, that was our key differentiator from other places that were hiring people who could spell SQL. We knew how to make websites, and we knew how to write database enabled javascript, and it was tons of fun.

5. Maintenance - C
- We did, it paid the bills, when you contract as much as we did, you run home to your existing customers for some paychecks and we knew exactly what they needed done.



In the lecture, I covered all of my previous employers (Cerner, Sprint, Perceptive Software ). I plan to upload all my content. I encourage discussion. Please let me know if you disagree with me, agree with me. Don't care... :-).

More to come, and sorry for the long break...

Tuesday, August 11, 2009

Ideas

I’ve often wondered just what it means to have an idea or own an idea.  I have an obsession with real-time news lately and I saw this go across the news wire.  FriendFeed Acquisition.  I find this type of business deal fascinating.  Here you have a giant company (Facebook) buying a 12 person company for about 50 million bucks and partially for their product, but mostly for their ideas and the people behind them.  So this begs the question, what are ideas worth?  How do you measure them?  How do turn them into something worthwhile?



I was looking at a website today and seeing the results of someone’s idea.  I’m always in favor of people reducing their ideas to practice.  It adds something to the world, it increases the mass of human accomplishment.  I have recently been an inventor on several patents.  I never understood why reducing the invention to practice wasn’t a requirement of getting a patent for your invention.  Without the object/prototype you just have an idea.  You aren’t even really sure it will work. 



Nothing is more frustrating than seeing your idea dreamt up by someone else and taken further than you did.  I consider that failure and a challenge.  A challenge to improve on the idea, on your own idea and make something. 



I’ve spent far too little time in my life working on my ideas.  I find that as each one is taken from me (obviously not on purpose) that I’m getting more and more motivation to take them back, or capitalize on what I believe are the really good ones.  It all comes back to time and how we use it.  I love this clip & quote from Lord of the Rings.





“All we have to decide is what do with the time that is given to us”  Gandolf



I started this post not knowing where it would end.  So I will say this…  Become accountable to yourself.  It is my hope for you that if you have ideas and feel compelled to reduce them to practice, you do so.  I find that making yourself accountable to a partner or friend can often move you in the right direction (or even a blog).  Time is precious.  Use it wisely.  I’m trying to use mine better, I’m trying to add some mass to human achievement.  Success or failure, I’m carefully choosing how to use my time. 



The FriendFeed team took 5 months to go from the birth of a company to product.  I’m just saying :-) 

Wednesday, July 29, 2009

Is High Frequency Trading Bad?

Someone sent me a New York Times article today about High Frequency Algorithmic Trading. Actually I guess it would be more correct to call it an editorial. Here is the link. http://www.nytimes.com/2009/07/29/opinion/29wilmott.html?_r=4&ref=opinion I recommend you read before going on...

Mr. Wilmott is asking some very tough questions of our current Equities Market. His qualifications can be found here http://en.wikipedia.org/wiki/Paul_Wilmott (at least as much wikipedia can be a source).

I will try and answer his questions,

1.)"Is trading faster than a human can react really worrisome?"

- This is a great question and it's not limited to the stock market. Can we trust machines that we control to do our work for us? What are the consequences if there is a mistake in the system? For our answer, I will look to another area of software that I know pretty well. Medical software.

This article highlights just one example of many

"The huge radiation machine conjures images of a carnival ride, as it literally rotates around the patient. When the patient breathes, a chest monitor senses the movement and the beam automatically turns on and off in order to reduce the dose to the lungs. Likewise, if the tumor moves out of the treatment field, the beam turns off. Each measure is designed to diminish the radiation fallout to healthy tissue, Marks said." http://www.cancer.duke.edu/modules/news/article.php?storyid=47

Here we have a medical device, controlled by software making decisions that a human can't make. Is this analogous to the market? Well, no because we don't necessarily know what is best for the market.

So that takes us to another question. What is best for the market? Is anything that makes money, without violating the law ok? The market is a zero sum game, meaning that everything balances out. When someone makes money, someone loses money. (at least for our purposes this is true, I won't debate broker fees, and commissions). It is almost impossible to determine what is good for the market because someone always wins and someone always loses. The controversy today is because high speed trading firms win more than they lose and this doesn't seem right.

So my answer to #1, is we have been letting machines make a decision and act on them for many years in situations where lives are on the line, what makes the market any different and more fragile? Is it worrisome? Yes, it should be worrisome, but it's necessary and is a progression of technology.

2.) "whether or not liquidity is necessarily a great idea"

I know he said he was going to leave this question aside, but I can't resist. A frozen, il-liquid, market is an awful idea. So using simple logic, liquidity is a great idea. If our markets weren't moving, if you couldn't buy and sell your possessions in a reasonable (maybe not milliseconds) amount of time we would be in a world of pain and the market wouldn't be the source of capital it is today that can drive a healthy economy. So to answer this question, yes, liquidity is a great idea.

3.) volatility is bad.

I know this one isn't exactly a question, more a statement that he makes saying if a large firm profits from a trade then why would they care if it harmed the health of the market. Well, of course you have to remember this is their place of business. Without the market they have no opportunity for profit. I see volatility as opportunity.

There is an overall feeling of fragility in our markets from this editorial. I'm not sure this is warranted. Yeah, we've had a crazy 9 months in the market. Yes, we have seen many fortunes lost and through out all of this algorithmic trading seems to have mostly profited. I guess this is why high frequency trading is starting to get the attention of the national media.

If you believe in a capital market, then you should have faith that competition exists or will exist soon to maintain the balance in the system. I believe competition exists today and that the "game" that's being played is a very close competition and won with innovation and quickness that capitalism inspires and encourages.

All that said, this comment sticks with me "The contest is now between the machines — and they’re playing games with real businesses and real people" Is this a game? I don't know, but there are times it appears that way. Are their victims of this game? I don't know, but I don't think so, at least not any less than public opinion or the fear of bankruptcy can sink a thriving business today.

Friday, July 24, 2009

How fast is fast?

I read this article on NYTimes.com http://www.nytimes.com/2009/07/25/business/25trading.html?_r=1 today and wanted to expand on just what 30 milliseconds means at the Nasdaq stock exchange. If you haven't read the article yet, I encourage you to do so before going on.

Flash orders are visible for 500 milliseconds or half a second. (The article mentions 30 and I'm not sure where they got that number, maybe that's how much faster the flash quote feed is).

So I started wondering just how much could get done on an exchange in 500 milliseconds. It turns out that Nasdaq is the highest volume exchange and they share some of their numbers of just how fast they can handle orders. http://www.nasdaq.com/services/homw.stm this is another quick read, but I encourage you to read it after...

1.) In a half a second Nasdaq has executed over 17,500 orders. Nasdaq could execute 50,000 orders and has tested their software up to 30,000 in a half a second.

2.) 250 orders could be submitted from one broker, and all of them cancelled. That's right, you can submit about 1 order every millisecond per direct account you have.

As you can see, a lot can happen in a half a second. It makes the think of the Don Henley song "New York Minute".

I'm in awe of Nasdaq to some extent. The idea that they can handle 1 Billion transactions a day with their system is fantastic to me. As a software guy, that is cool stuff.

Of course what that means to our stock market is that every millisecond counts. I think it really puts things in context when you consider how far light can travel in 1 millisecond...A light millisecond is 186 miles. So if your round trip time is less than 1 millisecond you must be closer than 93 miles. If you expect to receive and accept and acknowledge an order you have to be much closer. So how far can light travel in 1 microsecond...A light microsecond is .186 miles or about a 1,000 feet.

What I'm getting at is that a lot happens in a very small space in order to accomplish what Nasdaq is able to do with the number of orders and the performance they have achieved. Fortunes are won and lost in a half a second. in those 250-500 orders the market can move several if not dozens of points (or dollars) on the price of a share.

If you take anything away from this, change your thinking that the market is run by people in funny coats with hand signals, don't believe that the market is still run by people like Dan Ackroyd and Eddie Murphy selling frozen concentrated orange juice in Trading Places. The market is literally run at the speed of light. If someone invented a way to break the speed of light (like Star Trek warp drive) we wouldn't travel from galaxy to galaxy, we'd be figuring out a way to use it to speed up our market and the data that drives it. We are limited today by our understanding of the laws of physics.

Wednesday, July 15, 2009

America the Beautiful

No where else in the world are there more amazing success stories that the United States of America, no where else in the world holds the idea of equal opportunity of success as key in their culture, no where else in the world do people believe that hard work will make them rich and famous. America as a meritocracy defines who Americans are. The perception that anyone in America can overcome their starting place in society to span class or race and succeed in the face of adversity is key to who Americans are and without this, the constructed social structure that America prides itself on would be as unstable as a two-legged chair. Whether or not America is a true meritocracy doesn't matter. What is significant is that people within and outside of the United states view America as the land of opportunity. Without this belief, the very foundation that America is built on would change dramatically.

There are many arguments to the validity of labeling America as a meritocracy, where success is awarded based on hard work and ingenuity, not class standing or racial privileged. The numbers of people who have been able to extend their success beyond the social sphere that they began in are to numerous to count. American folklore is filled with stories of heroes and success. One of the richest men in the world is a product of this meritocracy that we call America. Bill Gates is an excellent example of someone who had an idea and took it all the way to the top. He succeeded in the face of failure. His story is inspiration to all the entrepreneurs that have ever had an idea. Oprah Winfrey is another example of someone who overcame their starting place in society to succeed beyond their own circumstances and surroundings. Once the daughter of a lower class Georgia family, she is now the "Queen" of daytime talk shows.



Many people have been able to succeed in America. Some have even been able to move beyond their original classes to become huge success stories and even cultural icons. There are many examples like Bill Gates and Oprah who have been able to succeed in this land of opportunity, in this land of meritocracy, but is it really true? Does America blindly reward people based on hard work and ingenuity? Is it really possible for the majority of Americans to break out of the societal binds that hold them and alter their social standing? While there are some cases in which the answer to these questions is yes, as a whole, this is not the case. As a whole, America is flawed and riddled with social inequalities that don't allow for people to move from one class to another. Just because some people can do it, doesn't mean it is true for the majority of Americans. In fact, there is a much larger case that America is not a meritocracy. Success in this country is often determined by who you know, the color of your skin or how much money your parents have. Through a process of hegemony, and white rule, the overall social structure of the United States is much less dynamic than most people would prefer you believe. When was the last true shift in power? When was the last time an entire social class was able to change their current situation?



Some people argue that in America , where a person starts is usually where a person ends. Through hegemony, the lower class tends to groom their children for future lower class jobs and the middle class usually pushes their children towards middle class jobs. Only be acknowledging their starting point can a person truly understand his or her own experiences. The concept of social imagination allows for the understanding of true success in this land where hard work is more often not rewarded.



Perhaps, more important than whether or not America is a true meritocracy is the mere appearance of it. The idea that hard work should be rewarded is no secret among most Americans. In fact, this ideology is a core belief in almost every class of American society. There may not be any other belief more important to maintaining the status quo than the idea of America as a meritocracy.



The few cases in which people have been able to transcend their original classes only serve as fuel to the perceived ideals of hard work being rewarded. The belief that you can determine your own class all but eliminates the need for class battles for power. This allows the current powerful classes to remain that way and to build the defense to class conflicts on the basis that people are not stuck in a single class. They claim to be the proof and the beneficiaries of America as a meritocracy. On a more global scale, the "American Dream" is sought after in many nations. The problems in the American higher education system are direct products of this misconception that America is a meritocracy. There is a prevalent misconception of the way in which higher education reinforces the status quo in society while claiming to do the opposite. The current move in the United States away from race based admissions and to a more class based higher education admissions policy is founded in the ideals of the United States being a classless meritocracy where biological categorization does not need to be problematized.



While it is extremely difficult to state without a doubt that America is or isn't a meritocracy, it is easier to see the implications of the perception that hard work pays off and allows anyone with a strong work ethic to succeed. The consequences of this philosophy are easily used to the advantage of the dominant social group, such as the ability to defend their position by challenging other groups to take their power based on the ideals of meritocracy. The fact that a meritocracy does not exist in the true sense of the word allows for the dominant group to exist almost unopposed by any real threat of a social revolution. People in America hold these ideals as such a corner stone of their culture that any attempt to point out the existence of only a perception of meritocracy would definitely go unsupported and possibly challenged by those who currently benefit from this perception.

C. Wright Mills examined the truth of these previous claims to the mere perception of a meritocracy. He wrote of the social imagination needed to put yourself in your place in society and that you can only truly understand your success and failure by understanding others in your same social position. This understanding is key to over coming this perceived truth of meritocracy. Society is not equal. Minorities are held to a different standard than whites in America. There is a definite, and inherent, inequality among the opportunities between races in the United States. Only through comparison to others in the same situation can a person truly understand the success that they have attained in their life.

The United States of America is not founded on the ideals of a meritocracy. Much to the surprise of most Americans, those who work the hardest do not always succeed. Nothing about American culture is fair or blind when it comes to ingenuity or vision among groups. However, most Americans hold these values as truths. Many people would equate the rags to riches phenomena of the United States to these ideals that define a meritocracy. These ideals are bred into all Americans beginning from the earliest age till death. These false perceptions server to keep those in power from facing real opposition to that power while the class structure goes on in a way that is unfair to most of the participants. The United States would be an entirely different place if people were rewarded based on the ideals and hard work.


Note: This is an old college paper that I wrote in an American Studies class and recently uncovered. I'm not sure I entirely agree with it anymore, but it did help shape my vision of this country. I feel that it is unfair to end it without adding that there isn't any other place in the world that has more opportunity to reshapre your place in society than America. With all the flaws outlined above this is still the place to live, to raise a family and succeed in business. Capitalism is the worst form of economics, except for all the others ( I ripped this off from a quote on Democracy).

There is a strange tension in our country between ideology and reality. I have come to learn this balance is necessary and an understanding of it can lead to a better reaction and increase your ability to rise beyond your class level in life.

Let me know what you think.