Good in theory, but useless in practice unless you can actually see the difference between the tabs and an equivalent number of spaces. Otherwise some lines will have tabs, some will have spaces, and some will have a mixture. UG-ly.
If you're using an editor that displays tabs, good for you. But this story is about Visual Studio.
Also, as to the standing by your code comment- the two have nothing to do with each other. I stand by my code, and I take pride in fixing bugs even without a pager. If anything requiring the pager for that reason shows a lack of respect by management for the coder.
The developers are on call thing is stupid for a raft of other reasons
*It's not industry standard. Most developers won't put up with it. You lose lots of damn good people to it. Really, talk to a recruiter- when they ask why you left Amazon and you say "the pager" they just nod. Everyone hates it.
*Related to above, there's lots of good people who won't even interview there due to the pager. I *liked* the rest of my time at Amazon and am between jobs at the moment. I won't even apply there now unless I'm assured up front its a non-pager position.
*They're developers, not system administration experts, not operational experts. Most developers aren't experts in configuration of servers, server monitoring, etc. That's a separate set of skills. It makes a heck of a lot more sense to pay people who are experts in it to do that stuff, and just have them meet with the developers to figure out any special cases needed for those tools. Incidentally, pager duty is far closer industry standard for them than for developers.
*A developer who just got paged at 3 am is not going to do a good job fixing a problem. He's half asleep. For anything that doesn't absolutely need programming work right then and there, you're better off with someone fully alert. For something that does require programming to fix- you're better off waiting until morning unless its a true website is down affair. Typing in db commands while half asleep can cause massive problems. I remember one night I was staring at a screen and thought I had already typed in a where clause to a delete, when I had really typed it in on the query above and wasn't seeing right. Almost wiped the table.
*An on call team in Asia (or the US working nights- you can just hire a night shift) is going to be in the building and responding. The developer may or may not. For example, one member of my team stopped getting pages at his house when they swapped providers a few years back- his house was outside the coverage zone. People sleep through pages, or forget to keep it in the room. People mute it for a movie or the like, then forget to turn it on again when they're out. Pagers get lost, purposely, accidently, or through the hands of pissed off spouses (I knew someone who's wife flushed it down a toilet after being woken up too many times). Paging people just isn't reliable.
*Putting ops burden on devs like that has horrible consequences if a stream of people leave the team. Not only do you have to do their coding work, but their share of ops work as well. Teams can go into death spirals where someone leaves, causing pager duty to increase, which causes someone else to leave. I've seen teams reduced to 2-3 men by that before management stepped in right before they quit.
*Taking a dev off of coding to deal with server issues that aren't due to bugs is just lost productivity.
A closer analogy I think is:
Knowing how to make a pizza and then making it, doesn't mean it'll taste good. And, making good pizza doesn't mean you know exactly what you did, you're just talented.
The HeadOn people called.
The biggest benefit to tabs (especially if you code in a corporate environment) is that people can view the code based on *their* preferred indentation / spacing e,.g. I may like my tabs to be 2 spaces, another developer may prefer 3 or 4 spaces.
By setting up their IDE / editor to their preferred tab width, the code indents to the way they like it.
It's still possible with spaces - writing a script that counts the number of spaces at the beginning of each line, divides by N, and multiplies the result by M is trivial in any scripting language. I suspect it would be a one-liner in Perl.
Meanwhile, using tabs to align anything but the beginning of line (i.e. comments) fails utterly, because there you have to rely on a particular width to line things up. But then also there are formatting styles for which you need such alignment even at the beginning of the line. For example, in C, putting the first function parameter on the same line as opening parenthesis, and lining the rest up under it:
void
foo(int x,
float y,
char* z);
Go ahead, try that with tabs of size unknown in advance. Oh, and while the above may not be common formatting for C code, somthing similar is a de facto standard for some languages out there (e.g. Haskell, F#)
Make the record companies prove up their damages just like any other litigant would have to. And by "prove up their damages," I mean offer evidence to show exactly how many downloads of a song equals a lost sale. Hint: It's not 1:1. Let's say it's 100:1, so ($0.50/100) * 24 = $0.12 in damages. In this situation, an award of $1.20 would be ten times actual damages, the outer end of what the Supreme Court has said is acceptable for punitive damages. Even if the ratio is 10:1, damages 10x actuals only nets Big Content a $12 award.
More appropriately, the judicial system needs to realize that lawsuits between corporations and individuals are not disputes between equals and should not be treated as such. Unfortunately, that isn't going to happen any time soon with the U.S. Supreme Court ruling that corporations have the same rights to political speech that natural persons do.
(sigh)
I think if SAS dies, it's more likely to be a long, leisurely death. Their lock-in for business software is quite high--- it's a huge pain in the ass to completely transition a large company from SAS to anything else. Even if they stopped getting new customers altogether, I think their market share would decline only slowly.
It's used everywhere. Most importantly, Flash already uses it. You're most likely watching h.264 video every day.
Not even close. MPEG-2 is more widely used in general and on the web flash is more often paired up with Sorenson Spark. Only Chrome and Safari support H.264 for HTML5 video tags.
Only cell phones are dominated by H.264 and the lifetime of the average cell phone is short enough to upgrade in a few years if MPEG LA really starts going after content providers.
Steve Jobs even introduced Internet Explorer for the Mac once upon a time. Shipping with OS X.
This is an example of how far he is ready to go for profits. That was the same Steve Jobs as is running Apple today.
... if they actually care about the subject.
Quel surprise!
Truly simple systems... require infinite testing. -- Norman Augustine