Thursday, October 12, 2006

It's the culture.

I was thinking about the relationship between company culture, hiring and promoting practices and company success. Specifically I was thinking about two contrasting examples - Google and Enron. The differences between the two in hiring practices and culture are profoundly different. Let's see how those differences played into each companies successes and failures.

One of the standard practices at Enron was firing the bottom 10% of the people in their annual performance reviews. The "logic" behind this particular practice is that through darwinian evolution you would be producing a better work force. In fact it had the unintended consequence of institutionalizing corruption by making sure that everyone would do ANYTHING not to be in that bottom 10%. This undoubtedly helped foster an environment of institutional corruption as you would do anything to hit your numbers. Indeed the recorded conversations with Enron traders as they shut down power plants (to spike the wholesale price of electricity by dropping supply) or engaged one of the dozens of illegal schemes. Instead of institutionalizing a dedication to excellence, instead it institionalized a sociapathic concern for self above all others.

"But what Brian," you might say, "Greed is good right?" Well yes and no. Unrestrainted greed is gluttony and eating ones self to death is never a good corporate practice. Remarkablly in an effort to keep the stock afloat, that's what happened to Enron - except they hid their debt in a series of structured companies. Yet their is another approach to the hiring and retention and for that I am going to take the example of Google.

A lot has been made of the hiring process at tech companies. For a long time Microsoft was the undisputed leader in annoying questions designed "to reveal how you think." There was "How would you find out how many gas stations there are in America?" A question that once a stumper now can be answered by asking Google or the US government - How Many Gas Stations there are in the United States. Now Google has replaced the stumper question with a series of stumper interviews. The Google interview process is tough and you are interviewed multiple times. One of the important factors is that Google instead of hiring for the project or division is hiring for the company. This is an attempt to move the bell curve of the average google employee just a little bit to the right. So they combine the traditional hard interview questions with the mulitple interviews up and down the food chain in the company. This does several things. With enough people looking at a candidate, that candidate's weaknesses will become apparent. With enough eyes, all bugs are shallow. By eliminating the bugs before they get hired you can help insure a better workforce. Programmers on the far right side of the bell curve are often 10 times more productive than the people just one median to the left. This solves the problem that Enron retention practice was trying to solve but it does so without damaging corporate culture. They seek to eliminate the bugs before they get in the company. There are a whole host of reasons why this is a good idea but in a nut shell once your quality of employee goes down, it's going to spiral downward from there. Additionally the multi interview gauntlet adds to the esprit de corp of the company of the employees.

There you have two solutions to the problem of hiring and retention - Google's and Enron's. It's pretty clear which is the better method.

Monday, September 25, 2006

GPL Win In Germany

One of the most consistent criticisms of the free software movement has been about the license. The license is too vague - the license hasn't been tested in court. This last point seems quite strange to me. Most software license agreements are not "tested in court." In fact if you are going to court to enforce your licensing terms - you on one level have already failed. However in Germany, D-Link has lost a case concerning the use of a GPLed code in a NAS device.

Link Germany GmbH, a subsidiary of D-Link Corporation, Taiwan R.O.C., distributed DSM-G600, a network attached storage (NAS) device which uses linux-based Operating System. However, this distribution was incompliant with the GNU General Public License (GPL) which covers the Linux Kernel and many other software programs used in the product.

Tuesday, August 15, 2006

Free At Last!

Well it's only taken 12 years for Sun to do but it looks like they are finally open sourcing Java. Recoginizing that open source is pretty much the only way Java is going to survive the next ten years, Java has slowly weeded it's way through the numerous intellectual property minefields contained in Java. Currently they are soliciting developer feedback on type of license to be used. I would prefer LGPL but that's just me.

Sun's site on open sourcing the JDK

Sun' answer to why open source the JDK.

Monday, August 14, 2006

The Greatest of All Time!

This Information Week Story has the greateast software programs of all time as mediated by Charles Babcock. On of the most interesting about the article is his approach to greatness. Simplicity and over impact on the computing world. The list is pretty sold, and one I sorta agree with. I hate to do this but I am gonna sum up his list right here.

  1. Unix - Specifically BSD 4.3 which you can find in pretty much every version of Windows and Linux.
  2. IBM's System R - which which spawned every relational database project in the world including Oracle, PostGRES, MySql etc.
  3. The gene-sequencing software at the Institute for Genomic Research. An elegantly written program designed to decode the human genome.
  4. IBM System 360 OS
  5. Java - Now new and improved with open sourcing power!
  6. Mosaic - The little browser that could
  7. Sabre System - Airline reservations made easy.
  8. Macintosh OS - Perfecting PARC's innovation.
  9. Excel - Perfecting the spreadsheet
  10. Apollo Guidance System
  11. Google's Page Rank System
  12. Morris Worm - In 1988, reminding everyone what a bitch Sendmail was/is.

I like the fact that he zeroed in on a little version of Unix that has descendents in nearly every single operating system on the planet. The DNS and BIND stack in all of Windows was taken from BSD 4.3 and the current Macintosh operating system was taken from BSD. Naturally because of the nature of the BSD license, it found it's way into Linux. Fuddites like to belittle the contribution of open source software but let's be clear here. Without free software, there is no Internet - just a bunch of Compuserves.

Tuesday, August 08, 2006

Microsoft FUDDITES at it again

Apparently open source software has gotten too complex. At least according to Microsoft. This particular type of FUD has a familar pattern. Microsoft finds someone who used to use Linux, but no longer does as "Linux was (whatever Microsoft wants them to say)." Microsoft then has the partner repeat whatever talking points they want to mention. In this particular market it's the ISV marketplace which has long been Microsoft's bread and butter. To be entirely fair to Microsoft, this practice (of having a business partner spout your talking points in return for marketing support is absurdly common).
In this particular instance, the MS Fuddites have trotted out a couple of partners in Malaysia.

