Do You Think You’ll Be Great?

Perhaps one of the most insightful questions that can be made. This simple question tells what a person’s ambitions are, how much self-confidence they possess, what they believe is important in life, and what they think they can achieve. Its open-ended nature evokes a litany of possible responses. From someone who believes they will be a great mother, to someone else who believes they are the next Steve Jobs.

The interesting thing to look at is how the response is worded. When a person crosses over from what they “will” do to what they “want” to do, that is a good indication at the line in which a person really believes they will achieve in their life. As one of my esteemed colleagues pointed out, the delta between the “will” and the “want” is your potential.

So, if I were asked if I’d be great, I’d respond: I believe I will be a great innovator and pioneer of technology. I will start a number of successful businesses, and at least one will be a fortune 500 company. I want to be considered a peer of Steve Jobs, Larry Page, and possibly even Bill Gates.

It’s The Little Things That Count

I finished my week of “business immersion” for Business school, and I must admit, I was blown away at the caliber of the professors we have and the material covered.

One of my favorites sessions was on effective communication by John Daly. What the professor does, is to go around and talk to very successful business people and find out what some of the small things that they do to be successful. There were some simple things, like never take a new position where the previous person did an outstanding job, or leaders identify problems, not solutions. However, the best tip he gave us was from a story that happened to him.

John was talking with an executive one afternoon over coffee. They talked for a few hours, and on a tangent, the exective mentioned that he thought his niece had one of John’s classes, and she really enjoyed it. He said he’d double check for him. They continued to talk for a few more hours before they parted ways.

The next day the professor got a handwritten letter from the executive saying how much he enjoyed their chat and in the p.s., he said that his niece did have his class, and that she really enjoyed it. John looked at the p.s., and had no idea what he was referring to. He brushed it off and went about his day. A few hours later, it occurred to him that the p.s. was in reference to something they talked about in the middle of their long conversation. He picked up the phone, and called the executive. John thanked the executive for the letter, and asked him how he remembered that small 2-second aside about his niece in their 5 hour conversation. The executive replied, “John, you remember when you asked me what helps lead to success. Well, it’s not keeping the big commitments that build people’s trust in you, because they have to keep them regardless. It’s the little commitments, the ones that the other person may not even remember making that truly build trust in a relationship.”

The big takeaway from this class is, it’s not just the big things that make someone successful, it’s all the little things that really count.

T-minus 6 days

Only 6 days until I start B-School at University of Texas. The first week I go down to San Antonio for a Business Immersion Course (BIC). It’s basically business boot camp for us non-business types.

I’ll soon find out if my summer of business-book reading actually helped.

I’m excited about it right now, but I’m sure my tune will change once I’m studying for final exams again. My first classes are accounting and operations management. How hard can accounting be for an engineer? (famous last words)

genetic-lib 2.6.12-gl2 posted

After much work w/ Peter Williams and Con Kolivas, I finally have a decent performing genetic-lib implementation on interbench. It does orders of magnitude better in the burn & compile pieces. What really screws Zaphod and the genetic-lib up is when there is one interactive child running in the background w/ a bunch of threads that are doing while(1) {}. The interactive task does not get classified as such and they miss many of their checkpoints while the cpu hogs run. This latest version has a few bug fixes and detects interactive tasks sooner. The only thing to watch is that with the quicker detection of CPU hogs, a burst of CPU activity on X will get it classified as a CPU hog. Please let me know if you see as such.

I’ve been using interbench a lot lately, and it does an excellent job of catching the “bad children”. I can see almost immediately when some child gets mutated off into the woods and performance tanks. Con did a great job with the benchmark.

Back from Cozumel

I just got back from vacation in Cozumel. The vacation was much needed and I feel 100x better. A full tank is going to be needed as this is going to be a very hectic month.

One of the things I noticed is how slow life moves there. With the exception of the taxi cab drivers, people were content in just hanging out staring at the ocean.

An interesting fact I learned was that up to a few years ago, the Mayan people were isolated and had no concept of money. They just had to worry about finding their next meal. They also had the lowest rate of heart disease in the country. Now, they are starting to be concerned with things such as buying cars and luxury items. They have already started seeing a rise in heart disease.

Limited Updates - Blog & Genetic-Lib

Sorry, for the limited updates on the blog and genetic-library. Between trips to Europe, OLS paper/presentation, high IBM workload, putting TicketShuffle.com back up, looking at real-estate investments, and other ventures, it has been a busy summer. Let’s not get into the fall w/ Business school starting up.

