Hacker News new | past | comments | ask | show | jobs | submit login
"Don't argue with me. $100,000 is fair, and you know it." (folklore.org)
262 points by carterac on Aug 27, 2010 | hide | past | favorite | 110 comments



This story inspired me tonight: reading about how he didn't know if it would work or not, and how he fixed bugs as they arose is true hacking style. And it's definitely a way to get things done. So that's what I did tonight, and made a ton of progress; just hounding down and stomping on bugs mercilessly.

Why wasn't I doing that already? I'd been reading too much Dijkstra, that the "competent" programmer can show whether his code will work or not. It's definitely possible to do it that way, but it's (very sadly) too high a standard for me to reach in reasonable time (or maybe at all), for more than toy problems. Dijkstra used this approach to write a multitasking operating system. I'm pretty sure I couldn't do that.


So, there are two ways to do things, an easy way and a hard way. Once you've done it the easy way, it's probably a lot easier to cover up the traces and make it look like you did it the hard way.

And a guy who is famous both for being incredibly clever and for being rather arrogant and insecure told all his competitors that they were incompetent if they didn't do it the hard way.

Programming is a form of mathematics. Maths papers are terse and beautiful and look as though they have sprung fully armed from the head of Zeus.

But you don't see the days of hacking through examples and crazy leaps of intuition (that are almost always wrong) in the finished paper, because the mathematician removes them from the story in order to leave an argument that is easy to verify.

I am not saying that Dijkstra couldn't do things the hard way. I would be amazed if his best stuff was done the hard way.


I think it really depends on how well you know the underlying system. Once, I was working on a project written in object pascal and I got to the point where opening the debugger was on average the slower approach to solving most problems. However, I am no where near that point when writing .Net code because the language and the platform became to complex for me to really understand.


Well said!

Lakatos in his "Proofs and Refutations" addresses precisely this topic.


I like this experimental approach, it's like debugging, except you can also edit what inputs you accept. But is it actually accepted by mathematicians as an accurate description of what they do? http://en.wikipedia.org/wiki/Proofs_and_Refutations

Even Alonzo Church published work that was later shown to be logically inconsistent http://en.wikipedia.org/wiki/Lambda_calculus I came across


> the guy wrote a multitasking operating system with this approach. I'm pretty sure I couldn't do that.

You'd be surprised at how doable that is if you actually tried. It's the same as every other problem in programming: break it down in to two pieces, figure out which one is the easier, if it is trivial solve it, otherwise recurse.

You'd need an overall sketch of the architecture before you began but once you have that worked out it's 'just programming' to get you to the finish line.

The hardest part to get right is security, especially if you go multi-user, but since you just specify 'multitasking operating system' that one is somewhat limited in scope.

(such thinking probably gave us windows ;) )...


Thanks, I appreciate the support, but my opps, you caught my initial phrasing before I clarified to disambiguate: I didn't mean to write an operating system; but to write one in Dijkstra's way (ie by showing - proving - that it works before you write it). ugghh I shudder just saying it.


Ah, ok, now I get it :) That was more than just a little bit ambiguous, I completely fell for it.


I'm sorry; I didn't mean to dig a pitfall to entrap a helpful fellow traveler. When I noticed that a reading with the last two sentences as separable was misleading, I edited directly. I think the "sadly" part was communicated though, and I've tucked away your remarks for when I'm confronted by a multitasking OS. I think debugging the race conditions would be nightmarish.


The trick is to write your OS in such a way that you minimize the chance of having races. The way I chose was to mimick 'QnX', a message passing real time OS.


This is also what experience gives you: the ability to predict where problems are likely to crop up so you can avoid them.

Easier to not inject a bug in the first place than to try to find it later.


... and wait for the computer to reboot every time you screw up ...

It can be a slow process with less 'instant gratification' than web programming.


Yes, that was one of the main problems when I was busy with this. I had a guitar footpedal switch wired to the reset button so I didn't have to dive under the desk all the time.

This was before the age of virtual machines on PCs. Getting it to become self hosting took about 6 months or so.


Bochs isn't particularly slow to boot :)


Not these days it isn't. People like this guy and Linus had nothing like that when they were working, though.


@derefr

It is compared to QEMU :)


It's not possible to do unless you fully understand the problem you're trying to solve. When you're exploring the problem you need a "scratch area". In modern times, the scratch area is your programming environment rather than paper and chalkboard.


