Notes from “What Got You Here Won’t Get You There”

Marshall Goldsmith and Mark Reiter wrote a book “What Got You Here Won’t Get You There: How Successful People Become Even More Successful!” This book focus on 20 workplace bad habits and some key good habits. I enjoyed the reading enough to give a short speech on a few points in the book and won a best speaker ribbon for the day! :) I am including some quotes that I noted from the book. To really understand the motivation and explanations on these statements, you should get the book and read it!

Page 19: “This ‘I have succeeded’ belief, positive as it is most times, only becomes an obstacle when behavioral change is needed.”
Page 21: “The challenge is to make them see that sometimes they are successful in spite of this behavior.”
Page 22: “I will Succeed” may leads to overcommitment
Page 24: “I have now made peace with the fact that I cannot make people change. I can only help them get better at what they choose to change.”
Page 26: “Superstition is merely the confusion of correlation and causality.”
Page 28: “Pick a quirky or unattractive behavior that you habitually do, something that you know is annoying to friends or family or coworkers. Now ask yourself: Do you continue to do it because you think it is somehow associated with the good things that have happened to you? Examine it more closely. Does this behavior help you achieve results?”
page 29: “You can’t force people to work together. You can’t mandate synergy.l You can’t manufacture harmony, whether it’s between two people or two divisions. You also can’t order people to change their thinking or behavior”
Page 29: “People will do something — including changing their behavior only if it can be demonstrated that doing so is in their own best interest as defined by their own values.”
Page 31: “If you press people to identify the motives behind their self-interest it usually boils down to four item: money, power, status, and popularity. … Having achieved these goals, they turn to higher-level goals, such as ‘leaving a legacy’ or ‘being an inspiring role model’ or ‘creating a great company.'”
Page 40: The Twenty Habits: 1. Winning Too much, 2. Adding too much value, 3. Passing judgment, 4. Making destructive comments, 5. Starting with “No,” “But,” or “However”, 6. Telling the world how smart we are, 7. Speaking when angry, 8. Negativity, 9. Withholding information, 10. Failing to give proper recognition, 11. Claiming credit that we don’t deserve, 12. Making excuses, 13. Clinging to the past, 14. Playing favorites, 15. Refusing to express regret, 16. Not listening, 17. Failing to express gratitude, 18. Punishing the messenger, 19. Passing the buck, 20. An excessive need to be “me”.
Page 44: “As we advance in our careers, behavioral changes are often the only significant changes we can make.”
Page 49: The fallacy of added value: “The problem is, you may improved the content of my idea by 5 percent, but you’ve reduced my commitment to executing it by 50 percent, because you’ve taken away my ownership of the idea. My idea is now your idea — and I walk out of your office less enthused about it than when I walked in.”
Page 56: “The fact that a destructive comment is true is irrelevant. The question is not, ‘Is it true?’ but rather, ‘Is it worth it?'”
Page 61: “Being smart turns people on. Announcing how smart you are turns them off.”
Page 94: “A leader who cannot shoulder the blame is not someone we will follow blindly into battle.”
Page 95: “In that sense, being wrong is an opportunity — an opportunity to show what kind of person and leader we are.”
Page 98: “If he could shed his ‘excessive need to be me,’ he wouldn’t see himself as aa phony. He could stop thinking about himself and start behaving in a way that benefited others.”
Page 99: “It comes from misunderstanding what we want in our lives. We think we’d be truly happy (or at least happier) if only we made more money… So, we pursue those goals relentlessly. What we don’t appreciate until much later is that in obsessing about money, we might be neglecting the loved ones — i.e., our family — for whom we are presumably securing that money…”
Page 100: “It also comes from misunderstanding what others want us to do. The boss says we have to show ten percent revenue growth for the year, so when it appears we will miss that target, goal obsession forces us to adopt questionable, less than honest methods of hitting the target… If you examine it more closely, we’re not really obsessed with hitting the ten percent growth; our true goal is pleasing our boss.”
Page 101: “As I say, this is why I’ve given goal obsession its own special corner. It’s not a flaw. It’s a creator of flaws.”
Page 114: “Forgiveness means letting go of the hope for a better past!”
Page 116: “…change is not a one-way street. It involves two parties: the person who’s changing and the people who notice it.”
Page 122: “In soliciting feedback for yourself, the only question that works — the only one! — must be phrased like this: ‘How can I do better?'”
Page 128-132: 5 self monitoring techniques: 1. Make a list of people’s casual remarks about you, 2. Turn the sound off (i.e. observe their actions), 3. Complete the sentence (i.e If I do this, I’ll get that benefit.), 4. Listen to your self-aggrandizing remarks, and 5. Look homeward.
Page 147-149: Think before you speak, Listen with respect, and ask youself, “Is It Worth It?”
Page 170: Practicing Feedforward
Page 175: “It’s the feeling that when we help another person, we help ourselves.”
Page 181: “If you study successful people, you’ll discover that their stories are not so much about overcoming enormous obstacles and handicaps but rather about avoiding high-risk, low-reward situations and doing everything in their power to increase the odds in their favor.”
Page 179-198: Changing: The Rules: 1. You Might Not Have a Disease That Behavioral Change Can Cure. 2. Pick the Right Thing to Change 3. Don’t Delude Yourself About What You Really Must Change 4. Don’t Hide from the Truth You Need to Hear 5. There is No Ideal Behavior 6. If you can Measure It, You Can Achieve It. 7. Monetize the Result, Create a Solution 8. The Best Time to Change Is Now
Page 222: “Many older people say they were so wrapped up in looking for what they didn’t have that they seldom appreciated what they did have.”