After OLS, I am hoping to integrated plugsched into the genetic-library, and start on the workload fingerprinting. Doing workload fingerprinting will enable reintroducing good genes from previous workloads back into the gene-pool. It should hopefully speed up the convergence on optimal solutions quicker.

Rebasing the genetic-lib to 2.6.12 is also high on the priority list. I did a quick update of the AS component, but I am not seeing the same type of results that I did on 2.6.11. I’m wondering if a performance counter is not getting updated appropriately. That usually breaks the genetic-lib quickly.

Knowing When to Change

Steve Jobs gave an excellent commencement speech where he said something that made an impression on me:

I have looked in the mirror every morning and asked myself: “If today were the last day of my life, would I want to do what I am about to do today?” And whenever the answer has been “No” for too many days in a row, I know I need to change something.

Is there any better barometer of when it’s time to change?

Even though when I look in the mirror, I do not say “No” too often, I know that I will not be a programmer all of my life. One reason is due to the commoditization of developers, the other is the desire to have more than IBM (or any company) can offer even the best of developers.

I am not sure if the reason why I do not say “No” more often is due to knowing that I am working towards my long-term goals via MBA school, or if I know that I need to enjoy this stage of my life as a programmer since it will not last forever.

Jake’s in Germany

I arrived in Germany yesterday and got my first experience of actually driving on the autobahn. I am regretting not getting a faster car.

Things that impress me in Germany:

- The bier
- The German’s ability to recognize Moilanen is a Finnish name
- The fast cars
- Their English speaking proficiency
- The cleaniness of everything

Update: I have maxed out my car at 205 km/h (127 mph). That was with it floored and going down hill (maybe even a tail wind). I am still kicking myself for not upgrading. At least I am able to drive w/o white knuckles at about 170-180 km/h (105-112 mph).

What is Your Most Valued Commodity?

Mine is time. With more and more people vying for bits of it, I have realized that time is a finite resource, and should be cherished. In the last few years, I have noticed a fundamental difference in how I think. I the past I valued money above time. I would rather spend a day putting in a garage door opener rather than paying someone $60 to do it. Now, $60 for a free day sounds like a great trade off.

That’s not to say I just throw money around to save my time. I don’t mind spending an extra hour negotiating a car salesman to save a $1,000 (plus I find it enjoyable). The trade off of how much money saved versus how much time it took must always be made.

There are other in-tangible commodities that the time trade off should be made. Mainly, relationships. It is very important to take time to maintain relationships as they are what will get you through when times are tough. They are also one of the greatest assets. Having a friend that knows a friend goes a long ways in developing a career or a business.

The final time trade off that I am always making is an emotional investment. To keep from burning out and experiencing the time-loss that goes along with it, methods of decompressing must be constituted. Some people use television, others use sports. Whatever method is used, the recreation trade off goes a long way.

Update: As one co-worker pointed out, I am probably not old enough yet, but in time, my most valued commodity will probably change to health.

OLS Paper Nearly Complete!

I have managed to do it again. I’ve overloaded myself w/ too much to do, with too little time. Thankfully my biggest near-term concern is nearly complete. My OLS paper is almost finished. The paper is on the genetic-library in the Linux kernel. It will be very useful for people to learn about the genetic-library and hopefully show how beneficial it is.

The biggest problem I have encountered is a regressions in performance results on the Zaphod CPU plugin. I was getting only 1%. Thankfully, my co-author, Peter Williams, was able to track down a bug in the run-delay calculation, and get the results back up to the >3% that I was originally seeing. I also noticed a trend towards the Zaphod plugin doing very well in higher CPU loads.

The best news I have gotten from doing this paper is stellar results in the Anticipatory I/O scheduler. On average, I was seeing 8.72% improvement, and up to 23.22% improvement in the random write workload.

The next thing I need to look at is a combination of RAID’d and unRAID’d disks. I was seeing huge fluxations in results on Anticipatory (which should not be used on RAID’d disks in the first place). I am theorizing that because the genetic-lib is per I/O scheduler, that it bounces back and forth for tuning for the individual SCSI disk, and then tries tuning for the RAID’d disks. Which one is tunes for depends on which one is getting more I/O. I will have to granularize the genetic-lib to operate on a per-disk basis. Thankfully there has been some support put into the kernel recently.

Watch http://linuxsymposium.org for updates.

I will hopefully have some time to do some more development work on the genetic-library soon, and a new version coming out soon.

« Previous Entries Next Entries »