"Well, I think you are. How long do you think it will take to do this project? A month or two? I think a really good programmer like you could get it done in less than two months."

In my limited experience negotiating on fees for programming or selling software I've heard this line a few times. "You seem like a really good programmer, that program probably would have only taken you say 2 days, times that by an average hourly rate and thats the rate I'm willing to pay for the program and all source code".

Always a sign for me that things aren't going to go well.


> In my limited experience negotiating on fees for programming or selling software I've heard this line a few times. "You seem like a really good programmer, that program probably would have only taken you say 2 days, times that by an average hourly rate and thats the rate I'm willing to pay for the program and all source code".

Bzzt - "really good programmers" aren't paid an "average hourly rate" - they're paid an absurdly high hourly rate.

You've got to be willing to walk away, to call their bluff to find another programmer to do what you did for less.

And when they come back, the price is higher because you both know that they don't have as many options as they thought that they had before. (Alternatively, they've admitted that the options that they were using to beat you down don't exist.)


Yeah.... the guy who made that rediculous statement failed miserably.... no idea how to run a software company at all.

I could tell when he came out of this superyacht moored out in the ocean and camped out next to us reading a book in the shade while we were grabbing some sun on a nice little tropical island. (Didn't bother to bother him - as tempting as it was - I figured he should be able to enjoy the peace and quiet and beautify of the place just like everyone else without being hassled)


Both Jobs and Gates tried to snare him with the same fallacy. It was easy for him to do because he was very good/had insider knowledge so he shouldn't be paid that much for it. Wrong.

What really mattered was how much it was worth to Microsoft or Apple and especially that it was worth a good bit to both. Picture Scotty asking if that's worth somthin' t'ye or shd'aye just punch up clear?


It's a tough one, though. It sounds like an important thing to Andy was getting more of his work onto a bunch of Macs, where it could make the most impact. Which meant getting it bundled. Which meant making Steve happy.

Imagine Andy's horror, for example, if Steve had someone else build the Apple-blessed switcher instead and it worked but lacked the elegance and care of the Hertzfeld version.

Steve ended up having something Andy wanted, too. I gotta believe Jobs is a tough enough negotiator under the best of circumstances. Imagine when he's got you by your idealism.


The only possible leverage he could have had would have been to try to get Gates and Jobs into a bidding war. But that only works if Microsoft sees it as a competitive advantage to have the switcher for their apps but no one else's.

And, like you said, Andy already admitted he wanted it on all Macs, which blew any chance at leverage he had.


It's hard to say, because we weren't there. But I would have just said, then and there, "bullshit, I'll talk to Bill" and walked out the office - 10$ says he wouldn't have made it to the exit :)


Times were different back then. The market was nothing whatsoever like it is today. The context of this was for applications microsoft was writing for the mac, not for operating system development... and the fact that he had insider knowledge could have been used against him. And $100,000 was a decent amount of money at the time.


Best response: "I don't sell time, but here's how much I charge for the product."


"keyboard! how quaint"

one of my favourite scenes from the movie series :)


But as Bill Gates once said, he didn't get rich by writing a lot of checks.


Are you sure you're not quoting a Simpsons episode? If I'm not mistaken, he followed that quote with instructions to his thugs to "buy 'em out, boys.", whereby they proceeded to trash the office of the dot-com in question.

I'm not certain it's historically accurate.


I feel like, as time progresses linearly and The Simpsons continues to air new episodes, the probability that a given quote perceived to be from history is actually from a Simpsons episode asymptotically approaches 1.


That seems like a cromulent observation to me.


That's it. You people have stood in my way long enough. I'm going to clown college.


I'll thank you not to refer to Princeton that way.



Are you sure you're not quoting a Simpsons episode?

Better than that, I'm 100% sure I was. Facetious comment was for the lulz, but it seems people enjoyed having the joke explained so it's all good :-)


When he started on about the key combinations at the end, I was convinced he was about to give us the origin of Ctrl-Alt-Del.


I had the exact same comment (see farther down). I went on a quick hunt and turned up this as the actual origins: http://www.reviewjournal.com/cgi-bin/printable.cgi?/lvrj_hom...


A more humorous take on it http://www.youtube.com/watch?v=1zADyh0JQh8


I thought it was going to be the origin of Force Quit on a Mac, but perhaps that already existed at the time.


I feel like he really dropped the ball on negotiating the sale. It seems like he didn't make any counters, and didn't use their competing interest to reap a higher price.

I was expecting at least a cease and desist or lawsuit would be involved.


