> without lying, cheating, or backstabbing...not have to mislead people, or break your promises.

From my time in the valley, I'd say dishonesty, misleading clients, breaking promises, not delivering on time, all of that is very much a part of the sv culture.

At Sun, we'd tell all our clients that Microsoft was evil, out to crush us. Our CEO Scott McNealy sent around a famous email about the sizes of MS & non-MS file formats. "Sun will win" had 12 chars * 1byte/char = 12 bytes as a textfile, 24 bytes as an Openoffice file, and 100,000 bytes as an MS powerpoint slide! While entirely factual, it was quite a dubious example, considering that internally within Sun, we happily used Wintel machines, used powerpoint for presentations, emailed Word files around instead of PDFs, and dissed openoffice as a piece of junk :)

When Java was in its infancy ( 1997-2000 period ), a lot of promises were made & fell by the wayside. Sun was building up its consulting arm, so we'd go out to customer sites and say Yes Java can do this, that and the other. Then we'd come back & Javasoft would tell us, look this feature is simply not part of the forthcoming API. Sometimes they'd get an old wise Unix/C hacker to write C code to do whatever was necessary beneath the covers, and then write a JNI wrapper atop that and thus claim Hey Java can actually do telnet & ftp natively ( Ha!).

I had to deal with a lot of graphics code that was routinely promised & arrived DOA. One of the primary requirements for most financial sevices firms was a table widget to display spreadsheets. AWT didn't have one. Someday there was suposed to be something called Swing, and it would have a powerful table API that would rival the MFC widgets in its power. That's what Sun told us, and that's what we as Sun consultants sold to all our Wall Street clients. But the damn thing took so long to build, every firm had their own proprietary table APIs.

At GS I worked on something called GSTable ( God those horrible memories make them go away! ) So this godawful GSTable was a homecooked solution to display tabular data. I started with something stupid - create an array of Label ( AWT labels ) and put them in a Panel. This created m x n + 1 components per table - too heavy & memory intensive. Then when Swing came out & didn't have a table, we made m x n JLabel's and put them into a JPanel. Over the summer, a Princeton computer graphics intern coded up a canvas ( just 1 custom Component ) that overrode paint() and drew all the cell contents. That worked so well, GS made the teen a six figure offer while he was still in his junior year. All he'd have to do is maintain that table widget! He wisely turned them down & went on to become a computer graphics heavyweight. Meanwhile, I worked on that GSTable as it went through various iterations, until it was actually capable of displaying rows and columns with different sizes, which was apparently a very common requirement in finance. Then finally the Swing JTable arrived! I was like Hallejulah end of all my misery! But alas, Sun's promises & its deliverable were so far apart. That JTable couldn't display multiwidth rows, the paint code was riddled with scaling bugs, it was a bloody mess. There were actual fuck this and fuck that blocks of code in the repaint...the frustrated Javasoft developer wrestling with repaint math! So we stuck with the GSTable. Then IBM came out with their SWT, you had Marimba with their desktop widgets...but everytime we decided to adopt something as the standard, that company would just vanish into thin air...Marimba decided it wanted to get out of AWT widgets business and stick to push technology so that was that...so many broken promises and toy widgets, certainly none of them worth the hundreds of thousands of dollars in license fees.

Everybody likes to paint wall st as a paragon of evil while the poor honest tech genius slogs away in the valley working on the cutting edge of technology. In reality, greed is rampant on both sides, money flows from main st to wall st & from there on to the valley. Everybody's got his fingers in the cookie jar.