RTE and dojo.editor

Rich Text Editor (RTE) is an alternative to dojo.editor. Although its icon set isn’t as cute as ones for dojo.editor, the graphics are certainly changeable. So, you can replace them with your own creative versions. You can turn on or off individual icons for RTE. Dojo.editor also allows such customization when you work with dojo.editor directly. The dojo.editor that’s packaged within jMaki does not allow this customization easily when you include the widget in your web application. You probably have to tweak the pre-configured dojo.editor tool bars separately. RTE has scrollbar built-in, which is a nice touch. Dojo.editor doesn’t. Instead it grows dynamically. Personally, I prefer scrollbars and to get that effect, I surround the widget with a div that has pre-defined height and overflow:auto. I read online that Dojo.editor doesn’t work if you want to put multiple instances on the same page. I did try to put a drawer on the same page and that breaks dojo.editor. RTE claims to work with multiple instances without a success according to this demo. RTE also requires me to insert a bunch of JavaScript code fragments in a JSP rather than put them in a .js file. In comparison, jMaki’s way of including dojo widgets is much cleaner. All in all, either options aren’t perfect. Given that they are essentially free, I am not complaining. I do hope they will improve over time.


I didn’t realize what xpilot really is until I play it. It is a 2-D space shooter action game. The controls are simple, turn left or right, thrust forward, and shoot bullets. It reminded me another game called SubSpace, which is equally fun. I know this is so 1990s. Hay! These classics can still deliver a lot of fun! By the way, this type of games have the most fun factor when you are playing with a bunch of friends.

Fun with YUI, AJAX based web GUI widgets

Yahoo! UI Library (YUI) “is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX.” This past week or two, I started playing with YUI components such as DataTable and TabView. Beyond these two, I also played with ColumNav.

TabView’s documentation appears missing something. If I follow the instructions in the documentation, I couldn’t get my tabs to work. I only able to create a working TabView when I studied the examples. So, don’t pull your hair out on the documentation and go directly to the examples. Looking at the source won’t cut it. You should save the HTML using your browser, which will pull in all the .js and .css for you.

DataTable appears good, but not 100% too. If you have a large data set, the pagination feature will show very long list of pages, which makes the widget less pleasing to the eyes. I wish the pagination feature has an option to abbreviate the listing by introducing “…” to keep page listing within a single line. Beyond that, I do like the ability to fix the height to a certain size and use scrollbar to scroll through content. One of the example showed rows in alternating colors. I would like to replicate that and haven’t have the time looking into it. Let me know if you can spot the exact code to do that.

ColumNav is essentially a replication of iPod’s navigation interface. This is cool if you can organize your information in trees without cycles and if you only need to display information at the leaf node. I even tried to add an event listener in an attempt to capture click events on non-leaf nodes. For some reason, I only get a click event when an user click on the leaf node. If you can capture non-leaf click events, let me know.

All in all, these ready-to-use AJAX based web GUI components can help speed up your AJAX development. At the same time, you may have to work within the framework that each component was designed for. Sometimes you might even have to live with bugs in some of these components. For example, ColumNav might not play very nicely with other DIV layer objects. Specifically, the scroll bar might show through a DIV layer that supposed to be covered by that DIV layer, which is an undesirable side effect. Beyond that, you might want to watch out the amount of traffic generated by these widgets to your server. A page filled with a few of these components can quickly add up both download size (with all that .js, and .css files) and number of connections to the server.

Yahoo Pipes and