What he really wanted was for this to be bundled with the Mac. So that probably clouded his ability to negotiate a better deal. There's no logic in the assertion that because he worked at Apple and had insider knowledge, that Apple should have to pay less for it.


That isn't the assertion though. The assertion is that he shouldn't be able to charge whatever he wants.


I would have said. "Ok, 30% of the product relies on insider knowledge. You can have that for free. How much is the remaining 70% worth to you?"

Apple wasn't paying for the same insider knowledge of their platform's functionality that they already had; they were paying for the additional work that created new functionality.

I don't see any reason why he shouldn't have asked for as much as he thought the product was worth.


Well, true. But I think that's still a ridiculous assertion though.


Oh man you reckon that's poor negotiation skills, wait til you check out this guy http://www.nucalc.com/Story/

EDIT found a video of Ron telling the story in person http://video.google.com/videoplay?docid=-7497796873809571567...


"Sadly, Microsoft has effective building security". That says it all, about corporate mentality.


Ron appears to have got what he wanted, starting from a very bad position!


Just watched that, can't believe I'd never seen it before. Awesome!


rule number one: never negotiate in person (especially if you're inexperienced)


How do you do it? Email? Telephone? I'm legitimately interested, my negotiation skills are weak.


Work with a third party delegate that you know is good at negotiating.

If you don't know one off the top of your head and you are in a pinch, go with the cockiest asshole you know. While they may not be skilled negotiators, there attitude will deflect a lot of the low ball crap like the scare tactics mentioned in this article.

Negotiating is a mental game and that is why they say if you are weak at it don't do it in person. You will give yourself away with dozens of non-verbal actions. You can learn to not exhibit certain behaviors but that is only a third of the game, you also have to be firm and confident (the mental part) which has to be in your nature and then finally you have to be able to read their non-verbal communication.

That is why if you are not good, you are better to battle it out on a different field, as you are given the other party a significant advantage, 2/3 as a matter of fact, you are given them your non-verbal indicators and you are not picking up theirs, so you now you only have the last 1/3 to stand on. Hence if you have to do it, find an asshole because they have mastered that 1/3.

To answer you question more directly, a skilled delegate should be your first line, email should be your second and phone should be your third. Without a delegate, email is your best bet because you have the luxury of getting other people to vet it before the communication happens. Try to avoid the phone while negotiations are taking place, they are going to try to ambush you with a phone call, if they are a good negotiator because it bring you back half way to their battleground. In your first email on negotiations try to set the stage for email being the grounds that negotiations will take place. There is a plethora of valid reasons to do it over email, find one and stick with it.

If the initial contact happens in person, try to exit the situation without an answer like, let me think it over and I will get back to you or I have to discuss it with my partners (wife, dad, dog) before I can give you a firm commitment. This places the current negotiations in a suspended state, until you are in a position to resume them on your chosen battleground.


Second that, this is excellent advice.

If you have a stake in the outcome, and you're emotionally involved do not negotiate directly, place someone in between you and the other party. That gives you a bit of perspective and time to think things over before responding.

This is especially important if you are easy to 'read'.

The way to improve your negotiation skills is to be the negotiator for others in small stakes situations, then build it up over time to higher stakes.


That's one of the best bits of advice I've read on here.

I know a few people who are really good at negotiating - the difference between what they can achieve and what an "amateur" (like me) will get in a similar situation is astounding.


Show them you are ol'school and go with a fax.


Did they have fax machines at the time?


Steve Jobs should not follow this rule.


Rule number two: Avoid negotiating directly with Steve Jobs.


That should be rule number one, actually.


I am not sure about that. If you are a golfer and you have an opportunity to play with Tiger Woods, would you let it go? The mitigating factor is that you may be betting your life on it, still, I wouldn't avoid it just because it's Jobs. Maybe I am too cavalier.


OK, negotiate directly with Steve Jobs if you can afford to lose what's at stake, and then everyone else will seem easier by comparison.


Someone's got to be better than Jobs at negotiating. Most likely, it's not me, but I'd give it a shot ;)


Agreed. "Don't argue" seems like a really powerful negotiation technique if you've got the charisma/intensity to actually pull it off.


That's a great story. I'm not sure how many people can say they got a hard sell like that from both Bill Gates and Steve Jobs for one piece of software...


I feel like there should be an award for that. I feel accomplished when I manage to get car dealerships to compete over me, much less CEOs worth scrillions of dollars.


They were only worth quintillions back then, remember


Also a Gatesion is more than a "Bill"ion.


Probably my favourite 'Folklore' story (though I've by no means read them all) - I especially like the extra $50K kicker when Switcher was sold, something Jobs "swore they would never do".



Wow, just wow. I am amazed by two things 1) How much a jerk both Steve Jobs and Bill Gates are and 2) How young the engineers were that started all this...


