...which won a Grammy last year for "Best Bluegrass Album", and for which he is actively touring right now.
So, yeah, his point is "here are the royalty riches you can expect when you make an award winning album and drag yourself all over the country promoting it."
Kind of explains the whole "Pink Panther 2" and "Cheaper by the Dozen 2" things.
Judge Learned Hand: "Anyone may arrange his affairs so that his taxes shall be as low as possible; he is not bound to choose that pattern which best pays the treasury. There is not even a patriotic duty to increase one's taxes. Over and over again the Courts have said that there is nothing sinister in so arranging affairs as to keep taxes as low as possible. Everyone does it, rich and poor alike and all do right, for nobody owes any public duty to pay more than the law demands."
That may be true, but the simple fact is that it's a lot easier for a large corporation to minimize its taxes than it is for a small business or individual. For example, a company like apple can afford to pay 10 people full time to move around money and assets in order to minimize taxes. Those people will save Apple far more than it costs to employ them. A 5 person company not only can't match that effort, but if they tried they would find that the necessary expertise cost more than the actual tax savings would bring. That gives large corporations a pretty significant advantage in the marketplace.
The difference being the tax situation is created by laws, and engineering is governed by reality.
The laws shouldn't create a situation where big, slow-moving corporations get huge built-in advantages over smaller, more innovative companies (I know apple is more innovative than many big companies but stay with me here). Particularly, they shouldn't be getting those advantages by paying a bunch of blood-sucking lawyers and accountants to move money around and create nothing. The law should, if anything, be providing support for smaller businesses.
No, I mean the small businesses that have created almost all of the new jobs over the last 20 years. A few here and a few there. Some of them got really big.
Can you give a more specific link to the bureau of labor statistics?
Assuming you're using the typical "500 employees" definition of small business, US census data doesn't seem to bear you out. For the period 1988 to 2003, see table 2c here: http://www.census.gov/epcd/www/smallbus.html
The percentage of paid employees employed by organizations with 500+ employees increased in the period 1988 to 2004, to 49.1% - as the total number of employees has increased by 30%.
Everybody says it all the time. Maybe they're all wrong, but probably you are. I don't mean to be rude but I'm not writing a book report here and am not going to spend my morning looking for charts.
Consider that Google's now a very large employer but were a very small business 10 years ago. The way you view that and similar cases probably influences the outcome quite a bit. Small companies get big, they get bought out, or they fail. Either way they created jobs for a little bit, and all 3 of those cases wouldn't be captured by the single year snapshot of data you linked to (why 2002?).
I'm now speculating, but I'd guess that a very small percentage of small businesses ever become big businesses, though it's almost surely true that all big businesses were at some point small businesses.
Your original argument seems to have been that the government should encourage innovative businesses, and I strongly agree with you there. I don't think business size is particularly relevant to that.
Success in business is highly complex. I'd guess that your assertion that small businesses get big, bought out, or fail is incorrect. Many small businesses remain small businesses for many years - think your corner dry cleaner or grocery.
The chart I pointed to looked at the years 1988-2004, not just 2002.
Of course, this post is no longer based in facts, just guesses. (If you're not interested in finding out the truth, I wont waste my time with real data any further.)
I assume Google created more jobs in the rise from 501 to >20,000 employees than they did in the 2-500 period.
I have heard statistics that a lot of the creation of jobs occurs with small business. Also, that a lot of the job losses occur at small businesses. The net jobs created are reflected in the bls statistics that show increase in employment among different kinds of businesses.
I think the point he is trying to make is that the current tax laws favor big businesses because, let's face it, the government is run by those businesses.
While I'm not arguing the system is perfectly fair - those large corporations also create jobs, and pay a huge amount of tax in raw numbers. People look at the percentages and say "Ohh look how they cheat...." - but look at the raw figures, and see where the tax dollars are really coming from.
Joe average 9-5 worker doesn't create jobs, or employ hundreds or thousands of people, and he does get tax breaks for certain things in his everyday life (dependants, mortgage payments, whatever) - a large corporation occupies a completely different place in the economy, and can indeed take advantage of different things.
(joe average 9-5 worker, even if a staff of 10 tax wizards helpded him out, wouldn't be able to save much on his income tax legally - because his financial situation is simple)
>>>Joe average 9-5 worker doesn't create jobs, or employ hundreds or thousands of people
And where would all the companies be that sell to Joe Average if Joe Average was out of work? How many of those jobs would vanish for all those other Joe Averages?
Joe Average also doesn't create books or movies or music -- but we depend on him to spend his money so those who do can keep doing so.
Spit on Joe Average and you are cutting your own throat.
Big companies can employ tax specialists, attorneys and accountants, certainly, to do all these things - it's definitely an expense that a small company can't afford.
But small companies have advantages too - being nimble and able to innovate much quicker than big companies, to name just two. It's important to recognise these advantages and exploit them as well as possible.
Also it's worth bearing in mind that Apple was once a small company in a garage too. They had to grow big and become profitable before they could hire people to minimise their tax bill.
Couldn't the differential tax rates for big corporations vs. individuals account for this?
An example with invented numbers: if the US Govt wants to tax corporations at 30% and individuals at 25%, but corporations are 10% better at avoiding taxes, than the actual corporate tax would be 33.33%.
But big companies also receive more scrutiny from regulators. The small business can take advantage of tax loopholes and is much less likely to be audited. There are always gray areas when it comes to taxes and small business don't have to spend as much energy/time defending themselves.
They are only avoiding some california taxes as well, at least according to the wiki page.
This is nowhere near as bad as IKEA, which is the largest charitable organisation in the world, pulling in billions of dollars a year, and paying out a million to help design new furniture.
Ikea is so good at not paying taxes that I would say the whole company is a tax evasion hack. The number of subsidiaries in random countries and crazy charities that make up the company is astounding.
That's interesting. I know little of US tax laws but in my country if an arrangement has no legitimate purpose other than to minimize tax then it can be seen as tax evasion and the tax department can choose to tax under an alternative regime that they decide matches its "true" nature. Similar to how if you claim to be a contractor but you do all your work for one company they can decide to treat you as an employee. Of course, it is fairly easy to work around, so this does not have a lot of teeth, but it still weeds out the most egregious tax avoidance schemes.
That's generally true in the USA, but the catch here is that the states are sovereign entities. Different states have different tax structures, in part to attract residents, business and investment.
Yes, but in practice, this means that the middle classes pay most of the tax, since the poor don't earn enough, while the rich are able to afford different wealth structures that e.g. fall under capital appreciation, or are structured around shares of ownership and operated in a different state or country for tax reasons, etc.
In other words, the burden of funding of the state - the security, infrastructure and social consensus which is the foundation of all citizens' wealth - proportionately falls least on those that benefit from it most.
Yeah, but they make more than 50% and more than 3/4 of the income, respectively.
Richer people pay lower taxes as a percentage of their income than the middle class. Much lower. It'd be lower even if they did it all by the book and didn't hire expensive accountants and use offshore accounts, tax havens and all of that. Once you add that stuff in it's significantly lower.
It's a bug, not a feature. Meanwhile, presumably you're not a multi-millionaire, and you're actually cheering for them to pay less off their income in taxes than you do. Pretty funny stuff.
First, how do you know that I'm cheering for anything? I stated a simple fact. It doesn't mean that I approve of it. And my post was in response to this claim: Yes, but in practice, this means that the middle classes pay most of the tax
While "the rich" might pay a lower percentage of their income in taxes, it's just flat-out false that the middle class pay "most of the taxes." Whether this should or shouldn't be the case is a discussion for another day.
Well, the wikipedia cites the WSJ, which is behind a paywall. I suspect that they're either wrong or creatively fudging things.
After 100k your FICA payments taper off to nothing. That's money off the top, right into your pocket. Additionally, the capital gains taxes are only 15% compared to much higher for income. This means that the wealthy have a hugely advantageous tax situation.
Although, I thought that the bottom of the top 5% was higher than 137k. Another wiki here: http://en.wikipedia.org/wiki/Household_income_in_the_United_... puts it at 157k, which is probably high enough to tilt the math towards what I was saying. Certainly over 150-200k your tax burden as a % of income starts going down, due to the decreased FICA contribution and potentially a share of income from capital gains.
> After 100k your FICA payments taper off to nothing. That's money off the top, right into your pocket.
Since your SS benefits are also capped, it's unclear why you think that capping the taxes is wrong.
The folks who set up SS thought that the tax and payout cap was a good thing beause it kept rich people from caring about SS. If you uncap both taxes and payout, you end up paying Ross Perot $400k/year in retirement. If you uncap taxes but cap payout, rich people start caring about SS.
What is your alternative to capped payout and taxes?
FWIW, SS payouts are progressive - the less you contribute, the better your return.
If your income comes from capital gains or creative accounting, yes.
But if you're a salaried worker earning over 150-200k, the percentage of your income going to federal income tax is greater as your income increases - more of your income falls into a higher bracket. (Also, FICA doesn't drop to nothing, it drops to 1.45% from 7.65%, saving you 6.2%.)
See e.g. http://en.wikipedia.org/wiki/File:US_income_tax_2008.svg
You are assuming that as income rises above 150-200k, it takes forms that are taxed at a lower rate, not just "potentially".
Hm, you actually may be right, assuming no accounting and no income from capital gains, high-paid salaried workers do pay more in taxes. And they're probably earning their pay. So I was wrong on that part of the math.
Meanwhile, people who are supremely highly paid (in the > 500k -> millions range) usually get a big chunk of it in options. That's fine as a payment plan, I even agree with it, but they should pay the going rate on their income. And that's not even getting into my real beef, which is the culture of "tax avoidance is honorable" that's pervasive in higher-end business - it diverts labor into parlor tricks and disadvantages actual innovation.
Option grants are taxed as income too, the advantage to options is that any increase in stock price can be taxed as capital gains if you exercise the option immediately and hold the stock for more than 1 year.
Direct stock grants are also taxed as income, with the same caveat that stock value appreciation can be taxed at the lower capital gains rate.
It sounds like your beef is with the capital gains tax rate, not income tax itself. :)
I can't speak to the culture of "tax avoidance is honorable", but if the federal government is trying to incentivize people to behave in a certain way (say, to invest in stocks in the long-term) by giving folks who do that a tax break...then your beef is really with the government wanting people to invest long-term in stocks. That seems like a more difficult argument to make.
My beef is precisely with the culture of tax avoidance and the loopholes that you're so neatly sidestepping in this conversation. Ok, maybe it's not quite so bad as I'm making it out until you consider the loopholes and everything. In reality, the overwhelming majority of people earning > $1 million are probably paying a lower % of their income in taxes than I am, after deductions, spending a significant chunk of my yearly salary on accountants, the whole mess. That's ridiculous.
Taking a wealthy friend as an example, and watching how many jobs he's created, how many charities he's created, and how many lives he's changed - plus the sheer raw numbers of dollars he paid in taxes on top of all that - I don't really care if the percentage is less than mine. I didn't create 500 jobs or donate hundreds of thousands of dollars to real-life charities every year.
EDIT: That doesn't mean I think the system is perfect or that people don't cheat, or that the wealthy are somehow innocent - money is power, and those with more money will exert more influence on how to keep more of it - that's natural.
Yeah, and he did all of that because we have a society that enabled him to do it.
Good for him. Seriously. But if he doesn't feel obligated to pay back towards that society then he's either missing something inside or fell victim to a convienent ideology that told him it's good to be selfish.
Whatever happened to noblesse oblige?
Not to mention, of the millionaires I've met, most aren't entrepreneurs and didn't create any jobs, they just worked in finance.
EDIT: To add: If your friend has those millions and likes the society he earned it in, it's probably worth him paying back into it purely as an investment. If we actually funded infrastructure and education in this country, we might see better returns from them.
Are you donating all the extra money you have to the IRS? Are you skipping all deductions, even if you're eligible for them? Why not?
Your argument is essentially that we have a duty to pay as much tax as possible. But this is predicated on the belief that paying taxes is the best way to benefit society with your resources. Obviously, this is a long-standing debate that we won't solve here, but I would argue that the government is a terrible, terrible steward of resources, and I'd much rather have the money in the hands of "the rich", who seem far more likely to invest it and create jobs and institutions that better society. And yes, enrich themselves along the way. I'm fine with that. A rising tide floats all boats.
Again, I find it humorous that people who get all worked up over someone minimizing their tax liability through tax avoidance (completely legal) seem really interested in raising tax revenue, as long as it's someone else's money. None of them are sending donation checks to the IRS, which seems the height of hypocrisy. You have shit you don't need and someone else needs shit you have, so why not donate the money and let the IRS help those poor folks out? If you truly believe the government is the best way to allocate limited resources, why wouldn't you do this?
I'm in the band of income that pays the absolute highest taxes as a % of income. I just want rich people to pay the same % as I do, or a tiny bit higher since they'll miss it less. I don't complain about paying my taxes, I see them as membership fees to live in a society with laws and running water and OSHA.
It's not about "small govt" or "big govt", those are just buzzwords. The government's hugely in the red either way. Who convinced you that this was ideological, rather than a matter of simply paying their fair share?
While we might be able to justify one person paying orders of magnitude more taxes than another, based on the overall benefit to society as a whole, let's not pervert language by describing that system as 'fair'. In fair systems, people get the same service for the same price.
Yeah, and in an anarchic system, power and money flow upwards until it's unsustainable and it collapses.
We're not living in caves, definitions of fair should include upward mobility.
And who says they're not getting the same service? Wealthy corporations and individuals get a ton of services from the US gov't, from subsidies to infrastructure to direct benefit from the State Dept and military.
We're not living in caves, definitions of fair should include upward mobility.
Are we talking absolute upward mobility, or relative upward mobility? If absolute, then we already have that. If relative, that's impossible...not everyone can be simultaneously relatively upwardly mobile :)
I don't know about other people, but I don't go out of my way to avoid taxes. I certainly don't create new companies or change how I do business in order to avoid taxes. If there's an actual deduction box on a form that I'm eligible for, sure, I'll check it. But I don't really spend days thinking up ways to hide my income. Any time I would've spent on that could be much more productively spent by just making more income.
"Any time I would've spent on that could be much more productively spent by just making more income."
Which is actually a good reason to make taxes lower and less burdensome, so the most productive members of our society (as measured by income) will spend their time producing, instead of defending the fruits of their labor from the tax man.
In my experience, the kinds of people who spend the most time on minimizing taxes are precisely the opposite of productive members of society: heirs and heiresses with large assets and passive incomes, but not much real capacity for earning income through their own labors. You generally see complex tax-avoidance trust structures in these "old-money" families much more than you see them in new-money families. For them, it's a rational decision, because the opportunity cost of spending a bunch of time/effort on tax avoidance is low: they aren't wasting time that they would otherwise have put to more productive uses.
Well, it's certainly a reason to make them simpler.
But those same big companies with the same high priced lawyers, accountants and lobbyists never tend to actually advocate for making them simpler. Oh, they might say that in public and at your Ayn Rand book club, but it's not what they say when they're speaking to the congressmen.
EDIT: Hey guys, I wasn't dissing Ayn Rand, don't get so defensive. Just, you know.. who's got a really big interest in making sure people believe all this stuff? Might be worth thinking about.
Big corporations don't actually have an interest in a simple tax code -- more complicated means their accountants give them a competitive advantage.
I think the point here is that he "paid back toward society" by creating jobs and charities, not by forking over his money to the government for it to waste on inefficient pork-barrel projects and other ill-chosen boondoggles. Why do you apparently think we can only help society by giving money to the IRS?
Anecdotes don't prove anything. Plenty of rich people don't create any jobs (directly anyway) and if they are giving to charities it's usually for tax reasons and/or PR. If you had the money your rich friend has you almost certainly would have donated a similar amount to charity.
Why the downvotes? The linked page points to the judicial concept of the "Race to the Bottom" in which countries/states/counties competitively weaken their laws to attract investment.
Presumably it would be the holders of the putatively infringed patents that would be assembling the "pool". I don't think Apple is in the Video Codec patent-holding business. As a major licensee of H.264, you'd have to presume Apple be in a position to know if someone else was rounding up the usual suspects.
Apple has one patent in the H.264 pool, US 7292636, and one in the MPEG-4 Systems pool, US 6134243. I have no idea if either of these would be relevant to Theora.
For what it's worth, there are hundreds of patents in the total MPEG-LA pool.
> For what it's worth, there are hundreds of patents in the total MPEG-LA pool.
Furthermore, it's not clear what Apple would stand to gain by enforcing its two patents that may or may not be relevant to Theora. Maybe I'm wrong, but media patent enforcement doesn't seem to be one of Apple's core businesses (HTC lawsuit notwithstanding). There are plenty of other companies, though, that likely have a vested interest in protecting their much-larger video patent portfolios.
I think it would be wrong to assume at this point that Apple is instigating patent litigation against Theora. Occam's razor would encourage the view that Apple knows the people who want to take down Theora and is rationally fearful of them.
Apple stands to gain more than just licensing fees by threatening any non-H.264 codec. As Steve Jobs points out in his "Thoughts on Flash", Apple has millions of devices in the wild whose hardware is optimized exclusively for H.264. If any other video format gains dominance, the devices will not work nearly as well (cutting the battery life by half just to play an older codec, in his example).
It's a good point that Apple's mobile devices are invested in H.264, but do you really think that -- were Theora successful and safe from litigation -- Apple wouldn't put a hypothetical Theora decoder in the iPhone? It doesn't seem rational to me to oppose Theora just because current hardware doesn't support it. Consider, for example, how Apple has largely left FireWire (its own technology) behind in favor of USB. Apple is a very "out with the old" company.
No, his example referenced a little known fact about H.264, comparing hardware decodable H.264 versus non-hardware-decodable H.264. The iPhone isn't playing some other codec.
H.264 can be encoded, using the same tools, in a way that can, or cannot, be hardware decoded.
I was pretty sure he was referring to VP6-encoded Flash video, not some version of H.264 that is harder to decode. Could you provide more information on non-hardware-decodable versions?
VP6-encoded Flash video doesn't run on the iPhone, so that's not what he was referring to.
I believe Jobs is talking about comparing two videos on the iPhone, with hardware accelerated video lasting 10 hours and non-accelerated video lasting 5 hours. You may not notice if you're not paying attention to battery while you watch video.
To the sibling comment here, I'm not referring to profiles. I'm referring to the fact that various implementations of H.264 encoders produce content that, depending on the implementation, may or may not be accelerated by the iPhone's PowerVR SGX 535.
One can produce a pair of H.264 encoded in .mp4 container movies, encoded from the same mpeg2ts original, one of which can use hardware acceleration, and the other of which cannot.
(I haven't had the chance to check yet if Adobe's 'Gala' responds the same way to such files on the desktop Macs Gala supports.)
iPhone (and Android phones) can decode only certain profiles (Baseline), and up to certain levels (depending on resolution). Even hardware assisted decoding with PC graphics cards can accelerate only up to certain level (usually high@4.1, but some nvidias can decode high@5).
The rest is more complex than hardware assisted decoders are able to decode and pure software codec has to be used.
I copied this High@3.0 file out of my iTunes library and it successfully syncs to my 3GS.
I can't get it to play over Wifi, while I can get a Main@3.0 file to play, but I think this has something to do with not enforcing some bitrate limit rather than the profile.
iPhones don't even support Main profile (though some suggest that the 3GS actually has enough power to do so, it's only software limited by Apple to keep the line homogenous).
Search for "Baseline Profile" on this page for the full details:
First, those are questions for a variety of different positions all mixed together. Product manager candidates get asked different questions than engineering candidates.
Second, yes, Microsoft tracks the effectiveness of interviewers based on the outcome of the interview loops and the performance of the people who get hired.
Third, all of the questions listed, no matter how trivial they seem, are dispositive. I've interviewed engineering candidates with PhD's from top tier universities who couldn't reverse a linked list when asked, or who couldn't even explain basic concepts in their putative focus areas. You have to ask the seemingly stupid stuff -- it's a continual surprise.
Full disclosure: no, I don't work there now. Yes, I used to, a very long time ago.
"Third, all of the questions listed, no matter how trivial they seem, are dispositive. I've interviewed engineering candidates with PhD's from top tier universities who couldn't reverse a linked list when asked, or who couldn't even explain basic concepts in their putative focus areas. You have to ask the seemingly stupid stuff -- it's a continual surprise."
While there are certainly idiots with PhDs, if you've got a candidate with a PhD from a top-tier institution who "can't reverse a linked-list", it's most likely because (s)he is under-prepared at the art of technical interviewing. Idiocy is clearly not impossible, but the conclusion that the candidate is an idiot should be on the low-prior-probability event list.
One thing that drives me absolutely crazy about technical interviews today is that most interviewers have completely lost the bubble on what they're trying to accomplish. It's become a bizarre, nerdy form of Kabuki theater, wherein candidates are madly trying to cram their heads full of list- and string-algorithm esoterica, while hoping that they're not presented questions so unfamiliar that they can't derive the answer in under 30 minutes, at a whiteboard. If the interviewer doesn't take this into account (and few do), the interview becomes little more than a random, high-pass screen, wherein lots of smart people are eliminated from positions based on bad luck, and little else.
Joel (on Software) has it right, but it seems like few people are listening: you want to make sure the candidate is smart, and can get things done. That's it. The goal is not to see if they're the next human incarnation of Alan Turing, and it's certainly not to see if they can derive fiendishly difficult algorithms during a whiteboard lecture (call me crazy, but I'm reasonably sure that Turing didn't come up with his theories while talking continuously in front of a whiteboard, while some asperger-y geek sneered at him from across the room.)
When you're interviewing, you want to make sure that the candidate can write code, that they're reasonably smart, and (IMHO) that they're not an asshole. It seems to me that our industry has taken "coding puzzle" and turned it into "crappy intelligence test", while largely ignoring the "not an asshole" part of the equation -- the part that's usually the most important in real life.
I could not agree more. The thing I finally realized is, it doesn't matter. Someone who will struggle reversing a linked list will struggle on any coding problem, no matter how simple. The one I ask is: given a string, return a hash where the keys are each letter in the string, and the values are how often it appears: "hello" becomes
{"h"=>1, "e"=>1, "l"=>2", "o"=>1"}
This question has stumped almost everyone I have asked it to. Either they just sat there and wouldn't code it, or they made insane mistakes like getting the syntax of writing a function wrong, or they couldn't write a loop that worked.
I let them do it on a laptop, I let them look at any API documentation they want, and I offer them help when they're stuck. It doesn't matter. Would they also flail trying to reverse a linked list? Sure, definitely. But why bother? This is the simplest thing that will cause non-programmers to flail, so why make it hard?
Plus the added benefit: a manager might claim "when will they ever need to reverse a linked list?" but nobody's going to say that writing a loop is unreasonable.
Reversing a linked list is not an Alan-Turing-level problem.
I've used the reverse-a-list problem (and others of a broadly similar kind) in interviews. It shouldn't matter at all if a candidate hasn't read or written any list-manipulation code in years; that gives them the chance to sit and scribble some diagrams for me and work out how to do it. I don't mind much if they don't end up with a beautifully neat solution. I want to know things like: Did they check for edge cases? Did they blunder around trying things until they got code they couldn't prove was wrong, or did they work out something that ought to work and then implement it, or what? Did they ask themselves questions like "what facts ought always to be true at this point in the code?"? If they produce an inelegant or inefficient solution and I say "So what happens if you do X?" or "Could you do anything about Y?", do they panic and freeze or do they get thinking about the question? These are not a matter of having crammed their heads with algorithm esoterica. They're a matter of being reasonably comfortable with code, and being a problem-solver rather than a copy-and-paste artist.
I'm quite sure there are plenty of software developer jobs that can in fact be done by someone who's fundamentally not very comfortable thinking about code, and/or who has little interest in problem-solving or little aptitude for it. It happens that those aren't the jobs I've interviewed people for, but they're real enough and collectively they probably account for a majority of the value added to society by software development. But when you're interviewing for a job that does call for independent thinking and fluent code reading and writing, that sort of question -- if used correctly -- is very valuable.
Of course, an interviewer who thinks the point is to say "Write me some code that reverses a linked list" and then vote yes if the candidate does it on the spot and no otherwise, is going to reject some good candidates and accept some bad ones. But an interviewer who thinks that way is going to get lousy results regardless.
"Reversing a linked list is not an Alan-Turing-level problem."
I'm not suggesting that it is. The problem is, people are asking much harder questions -- questions that require "aha" brilliance -- and using it as a proxy for intelligence. That's stupid.
Hell...it's not even a deal-breaker if someone has to struggle a little to work out the algorithm for reversing a list, so long as they get it right. The problem is that if you spend more than 5 minutes (or whatever) doing it, 99% of nerds are going to flip the idiot bit on you, and it's time for "Do You Have Any Questions For Me?"
Once you've set up the game such that a candidate has to memorize the answer to "easy" questions to perform, there's no end to the regurgitation that could be required. Before long, people are committing obscure algorithms to memory, because "someone might ask", and they don't want to appear to be stupid. It's a waste of time and energy for everyone involved.
Well, FWIW, when I've asked people "write me code to reverse a list", I've simply assumed that unless the candidate is a real superstar it'll probably take them a while to get to a working solution, and I'm happy to give them some help along the way. I completely agree that an interviewer who expects a correct solution within a few minutes (even to a relatively simple problem like that one) is being dumb and helping to make the world a worse place.
As for "aha! brilliance", the trouble with that is that the variance is so large; someone very good may well take a while, and someone not so good may well happen to get there quickly.
"Gets-things-done" people prepare for technical interviews, such that they don't flub simple questions. The danger for the employer is that lots of Computer Science PhDs end up not writing much code during their research, and may not be a good fit at many tech employers.
"Interview for Smart and Gets Things Done" is an accurate explanatory abstraction over what good interviewers do, but it's not prescriptive enough to tell people what questions to ask and how to judge the results.
"'Gets-things-done' people prepare for technical interviews, such that they don't flub simple questions."
So, let's be clear: you're admitting that you're screening for a trait that you assume is correlated with the trait that you actually want. I don't grant the assumption, but it should at least be explicitly stated.
"The danger for the employer is that lots of Computer Science PhDs end up not writing much code during their research, and may not be a good fit at many tech employers."
How many computer science PhDs have you hired, let alone interviewed? I'd wager that it's not enough for you to be able to make this judgment with any confidence. And even if you're right, how does asking questions about linked-list reversal address the question of the tendency of a person to do practical work? Aside from tech interviews, I've never once in my life had to write a linked-list reversing routine.
Look, I'm not saying "don't ask coding questions" -- I'm saying that we need to start being reasonable. Don't assume that a candidate is a no-hire simply because that they haven't pre-memorized the algorithms for the questions that you're asking. It's ridiculous that we're screening people based on the number of silly tricks that they can memorize from interview question websites.
I think by and large we agree: It's wrong to expect memorized answers or to ask questions that are so narrow that they only test whether a candidate spent time studying. I'd even go so far as to say that algorithmic questions are probably not good indicators for skill at many kinds of work we would call "programming"---i.e. Programming skill is more heterogeneous than many interviewers admit. We shouldn't expect a jQuery wiz to nail low-level data structure questions, and we shouldn't expect a bit-twiddling video codec developer to really grok method chaining in 30 minutes.
The trouble with "Be reasonable" is that's it's the advice equivalent of a tautology. Of course we should be reasonable when interviewing. But I don't think there's widespread agreement about how to operationalize that. I'd be curious for more detail about how you would do it---you seem to have strong, well-informed feelings on this issue.
To my knowledge, there's basically no publicly-available research on tech interview factors and how they correlate with on-the-job performance. The good big employers do this research internally and keep it to themselves. The rest of us are stuck with assumptions, intuitions, logic and argument. So unfortunately I don't think we'll be able to get the debate into the realm of interpreting real data anytime soon.
"The trouble with "Be reasonable" is that's it's the advice equivalent of a tautology. Of course we should be reasonable when interviewing. But I don't think there's widespread agreement about how to operationalize that. I'd be curious for more detail about how you would do it---you seem to have strong, well-informed feelings on this issue."
I think my primary argument is that it's basically impossible to assess "intelligence" at a 30-minute white-board session. There are too many other factors: thinking style, nerves, fear of speaking, etc. But most interviewers will flip the idiot bit if you don't answer their pet algorithm question quickly enough; it can be very difficult to come back from that kind of deficit.
It's usually pretty easy to tell if someone can't code -- you give them a straightforward problem (no "aha" moment required), and make them write the code. If you're really worried about it, give them a phone-screen problem that requires coding, then make them write a variant of the solution during the interview.
For "intelligence" testing, I like to give design problems, since they're far more representative of what will happen on the job. For these, I usually reach back into the grab-bag of recently-solved problems, and ask them to sketch out a solution, then iterate. If their solution is better than my own, that's a win. If it's the same, that's good too. If they just can't come up with something reasonable...well, we have a problem.
But note what you don't see here: there are no situations where I ask a question that requires a moment of algorithmic brilliance. That's just too random. Google can get away with that kind of stuff, because they get thousands of resumes a day, and can't possibly hire every good engineer that applies. For the rest of us, we have to be a bit more intelligent.
If the job involves writing code, you're going to be asked to write code in the interview.
The "reverse-a-linked-list" question is an attempt at "minimal coding question that anyone should be able to do in 15 minutes at a whiteboard". It's an indicator, a mark of the ability to think on your feet and understand the basics -- think of it as the "pons asinorum" of programming. (cf http://en.wikipedia.org/wiki/Pons_asinorum)
If you're going to demand argument-from-authority, I've probably interviewed more than 200 PhD's for various positions over the last 30 years, and a statistically significant number of them were unable to pass a basic set of tests that history has shown to indicate the ability to function in an industrial-style software development environment.
Industry demands a different skill set than research; not better, not worse, just different.
I wasn't demanding an argument from authority; I was trying to point out that your argument is just an opinion -- you're already arguing from authority.
" I've probably interviewed more than 200 PhD's for various positions over the last 30 years, and a statistically significant number of them were unable to pass a basic set of tests that history has shown to indicate the ability to function in an industrial-style software development environment."
What you're saying is that a "significant" number of PhDs (from a small sample that you have interviewed), have not passed the tests that you put in front of them. That's a long way from the argument that PhDs tend not to thrive in industry.
Ignoring the fact that you're begging the question (are your tests any good?), I would wager that a "significant number" of interviewees with any degree would fail your tests. The question is, do PhDs fail at a higher or lower rate? I very seriously doubt you have enough data to substantiate your claims about the industry-worthiness of people with doctoral degrees.
I don't know how it works in the US, but in the UK a PhD is usually awarded based purely on research - there is relatively little cutting edge research that I am aware of that hinges on manipulating linked lists. :-)
I have absolutely no opinion about the validity of this particular patent, but I want to forestall a bunch of random griping.
Please, please don't post commentary that involves "just reading the patent" and thinking (a) you know what it means, or (b) saying that it's "obvious" from a cursory glance.
All patents need to be interpreted in light of their "file history", which is the correspondence between the Patent Office and the filer during the patent examination. It is literally true that the words in the text may not mean what you think they do.
It is not uncommon for patent claims to be completely changed by the file history, which in complex cases can comprise thousands of pages of back and forth; if you pay the copying costs you can get the patent office to send you the file for any particular patent.
If a patent has been litigated, you may be able to figure out what the court and the original patent examiner thought the patent meant by reading the lawsuit filings and judgement, but just looking at the patent by itself is not necessarily going to help you understand the details.
Miller says that the bugs have a market value beyond $5000 -- indeed, he claims that an IE8 exploit has a "market value" of over $50k.
But that market value exists only if you're willing to sell the exploits to people who either (a) are planning to use them or (b) want to fix them. The former group are the ones setting the market value, since they're the ones who are going to monetize the exploits.
The idea of announcing NO MORE FREE BUGS really amounts to saying to the world "I'm either going to sell my work to criminals, or am going to participate in an ongoing blackmail scheme to make myself rich."
I don't like vulnerability markets. It seems to me like a flaw is more valuable before it's patched, and more valuable before it's disclosed. Like plutonium, anything done to make it safer makes it less valuable. If you're going to pay top dollar for something like that, you bother me.
But I have two problems with where you're going.
First, finding a bug in your own time and not telling Apple about it unless they pay you isn't blackmail. Charlie Miller bills $300/hour. His work product is worth money. Apple has no right to confiscate it. If the dilemma was, "pay up or it's going to the Russian Mafia", it'd be blackmail. But if you think Charlie Miller is selling vulnerabilities to the Russian Mafia, you're a jackass.
Second, the reason you don't see me at CanSecWest --- well, one of them, another being that Nils and Charlie and Dino would crush me --- is that I spent all day reversing protocols, writing fuzzers, and finding flaws. For cash. Vendors pay us, and so do large companies that buy from those vendors. It's my day job; it's a job; money changes hands. How is Charlie's proposal different?
I think it is different. But it's way more subtle than you're making out to be. It's also a common industry practice, so making him the face of it isn't a great play.
I have no problem with you, Charlie, or anyone else being paid top dollar for his or her work, particularly in an important field like security research.
Indeed, I think it's a great idea for Apple and the other vendors to reimburse 3rd parties for high quality results.
But he wasn't saying "I put X hours into this, and therefore it's worth $X*(billing rate)."
He was saying "the market value of this is $Z., and it's more for things that have a greater impact."
I don't know Charlie Miller from a hole in the ground, and so I have no idea if he's going to be selling his work to the Russian Mafia. If you say he's a great guy, I'm sure you're right.
Nevertheless, if he thinks that security exploits have a market value beyond a reasonable billing rate, he's implicitly using the threat of the Bad Guys to raise the value of his work.
Charlie has actually written about this issue before in a more academic context:
weis2007.econinfosec.org/papers/29.pdf
Based on the limited data in the paper, it seems that it's the government rather than the vendors that is actually setting the price in the legitimate market, at least for high quality exploits.
I think the X*(billing rate) calculation ignores the risk that the researcher took. It's a little like saying that a startup should be worth exactly the amount of money that has been invested in it.
If Charlie Miller doesn't find bugs in Safari, it is more likely that the Russian Mafia will get them from someone else. If Miller decides to boycott Apple security research until Apple pays better --- to just stop doing the work --- is he implicitly using the threat of Bad Guys to raise the value of his work?
[Let's use "Alice" as the name of our hypothetical security researcher.]
If the Bad Guys can get the exploit from someone else, then Apple equally could pay someone other than Alice to disclose it to them. Your premise assumes the work is fungible.
If the entire set of people (including Alice) who are capable of finding these vulnerabilities conspired to withhold their work and push the White Hat market clearing price up to the level that the Bad Guys will pay, then the answer to your question would be yes.
If it's a market without price fixing, then Alice withholding her work doesn't materially affect the actual price of the exploit to Apple, and in that case the answer to your question is no.
You're missing the point. Apple isn't matching the market's bid for these vulnerabilities. Clearly, people besides Miller can find Safari flaws; the difference is, when Miller finds them, we know they aren't being sold to organized crime. By your logic, if he stopped, he'd be making things better for the Bad Guys; he's therefore obligated to do the work.
You're missing mine, I'm afraid: I've made no claim about anyone having to do anything. Indeed, if I was in Charlie's shoes, I wouldn't be working on spec.
Let me put it another way.
There are two markets for exploits: the legitimate one, and the criminal one.
Charlie is participating in the legitimate one. He's going to get paid what the sole counterparty wants to pay him. We can argue about what the counterparty should pay him, but that's up to Apple (in this case), and there are a lot of different things that might enter into their calculation.
An argument that uses the value of the exploit in the criminal market in an attempt to set a value in the legitimate one only makes sense in one of two cases: (a) you're going to take your work and sell it over there, or (b) you claim that someone else either has already discovered or will soon discover the same exploit independently, and will choose to sell it on the criminal market, and therefore the value of your work should reflect the danger of that happening.
In the first case, you're engaging in blackmail.
In the second case, it's just not a very good argument -- because the chance that each element in the chain of reasoning about the value (it's about to be or has already been discovered by someone else, it's going to end up on the black market, it's a substantial risk for a 0-day, etc.) is not true represents a probability that reduces the overall value of your exploit in the legitimate market. Plus, there's the additional reductions in exploit value that come from the vendor not actually caring that much about fixing problems until they're in the wild, or having already found the issue and decided that the particular problem isn't worth fixing for a variety of non-technical reasons, or any one of a dozen other external factors.
Working on spec and then demanding that the vendors match the exploit values that the criminal market is paying is just a Bad Idea, morally and practically.
No, but that's not his point. (I think) he says there's something wrong with him basing his price on what criminals would pay (regardless of whether he would actually sell it to criminals).
I don't know. If he can't ask whatever he wants for it and Apple can't pay whatever they want for it, there's no simple solution.
I think we've latched too much on the pricing specifics. I don't think Miller cares; I think he's just trying to illustrate that there is in fact a market value for this work, and that vendors and customers appear to expect to get the work product for free.
One's billing rate is determined by the market value of one's services. For instance, I may be able to charge $300/hr for general security consulting to a software vendor, but I cannot expect $300/hr for flipping burgers at a fast food place. It's contextual; there's not one price assigned to one person. If Charlie finds an exploit that could potentially cause a lot of damage, it's perfectly reasonable to expect the vendor to pay a value proportionate to that exploit's potential liability, damages, etc.
Hourly rates are determined based on market rates, and vary from job to job.
Conversely, he is basically stating that third parties like himself are working as exploit-oriented QA Engineers for the software they are exploiting. If full-time QA people get paid for it, why shouldn't he?
Please enlighten me... I don't see any mention of selling the exploit to criminals, just mention that they could get a lot more money than is offered. Is there just a subtext I'm missing with those statements?
So, yeah, his point is "here are the royalty riches you can expect when you make an award winning album and drag yourself all over the country promoting it."
Kind of explains the whole "Pink Panther 2" and "Cheaper by the Dozen 2" things.