"Lim Han Sheng, general manager of IBS Synergy, a Malaysian software vendor specializing in chain-store management applications, agreed: "We had to learn [how to build on the] different versions of Linux distributions to meet the demands of customers."

IBS Synergy had started developing products for the Linux platform back in 1998 but gave Linux the boot in early 2004, and now builds its software on the Windows platform. Lim said this was because the company's developers were spending more time hunting for Linux technical support on the Web, and had less time to focus on actual development work.

This doesn't make a lot a sense when you actually look at the claims. IBS Synergy sells chain store management applications. Yet typically that application is sold with bundled hardware and software. Here's another problem - what retail stores were demanding different linux distributions in 1998? I can guarantee the retail stores were certainly not making demands on the type of Linux to use. That strikes me as the tail wagging the dog.

Secondly Redhat has been around since 1993 - why didn't they simply join the Redhat reseller program and be done with it? Well because they didn't want to pay money to Redhat for support. Yet they have no qualms about joining the Microsoft developer program and paying for support. The idea that the developers were spending too much tme "hunting for support on the web." Why on earth would you expect your support to be free?

Here's what really happened. Management found out there was this free os called Linux. Instead of seeking out a reputable partner for the os, they decided to "save some money" and just use web based resources for their linux support. They do this for 6 years and then evenutally notice that their development team is spending a lot of time and energy doing a function that should be outsourced. So instead of actually figuring out what the problem is, they decide that the problem is Linux. Imagine if you will if you had decided to build a commercial application on Windows but instead of joining the Microsft developer network, you decided simply to rely on what random information could be found on the web. Could you develop an application? Sure. Would it be far more difficult than it it should be? You bet.

This ZDNet Asia article is a largely a reprint from a Microsoft case study. The real problem is the IBSS undercharged for it's product and didn't properly set consumer expectations. Here you can find the Microsoft IBSS case study. The case study has some straightforward MS Fuddite quotes.

Free Software Dilemma
IBSS initially thought that offering a free solution was to its advantage. However, the company soon realized this was not true, because Linux was keeping the company from charging for services rendered or charging less. “We had customers requesting backup tools, which MySQL doesn’t provide for,” says Lim. “After we had sourced it, customers were often reluctant to pay our service fees because they assumed it was free. They also wanted us to install it at no cost. This created problems for us.” Lim adds that this invariably reduced profit margins.

Because IBSS is focused on customer service, the company often did not make its customers pay the fees. However, this inevitably led to the company having to send a junior staff member to do the job. “This sometimes results in a delay in delivery and the customer would complain,” says Lim. “Unfortunately, the customers’ unrealistic expectations of ‘free’ or ‘cheap’ software and services mean that everybody loses in the end.”

The problem is that IBSS used the zero cost of Linux as a selling point and didn't properly set customer expectations that services cost money. This really isn't a free software problem, this is a business problem. IBSS set itself up for a fall. Support costs money, you need to charge for it.

Lim says that the tools available for MySQL were quite basic and “you also have to know how to use the text-based commands.” Its limited functionalities also hindered the development efforts of IBSS. IBSS could not integrate stored procedures into MySQL as it could with SQL Server 2000, and this slowed the performance of the database. “With SQL Server 2000, this is not an issue,” Lim adds.

Once again IBSS in an effort to save cash, doesn't spring for any of the support options available for MySql or any of the commercial upgrades that are available. (ie stored procedure support). This is less of a Linux problem and more of a business process problem.

The problem with much of MS's case studies is that real problem is a management/business process problem, not a problem with Linux itself. Had you made the same decisions using MS products you would be in similar trouble now. While it's convienant to blame the OS, it's not really the problem. Refusing to pay for support and then blaming the OS is silly.

Wednesday, August 02, 2006

Common Internet Myth #12 - An IP address represents a single user

The Explainer is a column on Slate that is usually good at explaining annoying minutia or trivia. This latest column fails short of the mark. The column cover how the MPAA finds people who share on p2p networks such as bittorrent, heres' their factual error

"At this point, the security firm will have the screen name and the IP address of the person they suspect of trading copyrighted material. An IP address is a unique identifier that your computer gets whenever you log on to the Internet."

Well yes and no. While in individual has an IP address it may not be a true routable IP. For example my computer has an ip address of because I have a home wireless network (192.168.1 is a no routable IP and commonly used in home setups). My wireless linksys router has internally assigned IP address that my ISP uses but once again is not a true (ie routeable on the Net) IP address of .

The IP address that shows up when I use is In fact anyone using my local provider (Desertgate is Las Vegas NM) shows this very same IP address. In short an IP address is less a unique identifier and instead it's a machine (in this case Desertgate's outgoing router) on the network.

The post is inaccurate for several reasons. You assume that everyone on the net is assigned a routable IP. This simply isn't feasible anymore. Large networks such as AOL have similar cacheing and routing schemes. True IP addresses are expensive and giving every user a routable IP just isn't feasible.

This the problem with the explanation for certain networks, the IP address of all the users would be the same. Yet the explanation implies that the ip address is unique to each user. While a user indeed has a unique IP address, very often that IP address is not routable and is private to the ISP. Yet the security firm is only able to see the public facing IP (which in all likelyhood is a router). The post leaves the impression this is akin to a fingerprint and a unique identifier.

This highlights the problems with the approach that MPAA has taken. The find out the IP address and then send out blanket lawsuits to the people who could have that IP. Most people lack the financial means to fight them and simply settle for 2-3K . Leaving out the fact that an IP addresse can represent hundreds or even thousands of users means it's less of a smoking gun and more of a smoky haze. Sure there's a fire there but you have no idea may be responsible for it.