I was impressed to know that Yahoo Pipes allow average joe and geeks alike to remix information across the web through RSS/JSON. It has a powerful and rich web GUI editor that allows users to create new feeds without doing coding. It was really designed for the Web 2.0 age, with other data sources that speaks RSS or JSON. For well formed HTML, which is a form of XML, Yahoo Pipes seems not as easy to work with. Given that I know how to write my own regular expression parsing code in Java, perhaps someone can show me how something similar can be done in Yahoo Pipes. Beyond my special use case, Yahoo Pipes is still very powerful tool for many other Web 2.0 mash-ups and I would definitely come back if a new idea comes to my mind. is a screen scrap site that allows users to extract information from a web page. It also have a powerful GUI that allows users to scrap data off a web page without writing code or even geeky stuff like regular expression or xpath. is really good at extracting a particular piece of information. You can just select a link, a paragraph or any particular block that may interest you on a page. This is a very powerful way to select several fields off a complex HTML page. However, it isn’t very intelligent at recognizing a long list. For a list, the user may have to select each individual item, which can be very tedious and error pron. Even though for my specific use case, it practically is useless, I still respect the creator(s) behind for creating such a wonderful tool for some people.

All in all, both Yahoo Pipes and attempt to bring some power of information processing to the masses and enable creative data remixing. At the same time, building powerful GUIs also limits users’ expressiveness. This is a trade-off that the designers of these tools made in order to bring usability up to a level that average Joe/Jane can actually understand and learn quickly. For those who needs more, he/she can write her own code to do what she/he wants. vs

I just took a brief look at‘s features yesterday and it is a very good contender when compare to‘s blog hosting service. I actually looked at other free blogging hosting providers too and none seems to match my basic criteria, which are free, search, and tags. Both blogging service providers met my basic criteria. There are probably many more. Let me know if you know more good ones. After taking a closer look, I identified a few strengths and weakness on both and shared them with you below.

Let’s start with It’s actually not just a blog hosting site. Rather, its focus is to be a social networking site that happen to have blogging and photo hosting. Since my focus is on blog features, I won’t spend much words on social networking or photo hosting features. Given its broader focus, still have impressive features. It also allows you to define access rights and passwords to let user to control who to expose the content to. This is a nice touch that I don’t remember seeing on WordPress. To me, this is a nice to have feature. Users can also add widgets such as polls and countdowns, which are interesting nice to have features too. The available designs that has also looks pretty nice. WordPress has equivalent feature here and even took a step further by allow custom CSS for paid users. Since I only look at free features, custom CSS doesn’t count. ;) Responsiveness of web site is also very good for the short duration that I evaluated. This is where might be a bit behind on. The jury is still out on this responsiveness comparison.

I was impressed that takes a RDF and exposes a FOAF (Friend of a Friend) link on the bottom of user’s public about page. also allows an user to display a widget that lists which users visited his/her blog. This is also a nice touch. These are certainly social networking features that doesn’t have to be in a blog.

On the other hand, WordPress still provides many features that I appreciate. I really like the stats showing past 3mo traffic trend not just on the blog, also on each individual blog entry. Also, information on top posts and best day ever also informative. The export/import feature allows me to re-host my blog on a different instance of WordPress software if I choose to. This is one of the best feature of I have the freedom to move my content, even if it is moving from other sources to This is a very cool feature that can learn from.

I find browsing other people’s blogs easier with WordPress than’s language preference seems to be broken. I saw so many Vietnamese blogs on, or at least I think they are Vietnamese ;), I started to think there aren’t that many English blogs. It’s great that is a global service provider and good to see people of different countries participate on this global community. I just find it harder to find peop “local” community with allows tags surfing, while I don’t see that in Considering’s focus is more on social networking, I have higher expectations on these features.

Hope my commentary helps both WordPress and developer communities to improve future releases of blogging applications. Keep up the good work.

Ubuntu 7.04 installation/configuration on AMD64

If wasn’t for the online documentation and forums, I would not have complete my installation/configuration as successfully as I did. As a token of appreciation, I am sharing some pointers and notes on my experience. Hope this will be helpful to you too.

Over the weekend, I did a fresh install of Ubuntu 7.04 (Feisty Fawn) Server on AMD64. Why server? I thought that I wanted to take advantage of the “support for hardware facilities that speed up the use of virtual machines“. So I inserted the CD and started the installation. The installation was fairly smooth and fast. I had to spend a bit of time to get used to the new disk partitioning menu interface and re-partition a few times before I get the software RAID configuration I liked. The installer offered the option for the user to select if she/he wants to install LAMP and other server components, which is what was expected out of a server edition of the OS.

What I didn’t realize was that folks at was really serious about building a server distribution that only installs what it needs to run as a server, which was the right thing to do. When I rebooted my machine to load the OS, I only saw a text console, no desktop environment was installed. So, I said to my self, “Great, now I’ll have to install that myself!?” This was actually no big deal for me because I am comfortable enough to do that manually with the help from other online HOWTO documentations. This actually reminded me of days when I was installing Gentoo from source. That was a long but rewarding process. I figured out what package I needed or wanted from various guides (for example, this one) and build a list of packages to tell the package management system (apt-get for Ubuntu) to batch install them while I take a break doing something else.