They're not jerks, they're putting the interest of their companies first.


They could do so without being jerks though, and yes, I think they both come off as jerks. I can think of several ways in which they could have achieved the same thing without being jerks.


Let's not rewrite history.

A skilled engineer Andy was obviously a very poor salesman, a trait both Bill and Steve saw immediately. They took advantage of the situation for the benefit of the company and although wording might be harsh, what they did was fair.

It was up to Andy to haggle.

Bill wrote a unneeded "thank you" letter to Andy. Doesn't look like what a jerk does.

And he eventually got $ 150,000 for his work. That's a fair amount of money, isn't it?


> They took advantage of the situation

Contradicts the rest of what you wrote... The strongest point against that I can see is the fact that he saw it somewhere else first.


I don't understand what you mean.

Do you mean they should have been "nice" to him? If yes, why? They were doing business, not having a cocktail party.


There seems to be this unspoken assumption that you can't do business if you're not nice.

This is definitely not true. If I were Jobs (which I'm arguably not, so it is possible that you can't 'get there' by being nice) I would have seen quite a few possibilities achieving the same without coming off as a jerk.

Maybe we disagree on that, but I don't think you need to be like that in order to succeed. Some of the wealthiest people that I have known would never think of treating another person that way, business or not, and I find it surprising that Jobs would do this. It's just my personal take on this, don't make it in to an absolute.


We agree on that you don't have to be jerk to be successful.

I disagree when you say they haven't been nice with Andy. They've been "hard", but not mean (to me) and certainly not jerks. Steve used a fallacy to move his agenda but that's typical haggling (What! This used car is mint! And you want me to sell it for that price? You want me to close my business?!!).

Let's not forget the story is told from Andy's point of view. Bill and Jobs were probably very assertive and Andy might be sensitive to the point he perceived that negatively.


> Let's not forget the story is told from Andy's point of view.

That's very true, and from the other side it might come out very different.


Check out this other story about Jobs: http://www.folklore.org/StoryView.py?project=Macintosh&s...

I understand you probably did not have this story in mind when you made your comment, but he sounds like a jerk to me.


It is amazing how many young people can succeed in technical fields at a young age.

Most great physicists make some of their incredible discoveries when they are young.

Mark Zuckerburg was in college when facebook was created. Same with Napster and dozens of others.

Maybe, there is something special about that age. It is when you can actually use the brainpower, business intelligence, ext. If you have the goods, they seem to show around that age.


Yeah that's actually exactly it. People are evolutionarily wired to try to stand out/take risks at that age.

"The tendency [to take risks] probably affects one in five people, mostly young males, and declines with age. It may ensure our survival, even spur our evolution as individuals and as a species. Risk taking probably bestowed a crucial evolutionary advantage."

http://www.psychologytoday.com/articles/200910/risk


Also at that age someone else is subsidizing your existence so you can play around with whatever projects you feel like with no expectations


> ""But I don't want you taking advantage of this situation. I'm not going to allow you to take advantage of Apple."

> "What do you mean?" I asked him, genuinely puzzled.

> "There's no way that you could have written that program without confidential information that you learned by working at Apple. You don't have the right to charge whatever you like for it.""

Wow... that makes me think a whole lot less of Steve Jobs.

That information should have been public knowledge anyway, to try to claim a stake in something that someone wrote just because you don't document your stuff is really low.


Jobs also offered, 2.5 times what Gates did


It's a common practice that parts of systems that cannot be guaranteed to not change in upcoming releases are undocumented, and rightly so.


That's true, but that is not a reason to see that as giving you a stake in someone else's efforts. I think that's a low thing to do.


With inflation, that's only doubled: http://www.wolframalpha.com/input/?i=%24100%2C000+1984+%3D


Not a bad deal for sitting in your house for a few months working on something that you enjoy.


Or a really crappy deal compared to how much value Bill Gates and Steve Jobs got out of it.


