The job screening exam clearly breaches Australia's anti-discriminiation laws (simplifying somewhat, Google is asking some questions unrelated to my potential performance as an employee, therefore the questions must be for some discriminatory purpose). I'd be surprised if the same were not true of the US.
What this screening exam did for me was to confirm Google's corporate stupidity.
And so now, a potential employer is aware that you're the sort of person that likes pulling out obscure rules to be an asshole rather than appreciating humor. The sort of person that files lawsuits and makes everyone else miserable due to all the stupid policy in place to avoid liability.
Google is now first on the list of places I'd never want to work -- what concern is it of their's what I do with my spare time.
Then the screening mechanism has worked well. It's a good bet that the Google people don't want to work with you either. Heck, I wouldn't want to work with you.
I hate anti-discrimination laws. I'm all for employers discriminating if they want to. If they make stupid policy, it's a pretty good bet that they'll go under -- you don't like hiring women? Fine. You've just cut your potential employee base in half. Have fun trying to outdo your competitor, who hasn't placed that restriction on himself. I disagree with the Libertarians about a lot of things, but I do think that the Invisible Hand does a pretty good job of solving problems relating to employers doing self-damaging things.
Second this. Seriously, people complain about MS running FUD campaigns. Know what? Their complaints are legitimate. That's why a lot of people in the know don't like Microsoft much.
The solution is to continue to provide better information than Microsoft does, not to do the same damn thing about some stupid Microsoft service pack (which, FWIW, I'd say is the most security-oriented and Slashdotter-happiness-inducing patch Microsoft has come out with in years, beating many Linux distributions to noexec stack protection). FUD bites people on their own asses.
The Slashdot furor over SP2 is absolutely *absurd*. Security? Consider the fact that 95/98 allowed a remote user to extract and print out users' share passwords remotely from anywhere on the Internet in a few seconds using a Wargames-style algorithm (linear time in length of password), just with a few lines of C code added to smbclient. Consider the fact that Windows NT 4, by default, came with a default account (Administrator) with no password, with all drives shared to that account in "hidden" shares that were only hidden because of a client convention not to display shares, and automatically re-enabled said administrative shares at reboot if a user tried disabling them. File sharing problems? Man, nothing Microsoft can *possibly* do will ever come close to the security blunders of their past. Microsoft is getting better. They've got a long way to go -- they don't have a native sandboxing mechanism (a la chroot jails), they have problems with their GUI-oriented API (see "Shatter" style attacks), they have charming comments in the MSDN API documentation like (extracted from memory from one particularly egregious CAPI call) "This parameter should never be used due to security problems. Some developers may wish to use this parameter to provide compatiblity with Microsoft cryptographic service providers."
Microsoft, you want real credibility, the ability to sell coders that you've got some real things going over Linux? Do the following:
* Provide sandboxing functionality. You just purchased Virtual PC, yes, but I'm talking about OS-level sandboxing, not the slow and less functional hardware-level sandboxing. Let me run IIS in an isolated sandbox, where nothing gets out. Enforce this with the OS, not with application conventions.
* You provide the overwhelmingly dominant compiler for your platform. Yes,.NET is useful, but implement things like inferred static types with ranges used to help detect buffer overruns. Lots of code (most code being run out there) is in C or C++ and will be for a long time to come. I know you hire a ton of people to MS Research from Carnegie Mellon each year, and I know that there are a ton of good language design people at Carnegie Mellon. Use said people.
* Do not run your RPC/filesharing/printsharing system by default. It's been the source of God knows how many security problems. Yes, I'm sure that you have lots of long-time Microsofties that are thrilled with it. This isn't 1985 any more, and machines are on networks and often poorly administered. A vanilla box shouldn't have a single packet passing up past the level of the TCP stack. There should be no listening ports in a default Windows install. That means that (a) you don't have to worry about pissing off sysadmins after you blame *them* for not firewalling your broken software that runs out of box and (b) you don't have to worry nearly as much about disasterous, media-worthy waves of worms.
* Start an application-level security certification program for certain basic characteristics -- like being able to install and run an application without having administrative rights.
* You *still* don't use key or cert caching with your SMB/CIFS system. This should be a default. When I connect to a server with openssh on my Linux box, that server's key gets *cached*, and if a man-in-the-middle attack is later attempted, I get a warning that the key has changed and that a man-in-the-middle
The point is exactly that said 12-year-old is not going to have such a laptop unless it was stolen from a business -- the only place where you're going to have policy like that.
And by "mainstream press", I take it that you don't mean the Wall Street Journal, which I remember reading a SCO article in. It was entitled something like "David versus Goliath", and pointed out that Linux was a huge juggernaut and SCO a very small contender with a very weak legal case. The article ended saying "this is one battle where you'll want Goliath to win."
I like the fact that the web designer for the site suckered them into letting them have a link... which takes one to a site that has a title of "Untitled Document" and tells you that you need Flash.
I agree with you that Groklaw (and following it, PJ) has slowly slid from the extremely objective approach that once appeared into SCO bashing. I'm quite certain that this is not an intentional propaganda approach -- it's simple human frusteration at how ridiculous the case is.
However, I disagree with you that there's "another side" that just isn't being told. Almost all of SCO's current claims are pretty ridiculous. There's really no plausible scenario in which SCO could win in a manner that would recover their company, and it's essentially impossible to win in a way that would damage Linux. When SCO first started making claims, sure, there was outrage, but people cracked down, analyzed, and posted about both sides of the problem -- LKML folks, for instance, examined their copyright procedures and agreed that they could be tighted up (funny -- almost every closed source project that I've had access to source code on has had legal problems of one sort or another, but open source projects tend to be pretty clean). The current claims from SCO are, pretty much, ridiculous.
Oh, and one other point. It's very often overlooked.
There is a significant benefit to having software on Linux free and libre, as opposed to even very low-cost.
When I'm looking for a software package for Windows, I read reviews, check out the company web page, examine screenshots. Maybe I download a demo, if one exists.
When I hear about a piece of software for Linux, I can just download the thing. It's a totally different mindset -- if I hear about something, I can use it. It's very pleasant. I'm sure that eighty people will chime in with "but I can just pirate it under Windows". Yes, but while that might solve your home problems, it's not really a good idea when you're doing professional work.
While the kernel code is nice to open up, the ability to poke into initscripts and the userspace networking stuff, which is all scripts on the major Linux distros, is very nice -- you can easily diagnose anything that goes wrong, set up zany setups (I have a headless box that fairly distributes unused upstream bandwidth between every host on my network and then allows prioritization within those hosts -- so I can run gtk-gnutella, mldonkey, or bittorrent constantly in the background without affecting my ssh latency).
The source to libraries is also very nice. MSDN provides nicely formatted documenation (though MSDN's API reference itself is painfully slow to browse, including on IE, due to the frusteratingly slow tree interface), but it simply isn't complete for all cases. There's plenty of situations that the MSDN docs do not describe what Win32 does -- I've run into this a couple of times, so I'm sure you have as well.
I've developed on both platforms and find that they both have advantages and disadvantages...
Same here, and same here, though I think Linux's advantages for a hacker vastly outweigh the drawbacks.
Why do you consider Linux to be a 'mind boggling' better platform for hackers?
* If I have a problem/missing feature and it's irritating me enough, I'm guaranteed the option of just fixing it myself.
* The POSIX toolset, large set of development tools and compilers available on a typical system, and easy hooks into the OS (like/proc) makes Linux a much nicer system. I can slap together apps to accomplish simple tasks in a line or two. Sure, there's cygwin, but despite being an impressive hack, cygwin is slow, often flaky, and almost all software is vastly less well-tested on cygwin than on a Linux environment.
* If I don't like the way my system functions, I change it. For example, Fedora's standard configuration currently stops any attempts to re-obtain a DHCP address if any attempt to get an address fails. I often work on flaky networks, and this drives me bananas -- I want the thing to keep trying to re-obtain an IP address even if an attempt fails. You can just open up/sbin/ifup in your favorite text editor and tell the script to hand "-w" instead of "-1" to dhclient.
* Better (non-POSIX) tools. Windows doesn't have a "file" command any more than it has a "locate" command.
* Better remote access options. Using Windows remotely is a painful chore that *can* be done using VNC or the like. Using Linux remotely (stick with CLI programs, which is quite feasible) is a pleasure.
* Choice in what packages to use. As it happens, I don't like GNOME *or* KDE *or* Explorer very much. They all slap large icons on the screen, eat screen space, expect me to launch applications with my mouse instead of my keyboard, cover up my pretty desktop, and none of them (well, maybe KDE) use "viewports" instead of "virtual desktops" any more, where a window can lap over from one "viewport" to another. Easy fix -- just slap something else in. I use xbindkeys+gkrellm+sawfish, and have exactly the environment I want.
* Sandboxing capabilities. It's a bitch to, say, sandbox an unknown binary (or a server, to keep a server compromise from compromising the whole system) on Windows. It's much more reasonable on Linux.
* No bullshit. If I've identified a problem and I don't want to fix it myself, I file a bug report. With, say, Microsoft, I go to some low level tech support person, and maybe after a series of escallated issues, they admit that there's a bug. Maybe. And they don't call it a "bug", because they don't make products with "bugs". They call it an "issue". Their product doesn't have a bug -- *I* have an "issue". Then maybe somewhere the "issue" wends its way to the cloistered-away developers and perhaps, after some period of time in the mysterious black box, eventually gets released. In the open source world, if I know what I'm doing, I fire off a "there's a problem, here's what's breaking" message straight to the developer (and can do so to the guy that wrote the very line of code that's broken). I dump my bug into a bug tracker (heck, wishlist features go into the "bug tracker"). As the developers work on the thing and fix it, I have full access to every thing they've done, just as much as any developer does, and when the problem gets fixed, I know about it immediately.
* If I want to do something, there's probably a ton of actively-maintained and free libraries already out there that do just about everything I want (and if they *become* unmaintained, someone else can easily take up the torch -- I don't have to worry about reliance on some random third party). For example, two days ago I was working on a JPEG artifact removal idea. I wanted to do image processing (encoding, decoding, manipulation) and use a neural network. Two apt-cache searches and an apt-get download later, I
Indirect benefits to non-coders do certainly exist.
If anyone that can fix a bug can fix it, and anyone that wants a feature can add it, and anyone that dislikes memory usage of a program can reduce it, then for every improvement that some hacker somewhere makes, an end user benefits.
For businesses (especially very large ones), standardizing on a open source app can have benefits in the fact that they can get support and updates for as long as they want -- *anyone* can provide these. It also ensures that any full-solution vendors providing that software remain in a competitive situation.
And there are drawbacks too. OSS folks have long generally had a lower degree of regard for binary-only backwards compatibility than closed-source folks -- after all, someone can just recompile another package to make it work, they didn't really "break" anything, right? If a package is being maintained by volunteers, there are no guarantees that other demands won't rise up on the time of those volunteers.
However, do end users receive benefits from having that source freely available? Sure, you bet.
You still don't get native encryption with Gaim, and Gaim lacks GPG support for Jabber (as Gabber does). The only way to get support is to download gaim-e, which frequently doesn't build with the current gaim.
The problem is that most hackers are rabid about Linux because it's phenonmentally powerful if you code a bit.
They don't understand why the average Joe doesn't get excited about Linux. The average Joe doesn't get the benefit of all the great CLI tools out there, so Linux is, at best, just a decent XP alternative, not something that quashes it into the ground.
If you just use the GUI tools on Linux and don't give a damn about the politics involved, it isn't *that* amazing of a system. It's just a decent OS without a number of commercial apps that people want to play with.
Naturally, every hacker looks at people that aren't using Linux and thinks to himself "what are they thinking?". For a programmer or a hobbyist or a hacker or a sysadmin, Windows is an infinitely worse OS. But most people aren't any of the above -- and Windows lets them navigate to the application that they want to use and open it.
I like Linux, and use exclusively it as a desktop system. Those of you familiar with me know that I like Linux quite a bit. I think that it might become the defacto desktop system in a couple of years. But it won't be because it's mind-bogglingly better and people are just reluctant to switch. For *hackers* it's mind-bogglingly better. For average folks, it's just another alternative.
DomainKeys has more going for it than Sender ID and SPF, but it GPG solves all the problems that any of the above three do, plus more. It might take a bit of poking about with GPG on the part of a security expert -- adding a class for "authorized for email" and a non-boolean trust metric -- to make it really complete, but a GPG set up in such a manner beats the pants off of DK, SID, or SPF.
The main problem with GPG is a lack of (a) mail clients using the standard MIME method of sending GPG emails and (b) lack of a good trust mechanism.
1 is not true. While it's true that the particular vote breakdown in our electoral college does tend to benefit sparsely-populated states, the same reweighting can be done in a popular vote.
2 has little to do with the electoral college.
3 is reasonable -- if there really is a close tie, I want to be sure who won.
Gates and Allen coded the original Ticketmaster ticket reservation system, IIRC. Microsoft did up some productivity apps that later became Office -- if Gates was still involved in actual development then, he can take some credit.
I hate Bill as much as the next one of us, but I don't think for a seccond he is not capeable in the CS field, he might not be among the best but neither are most of us and he IS a clever bussiness man to boot.
Being able to write a simple BASIC interpreter and being "capable in the CS field" are very, very different things.
Even sadder -- the building next door is the Newell-Simon building, which honors two of the greatest computer scientists ever -- and next door, a building to the man who made making money off of well-marketing and poorly-building software.
I also bet the code coming out of M$ would be much better if Bill was writing it personally.
That's absurd. You take a random executive that hasn't coded in ten years and never finished college and you'll have a similar situation.
(For non-CMUites: the Fence is a fence that is regularly painted by CMU students with all kinds of political, social, and technical comments. Before the original wooden Fence collapsed and was replaced with a metal fence, it was the most heavily painted structure in the world, and today most of the mass of the Fence is still many layers of paint.)
The Fence got painted last time Gates came to CMU, and given the CMU propensity to write on everything (Archie's Leap, for instance), I expect that it will become a new favorite forum.
Microsoft recruits like mad at CMU (esp. for Microsoft Research) because it's a good computer science school, not because they have special ties.
It's very true that the university administration (not the School of Computer Science administration) is big on having buddies at large businesses, at having ins in the defense world, stuff like that, to help suck in grant money.
However, the School of Computer Science is quite different. SCS is very critical of Microsoft. I don't think there is a single SCS course taught on Windows or using any Microsoft products (there are a few taught using Mathematica, but generally one uses either Solaris or GNU tools, and not even proprietary products). I remember one CMU philosophy course (a Humanities and Social Science class, not even SCS) where the professor handed out a document in.DOC format and the next day came in, apologized to everyone due to all the complaints, and asked whether we'd prefer PDF, PS, RTF, etc instead. You could theoretically get by using Microsoft Office, I guess, but there's quite a bit of pressure to use LaTeX in SCS. My databases class focused on Postgres, because you could recode parts of the scheduler (unlike, say, MS SQL), which was important for teaching DBMS internal theory. I remember when one SCS professor, Gregory Kesden (damn cool guy, BTW), asked some Microsoft guy to come give a lecture on the.NET framework in a university lecture hall, and got absolutely chewed out by the SCS administration for doing so, who viewed this as promoting a Microsoft product.
If CMU has ties to any company, it's Apple. Apple's OS X kernel was written at CMU, CMU uses a ton of Macs -- probably about as many Windows machines, down from a majority of Macs at one point, and Apple people come to speak more often than Microsoft people.
CMU maintains their own Linux distribution (Andrew Linux) and develops and has developed a phenomenal amount of open source software, including major packages. CMU's done a lot of the OSS SNMP code out there, AFS is from CMU, festival (the OSS speech synth package) is from Alan Black at CMU, Coda is from CMU, and so forth.
CMU has an absolutely ridiculous degree of interaction with Slashdot just because of all the *IX geeks at CMU. I attended CMU's SCS and knew a single Windows guy -- did work on Windows, liked Windows, etc. Not common.
I agree that the SCS people probably won't like having a building on campus called the Bill Gates building -- Bill Gates is not particularly well-known for advancing the field of computer science, and a number of people feel that he's tended to hold it back in the name of profit. The university people, though, who are responsible for finding offices and lecture rooms for the SCS people, are probably thrilled.
Of all the major CS universities that I visited when deciding on a university, CMU was the *only* done that didn't rattle off a list of "the places that you can get a job" or push their job-placement services. The assumption was that you were coming because you liked/were interested in research, not because you wanted job placement. That was a major turn-on for me.
Point is, CMU isn't likely to be much of an MS school any time soon.
The job screening exam clearly breaches Australia's anti-discriminiation laws (simplifying somewhat, Google is asking some questions unrelated to my potential performance as an employee, therefore the questions must be for some discriminatory purpose). I'd be surprised if the same were not true of the US.
What this screening exam did for me was to confirm Google's corporate stupidity.
And so now, a potential employer is aware that you're the sort of person that likes pulling out obscure rules to be an asshole rather than appreciating humor. The sort of person that files lawsuits and makes everyone else miserable due to all the stupid policy in place to avoid liability.
Google is now first on the list of places I'd never want to work -- what concern is it of their's what I do with my spare time.
Then the screening mechanism has worked well. It's a good bet that the Google people don't want to work with you either. Heck, I wouldn't want to work with you.
I hate anti-discrimination laws. I'm all for employers discriminating if they want to. If they make stupid policy, it's a pretty good bet that they'll go under -- you don't like hiring women? Fine. You've just cut your potential employee base in half. Have fun trying to outdo your competitor, who hasn't placed that restriction on himself. I disagree with the Libertarians about a lot of things, but I do think that the Invisible Hand does a pretty good job of solving problems relating to employers doing self-damaging things.
True enough.
:-)
Though John Carmack seems to have managed pretty well.
Second this. Seriously, people complain about MS running FUD campaigns. Know what? Their complaints are legitimate. That's why a lot of people in the know don't like Microsoft much.
.NET is useful, but implement things like inferred static types with ranges used to help detect buffer overruns. Lots of code (most code being run out there) is in C or C++ and will be for a long time to come. I know you hire a ton of people to MS Research from Carnegie Mellon each year, and I know that there are a ton of good language design people at Carnegie Mellon. Use said people.
The solution is to continue to provide better information than Microsoft does, not to do the same damn thing about some stupid Microsoft service pack (which, FWIW, I'd say is the most security-oriented and Slashdotter-happiness-inducing patch Microsoft has come out with in years, beating many Linux distributions to noexec stack protection). FUD bites people on their own asses.
The Slashdot furor over SP2 is absolutely *absurd*. Security? Consider the fact that 95/98 allowed a remote user to extract and print out users' share passwords remotely from anywhere on the Internet in a few seconds using a Wargames-style algorithm (linear time in length of password), just with a few lines of C code added to smbclient. Consider the fact that Windows NT 4, by default, came with a default account (Administrator) with no password, with all drives shared to that account in "hidden" shares that were only hidden because of a client convention not to display shares, and automatically re-enabled said administrative shares at reboot if a user tried disabling them. File sharing problems? Man, nothing Microsoft can *possibly* do will ever come close to the security blunders of their past. Microsoft is getting better. They've got a long way to go -- they don't have a native sandboxing mechanism (a la chroot jails), they have problems with their GUI-oriented API (see "Shatter" style attacks), they have charming comments in the MSDN API documentation like (extracted from memory from one particularly egregious CAPI call) "This parameter should never be used due to security problems. Some developers may wish to use this parameter to provide compatiblity with Microsoft cryptographic service providers."
Microsoft, you want real credibility, the ability to sell coders that you've got some real things going over Linux? Do the following:
* Provide sandboxing functionality. You just purchased Virtual PC, yes, but I'm talking about OS-level sandboxing, not the slow and less functional hardware-level sandboxing. Let me run IIS in an isolated sandbox, where nothing gets out. Enforce this with the OS, not with application conventions.
* You provide the overwhelmingly dominant compiler for your platform. Yes,
* Do not run your RPC/filesharing/printsharing system by default. It's been the source of God knows how many security problems. Yes, I'm sure that you have lots of long-time Microsofties that are thrilled with it. This isn't 1985 any more, and machines are on networks and often poorly administered. A vanilla box shouldn't have a single packet passing up past the level of the TCP stack. There should be no listening ports in a default Windows install. That means that (a) you don't have to worry about pissing off sysadmins after you blame *them* for not firewalling your broken software that runs out of box and (b) you don't have to worry nearly as much about disasterous, media-worthy waves of worms.
* Start an application-level security certification program for certain basic characteristics -- like being able to install and run an application without having administrative rights.
* You *still* don't use key or cert caching with your SMB/CIFS system. This should be a default. When I connect to a server with openssh on my Linux box, that server's key gets *cached*, and if a man-in-the-middle attack is later attempted, I get a warning that the key has changed and that a man-in-the-middle
I was empirically analyzing the gcc 3.3.3 optimizer a couple of days ago. Some interesting points:
[argh...lameness filter refuses to allow source code]
I'm providing a link to my journal entry so that I can post these examples.
The point is exactly that said 12-year-old is not going to have such a laptop unless it was stolen from a business -- the only place where you're going to have policy like that.
And by "mainstream press", I take it that you don't mean the Wall Street Journal, which I remember reading a SCO article in. It was entitled something like "David versus Goliath", and pointed out that Linux was a huge juggernaut and SCO a very small contender with a very weak legal case. The article ended saying "this is one battle where you'll want Goliath to win."
What you're talking about would be summary judgment: there's not even enough evidence that a jury would be needed to weigh it.
This isn't a criminal trial; there would not be a jury.
I like the fact that the web designer for the site suckered them into letting them have a link ... which takes one to a site that has a title of "Untitled Document" and tells you that you need Flash.
I agree with you that Groklaw (and following it, PJ) has slowly slid from the extremely objective approach that once appeared into SCO bashing. I'm quite certain that this is not an intentional propaganda approach -- it's simple human frusteration at how ridiculous the case is.
However, I disagree with you that there's "another side" that just isn't being told. Almost all of SCO's current claims are pretty ridiculous. There's really no plausible scenario in which SCO could win in a manner that would recover their company, and it's essentially impossible to win in a way that would damage Linux. When SCO first started making claims, sure, there was outrage, but people cracked down, analyzed, and posted about both sides of the problem -- LKML folks, for instance, examined their copyright procedures and agreed that they could be tighted up (funny -- almost every closed source project that I've had access to source code on has had legal problems of one sort or another, but open source projects tend to be pretty clean). The current claims from SCO are, pretty much, ridiculous.
Oh, and one other point. It's very often overlooked.
There is a significant benefit to having software on Linux free and libre, as opposed to even very low-cost.
When I'm looking for a software package for Windows, I read reviews, check out the company web page, examine screenshots. Maybe I download a demo, if one exists.
When I hear about a piece of software for Linux, I can just download the thing. It's a totally different mindset -- if I hear about something, I can use it. It's very pleasant. I'm sure that eighty people will chime in with "but I can just pirate it under Windows". Yes, but while that might solve your home problems, it's not really a good idea when you're doing professional work.
That doesn't handle libraries that depend on libraries, though point taken.
While the kernel code is nice to open up, the ability to poke into initscripts and the userspace networking stuff, which is all scripts on the major Linux distros, is very nice -- you can easily diagnose anything that goes wrong, set up zany setups (I have a headless box that fairly distributes unused upstream bandwidth between every host on my network and then allows prioritization within those hosts -- so I can run gtk-gnutella, mldonkey, or bittorrent constantly in the background without affecting my ssh latency).
The source to libraries is also very nice. MSDN provides nicely formatted documenation (though MSDN's API reference itself is painfully slow to browse, including on IE, due to the frusteratingly slow tree interface), but it simply isn't complete for all cases. There's plenty of situations that the MSDN docs do not describe what Win32 does -- I've run into this a couple of times, so I'm sure you have as well.
I've developed on both platforms and find that they both have advantages and disadvantages...
/proc) makes Linux a much nicer system. I can slap together apps to accomplish simple tasks in a line or two. Sure, there's cygwin, but despite being an impressive hack, cygwin is slow, often flaky, and almost all software is vastly less well-tested on cygwin than on a Linux environment.
/sbin/ifup in your favorite text editor and tell the script to hand "-w" instead of "-1" to dhclient.
Same here, and same here, though I think Linux's advantages for a hacker vastly outweigh the drawbacks.
Why do you consider Linux to be a 'mind boggling' better platform for hackers?
* If I have a problem/missing feature and it's irritating me enough, I'm guaranteed the option of just fixing it myself.
* The POSIX toolset, large set of development tools and compilers available on a typical system, and easy hooks into the OS (like
* If I don't like the way my system functions, I change it. For example, Fedora's standard configuration currently stops any attempts to re-obtain a DHCP address if any attempt to get an address fails. I often work on flaky networks, and this drives me bananas -- I want the thing to keep trying to re-obtain an IP address even if an attempt fails. You can just open up
* Better (non-POSIX) tools. Windows doesn't have a "file" command any more than it has a "locate" command.
* Better remote access options. Using Windows remotely is a painful chore that *can* be done using VNC or the like. Using Linux remotely (stick with CLI programs, which is quite feasible) is a pleasure.
* Choice in what packages to use. As it happens, I don't like GNOME *or* KDE *or* Explorer very much. They all slap large icons on the screen, eat screen space, expect me to launch applications with my mouse instead of my keyboard, cover up my pretty desktop, and none of them (well, maybe KDE) use "viewports" instead of "virtual desktops" any more, where a window can lap over from one "viewport" to another. Easy fix -- just slap something else in. I use xbindkeys+gkrellm+sawfish, and have exactly the environment I want.
* Sandboxing capabilities. It's a bitch to, say, sandbox an unknown binary (or a server, to keep a server compromise from compromising the whole system) on Windows. It's much more reasonable on Linux.
* No bullshit. If I've identified a problem and I don't want to fix it myself, I file a bug report. With, say, Microsoft, I go to some low level tech support person, and maybe after a series of escallated issues, they admit that there's a bug. Maybe. And they don't call it a "bug", because they don't make products with "bugs". They call it an "issue". Their product doesn't have a bug -- *I* have an "issue". Then maybe somewhere the "issue" wends its way to the cloistered-away developers and perhaps, after some period of time in the mysterious black box, eventually gets released. In the open source world, if I know what I'm doing, I fire off a "there's a problem, here's what's breaking" message straight to the developer (and can do so to the guy that wrote the very line of code that's broken). I dump my bug into a bug tracker (heck, wishlist features go into the "bug tracker"). As the developers work on the thing and fix it, I have full access to every thing they've done, just as much as any developer does, and when the problem gets fixed, I know about it immediately.
* If I want to do something, there's probably a ton of actively-maintained and free libraries already out there that do just about everything I want (and if they *become* unmaintained, someone else can easily take up the torch -- I don't have to worry about reliance on some random third party). For example, two days ago I was working on a JPEG artifact removal idea. I wanted to do image processing (encoding, decoding, manipulation) and use a neural network. Two apt-cache searches and an apt-get download later, I
Indirect benefits to non-coders do certainly exist.
If anyone that can fix a bug can fix it, and anyone that wants a feature can add it, and anyone that dislikes memory usage of a program can reduce it, then for every improvement that some hacker somewhere makes, an end user benefits.
For businesses (especially very large ones), standardizing on a open source app can have benefits in the fact that they can get support and updates for as long as they want -- *anyone* can provide these. It also ensures that any full-solution vendors providing that software remain in a competitive situation.
And there are drawbacks too. OSS folks have long generally had a lower degree of regard for binary-only backwards compatibility than closed-source folks -- after all, someone can just recompile another package to make it work, they didn't really "break" anything, right? If a package is being maintained by volunteers, there are no guarantees that other demands won't rise up on the time of those volunteers.
However, do end users receive benefits from having that source freely available? Sure, you bet.
Yes.
Things like:
* VFS functionality (gnome-vfs, kioslaves)
* Sound server (esd, arts)
* RPC (CORBA, DCOP)
should not have an implementation on each desktop.
Some things *should* be implemented that both still lack:
* A standard media player library (libmplayer, basically) that apps in each DE can use.
To their credit, GNOME and KDE have fixed:
* KDE's broken copy-paste due to Qt 2's broken copy-paste.
* Drag-and-Drop incompatibilities -- the two can now drag and drop between each other.
You still don't get native encryption with Gaim, and Gaim lacks GPG support for Jabber (as Gabber does). The only way to get support is to download gaim-e, which frequently doesn't build with the current gaim.
The Danny Dunn series and a number of older books from that era had scientists or engineers as major characters.
The problem is that most hackers are rabid about Linux because it's phenonmentally powerful if you code a bit.
They don't understand why the average Joe doesn't get excited about Linux. The average Joe doesn't get the benefit of all the great CLI tools out there, so Linux is, at best, just a decent XP alternative, not something that quashes it into the ground.
If you just use the GUI tools on Linux and don't give a damn about the politics involved, it isn't *that* amazing of a system. It's just a decent OS without a number of commercial apps that people want to play with.
Naturally, every hacker looks at people that aren't using Linux and thinks to himself "what are they thinking?". For a programmer or a hobbyist or a hacker or a sysadmin, Windows is an infinitely worse OS. But most people aren't any of the above -- and Windows lets them navigate to the application that they want to use and open it.
I like Linux, and use exclusively it as a desktop system. Those of you familiar with me know that I like Linux quite a bit. I think that it might become the defacto desktop system in a couple of years. But it won't be because it's mind-bogglingly better and people are just reluctant to switch. For *hackers* it's mind-bogglingly better. For average folks, it's just another alternative.
"We have a problem with trolls saying nasty things on our site."
"Let's post our site to *Slashdot*!"
Where did the logic go so awry?
DomainKeys has more going for it than Sender ID and SPF, but it GPG solves all the problems that any of the above three do, plus more. It might take a bit of poking about with GPG on the part of a security expert -- adding a class for "authorized for email" and a non-boolean trust metric -- to make it really complete, but a GPG set up in such a manner beats the pants off of DK, SID, or SPF.
The main problem with GPG is a lack of (a) mail clients using the standard MIME method of sending GPG emails and (b) lack of a good trust mechanism.
1 is not true. While it's true that the particular vote breakdown in our electoral college does tend to benefit sparsely-populated states, the same reweighting can be done in a popular vote.
2 has little to do with the electoral college.
3 is reasonable -- if there really is a close tie, I want to be sure who won.
Gates and Allen coded the original Ticketmaster ticket reservation system, IIRC. Microsoft did up some productivity apps that later became Office -- if Gates was still involved in actual development then, he can take some credit.
I hate Bill as much as the next one of us, but I don't think for a seccond he is not capeable in the CS field, he might not be among the best but neither are most of us and he IS a clever bussiness man to boot.
Being able to write a simple BASIC interpreter and being "capable in the CS field" are very, very different things.
Even sadder -- the building next door is the Newell-Simon building, which honors two of the greatest computer scientists ever -- and next door, a building to the man who made making money off of well-marketing and poorly-building software.
I also bet the code coming out of M$ would be much better if Bill was writing it personally.
That's absurd. You take a random executive that hasn't coded in ten years and never finished college and you'll have a similar situation.
The William Gates building will be the new Fence.
(For non-CMUites: the Fence is a fence that is regularly painted by CMU students with all kinds of political, social, and technical comments. Before the original wooden Fence collapsed and was replaced with a metal fence, it was the most heavily painted structure in the world, and today most of the mass of the Fence is still many layers of paint.)
The Fence got painted last time Gates came to CMU, and given the CMU propensity to write on everything (Archie's Leap, for instance), I expect that it will become a new favorite forum.
Microsoft recruits like mad at CMU (esp. for Microsoft Research) because it's a good computer science school, not because they have special ties.
.DOC format and the next day came in, apologized to everyone due to all the complaints, and asked whether we'd prefer PDF, PS, RTF, etc instead. You could theoretically get by using Microsoft Office, I guess, but there's quite a bit of pressure to use LaTeX in SCS. My databases class focused on Postgres, because you could recode parts of the scheduler (unlike, say, MS SQL), which was important for teaching DBMS internal theory. I remember when one SCS professor, Gregory Kesden (damn cool guy, BTW), asked some Microsoft guy to come give a lecture on the .NET framework in a university lecture hall, and got absolutely chewed out by the SCS administration for doing so, who viewed this as promoting a Microsoft product.
It's very true that the university administration (not the School of Computer Science administration) is big on having buddies at large businesses, at having ins in the defense world, stuff like that, to help suck in grant money.
However, the School of Computer Science is quite different. SCS is very critical of Microsoft. I don't think there is a single SCS course taught on Windows or using any Microsoft products (there are a few taught using Mathematica, but generally one uses either Solaris or GNU tools, and not even proprietary products). I remember one CMU philosophy course (a Humanities and Social Science class, not even SCS) where the professor handed out a document in
If CMU has ties to any company, it's Apple. Apple's OS X kernel was written at CMU, CMU uses a ton of Macs -- probably about as many Windows machines, down from a majority of Macs at one point, and Apple people come to speak more often than Microsoft people.
CMU maintains their own Linux distribution (Andrew Linux) and develops and has developed a phenomenal amount of open source software, including major packages. CMU's done a lot of the OSS SNMP code out there, AFS is from CMU, festival (the OSS speech synth package) is from Alan Black at CMU, Coda is from CMU, and so forth.
CMU has an absolutely ridiculous degree of interaction with Slashdot just because of all the *IX geeks at CMU. I attended CMU's SCS and knew a single Windows guy -- did work on Windows, liked Windows, etc. Not common.
I agree that the SCS people probably won't like having a building on campus called the Bill Gates building -- Bill Gates is not particularly well-known for advancing the field of computer science, and a number of people feel that he's tended to hold it back in the name of profit. The university people, though, who are responsible for finding offices and lecture rooms for the SCS people, are probably thrilled.
Of all the major CS universities that I visited when deciding on a university, CMU was the *only* done that didn't rattle off a list of "the places that you can get a job" or push their job-placement services. The assumption was that you were coming because you liked/were interested in research, not because you wanted job placement. That was a major turn-on for me.
Point is, CMU isn't likely to be much of an MS school any time soon.