Configure the system after installed the packages became a bit more challenging. For example, GNOME Display Manager (GDM) would complain that Human theme not found. So, I tweaked /etc/X11/xorg.conf to load another theme that I installed already. Next, X would not load because Nvidia driver installation binary added references to font files that didn’t exist and attempted to load a tablet input device driver (wacom). I commented out these references and that did the trick for me.

The next challenge I had was trying to enable Smart Common Input Method (SCIM) to load in GNOME. The first HOWTO didn’t work for me. Fortunately, the second HOWTO got SCIM to load correctly. I also was able to configure 32-bit Flash Player 9 with 64-bit Firefox/Mozilla. I wished the same library wrapping technique would work for Java plug-in. I even tried to run 32-bit Mozilla. Before I get to try the 32-bit plugin, Firefox complained that it can’t find 32-bit SCIM. Until the JVM team/Java community create a 64-bit version of the plug-in, I guess am out of luck and will have to do run 32-bit Mozilla in a VM image to work around the issue. Even VMWare Server 1.02 can’t install without issues. Fortunately, this HOWTO save me for the day.

All-in-all I am happy with my setup for now. Drivers works beautifully. I wish the missing 64-bit software support (Flash Plug-in, Java Plug-in, etc.) and WMA codec support would be less painful or unfriendly on AMD64. If I had known better, I would install the desktop edition rather than server edition for my use. It should be much easier to install sever kernel or VM optimized kernel than setup a desktop environment. I’ve learned my lesson. ;)

Quotes from The Power of Nice

Linda Kaplan Thaler and Robin Koval wrote a nice little book “The Power of Nice: How to Conquer the Business World with Kindness“. Although I question some of the root-cause justifications or arguments presented in the book, I certainly like the overall theme and most of the ideas presented in the book. I am including some of the quotes from the book below. However, it won’t paint you a complete picture presented by the book. Get you self a copy. It’s a fast read.

(Page 3-4) “Nice is not naive. Nice does not mean smiling blandly while other walk all over you. Nice does not mean being a doormat. In fact, we would argue that nice is the toughest four-letter word you’ll ever hear. It means moving forward with the clear-eyed confidence that comes from knowing that being very nice and placing other people’s need on the same level as your own will get you everything you want.”

(Page 28) “When you start acting from a place of abundance, you’ll start to feel that sense of abundance. Once you start to experience that richness, you won’t worry so much about what the Joneses have.”

(Page 36) “It’s a lot easier to make your client, your boss, or your husband more receptive to your ideas if you say it with a smile.”

(Page 68) “Whether you are a manager or a business owner, a colleague or a friend, when you’re able to help others discover a solution on their own, you’re helping them to not just solve the problem but to find a way to solve future problems as well.”

(Page 79) “For example, say someone tells you that they hate what you’re wearing. You could say something nasty back, or you could thank them for being concerned about your appearance. The actual intention of the person doing the clothing critique is unimportant. What matters is that you train yourself to interpret the encounter in a positive way.”

(Page 106-107) “It doesn’t matter how small the business is — because for a junior-level person who just sold a coupon ad, that’s their whole world. If we don’t recognize it, we’re essentially saying that their work doesn’t matter.”

(Page 114) “The beauty of focusing on other people’s concerns is that it shifts your attention away from your own worries and anxieties. And it’s a lot cheaper than therapy!”

“Our Iceberg Is Melting”

Special thanks to Mimi H. for recommended this book to me. This certainly was a pleasure to read. John Kotter and Holger Rathgeber took on a similar story telling style that Spencer Johnson and Kenneth Blanchard used to write “Who Moved My Cheese?“. It read like a children’s story with big fonts (easy on the eyes), pictures, lively characters and lessons embedded to teach something novel. The story telling style removed the reader from applying his/her own discriminatory views and enable the readers to better accept the key ideas presented by the authors. The key ideas that Professor Kotter and Mr. Rathgeber conveyed in this penguin story is the eight step process of successful change, which is listed on page 130 and 131 in the book. Here is a brief listing of the steps:

  1. Create a Sense of Urgency.
  2. Pull Together the Guiding Team.
  3. Develop the Change Vision and Strategy.
  4. Communicate for Understanding and Buy In.
  5. Empower Others to Act.
  6. Produce Short-Term Wins.
  7. Don’t Let Up.
  8. Create a New Culture.

How these steps applied throughout the penguin story? You will have to read the book to find out. ;)