Here are some pictures from my hockey game against Flesh Wound last Sunday:

(Click on pictures for larger plus Flickr annotations)

Me going in for the kill! (dark blue number #7):
Going in for the kill!!

Locker room picture:
The Storm, team picture #1

This video clip is from a previous game, against the Rangers:

I see the term “cash generation” thrown around a lot, and today decided to look up and understand what it really means.

Basically, (all the cash flowing INTO the business) minus (all the cash flowing OUT of the business), in a given time period = cash generation.

Two other related terms are accounts receivable and accounts payable. Accounts receivable means money that will flow into the company but hasn’t yet (e.g. sometimes a company only sends a customer a bill once a month, instead one bill per order). In other words, this is money that customers owe the company.

Accounts payable means money that will flow out of the company, but hasn’t yet (e.g. the money your company owe your suppliers). So this is the opposite of accounts receivable. If you make iPhones, and got your internal components from China, then your Chinese supplier would send you a bill say once a month. So the point here is, you may place and order, and receive the goods, but you don’t pay immediately. But you will pay eventually.

And that concludes my first blog post on Business Terms 101 for Dummies series.

This is an interesting blog post. It reminds me of Stephen Covey’s 7 Habits of Highly Effective People. One of the things thought by Stephen Covey is the “you bring your own weather to work” technique, where basically, you can come to work happy, or come to work pissed. You choose that. If you ran into some jerk in traffic on the way to work and got really mad about that, you’ll think about that all day at work and it’ll spoil your entire work day. If you just said “ah well!” and moved on, not spending any further thought into that and let nothing bad annoy you, then you proceed to have a good day at work. It’s basically a spiral effect where one bad thing will lead to another, and one good thing will lead to another.

The blog post talks about how hostage-negotiators have a 95% success rate, which really seems kind of hard to believe. A pushy car salesman couldn’t get such a success rate. But it’s because hostage-negotiators can actually make that human connection with the hostage taker, whereas most salesmen just want you to give up your money and then jump on the next prospect — sans the human connection part, since that part is kind of lengthy and requires effort. When you react negatively to a negative event that just happened to you, you become the hostage-taker. The hostage-taker is misunderstood, wants to be heard, and wants sympathy.

Anyway, this reminds me that you can’t control what happens to you, but you can control how you react to an event.

[SPOILER WARNING] - If you plan on watching the movie “Golden Door”, DO NOT PROCEED any further. The plot’s ending is outlined here.

Not too long ago, I implemented this new thing for myself where once a week, I would catch a movie on Wednesday night (or Thursday night) alone. Why? Well, I spend too much time at work, and when I’m not at work, I’m playing ice hockey, and that pretty much sums up my life right now. At any rate, it’s just a time period I’ve blocked out for myself to decompress, reflect, and maybe learn a thing or two from the movie.

Tonight, I watched Golden Door at the local independent theater. Basically, it’s a story of a dirt poor illiterate family in Sicily and the father (Salvatore Mancuso)’s dream of a better life, and his struggle to immigrate to the United States. Along the way, and stuck in the same boat and in the same class (the boat separated the “upper” class and the “lower” class), is this gorgeous, intelligent and elegant lady who obviously belongs to the upper class — but was stuck with the lower class. In the movie, it wasn’t clear how she fell out of place, but she was English and had no passport.

So anyway, during the journey, all the rich gentlemen from the upper class were actively wooing her, each of them boasting of their wealth, how he owns this big co. and that big co., and the promises of how “I can get you out of this [lower class] mess”. The lower class people had to sleep in really tight and filthy quarters on the boat. Living conditions for the poor was pretty bad on the boat.

The lady, Lucy Reed, did not take up any of their offers. However, since she had no passport, as a legal requirement, she needed to arrive in the US either married or engaged. As they neared the US harbor, she made her choice and asked Salvatore Mancuso (father of the poor family) if he would marry her. She did disclose to him that she needed a husband for entry to the country, and that their marriage was more out of convenience than love.

So why I am rambling about this? Well, because she didn’t take the easy way out. She could have married any of the wealthy gentlemen and be instantly elevated to “upper” class status, but she chose to stick it out with the lower class hardship and jump through all the immigration hoops designed for poor and illiterate people.

While it isn’t clear in the movie why she did that, it does remind me of an important lesson I have learned — that taking the easy way out is not always the answer. Sometimes, there will be a “deferred” price to pay, but a price, nonetheless.

In this movie (just to speculate), she probably valued her freedom and didn’t want to be tied down by a husband — be he rich or not. So she went with the simple and poor uncomplicated man. The rich gentlemen would probably have restricted her freedom more and be more strict with her, than the poor man. I’d imagine the rich gentleman insisting she be a stay-at-home wife, when she is more of the working-mom personality, which the latter would be aligned with the poor man’s strategy. The poor man could surely use all the bread-millers in the house he can get.

Here’s the trailer:

An interesting trend, see the 6 min video clip by Karl Fisch, edited by Scott McLeod.

The following is a Perl (the programming language) joke. If you didn’t know what Perl was prior to the “the programming language” explanation, then don’t bother clicking. But if you do, this is funny! :D

http://www.qwantz.com/comics/guest6/guest_qwantz_aLp.jpg

If you want to develop courage, then simply act courageously when it’s called for. If you do something over and over again, you develop a habit. Some people develop the habit of courage. Some people develop the habit of non-courage.
– Brian Tracy

As I hurriedly (only had 30 minutes to eat + change + pack my hockey gear) munched down the unhealthy fast-food (KFC’s Tuesday-special 2 leg and thigh, original, biscuit, and mashed potatoes) that I had gotten on the way home from work, I caught a glimpse of Kathy Griffin on some reality TV show, or some kind of interview, showing her typical day. It wasn’t E! True Hollywood Story, but it was something of that nature, but in her present, not her past.

I rarely watch TV to begin with, so for me to write about something I watched on TV is kind of huge, but I digress. So anyway, Kathy is an _AWESOME_ comedian, and I love her sense of humor (Kathy, if you’re reading this, may I get a ticket to your next show? :p) So it was odd to me, when I saw her fretting over some show she had to do at some big name show place in New York.

She put the pressure on her self, and clearly held herself to a very high standard. She said, “I don’t want anyone leaving the theater without having a good time”. Sometimes I feel that way, creating unnecessary pressure on myself, which is interestingly counter-intuitive, because it just screws me up even more.

Anyway, in that show, she then said, “.. at times like these, I can almost hear Oprah [Winfrey]’s advice”. Oprah said, “Kathy, the audience didn’t come to the show to hear something anybody could have said on the street. They came to hear something only Kathy Griffin would say.” I made a mental note to remember that and write about it after my hockey class, I should get some points for the extra effort, but I digress again.

Hmm.. I don’t know much about producing comedy shows (and by that I meant, totally clueless), but what Oprah said was interesting to me and I then thought about how we judged a comedian. We measure a comedian by the quality of their jokes. And jokes, are somewhat like software. They’re not physical things you can touch and hold. They’re intellectual properties of their owners. Anyone can easily rip off someone else’s joke and call it theirs, just like pirates do with software. You can reuse software, but a told joke over and over by the same person is just worn out. We have IP laws designed to protect software owners, but last time I checked, you can’t patent a joke.

So comedians actually have it much harder than us software creating people! Anyway, I digress again. I’m thinking about the ways I can apply Oprah’s advice. For instance, this blog. It’s mine, and I think (I think, because I don’t have any solid data to back this up) that most people come here because they are interested in what I have to say. Odds are they didn’t come here to hear what anybody on the street could have said. Which is one of the reasons why I try not to re-hash the same shit that has been going around the Web. If someone suddenly discovered that the world is flat, we really don’t need every single blogger on the planet each writing a blog post that says “OMG, did you know the world is flat?”

This, (in my opinion anyway) is branding. You’re branding yourself. You’re differentiating yourself or your product, from everybody else. If you are doing what everyone is doing, then you’re just like everybody else. Points of differentiation is important, if you are going to compete in a free market — something I learned him my product management class taught by Rod Whitson, President of Townsend, Inc.

Besides, you have to be yourself to be happy. If you try to be somebody you’re not, for external reasons, and if you’re unhappy doing it, then you’ll be miserable (no shit). What’s the saying again, you can’t love another unless you first love yourself, because nobody will love you more than you yourself?

That’s right, Scott. I’m going to be myself, and write whatever I damn well please on this blog. Ha!

I was messing around with some Javascript today, for use on a HTML form I was building. Here’s a simple code to present the user with a pop-up dialog box when they click a HTML form’s submit button, asking them “are you sure?”

<script type="text/javascript">
function confirmSubmit(){
  var r=confirm("are you sure?");
    if(r)
	  return true;
    return false;
    }
</script>

<form action="" onsubmit="return confirmSubmit()">
</form>

The Javascript confirm() function returns a boolean value, so test that value before proceeding to return true (proceed with form submittion) or false (halt the submission).

Update: I just got back from ice hockey practice, and over at practice, my hockey team member Scott asked what the purpose is of this blog post. The answer is, because this was what I did at work today. I was searching for a way to prompt a user after he/she hits the submit button on a HTML form. I don’t have a lot of code samples on my blog, although when I first started, I had thought of writing lots of technical howto’s with code samples. So I’ll try to write more of these types of blog posts. It’s mostly a matter of time, really. And oh, only the things that I _can_ reveal, such that it wouldn’t compromise my company, the Websense Security Labs. Or in any way infer what we are doing. We like to keep our labs a black box. Keep wondering :p

Readers will notice that I’m on a blog post roll today! 3 posts in a day? Yes, it’s because I’m taking my own advice on building momentum, and my war against all forms of procrastination in my life today! So without further ado, here’s my quickly cobbled together blog post, I don’t care if you like it, because I do! :p

Just wanted to share a related post I read a little while back from CenterNetworks:

You’re in the game to win, so play like it. Bust your butt to get your work done, even if it means skipping out on the finer things in life for a while. The world is full of dreamers and thinkers, but the doers are the ones who succeed. Even if you have to force yourself to work, do it.

I’ve met countless software and web developers with big dreams. When I ask these people what steps they’ve taken to achieve their goals and dreams, often times I hear a sob story, or a “someone elses fault” story. That proverbial “some day” is today. If you don’t have the motivation to move on an idea now, then you probably never will and this lifestyle may not be for you.

I read this great post about getting projects off the ground. Sometimes the only way to get a project started, is to go ahead and begin, and do the groundwork .. despite knowing that you might fail miserably at it.

After starting, then just iterate and improve, and the sheer hard work will pay off. I’ve learned that it’s not always beneficial to be a perfectionist. It’s tough to imagine how in life you can get many things the first time right. Kind of like ice hockey, I had to learn how to skate and fall over a million times. I’ve found the following so applicable to myself.

Gretchen writes,

  • Because you’re racing, you don’t have time to listen to your internal editor criticize every move. You just put something on the page and keep moving, instead of sitting, paralyzed.
  • Progress itself is reassuring and inspiring. Panic tends to set in when you find yourself getting nothing done, day after day.
  • Because you’re so focused on your project, you begin to make deeper connections and to see more possibilities, instead of being constantly distracted by outside concerns.
  • Because of the intensity, you can hop in and out of the project, without having to take time to acclimate yourself. I have a writer friend who’s married to a painter, and she says their test for working well is when they can sit down and work if they have a spare ten minutes.
  • You lower your standards. If you’re producing a page a week, or one blog post a week, or one sketch a week, you expect it to be pretty darned good, and you fret and fuss about quality. Often, however, folks get their best work from grinding out the product.
  • Practice, practice, practice. My novel was terrible, but I think the sheer doing of it helped my writing, just the way practicing scales helps a pianist. The more you practice, the better you’ll become.
  • Because you have a voracious need for material, you become hyper-aware of everything happening around you — and ideas begin to flood your mind.
  • You can use this approach even if you’re working on a creative project on the side, with all the pressing obligations of a job, family, etc. Instead of feeling perpetually frustrated that you don’t have any time for your project, you MAKE yourself make time — for a specific period.
  • It’s fun! I don’t have the urge to climb mountains or run marathons, but I got the same thrill of exertion from writing a novel in a month.

I’m sure everyone has heard of a fingerprint biometric device, where your fingerprint is scanned and you are then granted access to something. In the movies, you see the villains getting around that by chopping off the finger they need from the person, to gain access. I just read this blog post on newscientist.com and it talks about how this Japanese company has solved this problem.

The company’s biometric system uses an infrared camera to record the unique pattern of capillaries just beneath the skin, which can only be seen when blood is pumping through them. When this blood flow is cut off - when the finger is cleaved from the body, for example - the pattern disappears and the finger can no longer be used for identification.

Interesting technology, although it doesn’t stop the villain from forcing the victim to willingly scan his/her finger, by say, holding the victim’s loved one as hostage.

If you shop on eBay, did you know that their merchant rating system can be gamed to artificially inflate its positive feedback number? This happened on eBay.co.uk, I learned about this and wrote a short blog post for the Security Labs.

Buyers beware. Read more about it here:
http://www.websense.com/securitylabs/blog/blog.php?BlogID=130

Tim Ferriss in a guest lecture at Princeton says, “If there’s something uncomfortable, that’s usually what you need to get done.”

And I know that’s true for me. It’s that things that you’re delaying on, procrastinating on, that is the one that you really need to get done. Subconsciously you’re delaying on it because of some kind of fear, and you just need to get up, wobble, fall over, whatever, but pick yourself back up and forge ahead. It’s the GTD-attitude mindset.

My VP of Security Research just posted a demo of a dodgy piece of code, riding on the Youtube popularity wave. Kind of funny to me, to hear his voice over a Youtube stream. LOL

I read an interesting line from an interview of Paul Graham, where he commented on how difficult it is to make a sale, for someone [technical] who doesn’t know how to sell (which is, pretty much all geeks), and how he overcame that barrier (Paul has a Ph.D in computer science).

His solution? Tell the truth!

A lot of people think that the way to convince people of things is to be eloquent — to have some bag of tricks for sliding conclusions into their brains.

Isn’t that the truth? I’m picturing a used car salesman here.

Our strategy for selling our software to people was: make the best software and then tell them, truthfully, “this is the best software.” And they could tell we were telling the truth.

And the truth sets you free. I think that it doesn’t matter if you can put up a great smoke screen and actually make a few sales here and there, lying isn’t sustainable for the business in the long run. In the age of the internets, nobody can hide. If you screw a few customers over, all your other existing customers will hear about it. A popular place is The Consumerist.

Better actually have a product that back up your claims, than to claim something untrue, and then brag about how you “locked-in” your customers, and that “they are not going anywhere anytime soon”.

Kind of obvious advice, but most of the time, I don’t get sold by people who are mostly honest.

I first read about Ram Charan (or originally just “Ramcharan”) from CNN.com and looked up more about this intriguing person. I’m reading a book authored by him to improve my business acumen, and thought about writing this interesting thing I read today.

The business equation is: Return = Margin * Velocity

As one can easily see, Return is increased when you increase Margin or Velocity. Margin is the net profit (including after tax), meaning this is the true profit. Velocity is basically how fast you are making that money. If you sell shoes, how long does it take for you to sell all of your shoes in a single shoe rack in your store? Is your shoe rack empty by the end of the day? Or does it take you a whole month to empty that rack? And that’s velocity, the measure of how fast you sell stuff. The faster you move your shoes off the racks, the better.

Interesting thought on selling software: If you sell shoes, what do you do when your rack is empty? You obviously have to order more from your supplier. That will take time (the time you place the order, the time it takes for the order to be processed, and the time the mail carrier delivers it to you). Maybe you say that you can pre-emptively place orders before the rack is empty, but that’s additional risk, because what if the stuff arrives and it doesn’t sell? Then your money is tied up in all those unsold shoes. Now imagine software. You obviously don’t have the same “inventory” problem, like a shoe seller does. How cool!

Ok, back to what I was saying. Dell is an interesting company because it basically assembles PCs with parts it gets from its suppliers. It doesn’t really make it’s own peripherals too much, so it doesn’t really keep inventory. Most of what you order online, are then built behind the scenes, on the demand, after you click that “place this order” button from their site. In the year ending Jan 28th, 2000, Dell only had 50 computers “left over” that wasn’t sold!

Another thing Ram talks about is cost of capital. Essentially, if you are borrowing money from someone else, you’re paying that someone for the borrowed money. This money, for most publicly traded corporations include those from shareholders. You’re essentially borrowing money from the shareholders. They are shareholders precisely because the bought your stock and paid in cash, the money that goes into a corporation’s pocket.

Even if you broke even, meaning even if you got paid $100 from a customer and it cost you $100 for that sale (for stuff including sales, marketing, manufacturing, taxes, etc.), you are still essentially losing money, destroying shareholder value, because you borrowed that money, with an interest rate. You have paid a small amount for that initial $100, in order to make that product. Wall St. would not be happy. This was one of the yard sticks the famed CEO of GE used in the late 80’s to decide whether or not to sell a business division of GE.

Ram also said it’s interesting to look at your industry in general, and see how well they are measuring up against this R = M * V equation. Or maybe in other industries. You may not have all the answers but asking the right question helps. Senior execs from companies such as Pratt & Whitney are learning from Dell on how to meet supply and yet not hold any inventory. Not having your money frozen in some unsold product is a great competitive advantage over your competitors. Now you can use that un-tied money to invest or do other things!