I would rate it low considering their general lack of skill and experience on the server side. But OTOH if they ever DID manage it I don't see the academic world shunning it.
If you are doing anything remotely analytical (numerically or symbolicly processing intensive) which includes statistical analysis, by the way, and not just systems of ODEs and PDEs, then performance certainly goes to Linux.
Yup, but OTOH I cynically believe that is simply because Windows doesn't run on non-x86 hardware or on real clusters.
I finish my masters in chemical engineering in about 6 weeks, and my thesis was essentially applied quantum chemistry (ab initio and molecular dynamics simulations). The really decent grad students and PhD's in this work are those of us unafraid of the command line, but I feel like we are a vanishing breed.
If Microsoft ever ported to PowerPC or MIPS and made a real cluster solution where the head node behaved a lot like Terminal Server and the users could just drag-and-drop their input and output files through an Explorer-like interface and didn't need to provide scripts for the batch queueing system, the profs and students would probably demand it be used in place of the current reasonably mature stuff everyone is using. I shudder at how ignorant of computers the following generations of supercomputer users would be in that world.
C++ is for operating systems and drivers, and was never intended for application programming.
It is a systems language, but that does not mean only the kernel and drivers. I would pity the kernel implementor who had to have both stack unwinding and exception behavior work correctly on current hardware. If anyone has succeeded at that, more power to them. Apple and IBM's joint effort (Taligent / Pink) failed miserably.
I think C++ is really intended to be a language that can provide (most of) the syntactical constructs available in a Lisp-like language but with the ability to both go all the way down to the metal and heavily optimize up-front to get mostly good speeds without requiring a VM+JIT environment. For the stuff I need to really go fast and still be flexible with future rewrites, I use C++. But for research code or proof of concept (as you mention), I would use something else first.
Traditional journalism must meet some standards of accountability, whereas you and your mates down the pub don't.
All they have to do is quote libelous statements from their sources rather than say them directly. Same effect, zero accountability. How else were they able to legally lie about Iraq's (non)connection with Al-Qaeda?
Maybe I'm abnormal, but I care a great deal about ALL of my software having security fixes in a reasonable timeframe. One bad library that shipped with a particular user program has the potential to open the whole system up for abuse, I shouldn't have to manually check every little program every week.
I also would never install a package outside the package manager in global locations, that's what/usr/local and/opt are for, so even in the (very rare) cases I need a package newer than what is in the repository I can get it installed alongside the rest of the system fine.
Finally, I don't run much commercial stuff, but what I do run tends to work quite fine within the package framework. DB2 uses rpms on Linux and the native packaging on AIX, and hence appears in the package managers of each appropriately. I don't see why others can't do the same -- if you are working on a serious $$$ commercial app, the money is there to package it right for the platform.
Pardon me, but I really must call bullshit on this characterization.... You'd have exactly the same level of accuracy by saying that all of Obama's supporters are teenage muslim fundamentalist spear-chuckers.
So are you from the antisemite or the racist subgroup? It's hard to tell, since "muslim fundamentalist spear-chucker" covers so much xenophobic ground.
His racism is so strong that he doesn't even know how the country was founded nor does he recognize the tremendous gains made toward equality.
Um dude, racism WAS (part of) how this country was founded. Go check your Constitution -- it's got racism written right in there. We fought an enormous Civil War over slavery. And no, the Civil War was not about some nebulous concept called states' rights, it was about the specific right of some states to legislate slavery over the right of other states to outlaw it. If the South had REALLY cared about states' rights, they wouldn't have forced the enactment of the Fugitive Act which trampled all over the human rights laws of the Northern states.
And while the country has made tremendous gains, it's still a racist nation. If anything, it's become a more equal-opportunity racist nation over the last 20 years: people of Middle Eastern and Indian/Pakistani descent are starting to experience en masse the kind of daily harassment that black and Native Americans are long used to.
Rev. Wright would be right at home wearing one though.
How does "God damn America" in the middle of a long sermon become "I hate white folks so much that you could call me a reverse-color KKK member" ?
Is Bill Maher a reverse-color KKK member for his remarks about 9-11 that got "Politically Incorrect" canned from ABC? Or Susan Sontag? How about Michael Moore? The editors of Progressive magazine? Do you think all of them have "African-Nation" posters hidden in their closets?
Mac's have the.dmg images that are simply, and Windows has Setup.exe. Linux needs something a little more similar.
I disagree. Both Macs and Windows have easy single-program installers, yes, but they severely lack the ability to update EVERYTHING in one place, so instead every program has its own way of performing updates. Imagine not using your Mac for a few weeks and then coming back and finding that Firefox wants to update, Adium wants to update, Transmission wants to update, NeoOffice wants to update, etc. Linux OTOH has a one-stop-spot for all of that.
Now I wouldn't mind a system that has both worlds: single-click installable packages (deb/rpm) that also prompt the user to add the third-party repository on install, so that they would then appear in Synaptic/etc. from then on. On the Mac side, it would be nice if Apple provided a supported API (or if there is one, that the 3rd party apps would start using it) such that Firefox/Adium/etc. could just add themselves to "Software Update" so they get checked as frequently as iTunes/QuickTime/etc.
There is practically no real difference between scoring an exam 0-100 and curving 50 points and scoring an exam such that anyone with a decent understanding of what is going on will get a 70. In both cases you get essentially a normal distribution, and most of the students near the mean of one professor have a similar understanding as those near the mean of another.
I'd never want to work somewhere where engineers are selected by their marketing talents.
I'd never want to work at a place where "good engineering" means "get so wrapped up in the math that the concept can only be communicated to other engineers".
What about the best of all - Star Trek? It paints a utopian picture of Earth in the future, that picture being one where they've done away with money and capitalism, and are living in a happy world under a system of governance closer to communism than anything else.
I think Star Trek has had too many inconsistencies in its portrayal to say any particular economic model is used by the Federation. There is no money, but "gold-pressed latinum" is used widely; there are no poor on the starship, but plenty of poor worlds in the Federation; there is supposedly democratic representation, but some planets are more equal than others; it is supposedly a meritocracy, but family dynasties exist throughout StarFleet and the Federation Council.
I like the theory presented here about the structure of the Federation.
when most polls show Ron Paul at under 5%, why do 10% of IT people support him?
Because many IT folks were fed libertarian talking points throughout their adolescence in the form of American science fiction. American sci-fi is disproportionately libertarian, with even an annual award (the Prometheus Award) given out by the Libertarian Futurist Society. Many famous names in sci-fi including Poul Anderson, Robert Heinlein, Neil Stephenson, David Brin, Larry Niven, and Vernor Vinge are/were associated with establishment libertarianism, and even Heinlein (who was supposedly co-opted by the libertarians ("TAANSTFL")) did little to publicly correct the impression that he favored anarcho-libertarian ideology.
Now twenty years later many IT folks have libertarianism sunk in very deep indeed.
Yeah, ouch. Other than the parse-float issue and the modern libraries, the rest of Lisp is pretty neat.
I'm hoping that the Lisp Gardener's project has made some progress since then on the portable libraries. Maybe next year I'll be able to revisit Lisp...translating C++ TO Lisp is a lot easier than the other way around.:)
That is, if the C program took 5 minutes to do a file, the Lisp program would take 3 and a half days (i.e. 5000 min)?
In this case it was the time difference between "(dotimes (i 10000000) (parse-float "1234.567e+8"))" and "for (int i=0; i10000000; i++) sscanf("1234.567e+8", "%f", &foo);" . One completed in something like 30 seconds, the other around 0.3 seconds. Adding the rest of the stuff in (moving those single-floats into CLOS objects) was a bit of a slowdown but not too bad. Overall, a C++ program that could complete in the 10-20 second range took 45-60 minutes in Lisp. Maybe 3 orders of magnitude is more accurate then.
I may get time someday to dig into a Lisp and implement an unsafe-parse-float that could get within 2-3x of C, but I ran out of time for more performance optimizations on this project and had to move on.
Really that slow? Which implementation did you use?
CMUCL and SBCL. And yeah, really that slow: a non-optimized C++ routine could get through 70MB in about 5-10 seconds, but the Lisp equivalent (after extensive optimization including declared types and minimized memory usage) took about 45-60 minutes (identical hardware). I traced it back to the parsing and construction of so many single-float's from all that data. My final test was to simply (time (dotimes (i 10000000) (parse-float...))) with nothing else in the loop and compare to sscanf("%f", &var1) on the same input and the difference was 100-1000 times faster for the C code. Someday I might learn the internals of a particular Lisp enough to provide a non-safe (parse-float) that comes within 2x of C, but I didn't have time this year to get into it that far.
There are portable libraries for SQL, networking, GUI, and threads.
Granted, it's been two years, but SBCL's threads worked only on x86 and CMUCL's were portable across platforms but not native threads (though I do like the mp:make-process model). CLSQL broke inside the native Postgres driver somewhere along the way, and the GTK/Qt libraries at the time were not quite feature-complete.
Could you also give an example for "it is possible for a file to exist on the system that the Lisp process is unable to open without resorting to non-standard functions"?
I was iterating through my MP3 collection and eventually encountered a file that looked something like "/path/to/dir/[Artist]---Filename(stuff).mp3" such that the (namestring pathname) CMUCL returned was "/path/to/dir/\[Artist]---Filename(stuff).mp3" . It's been over two years since I last looked at it so I don't remember too closely, but essentially there was no combination of normal functions I could use to determine the actual native filename from the pathname. Come to think of it, I might have been able to open the file, but I really just wanted the file size and there was no way to guarantee that (namestring) would work with (unix:unix-stat).
I did. I/O performance made it unusable for me though.:( In my case, I needed to analyze the output of molecular simulation packages, which meant converting several gigs of text floats into floats every day. Even using the parse-number package (which is *incredibly* fast compared to using the reader) it was about 4 orders of magnitude slower than C.
I was also a bit frustrated with the lack of portable threads, SQL, networking, Qt/GTK, and the god-awful pathname stuff in the standard (such that it is possible for a file to exist on the system that the Lisp process is unable to open without resorting to non-standard functions).
If I had to do webserver stuff I would probably try out Lisp again though.
So...you replaced a bunch of older versions with newer versions that are more bloated and slower, yet the systems run faster because you fixed the startup sequence. Why didn't you just patch up the OS and fix the startup sequence and get the fastest performance you could (short of installing Linux of course)?
There is actually a rather simple way to adapt to the Linux driver model: release a hybrid driver in which one piece interfaces with the kernel and the other piece does the proprietary bits. Make source available for the former and the Linux community will be able to update it as the kernel interface changes. The proprietary bit only has to be updated when gcc changes things, and that could also be made available separately.
Can you prove to the contrary he (or his advisors) blatantly lied about the WMDs as opposed to simply being misinformed?
Yes. Dick Cheney created the Office of Special Plans as a filter between the intelligence agencies and the Presidency in order to highlight all reports that showed any possible link between 911 and Iraq and bury all reports that showed no such link. You may remember back then that the CIA was falling apart, hemorrhaging skilled analysts and losing most of its top-level ranks as they realized that their work wasn't making it to the Executive. The OSP's interference is also the reason that the NIE report on Iran's nuclear program was leaked directly to the media last fall -- in order to prevent the Executive from justifying a new war with Iran based on deliberate distortions of CIA intelligence.
The "left-wing" (independent) media had been reporting on the OSP for months before the Iraq invasion, and by the time of the worlwide Feb 15 2003 protests it was obvious to anyone with a clue that Saddam had no WMD and that Hans Blix was mere weeks away from definitive proof of that fact.
Similarly, the independent media has reported for months that Iran's nuclear program is not yet capable of producing nuclear weapons and no military justification exists for operations against it today, yet the US is getting poised for air strikes against Iran anyway in retaliation for the oil bourse.
The rest of the world is aware that the US is willing to risk starting World War III in the Middle East in the next few weeks. Do you?
This is as ludicrous as running out of gas and saying, "I need to buy a new car," because you don't see any difference between your car and the gas in the gas tank.
A better analogy to me is a car's radio dying and saying, "I need to buy a new car", because radios are already well-known to be aftermarket items, and the manufacturers generally put one in a car when you buy it but you can easily replace it later.
Preface: I'm a grad student who had to take most of the undergrad as a post-bac. This is my last semester, and my last two classes are a grad elective and an undergrad course that I'd like to know before my full-time job begins this summer.
But thats how it works in the real world, rarely do you work on a project by yourself.
Oh I know. This is career #2 for me, I've done the collaborative work before. OTOH, in the real world answers to the kind of small problems seen in homework is generally available from other textbooks, Google Scholar, or you can ask a PhD directly. Insisting on group work for these kinds of problems is probably helpful for the folks who are under 22 with no work experience, but for me it has been an extra hassle to informally "teach" on top of the rest of my workload (thesis + defense + other research).
Complain to your peers and then the professors if you really feel people arn't doing their fair share.
I can't really fault the undergrads for not being at the same level since I've had two brutal semesters of grad-level stuff already. However, I have asked about being separated and the profs are generally against it even when freeloaders are present because the leeches fail the exams anyway and the homework doesn't really count a lot towards the final grade. So I'm not penalized by grade, I just lose real time with the wife.
you just can't think of everything yourself.
My first career was IT-type stuff (hence the occasional Slashdot post). I've dealt with my share of not-invented-here(tm) and lone ranger coders. My next job will ultimately be all about making the lives of plant operators easier, so I intend to spend a lot of time out in the plant to better understand their needs. I'm also part of a large group of new hires who need to absorb as much knowledge as possible from the boomers before the begin retiring en masse, and I'm considering another master's later (to be taken much more slowly than this one) in communications precisely to help make it easier for people of very diverse backgrounds to work together.
Training students to be rugged individuals is the wrong thing to do. Give them homework that HAS to be done in a group.
In my engineering school, they believe this very strongly and in virtually all in-major classes homework is REQUIRED to be done in groups.
I hate it.
I already have dozens of engineering books picked up from used bookstores all over the state in my home, I know how to Google, and I've got friends I can ask the random question to. I'm also married and don't really like losing odd evenings and weekends to on-campus meetings with folks who can usually just stroll over from their dorm rooms and some of whom just wait on me to produce "the answer". Finally, many of these students are from all over the world and apparently it's quite acceptable in their cultures to do absolutely EVERYTHING together, including xerox their answers before handing them in.
Only one of my classes had a compromise: group work was OK but not required. I enjoyed that one.
And the probability of Microsoft's doing this?
I would rate it low considering their general lack of skill and experience on the server side. But OTOH if they ever DID manage it I don't see the academic world shunning it.
If you are doing anything remotely analytical (numerically or symbolicly processing intensive) which includes statistical analysis, by the way, and not just systems of ODEs and PDEs, then performance certainly goes to Linux.
Yup, but OTOH I cynically believe that is simply because Windows doesn't run on non-x86 hardware or on real clusters.
I finish my masters in chemical engineering in about 6 weeks, and my thesis was essentially applied quantum chemistry (ab initio and molecular dynamics simulations). The really decent grad students and PhD's in this work are those of us unafraid of the command line, but I feel like we are a vanishing breed.
If Microsoft ever ported to PowerPC or MIPS and made a real cluster solution where the head node behaved a lot like Terminal Server and the users could just drag-and-drop their input and output files through an Explorer-like interface and didn't need to provide scripts for the batch queueing system, the profs and students would probably demand it be used in place of the current reasonably mature stuff everyone is using. I shudder at how ignorant of computers the following generations of supercomputer users would be in that world.
C++ is for operating systems and drivers, and was never intended for application programming.
It is a systems language, but that does not mean only the kernel and drivers. I would pity the kernel implementor who had to have both stack unwinding and exception behavior work correctly on current hardware. If anyone has succeeded at that, more power to them. Apple and IBM's joint effort (Taligent / Pink) failed miserably.
I think C++ is really intended to be a language that can provide (most of) the syntactical constructs available in a Lisp-like language but with the ability to both go all the way down to the metal and heavily optimize up-front to get mostly good speeds without requiring a VM+JIT environment. For the stuff I need to really go fast and still be flexible with future rewrites, I use C++. But for research code or proof of concept (as you mention), I would use something else first.
Traditional journalism must meet some standards of accountability, whereas you and your mates down the pub don't.
All they have to do is quote libelous statements from their sources rather than say them directly. Same effect, zero accountability. How else were they able to legally lie about Iraq's (non)connection with Al-Qaeda?
Maybe I'm abnormal, but I care a great deal about ALL of my software having security fixes in a reasonable timeframe. One bad library that shipped with a particular user program has the potential to open the whole system up for abuse, I shouldn't have to manually check every little program every week.
/usr/local and /opt are for, so even in the (very rare) cases I need a package newer than what is in the repository I can get it installed alongside the rest of the system fine.
I also would never install a package outside the package manager in global locations, that's what
Finally, I don't run much commercial stuff, but what I do run tends to work quite fine within the package framework. DB2 uses rpms on Linux and the native packaging on AIX, and hence appears in the package managers of each appropriately. I don't see why others can't do the same -- if you are working on a serious $$$ commercial app, the money is there to package it right for the platform.
Pardon me, but I really must call bullshit on this characterization. ... You'd have exactly the same level of accuracy by saying that all of Obama's supporters are teenage muslim fundamentalist spear-chuckers.
So are you from the antisemite or the racist subgroup? It's hard to tell, since "muslim fundamentalist spear-chucker" covers so much xenophobic ground.
His racism is so strong that he doesn't even know how the country was founded nor does he recognize the tremendous gains made toward equality.
Um dude, racism WAS (part of) how this country was founded. Go check your Constitution -- it's got racism written right in there. We fought an enormous Civil War over slavery. And no, the Civil War was not about some nebulous concept called states' rights, it was about the specific right of some states to legislate slavery over the right of other states to outlaw it. If the South had REALLY cared about states' rights, they wouldn't have forced the enactment of the Fugitive Act which trampled all over the human rights laws of the Northern states.
And while the country has made tremendous gains, it's still a racist nation. If anything, it's become a more equal-opportunity racist nation over the last 20 years: people of Middle Eastern and Indian/Pakistani descent are starting to experience en masse the kind of daily harassment that black and Native Americans are long used to.
Rev. Wright would be right at home wearing one though.
How does "God damn America" in the middle of a long sermon become "I hate white folks so much that you could call me a reverse-color KKK member" ?
Is Bill Maher a reverse-color KKK member for his remarks about 9-11 that got "Politically Incorrect" canned from ABC? Or Susan Sontag? How about Michael Moore? The editors of Progressive magazine? Do you think all of them have "African-Nation" posters hidden in their closets?
Mac's have the .dmg images that are simply, and Windows has Setup.exe. Linux needs something a little more similar.
I disagree. Both Macs and Windows have easy single-program installers, yes, but they severely lack the ability to update EVERYTHING in one place, so instead every program has its own way of performing updates. Imagine not using your Mac for a few weeks and then coming back and finding that Firefox wants to update, Adium wants to update, Transmission wants to update, NeoOffice wants to update, etc. Linux OTOH has a one-stop-spot for all of that.
Now I wouldn't mind a system that has both worlds: single-click installable packages (deb/rpm) that also prompt the user to add the third-party repository on install, so that they would then appear in Synaptic/etc. from then on. On the Mac side, it would be nice if Apple provided a supported API (or if there is one, that the 3rd party apps would start using it) such that Firefox/Adium/etc. could just add themselves to "Software Update" so they get checked as frequently as iTunes/QuickTime/etc.
internet streaming radio...
Which we will hear in the car how exactly?
There is practically no real difference between scoring an exam 0-100 and curving 50 points and scoring an exam such that anyone with a decent understanding of what is going on will get a 70. In both cases you get essentially a normal distribution, and most of the students near the mean of one professor have a similar understanding as those near the mean of another.
I'd never want to work somewhere where engineers are selected by their marketing talents.
I'd never want to work at a place where "good engineering" means "get so wrapped up in the math that the concept can only be communicated to other engineers".
What about the best of all - Star Trek? It paints a utopian picture of Earth in the future, that picture being one where they've done away with money and capitalism, and are living in a happy world under a system of governance closer to communism than anything else.
I think Star Trek has had too many inconsistencies in its portrayal to say any particular economic model is used by the Federation. There is no money, but "gold-pressed latinum" is used widely; there are no poor on the starship, but plenty of poor worlds in the Federation; there is supposedly democratic representation, but some planets are more equal than others; it is supposedly a meritocracy, but family dynasties exist throughout StarFleet and the Federation Council.
I like the theory presented here about the structure of the Federation.
TAANSTFL from TANSTAAFL? I hereby declare a new acronym dubbing day. Please note that IANAL. :)
:)
Yeah I was rushed and noticed that right AFTER I hit "Submit".
when most polls show Ron Paul at under 5%, why do 10% of IT people support him?
Because many IT folks were fed libertarian talking points throughout their adolescence in the form of American science fiction. American sci-fi is disproportionately libertarian, with even an annual award (the Prometheus Award) given out by the Libertarian Futurist Society. Many famous names in sci-fi including Poul Anderson, Robert Heinlein, Neil Stephenson, David Brin, Larry Niven, and Vernor Vinge are/were associated with establishment libertarianism, and even Heinlein (who was supposedly co-opted by the libertarians ("TAANSTFL")) did little to publicly correct the impression that he favored anarcho-libertarian ideology.
Now twenty years later many IT folks have libertarianism sunk in very deep indeed.
Yeah, ouch. Other than the parse-float issue and the modern libraries, the rest of Lisp is pretty neat.
:)
I'm hoping that the Lisp Gardener's project has made some progress since then on the portable libraries. Maybe next year I'll be able to revisit Lisp...translating C++ TO Lisp is a lot easier than the other way around.
That is, if the C program took 5 minutes to do a file, the Lisp program would take 3 and a half days (i.e. 5000 min)?
In this case it was the time difference between "(dotimes (i 10000000) (parse-float "1234.567e+8"))" and "for (int i=0; i10000000; i++) sscanf("1234.567e+8", "%f", &foo);" . One completed in something like 30 seconds, the other around 0.3 seconds. Adding the rest of the stuff in (moving those single-floats into CLOS objects) was a bit of a slowdown but not too bad. Overall, a C++ program that could complete in the 10-20 second range took 45-60 minutes in Lisp. Maybe 3 orders of magnitude is more accurate then.
I may get time someday to dig into a Lisp and implement an unsafe-parse-float that could get within 2-3x of C, but I ran out of time for more performance optimizations on this project and had to move on.
Really that slow? Which implementation did you use?
...))) with nothing else in the loop and compare to sscanf("%f", &var1) on the same input and the difference was 100-1000 times faster for the C code. Someday I might learn the internals of a particular Lisp enough to provide a non-safe (parse-float) that comes within 2x of C, but I didn't have time this year to get into it that far.
CMUCL and SBCL. And yeah, really that slow: a non-optimized C++ routine could get through 70MB in about 5-10 seconds, but the Lisp equivalent (after extensive optimization including declared types and minimized memory usage) took about 45-60 minutes (identical hardware). I traced it back to the parsing and construction of so many single-float's from all that data. My final test was to simply (time (dotimes (i 10000000) (parse-float
There are portable libraries for SQL, networking, GUI, and threads.
Granted, it's been two years, but SBCL's threads worked only on x86 and CMUCL's were portable across platforms but not native threads (though I do like the mp:make-process model). CLSQL broke inside the native Postgres driver somewhere along the way, and the GTK/Qt libraries at the time were not quite feature-complete.
Could you also give an example for "it is possible for a file to exist on the system that the Lisp process is unable to open without resorting to non-standard functions"?
I was iterating through my MP3 collection and eventually encountered a file that looked something like "/path/to/dir/[Artist]---Filename(stuff).mp3" such that the (namestring pathname) CMUCL returned was "/path/to/dir/\[Artist]---Filename(stuff).mp3" . It's been over two years since I last looked at it so I don't remember too closely, but essentially there was no combination of normal functions I could use to determine the actual native filename from the pathname. Come to think of it, I might have been able to open the file, but I really just wanted the file size and there was no way to guarantee that (namestring) would work with (unix:unix-stat).
Learn LISP!
:( In my case, I needed to analyze the output of molecular simulation packages, which meant converting several gigs of text floats into floats every day. Even using the parse-number package (which is *incredibly* fast compared to using the reader) it was about 4 orders of magnitude slower than C.
I did. I/O performance made it unusable for me though.
I was also a bit frustrated with the lack of portable threads, SQL, networking, Qt/GTK, and the god-awful pathname stuff in the standard (such that it is possible for a file to exist on the system that the Lisp process is unable to open without resorting to non-standard functions).
If I had to do webserver stuff I would probably try out Lisp again though.
So...you replaced a bunch of older versions with newer versions that are more bloated and slower, yet the systems run faster because you fixed the startup sequence. Why didn't you just patch up the OS and fix the startup sequence and get the fastest performance you could (short of installing Linux of course)?
There is actually a rather simple way to adapt to the Linux driver model: release a hybrid driver in which one piece interfaces with the kernel and the other piece does the proprietary bits. Make source available for the former and the Linux community will be able to update it as the kernel interface changes. The proprietary bit only has to be updated when gcc changes things, and that could also be made available separately.
Can you prove to the contrary he (or his advisors) blatantly lied about the WMDs as opposed to simply being misinformed?
Yes. Dick Cheney created the Office of Special Plans as a filter between the intelligence agencies and the Presidency in order to highlight all reports that showed any possible link between 911 and Iraq and bury all reports that showed no such link. You may remember back then that the CIA was falling apart, hemorrhaging skilled analysts and losing most of its top-level ranks as they realized that their work wasn't making it to the Executive. The OSP's interference is also the reason that the NIE report on Iran's nuclear program was leaked directly to the media last fall -- in order to prevent the Executive from justifying a new war with Iran based on deliberate distortions of CIA intelligence.
The "left-wing" (independent) media had been reporting on the OSP for months before the Iraq invasion, and by the time of the worlwide Feb 15 2003 protests it was obvious to anyone with a clue that Saddam had no WMD and that Hans Blix was mere weeks away from definitive proof of that fact.
Similarly, the independent media has reported for months that Iran's nuclear program is not yet capable of producing nuclear weapons and no military justification exists for operations against it today, yet the US is getting poised for air strikes against Iran anyway in retaliation for the oil bourse.
The rest of the world is aware that the US is willing to risk starting World War III in the Middle East in the next few weeks. Do you?
This is as ludicrous as running out of gas and saying, "I need to buy a new car," because you don't see any difference between your car and the gas in the gas tank.
A better analogy to me is a car's radio dying and saying, "I need to buy a new car", because radios are already well-known to be aftermarket items, and the manufacturers generally put one in a car when you buy it but you can easily replace it later.
Preface: I'm a grad student who had to take most of the undergrad as a post-bac. This is my last semester, and my last two classes are a grad elective and an undergrad course that I'd like to know before my full-time job begins this summer.
But thats how it works in the real world, rarely do you work on a project by yourself.
Oh I know. This is career #2 for me, I've done the collaborative work before. OTOH, in the real world answers to the kind of small problems seen in homework is generally available from other textbooks, Google Scholar, or you can ask a PhD directly. Insisting on group work for these kinds of problems is probably helpful for the folks who are under 22 with no work experience, but for me it has been an extra hassle to informally "teach" on top of the rest of my workload (thesis + defense + other research).
Complain to your peers and then the professors if you really feel people arn't doing their fair share.
I can't really fault the undergrads for not being at the same level since I've had two brutal semesters of grad-level stuff already. However, I have asked about being separated and the profs are generally against it even when freeloaders are present because the leeches fail the exams anyway and the homework doesn't really count a lot towards the final grade. So I'm not penalized by grade, I just lose real time with the wife.
you just can't think of everything yourself.
My first career was IT-type stuff (hence the occasional Slashdot post). I've dealt with my share of not-invented-here(tm) and lone ranger coders. My next job will ultimately be all about making the lives of plant operators easier, so I intend to spend a lot of time out in the plant to better understand their needs. I'm also part of a large group of new hires who need to absorb as much knowledge as possible from the boomers before the begin retiring en masse, and I'm considering another master's later (to be taken much more slowly than this one) in communications precisely to help make it easier for people of very diverse backgrounds to work together.
Training students to be rugged individuals is the wrong thing to do. Give them homework that HAS to be done in a group.
In my engineering school, they believe this very strongly and in virtually all in-major classes homework is REQUIRED to be done in groups.
I hate it.
I already have dozens of engineering books picked up from used bookstores all over the state in my home, I know how to Google, and I've got friends I can ask the random question to. I'm also married and don't really like losing odd evenings and weekends to on-campus meetings with folks who can usually just stroll over from their dorm rooms and some of whom just wait on me to produce "the answer". Finally, many of these students are from all over the world and apparently it's quite acceptable in their cultures to do absolutely EVERYTHING together, including xerox their answers before handing them in.
Only one of my classes had a compromise: group work was OK but not required. I enjoyed that one.