Monday, February 9, 2009

New Veriblogger

Another one of the Verilab team has started The Blogging Thing. Will is our systems guy, but that can sometimes imply not much more than someone who makes sure your email works and who runs the backups. In practice, Will -- a functional programmer by training -- is really a systems guy on steroids. He is part of our ongoing strategy for keeping Verilab right as far as the convergence of hardware and software methodologies is concerned. If you've ever wondered if recursive make is harmful for chip builds, if you've ever struggled to filter out those bogus non-warnings from the log output of <insert your favourite EDA tool>, if you've ever wanted to jump out of a high window because your <insert your favourite EDA vendor> simulator won't work unless you first run a seventy-two-line csh script (and you're running bash), I think you'll find his stuff useful.

Saturday, January 31, 2009

Go forth and buy Starbucks, Hummers and other shiny objects

I just bought a new PC. Actually, it was an old PC - a refurbished Dell laptop. I spent $400 on a beat up brick, instead of, say, $1,900 on something shiny and new for a few reasons. One is that I'm a terrible maximizer and am still trying to decide which shiny and new machine I should get. Another is that I actually need two machines - one shiny and new, but also a stopgap machine for one of my team while her Lenovo goes back for repair. And the Dell is a perfect stopgap machine. But most important of all is this:

I'm scared because of the "The Economic Crisis"

That reason is telling; I think, anyway. As I explained to my team in Verilab's Austin office yesterday, January 2009 feels much the same as January 2008, or January 2007. If anything, January 2009 actually feels better than those past years. Of course fortunes can change fast for a small firm, but that has nothing to do with 2009. Being a small company means you're always at risk from the big wave, let alone the perfect storm. And so if I keep my eyes purely on the data that immediately affects me, I cannot yet see a problem worse than the problem of being a small, international firm working in high tech.

So, why did I allow "The Economic Crisis" to affect my buying behaviour? The world of PC sales is $1,500 shorter than it would have been had I, You-Are-Already-Dead-Kelly, had the balls to buy a new machine. Why did I chicken out? Well the reason is, I'm scared not because I have anything yet to be scared about, but because you're scared. I'm reacting not to a softening sales pipeline, or to all my consultants being emptied from their clients, or to a sudden ban on the use of SystemVerilog for chip verification. I'm reacting primarily to the fear shown by others. You, and your fear, is the problem. Of course, you in turn are scared primarily because your friend is scared. And your friend's scared because his cousin in Austin was laid off because his Austin employer was scared because his next door neighbour, Tommy Kelly, was scared. Repeat until sick.

Now I'm not denying that there are real economic problems. As Kipling never said:
"If you can keep your head while all about you are losing theirs ... you may have misjudged the situation"
So bad stuff is definitely out there. Toxic assets are, well, toxic. Companies large and small are in danger, jobs are being lost, and home loans foreclosed. Aaaah! But is it reasonable to believe that I am not alone in reacting not to actual observable problems but merely to other people reacting to something? Is it reasonable to believe that a large part - maybe the largest part - of the current problem is not "real"?

Let's do some math(s). There are, what, 300 million people in the US? Let's say 200 million of them are sufficiently afraid of their neighbour's fear that they are not buying as much stuff as they otherwise would. Let's say I'm an average non-spender. So, some are not buying a Starbucks for $4.00, while others are not buying a new Hummer for $60,000. Just for argument's sake, assume the average non-spend is $1,500. Two hundred million Americans each didn't spend $1,500 dollars they otherwise would have. That means $300 billion dollars of non-spend. For no reason. $300 billion dollars of trade that would have happened, didn't happen, because of fear triggered by someone else's fear.

Suppose we decided to actually advance in the face of fire. Instead of battening down the hatches we each decided to buy something that we we knew we were putting off only because of the fear. What would happen to the economy?

I'll leave you with the best video I've yet seen explaining the crisis, and particularly this aspect of "market sentiment".



Meantime, I'm off to buy a shiny new PC!

Monday, January 26, 2009

2009 - Advance In The Face Of Fire

Just after starting Verilab, I dabbled in body building and weight training. One evening, after a session of leg exercises, I asked a much fitter and more experienced friend the following question:
"When you are working at the very limits of your ability, do you think you find squats easier than I do when I'm working at my limits?"
My assumption was that since he was better trained than I was, with better technique, that he'd find his most extreme workouts easier than I would mine. And so his answer surprised me:
"After a max leg workout, I sometimes throw up. I can barely walk, and have to hold onto the wall to stop myself from falling down."
There was no conceit in his answer. He was simply stating it as it was. Working at the limits of his ability, he put himself through a far more punishing and painful routine than I did. I realized that a major success factor in body building was the mind. It was true that my friend Marc was physically better trained than I was. But the difference in our respective mental training was even greater. He had trained himself to push himself harder than a normal person (a.k.a. me) thought was possible. He had trained himself to know that when the pain is so great that you think you are damaging yourself (and in serious weight training you often are), you can still push even harder.

It reminds me of a scene from the movie "Bravo Two Zero", in which a British SAS patrol encounters an Iraqi force. True or not (the details are disputed), the account is impressive, particularly where once the attack is underway, the SAS start to advance towards the numerically superior opposing force. Most normal humans would have cowered in the dust, but not the SAS (2:06 in the following video):


Again, the mind is key. McNab's character in the movie admits that he was scared. "Of course you're afraid. Anyone who says they're not is either lying or needs to see a shrink." But when the crucial moment arrives, past training comes to the fore. The fear remains, but the individual is able to focus on what needs to be done. The same happens in a scene I mentioned before, in "Band Of Brothers":



The difference between Blithe and Speirs was not the presence or lack of fear or of real danger. The difference was in their mental ability to control that fear, and to operate despite that danger. I think there are lessons here for the coming year. True, running and screaming war cries at a global economic crisis aren't going to make it go away. Unlike the Iraqi force, toxic assets aren't going to turn back into high grade investments just because we keep our nerves. But scaring the enemy is only one reason for advancing in the face of fire. Another is the effect it has on you, the underdog; the one being attacked. Like the body builder, you often don't know how far you can push yourself until you try. And a third reason is the training effect. This is not the final economic crisis. We will come through this, and there will be others in future. So this is a rare opportunity to train and learn. We should use it.

Monday, December 8, 2008

How To Be World Class

A VP of one of the big EDA vendors once asked Jason, one of Verilab's founders, "How on earth does Verilab keep managing to consistently get such high grade engineers?" At the time, I'm sure we clucked and strutted and gave some deep theories. But in reality, our basic reply was, "Dunno. We just know 'em when we see 'em." Spotting talent is a bit like taking photographs. Just because you're good at it doesn't mean you're good at explaining to others how to do it. However, Malcolm Gladwell, whose book "Outliers" I've just finished, has something to offer on the latter. Here, in a nutshell, is what he says (he's a lot better at this than I am though, so don't worry about me spoiling things - you should still read the book).

To become world class you should:
  1. Have some innate talent. This is, however, the least difficult part. Gladwell argues that you only need talent at or above a minimum level (e.g. an IQ of 110), and that's good enough. There is little or no correlation between world classness and innate talent *above* that minimum level.
  2. Be lucky in your surrounding circumstances so that you get the opportunity to work hard on "meaningful work".
  3. Actually work hard. Specifically, accumulate about 10,000 hours of practice.
In fact Gladwell's thesis really focuses on those first two points (the third point is not new - see http://norvig.com/21-days.html). He goes to some lengths to argue that innate talent, especially once you've reached some minimum level, is highly unimportant. Conversely, he stresses that the surrounding circumstances are crucial. An example of the latter is top class Canadian ice hockey players. Apparently they are heavily biased towards people born in the earlier part of each year. Read the book to find out the details of why, but basically it's because kids born in January, February or March are more likely to get the opportunity to put in the 10,000 hours of practice that will make them great.
As I say, worth a read. But I'll leave you with a thought about how to interpret it all for your own benefit.

First, you almost certainly have the required level of talent. If you're reading blogs about EDA, or consulting; if you're interested in high tech; you're smart enough. Let's move on.

Second, you can't really know if your surrounding circumstances are bad enough to kill off your chances. How bad things seem can as often be a function of your attitude to life in general - glass half full or half empty. And I'm pretty sure that for the vast majority of my huge audience of readers it would be true to say that greatness has arisen from surrounding circumstances far worse than yours. So, no excuses here either.
Which leaves only the final point. The 10,000 hours. This is where the focus should be. A modern phrase is, "Work smarter, not harder." Well, apparently not. Work smarter *and* harder. OK, so, remember to send me a ticket when you win your Nobel Prize.

Friday, December 5, 2008

Stress Management for Entrepreneurs

Sean recently wrote about the need for entrepreneurs to learn to deal with "unfamiliar pain". I think he's right. Running a small firm, where you have to worry not only about your own welfare, but those of your team, can be a pain in the brain. That can be particularly the case in that volatile industry sector known as high tech. I'm not sure if I've learned to deal with stress, or if I've just become so used to it that it's now merely part of the background noise. But I do know that I'm now able to shrug off things that in the past would have had me rocking gently back and forth in the corner of a dark and quiet room while muttering. So here are five stress management approaches I've come up with over the years. Your mileage may vary.
  1. Moral outrage is a luxury the entrepreneur can ill afford. My parents brought me up to abhor a lie and with a strong sense of fair play. I've never minded people playing tough -- I played tighthead prop in rugby. In the winter. Near Ferguslie Park -- but I try to play things straight, and expect to be treated likewise. As a result, I have a tendency to get well-nigh incandescent if I sense someone cheating me or anyone dear to me. But in business, that is, I've come to realize, not a positive characteristic. First, genuine cheats are, in my experience, rare. Business is complex, and different interpretations of contracts and other agreements are common. One man's cheating is another man's ambiguous non-compete agreement. That's why we have lawyers. I've never really bought the idea that some things are "Just business; not personal". But I've learned over the years that it's often best to treat things that way. Second, even if genuine cheating is going on, I've learned it's more productive to consider it in the same way I would a donkey stamping on my foot. That - like cheating - is not a pleasant thing to experience. But I don't get angry at the donkey in a "How dare you stamp on my foot" sense. By classing the cheat as a donkey I reduce the discomfort to a managable level. It's still a pain, but my desire to rip the cheat's head off tends to dissipate.
  2. Learn detachment. I'm not a Buddhist, but I find their approach to detachment useful. I've actually learned the value of the phrase "Well there's no point in worrying about that." When I was younger, I found such an exhortation senseless. It implies that worrying is something we choose to do. I assumed it was pretty much involuntary. But in fact I've discovered that it is absolutely possible to simply switch off a worry for a time. The underlying concern may well still remain, but my fevered response to it can be turned down. Especially good for dealing with problems of the moral outrage variety, particularly when they're keeping you awake at night. It takes practice, but I'm no Zen monk and I've managed it. Give it a try.
  3. Control secondary pain. This is, I think, related to Sean's "unfamilar" pain. I've found that there are often two pains or discomforts associated with any given unpleasant situation. First, there's the pain itself. I stub my toe, and my toe is sore. Pain, plain and simple. But then there's the pain I experience because of the existence of the first pain. "Oh no, I've stubbed my toe. Maybe it's broken. Maybe it'll get gangrenous. Maybe it'll get infected and I'll die. My wife and kids will be destitute. Ahhhhh!!" The key difference between the two pain types is that while you may not be able to control the first pain, you can very often control the second. Moral outrage is a good example. A large client pays slowly. They know you can't afford, and don't want to enforce the clear contract payment terms. So they cheat by paying late. They said they'd do one thing, and then they blatantly break their word. The first pain - the hit on your cash flow is real. And, within typical operating constraints, there's not much you can do about it. But the second one - the anger at the very fact they are cheating - is almost all in your head. With practice, it can be controlled.
  4. It could be worse. A lot of stress is instantly lessened by putting it in perspective. Again, my awesome parents drilled this kind of thing into me when I was a kid. "The poor children in Africa would love to have your dinner", I'd be told, while complaining about Wednesday mince an' tatties. And it comes to the rescue often in running a business
  5. You are already dead. This is my favourite coping strategy, and it's best illustrated by recalling a part of the World War 2 drama series, "Band of Brothers". The scene involves a young paratrooper, Blithe, confessing to his Lieutenant that he had stayed hidden in a ditch rather than fight on D-Day. Spears, the Lieutenant, asks if if he knows why he hid in the ditch, and Blithe replies that he was scared. Spears replies: “We’re all scared. You hid in that ditch because you think there’s still hope. The only hope you have is to accept the fact that you’re already dead. And the sooner you accept that, the sooner you’ll be able to function as a soldier’s supposed to function...” It may seem a bit dramatic to treat business like the assault on Carentan, but it works for me.

Wednesday, December 3, 2008

Excel-lent (update - or not)

All is forgiven. The automatic HP update demon has just offered to give me a new and critical (yellow triangle an' all) update. I'm assuming it's going to fix my Excel problem. So I'm happy. Well, kinda. A bit. OK, not at all really. Turns out the update (coming, remember, via HP's own Vista utility) is entitled:

"?? HP ??????????"

with a description of:

"??????,??????????? HP ??????????????????"

:-/

Tuesday, December 2, 2008

Excel-lent

I put my car in for repair last week.
It took them quite a while to find the problem.
Even now, they're not sure it's completely fixed.
The problem seems to be that I use too much vinegar when making my sweet and sour sauce.

OK. The above story is a lie. The following one is not.

The growth in demand for Verilab's services appears to be unending. (Yes, yes, I know there's a recession on and stuff, but no one seems to have told our clients yet.) So, I'm always looking for a tool that will help us shuffle about our existing team, and expose exactly who/what/when we should hire to fill the gaps. Believe it or not, we used to, in Verilab's early days, use some pasta shapes with sharpie-inscribed initials on them. But we've moved on a bit since then. So I occasionally try out a few likely software candidates. So far, I've always ended up settling back on Excel as the best quick fix.
Until today.

The idea is simple. Each person's initials go in a cell, with a different background color for each. Then copy/cut/paste/drag can be used to move people about. Now, we already have more people than base
colors, so I was using light <color> for one person, and dark <same color> for another. For example, one consultant was dark (or, knowing this consultant, "deep") purple.  Trouble is, the default black font  doesn't show well against the dark. So I changed it to white.

Excel crashed.

I tried again.

Excel crashed.

I rebooted my machine and tried again.

Excel crashed.

I tried again.

Excel crashed.

Then Vista threw up one of those as-helpful-as-that-infernal-paperclip "we know how to solve this problem" boxes. Sighing, I clicked the "Fine, go on then" button, and it gave me:

"This problem was caused by a known issue with your Hewlett-Packard printer driver, which causes Microsoft Office 2007 programs to close unexpectedly when your HP printer is set as the default printer. Hewlett-Packard is aware of the problem and is working on a solution."

Knife. Wrists. Slash.
I'm off to buy some pasta shapes.
In the meantime:
  1. If you know of a simple resource-allocation tool, please let me know
  2. As ever - if you're an exceptionally strong verification engineer and programmer with a minimum of five years experience, only happy when wrestling with the toughest challenges, longing to travel, and want to join the best team of VLSI verification experts on the planet, what are you waiting for? Give us a call!