Not all of the impressions of snobbery at Microsoft are real, though. I found them very friendly in my interviews, and very down-to-earth. Probably depends on the group you're interviewing with, but there's a lot of people who are just good at what they do, and want you to show them that you're good at it as well.
I interviewed with Microsoft, twice. My first interviewer had never written a line of code, so I had to explain everything I did to her. It's possible they were trying to determine whether or not I knew what a stack was, but I kinda doubt it.
So they called me back in for a second interview. The guy was really nice, but the questions he asked were pretty stupid. Tough coding problems answered on the spot are not a good indication of ability -- sure, you may have to solve problems like these at your job, but you'll have more than five minutes to think about them. Since I was applying for an SDET position (software development engineer and test), I feel that asking questions that sound like exam questions for an algorithms course is relatively pointless. Why not ask about design, testing process, overall development process? Why not ask language questions (competence in C++ was assumed)? Instead, they ask "how would you delete a node from a singly linked list without a pointer to the head?" Well... you don't... safely, anyway. And even if you can assume it's safe, you're still leaving out the edge case. I explained that, but I didn't get hired because I couldn't come up with a way to rearrange a string of uppercase, lowercase, and spaces with uppercase first, then spaces, then lowercase in one pass (strlen() counts as a pass).
That's OK though, because I have a job now where my boss recognizes my ability, and wants to nurture it, so that I can reach that mastery level of software craftsmanship. Why? Because he's trying to train pros, so that he's got a team full of pros.
Uh, if you're depending on a warlock, priest (lol, holy nova?) or paladin (???) for an AE encounter, you've really got problems. Warlock's job in a raid -- CoA (or CoE to help your mages), other DoTs, shadowbolt, blood pact, SS a rezzer in case of wipe. Priest's job -- heal. When you're done healing, heal more. If you need a break, heal. Oh, and once in a while you might want to heal. You do DPS while you're/oom with your wand. Paladin's job in a raid -- melee DPS, off-healing, off-tanking. If you're talking PvP, locks should be fearing/dotting/charming everything in sight, priests should be healing unless it's 1v1, paladins should be generally an annoyance to both sides (horde hates them cause they're hard to kill, alliance hates them because they won't realize that the best thing they can do in PvP is heal other people who can actually do/take damage) Leave AE for a class that's designed for it -- and the only class that's designed for it is mages. Of course, if you've got a big AE encounter, like the hallway in AQ40, the locks might as well help, as I guess the marks hunters should too, but the mage is by far the most efficient AE class -- lots of mana, lots of mana efficiency, 2 good ranged AEs, 2 good close range AEs, plus FN to keep them in line. And a frost mage is using 15% less mana and generating 30% less threat on his Blizzard, which is also giving the mobs a chill debuff which has a 15% chance to freeze, which gives him an extra 50% crit chance. Mages == AE pwnage.
You say "They can really make a business-blow by releasing this, in the mind of open-source" -- but how exactly do you expect that to help them? I mean, I read slashdot. I like Linux. I'd like better support for high-end graphics technology under Linux. But that's maybe 3% of the market. The majority of the high-end graphics card market uses Windows, and wants performance. Period. If ATI is putting out better cards than the competition, they'll sell more cards. Period. Not by documenting their technology so nerds can play Tux Racer at 600 fps.
Well, in the last console cycle, the Xbox and PS2 sold more units than the GameCube, but Nintendo's console division actually turned a profit, where Sony's and Microsoft's did not.
Tell the guy who's paying for you to design a website that you're gonna tell 85% of of the market to "shove off" because they aren't geeky enough for you. While you're at it, fire up Firefox or whatever other uber-browser you use, and start perusing some job sites... you're gonna need them. Better hope they work in !MSIE:)
It's not C's job to protect you from using strcpy(buffer_on_stack, untrusted_input), and it's not PHP, Perl, MySQL, or your database layer's job to protect you from "SELECT * FROM table WHERE name = " . $name. You're a programmer. Do your job. If you don't know what something does, don't do it.
Don't let anyone tell you macs have no malware, it's just not true. from Renepo the rootkit, to php worms that send out spam infecting message boards, to word macro viruses to the recent oompaloompa, they affect macs as badly as they can affect windows.
Wait, you mean Renepo, that requires you to download it, accept the warning that it contains an application, unpack it, open a terminal window, su to root, chmod it +x, and run it? Yeah, I hear three guys got infected by that. Of course, they were testing it out, but still.
And if you're running a web server with a PHP board on a Mac, it's no longer a Mac -- it's a Unix server OS made by Apple. And that's still a PHP problem, affecting Linux and Windows too.
Much of it is simply targeted to block F/OSS. Even the actual charity parts deal with dumping millions on ineffective, corrective treatments involving expensive medications and getting some level of matching funding from the local governments. And those expensive medications come from big pharmas which, surprise, Gates is heavily invested in.
Does no one on Slashdot understand that IT'S NOT ALWAYS ABOUT COMPUTERS YES I KNOW THEY'RE FUN BUT 95% OF THE WORLD DOESN'T GIVE A CRAP
The article linked in timothy's little sidenote is from January 2005 -- 18 months ago. It's no longer restricted, and hasn't been for a while. Just because you hear it on the Internet doesn't mean it's true.
Actually... cacert.org defeats the purpose of the CA system. It's a kind of pointless system if you ask me, but it's still defeated. If you register with cacert.org, you get a CA cert that isn't trusted by any browser -- much like a self-signed cert. If it gets registered with browsers (probably only Firefox and other open-source browsers), then spammers, phishers, and the like will just use cacert.org and get that nice padlock in the corner closed.
NFS (as opposed to SMB),
Uh... heh. NFS is not even in the same league as SMB. I'm by no means a Windows guy, and I would never run a Windows server -- but by golly, NFS is a pain in the dick, and it doesn't seem to offer anything in return -- ease of use, security, performance... And SMB is completely usable under other operating systems -- you don't even need to have a windows machine involved.
All us mages are bringing the drinks and giving rides too and from!
We won't actually be attending any of the events, cause we'd pull too much aggro if we did. And we can't actually talk to people, cause we'd be too busy getting two-shotted by priests, hunters, warlocks, shamans, rogues, druids, paladins, and other mages. We'll talk to the warriors though -- as long as they don't talk to us first.
Well, I'm a sender of bulk mail. I run about 15 mailing lists for the ACM chapter at my school. It's 100% opt-in (except officers, they don't have a choice), and everyone who wants to be taken off is taken off immediately. Everything's moderated for spam, even after being sent through SpamAssassin at two different levels. We started getting blocked by AOL -- apparently some people would rather mark clearly legitimate messages as spam than read the unsubscribe instructions at the bottom. So I filed for whitelist. It worked -- they stopped complaining. Now I guess I'll just have to force a non-AOL address.
It's possible to do this well. My roommate just graduated in December, and slept through his last final. He woke up, emailed the professor, and the professor gave him a couple questions to write essays about, telling him it had to be done by 5 pm. He wrote the essays, much more in depth than he would have had to in class, citing sources, which he would not have been able to do in class, and generally wrote a much better final than he would have in class. Of course, he was given more time, and no supervision, so it was expected. He told me that he figured he would be expected to cite sources since he had them available. This was a 400 level Econ class, not the sort of thing you can bullshit together, even over the course of 5 or 6 hours. He got an A, and deservedly so.
I'm in my third year of an undergraduate CS program. So far, I have:
Designed a datapath for a simple CPU
Implemented the control unit of said CPU in microcode
Written about 500 lines of MIPS assembler
Written a 10,000 line, full featured text adventure game in C++, and then a frontend in Java/JNI
Found and exploited undiscovered security holes in Unix software
Written a Unix shell in C
Written hundreds of lines of LISP, Haskell, and Prolog for a language design course
Now I'm in a class that requires 10-15k SLOC of coding for fault-tolerant Unix systems. I'm an undergrad. Nothing in that list was done for extra credit. Be more careful what you call easy.
XP still doesn't have support for Bluetooth, and didn't even support WiFi until SP2. The problem with this is that it stifles innovation -- technology just isn't going to take off if it doesn't work in Windows.
Really, the only thing they offer us is Office. iWork is going to have to get pretty damn good before that changes, so it'll be a while. Pretty damn good, by the way, means reading and writing Office files at least as well as OpenOffice does, but hopefully better, and having all the necessary features of Office. So far a spreadsheet is the most notably lacking offering. Maybe iWork '07?
I posted an article on Slashdot which mentioned unfair treatment by a professor (which was subsequently corrected, BTW) and he was definitely named -- I figured most of the Slashdot community already knows DJB.
What? It has *no* method caching, whatsoever. Try writing a python script that calls a method in a tight loop, say 1,000,000 times. Then write the same script in Ruby, which is generally considered to be slower than most other scripting languages. The Ruby one runs in something like 1/10th the time, because it caches method calls. Python is like BASIC but with uglier syntax. And BASIC let you do for loops with reverse iteration. In Python, to step down from 10 to 1, you have to build the list 1..10, reverse it, and then iterate over that. If you want efficiency, go with something faster, like LISP.
Working with a certain college in Chicago, we deal with the same thing. We're rolling out the Tiger image in the labs in the next week or so, and IE's not going to be on it. Our solution is to make a Safari shortcut on the desktop called "Internet."
I interviewed with Microsoft, twice. My first interviewer had never written a line of code, so I had to explain everything I did to her. It's possible they were trying to determine whether or not I knew what a stack was, but I kinda doubt it.
So they called me back in for a second interview. The guy was really nice, but the questions he asked were pretty stupid. Tough coding problems answered on the spot are not a good indication of ability -- sure, you may have to solve problems like these at your job, but you'll have more than five minutes to think about them. Since I was applying for an SDET position (software development engineer and test), I feel that asking questions that sound like exam questions for an algorithms course is relatively pointless. Why not ask about design, testing process, overall development process? Why not ask language questions (competence in C++ was assumed)? Instead, they ask "how would you delete a node from a singly linked list without a pointer to the head?" Well... you don't... safely, anyway. And even if you can assume it's safe, you're still leaving out the edge case. I explained that, but I didn't get hired because I couldn't come up with a way to rearrange a string of uppercase, lowercase, and spaces with uppercase first, then spaces, then lowercase in one pass (strlen() counts as a pass).
That's OK though, because I have a job now where my boss recognizes my ability, and wants to nurture it, so that I can reach that mastery level of software craftsmanship. Why? Because he's trying to train pros, so that he's got a team full of pros.
My mother always told me not to stare at the sun. So one time when I was six, I did.
* nerf locks
Wait... how?
You say "They can really make a business-blow by releasing this, in the mind of open-source" -- but how exactly do you expect that to help them? I mean, I read slashdot. I like Linux. I'd like better support for high-end graphics technology under Linux. But that's maybe 3% of the market. The majority of the high-end graphics card market uses Windows, and wants performance. Period. If ATI is putting out better cards than the competition, they'll sell more cards. Period. Not by documenting their technology so nerds can play Tux Racer at 600 fps.
Well, in the last console cycle, the Xbox and PS2 sold more units than the GameCube, but Nintendo's console division actually turned a profit, where Sony's and Microsoft's did not.
Tell the guy who's paying for you to design a website that you're gonna tell 85% of of the market to "shove off" because they aren't geeky enough for you. While you're at it, fire up Firefox or whatever other uber-browser you use, and start perusing some job sites... you're gonna need them. Better hope they work in !MSIE :)
It's not C's job to protect you from using strcpy(buffer_on_stack, untrusted_input), and it's not PHP, Perl, MySQL, or your database layer's job to protect you from "SELECT * FROM table WHERE name = " . $name. You're a programmer. Do your job. If you don't know what something does, don't do it.
Wait, you mean Renepo, that requires you to download it, accept the warning that it contains an application, unpack it, open a terminal window, su to root, chmod it +x, and run it? Yeah, I hear three guys got infected by that. Of course, they were testing it out, but still.
And if you're running a web server with a PHP board on a Mac, it's no longer a Mac -- it's a Unix server OS made by Apple. And that's still a PHP problem, affecting Linux and Windows too.
I guess you've never owned a Mac.
The article linked in timothy's little sidenote is from January 2005 -- 18 months ago. It's no longer restricted, and hasn't been for a while. Just because you hear it on the Internet doesn't mean it's true.
Actually... cacert.org defeats the purpose of the CA system. It's a kind of pointless system if you ask me, but it's still defeated. If you register with cacert.org, you get a CA cert that isn't trusted by any browser -- much like a self-signed cert. If it gets registered with browsers (probably only Firefox and other open-source browsers), then spammers, phishers, and the like will just use cacert.org and get that nice padlock in the corner closed.
NFS (as opposed to SMB),
Uh... heh. NFS is not even in the same league as SMB. I'm by no means a Windows guy, and I would never run a Windows server -- but by golly, NFS is a pain in the dick, and it doesn't seem to offer anything in return -- ease of use, security, performance... And SMB is completely usable under other operating systems -- you don't even need to have a windows machine involved.
All us mages are bringing the drinks and giving rides too and from!
We won't actually be attending any of the events, cause we'd pull too much aggro if we did. And we can't actually talk to people, cause we'd be too busy getting two-shotted by priests, hunters, warlocks, shamans, rogues, druids, paladins, and other mages. We'll talk to the warriors though -- as long as they don't talk to us first.
What about all the non-for-profit organizations outside the Chinese government?
Oh, wait...
Well, I'm a sender of bulk mail. I run about 15 mailing lists for the ACM chapter at my school. It's 100% opt-in (except officers, they don't have a choice), and everyone who wants to be taken off is taken off immediately. Everything's moderated for spam, even after being sent through SpamAssassin at two different levels. We started getting blocked by AOL -- apparently some people would rather mark clearly legitimate messages as spam than read the unsubscribe instructions at the bottom. So I filed for whitelist. It worked -- they stopped complaining. Now I guess I'll just have to force a non-AOL address.
It's possible to do this well. My roommate just graduated in December, and slept through his last final. He woke up, emailed the professor, and the professor gave him a couple questions to write essays about, telling him it had to be done by 5 pm. He wrote the essays, much more in depth than he would have had to in class, citing sources, which he would not have been able to do in class, and generally wrote a much better final than he would have in class. Of course, he was given more time, and no supervision, so it was expected. He told me that he figured he would be expected to cite sources since he had them available. This was a 400 level Econ class, not the sort of thing you can bullshit together, even over the course of 5 or 6 hours. He got an A, and deservedly so.
Now I'm in a class that requires 10-15k SLOC of coding for fault-tolerant Unix systems. I'm an undergrad. Nothing in that list was done for extra credit. Be more careful what you call easy.
Stop posting.
XP still doesn't have support for Bluetooth, and didn't even support WiFi until SP2. The problem with this is that it stifles innovation -- technology just isn't going to take off if it doesn't work in Windows.
Really, the only thing they offer us is Office. iWork is going to have to get pretty damn good before that changes, so it'll be a while. Pretty damn good, by the way, means reading and writing Office files at least as well as OpenOffice does, but hopefully better, and having all the necessary features of Office. So far a spreadsheet is the most notably lacking offering. Maybe iWork '07?
I posted an article on Slashdot which mentioned unfair treatment by a professor (which was subsequently corrected, BTW) and he was definitely named -- I figured most of the Slashdot community already knows DJB.
What? It has *no* method caching, whatsoever. Try writing a python script that calls a method in a tight loop, say 1,000,000 times. Then write the same script in Ruby, which is generally considered to be slower than most other scripting languages. The Ruby one runs in something like 1/10th the time, because it caches method calls. Python is like BASIC but with uglier syntax. And BASIC let you do for loops with reverse iteration. In Python, to step down from 10 to 1, you have to build the list 1..10, reverse it, and then iterate over that. If you want efficiency, go with something faster, like LISP.
They still do.
Working with a certain college in Chicago, we deal with the same thing. We're rolling out the Tiger image in the labs in the next week or so, and IE's not going to be on it. Our solution is to make a Safari shortcut on the desktop called "Internet."