The Hobbit Hole

In a hole there lived a hobbit. Not a nasty, dirty, wet hole, filled with the ends of worms and an oozy smell, nor yet a dry, bare, sandy hole with nothing in it to sit down on or to eat: it was a hobbit-hole, and that means comfort.

11/23/2005

Reading List: Fog Creek Software Management Training Program

Filed under: Uncategorized — bilbo @ 7:28 am

Another reading list for management training, this time in software. It seems that Mr. Godin has started a trend, though to be honest, Joel did have a reading list already for software developers, if not software management.

I’ve read 4 of the books out of 40 on the Personal MBA list. I’ve still got quite a ways to go. Maybe I’ll divert and read some on Joel’s list.

11/21/2005

What is World of Warcraft, Alex?

Filed under: RPG — bilbo @ 4:09 pm

Remember the Leeroy Jenkins video? Apparently it’s the MMORPG shot heard around the world. How funny!

Personal MBA, Book 5 – What Your CEO Wants You to Know

Filed under: Uncategorized — bilbo @ 11:05 am

Well, I must have gotten the wrong list from somewhere, as I thought this was book 2 in the list, but it seems to be book 5.

What the CEO Wants You to Know is a short book, but a good one. In short, what your CEO wants you to know are the elements within your business that lead to profitability.

It introduces the primary elements to profitability and establishes their place with in the general equation on return.

The main elements to profitability are:

  • Margin – the amount of money you make on each sale
  • Velocity – the rate at which sales are completed
  • Return = Margin x Velocity
  • Growth = the amount that return is accelerating (or decelerating)
  • Price-Earnings Multiple – also called the P/E ratio, the “reward” that investors give to the company for continued good returns.

He mentions there are a few different ways to measure return, either as return on investment, return on assets, or return on equity. These differences aren’t that important to Mr. Charam, though as an investor, I tend to follow Return on Equity.

To illustrate his points, the author uses the common street vendor and compares the dilemmas of the small store to those of multinational corporations, and how the CEOs of these corporations must think like small street vendors, focusing on these elements and how they balance each other as a whole. He directly references several CEOs and their companies, most notably Jack Welch and ? Nasser, leaders of GE and Ford respectively. Negative examples are also provided, though those names are omitted.

The last section of his book is devoted to matching people with their business functions. He notes that a CEO cannot make a company profitable all by him/herself and that it is imperative that the right people are in the right positions to make a company profitable. He also makes many suggestions on how people within a defined role, such as engineering, finance, or law, might be able to make contributions to the bottom line by seeing the big picture of the company.

The crux of the book is that everyone, by knowing and focusing on the same goals as the CEO, can align any organization to make it more profitable.

I liked this book, and plan to follow through in finding out more about the company I work for. Also, as I branch out and start my own business, I think the principles taught here are a good foundation.

Anyone looking for an introductory finance course though will be disappointed. The book is more about focusing priorities than the actual financial details.

11/8/2005

Big Thumbs Up for Visual C++ Express

Filed under: Programming — bilbo @ 3:32 pm

Big thumbs WAY up!

I’ve been working on the GMTL (though I doubt that’s the final name) a lot lately, and I’ve had some distressing problems with the code produced by the loop unrolling metaprogram in Visual C++ .NET 2003. Just for kicks, I downloaded the Express Edition yesterday and saw that it fixed just about everything.

As an example:

Matrix3 m = Matrix3::identity;
Vector3 r1;

r1 = (m + m)[0];

was unrolling, but there were extraneous instructions in each iteration of the code produced by VC++ 2003. VC++ Express Edition produced the following code:


00403E0D fld dword ptr [esp+58h]
00403E11 fadd st(0),st
00403E13 fstp dword ptr [esp+10h]
00403E17 fld dword ptr [esp+54h]
00403E1B fadd st(0),st
00403E1D fstp dword ptr [esp+0Ch]
00403E21 mov ecx,dword ptr [esp+0Ch]
00403E25 fld dword ptr [esp+50h]
00403E29 mov dword ptr [esp+18h],ecx
00403E2D fadd st(0),st
00403E2F fstp dword ptr [esp+8]

which you can see only produces 3 adds, which it should. In traditional game matrix code, you’d see a temporary Matrix3 filled in with the (m+m) operation, and then a copy of its top row to the Vector3, meaning that you’d get 9 adds and 9 writes to temporary, and then 3 extra reads. With the expression templates and loop unrolling, you see 3 loads, 3 adds, and 3 stores. You’ll forgive the two mov instructions, as they are loads for the next operation to take place.

Much nicer. VC++ 2003 is a great compiler, but VC++EE seems to be even better. I don’t know what GCC and Comeau would produce, as I don’t intend on using this code in those compilers, but once the article is published (by the end of the year), you can try it yourself.