Saturday, August 29, 2009

The Netflix Culture

The other day a co-worker sent me a link to a presentation from Netflix that describes their corporate culture. Well worth the twenty minutes required to read the slides.

I'm sure like many others, I found the described culture very attractive. I thought the desired values were so compelling that I printed out slide 19 and hung it up in my office as a reminder of my self-development goals. I think anyone in a creative profession, technical or otherwise, wants to work with "stunning" colleagues as a means for improving one's own skill. Too often I've seen loyalty appreciated more than performance so I liked the "adequate performance gets a generous severance package" rule. The guidelines designed to increase employee automaticity, decrease complexity, and minimize process strike me as recipes for success, provided that you have the suitable talent. Finally, I really liked the notion of always paying at the top-market rate. Frankly, the practice of reactively adjusting compensation to market rate when an employee tries to resign never made sense to me; why not pro-actively pay appropriately to avoid the employee from feeling unappreciated or being tempted by external opportunities?

Congratulations to Netflix for creating such a unique and outstanding corporate culture. It will be interesting to see if this culture persists as the company grows and the original staff moves on to other opportunities.

Tuesday, August 25, 2009

Crooked Crazy Eddie's

One of my iconic memories from the 80's is the commercials for Crazy Eddie's, a NY-NJ-CN area consumer electronics store that claimed to offer "insane" prices. Since I grew up in RI, I had no direct experience with Crazy Eddie's and never knew what became of the company.

My ignorance came to an end upon listening to an interview of the company's former CFO in episode 82 of NPR's Planet Money podcast. Evidently, Crazy Eddie's was crooked!

The corruption began with skimming sales and tax revenues but progressed to full-fledged money laundering as the company's size grew and the amount of unreported money became considerable. As the CFO became more financially savy, he hit upon the clever and even more profitable idea of:

  • taking the company public
  • gradually bringing the skimmed monies back onto the books to artificially inflate revenues and profits which led Wall Street to overestimate the company's future growth and over-value the stock
  • selling the owner's majority equity position at the inflated market prices yielding over $100M of capital gains

What a story! In the end greed tore the family owned business apart which resulted in someone informing the authorities out of revenge thus bringing the whole operation to an end.

The podcast is very entertaining if you're interested in this kind of thing as the CFO seems to be proud of his cleverness despite its illegality. As it happens, he is now a consultant and instructor to various government agencies on the topic of corporate fraud. So much for the notion that crime doesn't pay.

Monday, August 17, 2009

Struggling with Book Reviews

When I started this blog, I thought it would be a good idea to write book reviews as I finished readings. I've discovered two problems with this goal:

  1. It takes a long time to write a worthwhile book review.
  2. Due to the voracity of my reading appetite, I have been unable to delay starting a new book until I have finished writing a review for the previous book.

The result, I am now behind in writing two reviews and close to finishing a third book. So much for posting book reviews anywhere as frequently as Eli Bendersky.

I can think of five solutions:

  1. Write shorter reviews.
  2. Force myself to write reviews before starting a new book.
  3. Only write reviews for selected books.
  4. Don't worry about it and write reviews when the time permits.
  5. Stop writing reviews.

Of these, only options 2 and 3 are acceptable. Part of my rational for writing reviews is to obtain a deeper understanding of the material through extended contemplation, review, and summarization. This motivation rules out options 1 and 5. Option 4 is more or less a formalization of the current situation which I already know isn't working; I'll just keep on reading and never get around to writing the reviews. This, again, leaves options 2 and 3.

So, going forward I will attempt a hybrid approach of:

  1. Writing reviews before starting new books.
  2. Only writing in-depth reviews of selected books which deserve the most reflection.

Hopefully this new approach will lead towards fulfilling my goal of getting more out of the books that I read.

Wednesday, August 5, 2009

Cool Commodore Hack

Although I enjoy all of the content on the PageTable blog, I like the archeology stuff the most. This post about the hack used to do directory listings on the Commodore is a great example.

Essentially, the Commodore's disk drive acted as a co-processor handling all of the mass storage management and file system operations. The Commodore's kernel and BASIC shell used a file oriented API (i.e. open, close, read, write) to communicate with the floppy drive. Commands like list-directory were performed by an open() call to a special address and file name and reading the results from the open "file" until an EOF was received.

For reasons that are unclear from the post, it seems that the Commodore's kernel and BASIC shell were unable to natively perform the list-directory operation. As a result, a hack was needed to avoid users from having to write a BASIC program every time they wanted to list a directory.

The solution was for the floppy drive to return the directory listing in the format of a BASIC program. Thus, a list-directory operation consisted of:

  • opening the special file
  • reading the returned fake program into memory as a program
  • listing the fake program to display the directory contents

What a clever hack!

If I understood the post correctly, the returned fake program simply used the structural description of a BASIC program but wasn't a valid program itself. In other words you couldn't execute the program returned by the list-directory operation. Too bad because it would have been really cool if the floppy drive returned a lambda function!