Rule #1 of negotiation - once you accept, you don't have regrets. For all he knew at the time, either company could have disappeared at any time. You make your decisions based on your willingness to accept something in exchange for your product, and you don't scream "Unfair" later. At most, you analyze how you could have analyzed the situation, at the time, better, so your next negotiation works out better for you.

Go try bargaining for carpets in Morocco... it's great fun. They'll start at like $2000. You'll walk away with a carpet for $200. Some other guy will walk away with the same (well, they're all unique, but let's same the same in terms of craftsmanship and materials) for $2000. Both are happy, because they feel they paid a fair price for what they wanted.

The salesman gave me some advice - I don't recall the exact words, but it was basically "Friends, please, there is no reason now to be nervous - negotiation is negotiation, and if we agree on a price, we agree fully and with no regrets. If we do not agree, then we do not agree, with no regrets."

I need not feel guilty for paying such a small fee (from my point of view) for such a beautiful carpet - he would not have agreed to the sale if it was not to his benefit in some fashion. I also do not need to mock those who paid 10x what I did for the same carpet - as both us feel we paid a fair price for something we enjoy (and for all I know, the actual cost of buying those things from the source is $20, I have no idea, nor does it matter, unless I feel like flying into the mountains of morocco to go to the source - which I don't)

The home computer market was still very young and unproven.


And thus, benefits from trade.


Benefits from trade are a good notion.

However, some trades are completely unfair.

Example, Native Americans trading the island of Manhattan for a few dollars of beads.

Even though it is great business. It is immoral to me to lie about the value of a product. Just as it would be immoral to lie about it's functions.

However, I can easily empathize with people who try to get the best deal for themselves/their company.


Native Americans sold Manhattan for $24 in 1626. It may seem a low amount, but invested at an annual 6% that would be over $125 billion today.


And yet still worth less than Manhattan.


It seemed like he had an incredible product he could have sold for more in my opinion.

For contractual projects wouldn't it make sense to know the value of what is going to be produced (more or less) and then negotiate the percentage of it.

Is there anything akin to an agent for a programmer in this situation? In all seriousness, it might not be a bad idea for a business.

Assuming that you can add value to the talent by increasing contractual payoffs, and/or your organization could develop a reputation for excellence and potentially be sought out to find talent for certain jobs.

I'm picturing a mixture of a consultant, and a technical programming.

Any thoughts?


Keep in mind what the market looked like at the time - it was nothing whatsoever like today. The field was so new there were no ground rules. It was the wild west.

Either party could have also paid him nothing, hired someone else to do it, and been done with it.


Did anyone else think the story would end with the key combination being changed to "Ctrl+alt+delete"?


I was thinking command-option-escape (force quit on Mac).


Well, Microsoft was the comapny who he was talking about force-quit shortcut with, so I assumed the former.


Well, 100k is better than 40k


The conversation with Bill Gates in his office reads like something out of an Ayn Rand novel. This is awesome.


Damn, look at this: "... including a simple UI for selecting applications and 'Switcher Documents' for remembering sets of related applications."

I wish the concept of switcher documents had survived in the greater ecology - that would have been sweet.


If this isn't inspiring to "predict the future by inventing it", I don't know what is.


Excellent story. Anyone remember DESQview for DOS?

I really liked how his development cycles are spaced with mini-vacations.

Also, a nice look at the young Gates and Jobs.

...and he's a hardware hacker, too!

Good stuff.


I wonder if he'd gone with the single-heap-for-all-apps idea, whether or not it would have encouraged program interoperability?


It probably would have led to programs crashing other programs by heap corruption though. More separation is better.


When it got to the part where Andy was talking to Jobs and Jobs was trying to close a deal to buy Switcher, I could almost hear the click of Steve's Reality Distortion Field turning on. Also pictured him doing the hand-waving motion Kenobi did in Star Wars when doing the Jedi mind trick on stormtroopers. "These are not the droids you're looking for. One hundred thousand credits. The Jedi will not be taken advantage of. This little one is not worth your trouble."


I always thought the Jobsian reality distortion field was more inspirational. It turns on and engineers start thinking along the lines of, "Yeah, I guess we can pack a mobo into a single square inch."

What he described sounded like vanilla intimidation. I could feel the guy squirming in his seat.


Man, for some reason a mobo in a single square inch sounds like a great idea.

Must… resist… RDF…


Interesting to see the different approaches taken by Gates and Jobs. Gates: flattery, Jobs: implied threats.


great story. great insight into Jobs and Gates too, giving a glimpse of both in action in the same era, and dealing with the same issue.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: