Okay dude, do you remember what video game retail stores looked like back in 2001? Now compare them to how they look in 2004. See any difference? Oh, yeah--the stores in 2001 had nearly half their shelf space dedicated to computer software, and in 2004 you'd be lucky to see even a single shelf in the back dedicated to PC games. Seventeen years my ass. Perhaps games have become somewhat easier in the past 10 years, but they haven't in the past 5--for God's sake, they still sell multi CD games when consoles have gone DVD for quite a while. For the past 5 years both consoles and PCs have stayed the same in usability terms (consoles way the fuck easier to use than PCs), but the consoles are nearly caught up with PCs in terms of power. (Strangely, that still seems true even though the consoles came out years ago)
There are many things that seperate software/mathematical patents from legitimate patents.
1. Alan Turing, having given us the design for a machine that can produce the same mathematical results as any other known mechanical process, has prior art on all software. Any patent he would have taken would have expired a long time ago. To patent a specific use for his machine is like some joker patenting the use of Edison's Lightbulb for lighting a living room, and another joker patenting the use of lightbulbs for lighting your dining room.
2. Although we call them computers, the vast majority of us use them for communication rather than computation, and it is essential that all computers be able to interoperate. Allowing companies to release file formats that are encumbered by patents discourages intercommunication, and promotes lock-in, network effects, and all sorts of nasty monopolistic inefficiencies. Implementing *.gif support in the Gimp might not be innovative, but it's certainly beneficial to the market as a whole, and to the core purpose of early 21st century computing--intercommunication.
3. Fifteen years in computer software is way, way longer than fifteen years in hardware. Fifteen years ago most of us weren't even online.
4. Software patents provide no beneficial incentives to mathematicians or software developers--or put another way, can anyone point me to any significant mathematical or software discovery that would not have occured without the protection of patents? Significant enough to justify the pain of software patents that all American developers must encounter daily?
5. Software processes involve orders of magnitude more parts/components/ideas than hardware. Windows XP has millions of lines of code. What other product in your home comes anywhere near that level of complexity? Software patents mean that for every line of code we right, we theoretically have to consult a lawyer. If Software Patents take hold worldwide, I suspect we will come to have a Hernando de Soto "The Mystery of Capital" kind of situation with the more workable notion of Software Copyright--software development will become legally impossible for all but the largest corporations, so anytime a small or mid-size firm needs software written, it will have to resort to a black/gray market to get anything done. Indeed, that seems to be the only saving grace of the American situation--enforcement is so lax and arbitrary that we could still open.gif files in free Linux web browsers, even though technically every single user was supposed to pay for that priviledge.
The bottom line is that patents were created for pragmatic reasons--to support the development of science and industry--and nearly all academia seems to believe that software and mathematical patents are detrimental to that goal. I think there is sufficient moral theoretical distinction between software and physical patents--to say nothing of further insanities like business process patents, which must have been invented by some black humor-loving lawyer as a parody of the current system. But even if you believe they are morally and theoretically equivalent, the pragmatic differences are huge--and please recall that patents are a utilitarian construct only. Software patents promote the common detriment.
Please, Europeans, you guys love to talk about how much smarter you are than us Americans and this is your chance to prove it! Don't let us down, don't let yourselves down! Don't let Bush and Microsoft bully you into economic subservience! SOFTWARE PATENTS DELENDA EST!
And let me say that if a device that can make any other physical device ever becomes affordable to ordinary people, I and many of my fellows first task will be to produce as many weapons as we need to protect our right to produce whatever the hell we like.
I think your second paragraph explains why your first one is wrong--Open Source Licences are only necessary because copyright exists--that's not to see that everyone who uses an OSS licence thinks copyright should be abolished, but that without copyright not only are OSS licences impossible they serve no purpose.
Or rather, they would serve one very limited purpose--stopping me from taking an open source app, modifying it, and converting it into "freeware"--software without source code but also free distributable. I just can't see this as a huge problem, though
In any event, sure, free software and maybe even academics could start making defensive patents. But their only reason in doing so would be to make a close approximation of their ideal world, in which their were NO software patents. We'd end up with two competing giants standing on each other's two to make sure the other can't progress.
Oops, you forgot to preempt the "just buy an XBox" response. These days, I don't think games are a big thing that holds very many people in Windows, just because so few people use computers to play games any more.
So, I understand that they might be keeping you from switching to Linux, I don't think you're in very large company. Since Microsoft seems determined to have a fairly small update cycle of consoles (XBox Next released next year), gaming on PCs might soon be even more of a fringe thing than Linux. Which could be interesting--maybe the market for computer games revert to be more like that eighties or early nineties, when computers weren't so omnipresent.
Anyway, why should you switch to Linux? It's a somewhat nicer development environment, it's a vastly superior server environment, and it's an weird toy. If none of those sound interesting to you, and you don't have strange paranoias about Microsoft (which would probably be very rational paranoias to have if you happen to be, say, the Government of France, but not for American John Q. Public), then you're probably right to stick to a Windows or Mac environment, if you're willing to pay the minor additional software costs for either those.
But when someone says a film has a lot of good philosophy in it, I generally expect to see some ideas that haven't been mainstream for 2,000 years and haven't been rehashed in half the science fiction previously written.
Why would you expect that? Has there ever been a movie that met your philosophy quotas? Would even Waking Life make the cut? None of the ideas in that moving are something you wouldn't hear a philosophy 101 undergrad say. Pure ideas simply don't render well into visual medium.
The Matrix is great, possibly even artistically great, for two reasons--how well it translates those fairly simple ideas into the visual (Waking Life rules for the same reason), and the suggested isomorphism between the machines hallucinogenic domination of humanity and the forms of social control that exist in our present day world (or at least a anarchist's punk caricature thereof). The sci-fi aspects are secondary to the social parable aspects--which is why things like the obviously second law of thermodynamic violations like "human batteries" are allowed.
Sure, you can read about a brain in a vat in your textbook, but that doesn't capture the creepy absurdity of the idea--you wake up, go to work, work hard all day--but it's just an illusion--you're actually sleeping suspended in nutritive fluid, with tubes sticking out of your servo-mechanical orifices, while sadistic machines are poking and proding you on a doomed Earth under an eternal nighttime sky. You never knew it, but the entire planet is dedicated to making sure you never wake up.
There's nothing new about the idea, it's the visual translationg that's noteable.
But the truly interesting ideas aren't in the philosophy or science of it, but in the politics. The people of the Matrix are required to go to school even though learning can take place in an instant, and go to work even though the "food" they purchase and consume has no effect on their metabolism--their jobs don't exist to serve any purpose, they exist merely as a distraction, to prevent an uprising by the masses.
Consider our present day world--a very miniscule population is required to grow the food we eat in America, and an ever dwindling population is required to produce the products we use Check the numbers--we aren't losing manufacturing jobs to China and India, the World is losing jobs to robots and automation. The government subsidizes both agriculture and manufacturing to keep those populations artificially high. Capitalism, like the Matrix, exists not to meet our material needs, but merely to keep the masses occupied. I'm not saying I believe this, but I believe it is the hidden message of the Matrix--that whether or not we live in an actual "Matrix" of physical hallucination, we still live our day to day lives in a "social" hallucination.
Indeed, perhaps the Second Law ignorance of the Matrix is in fact a parody of the Second Law ignorance of capitalism--why am I paid to work, when work merely uses up the only thing that's TRULY scarce in our world, useable energy.
Okay, I'm reaching on that last one.
Still, one interesting thing I remember from the second movie, when Zion's leader is comparing the machines that dominate humans to keep themselves energized to the machines humans dominate in order to keep Zion running. There's a point made about civil disobediance--what we have power over we grow to depend upon, and therefore has power over us. Zion's machines are model of the humans in the Matrix--which itself is a parable of modern social control. I thought that was kind of clever.
There are a large contingent of commercial organizations who would port their Windows applications over to Linux in a heartbeat if there was a Windows-like registry for Linux with the sole purpose of accomodating commercial applications. This registry would have to be protected by the OS itself and require Linux users to generally agree to not touch it (read: crack it). I don't care how the registry is implemented, but organizations want the ability to enforce 30 day trials on systems. The lack of a centralized, secured repository of information really deters commercial interests from porting high-quality software from Windows to Linux.
You need to be modded down, not because of ideology, but because what you're saying makes no technical sense. Windows users can just run regedt32.exe to change the "centralized, secured repository of information". It's not like warez doesn't exist in Windows--in fact, come to think of it, there's way MORE warez in Windows. And now that I think about it, there isn't that much shareware in Windows OR Linux nowadays as there was in the days of registry-less. If you want a centralized, insecured repository of information, you can use the Windows registry, GConf in GNOME, or any filesystem.
What you're asking for is DRM, and that exists in neither Windows nor Linux today, and I wish it didn't exist tomorrow. Not to mention that you're advocating a general pattern of taking control away from the user, and therein lies the path to spyware.
There's a lot of Linux software for Windows, but over 90% of it seriously lacks in an area called usability
You may be right, you may be wrong--but one thing is for sure--any usability advantage by Windows has NOTHING to do with shareware, which is all but gone. I think it has more to do with software being what microeconomists call a Natural Monopoly--marginal costs of producing the next item are zero
Whenever anyone asks me why something is wrong with their computer, I ask if they use IE, and if they answer yes, I slowly shake my head sadly and "tisk, tisk" them. Slowly but surely everyone around me seems to be getting the message. It's not hard to explain at all:
If you use Internet Explorer, your computer will fuck up.
Back when I started saying that in netscape 4.7 days, one could reasonably accuse me of exaggeratng or even unintentionally misleading--however, it seems that I've been vinidicated by the passing years.
So, Grandma, remember, using IE is asking scary-looking teenage "hackers" (that's internet-speak for Satan Worshipers) dressed like androgynous vampires to take over your computer. What will they do with your computer once it's in their vile, rap music-listening clutches? They will do terrible, evil, bisexual things to it! Like...X10 popup ads!
The last president blamed Libertarians (as well as Rush Limbaugh and other right wing talk show hosts) and Conservatives for creating an environment that fostered such hatred in the government that prompted McVeigh to do what he did.
But he also declared The Era of Big Government to be over. In retrospect, it seems both Clinton and McVeigh--not to mention guys like me who voted against Clinton and for Bush in 2000--were fooled. The Right occasionally rallied the troops with libertarianism in the mid-nineties, but seems to have abandoned it for social conservatism and plutocracy with Bush's rise. Clinton shouldn't have blamed libertarians, because his opponents were only pretending to be libertarians.
Funny how you don't hear much about those far right antigovernment types anymore--they seemed to have rallied around the flag or against gays in the 21st century. Bush has drastically increased the size of the government, even excluding military and homeland defense. Clinton tried and failed to nationalize health care (which I opposed at the time but in retrospect of double digit health insurance premium rises even as malpractice payouts decrease, I start to wonder about now). Other than that, I can't think of many specific policy differences he'd had with libertarians. Perhaps that just means divided government is best for libertarians--and given the further computer refinements of gerrymandering solidifying Republican control of the house, Democrat control of the White House may be the only hope of that.
There's nothing done by the Ashcroft Justice Department that was worse than anything done by the Reno justice department.
Um...your sentence logically means that every single action by Janet Reno was worse than every single action by John Ashcroft. In any event, while Waco may have been mishandled, that was momentary spur of the moment failure--as compared to illegal and unconsitutional detentions without trial by the current administration, which are a determined and purposeful stain on our constitution.
It's bush's critics supporting the most statist aspect of this so called neverending war- the Draft.
Please look up the phrase "poison pill" with regards to legislation.
Meanwhile, Bush has actually made proposals to introduce more free market reforms for Social Security and healthcare as well as education.
With regards to Social Security, most libertarians are starting to wise up with regards to the difference between crony capitalism and actual capitalism. Most of the proposals I've seen for market based social security are both statist and regressive--forcing people to invest in the pyramid scheme known as the stock market. No way will I accept "free market" Social Security in a post-Enron world--eliminate Social Security if you can, but if you can't, at least don't make it even worse.
With regards to healthcare, libertarians might like some of the things he says on the issue, but the thing is why hasn't he done any of those things for the past four years?! And education? Jesus, I can't believe you said education. No Child Left Behind represents the biggest affront to both Educators and Libertarians anyone has seen for quite some time--a giant power grab for the federal Department of Education. Just because the NEA is pissed off doesn't mean Libertarians should be happy.
Bush occasionally talked about free markets and freedom and whatever in the 2000 campaign, and now in 2004 he dangles little snippets of small rollbacks in government power, but they'll never see the light of day. The guy LOVES government power. He loves walking around in a flight suit on an aircraft carrier, with hoardes of strong, hearty, handsome American soldiers cheering for our collective military glory. Kerry seems to be the sort of asshat who believes it's his turn to be president, but America's been putting up with that sort of asshat for quite some time. Bush is different--he doesn't just want to be president, he wants to be a historic president who leads our nation out of troubled times--and if he has to incite those troubled times in the first place, so be it.
Or maybe it just says that they happened to pick companies that like OSS and Microsoft, respectively.
Could be, but now its a matter of subjective guessing on our part whether it is or not. Evidence that it is not includes the fact that Democrat's consultant links his support for free software and his liberal tendencies, the dramatic change in anti-trust policy following Bush's rise to power, and the folk belief that Kerry appeals to academics and brainy-types while Bush appeals to business people.
Yeah, the 90% rule doesn't take into account that gamers always seek out the 10%--and that's what I'd claim, that there was a wider variance in games pre-Playstation (BTW, what's the point of getting nostalgic for a PS1 game? PS2 is exactly the same thing, but better).
So, while the quality of the average game produced back-in-the-day may been the same or lower, the quality of game actually played by gamers was higher. Or so I suspect.
Variance is good for consumers, but bad for marketing executives who love consistency. He who pays the piper calls the tune, and people paying the piper can't stop calling for the Lullaby of Mediocrity.
Full Disclosure: I'm an independent/libertarian - most likely to vote for Bush (it's the war on terrosism stupid!)
Christ, Bush has done everything possible to say Fuck You to libertarians, more so than any Democrat ever has since LBJ, and you're still going to vote for him on the basis of his most statist position--an orwellian-style endless war? I don't think you know what libertarian means.
In any event, your choice of tools determines the level of power corportations like Microsoft have over our lives. This is inherently and unavoidably political, making them something more than tools. You are wrong. The candidates themselves may not care, but it says a lot about the culture of their campaigns that one's IT department chooses freedom and the other chooses corporate dominance.
It doesn't mean Kerry likes OSS, but it's still notable that (some) fans of OSS would rather work for Kerry than Bush. That Kerry ended up with OSS IT guys, and Bush ended up with MS-lovng IT guys (claiming that more people know how to use IIS than Apache--is this true? seems unlikely) says something about the culture of their campaigns.
Holy shit! Someone mod parent (which is me) down, I am totally wrong! (though I think Eckels might be as well, or at least he writes misleading code samples on the subject) I'm reading the java generics specification, and it turns out you CAN put constraints on java type arguments--you can insist they derive from a single class and implement multiple interfaces, then you can use the methods defined in those interfaces.
Also when using C# generics on reference objects (the only kind java generics work with) all code is shared.
So basically, java generics are exactly like c# generics, except the C# generics deal with unboxed values in an intelligent way, actually produces more efficient vm codes, and apparently work with reflection (though I'm not sure the java generics don't as well.) They are both more or less equivalent to functors in ML-like languages (if anyone cares).
Standard ML parametric polymorphic types, on the other hand, not only share the underlying code. but even let you use the object as a single object with type variables--if you right a function with type "'a -> 'a", ('a is a type variable), then you can pass that function around as a first class object to other code that accepts arguments of "'a -> -a". Java/C#/C++/SML Functors make you instantiate the type/module parameters before you use the object.
So I was fairly confused last night, and most likely am still slightly confused this morning.
Pizza has the same "problems" as the Java implementation of Generics that Eckel is complaining about--your Generic code can only count on the object in question being an Object. Pizza also had no performance benefits--Pizza outputed Java source code, which was compiled and run on a normal JVM. I'm not sure if Java has changed the JVM for Java 5.0 to make it more efficient (it seems to me that that would be possible, though I don't know for sure and I hear otherwise.)
But the C++ and C# implementations which escape this defect have their own--everytime you instantiate a parameterized type (template or generic), under the hood it has to create another copy of your code--which takes up memory. (I don't know if this is true of Ada).
In the interview you're refering to and one of the replies to you links to, the C# designer tries to claim that C++'s are untyped because type errors aren't detected until linking or at least a later stage of compiling, but that seems too far--link time is still a long way before run time. The type system may not itself may not be checking for compliance, but it still gets checked before an executable gets made. The error messages are confusing, but I think that's just because STL is confusing.
So, you trade the extra permissiveness (albeit safe permissiveness) and CPU efficiency with detrimented memory efficiency--more copies of the code are used.
And both Java and C# try to wave their hands "Just in Time! Just in Time!" claiming that they can eliminate any performance problems. Who knows?
I still like C#'s generics better than Java's, so far, but the C# ones aren't better in all possible ways. Better still is something like Standard ML, which has polymorphic types which work like Java Generics (except that I am certain that Standard ML gets the full performance boost from parameterized types, not to mention that it doesn't have to check for Null Pointer exceptions as Java and C# must and as C++ fails to), and functors which are similar to C# Generics and (sort of) C++ templates.
Then again, take this with a grain of salt, I don't have that much experience with C# (er...CLI) generics. Maybe they're more powerful than I realize. Come to think of it, has Microsoft relased a.Net Framework with Generics yet? Back when I was playing with C# it lacked those. But Mono has them so perhaps I should investigate.
Still, you shouldn't go around talking about Java Generics being strictly syntactic relative to C++ templates. Did you notice how C++ templates like to be headers? The compiler basically just substitutes in the full text of the template every time you instantiate it. C# is a little smarter, not much.
What I am saying is that C++ is a completely different language from C, and throwing them together like that doesn't make any sense.
C is not a completely different language from C++. It's just not. One is almost a superset of the other. Completely different means nothing in common. I'm saying there are facts that are true of both of them: both of them will have you doing far more in the solution domain than any other language I mentioned, no matter how much you know--you must have never written a C++ program outside a CS intro class if you beleive otherwise. The potential for segmentation faults is probably the biggest similarity--for that alone, I think C/C++ is completely unsuitable for any code in a hostile environment.
True, there are similarities between Java and C++, and I think it would be fair to talk about C++/Java, though C/C++/Java would be pushing it. (There's no transitivity in slashes.) Nor am I saying that there is always a better alternative--the exceptions I listed were actually pretty broad--anything needing low level code, anything needing to call C or C++, anything needing to be called C or C++. That's a huge chunk of code today, though as virtual machines and just in time code and other advanced features get better, it's a dwinding chunk.
By you guys, I'm talking about people who identify with their programming languages.
Hey, I'll say that. "C/C++ is a bad language for certain purposes". The two languages share enough attributes that for anything that doesn't involve low level byte manipulation, or frequent calls to C/C++ code, or, even more critically, frequent calls from C/C++ code, that there is almost always a better alternative. Like I say, you guys might not like to be grouped together, but from the perspective of Java/perl/python/whatever, you're basically the same. Everything is relative.
You know, you can make non-cross platform code for Java. You can call Cocoa classes on Mac OS X, and I think there are some sort of gnome bindings in Java. You can use JNI to call native crap wherever you want. You can do lots of platform specific things in Java--which is good, because sometimes you need to do things only available on a given platform. When I'm running a GUI program, I don't care that this program was designed to work on all platforms--I want it to integrate well with the platform I'm on at the time.
So the whole Sun fear of "embrace and extend" is completely moronic. You can ALREADY extend Java in completely incompatible ways. After open sourcing, Sun's Java standard will still remain the "real" Java, and we know this will be the case because if it were not, then Java would have already lost control. So, if you're a developer, and you care if you're code works outside of Linux, then you'd better use Sun's (or possibly IBM's) Java implementation. And that's how it will be until the day no one cares about Sun Microsystems--a day that will come much sooner if Java continues to stay restricted and everyone's forced to move to Mono.
On the other hand, Java's pace would probably faster (and we wouldn't have had to wait forever for generics.) if it were open. Standards are just as important if not more to Mozilla as to Sun, but being open seems to work well for them.
It would certainly allow Java to be targetted to more obscure platforms. God help you if you want to write once, run anywhere other than Windows, Sun, Mac, or Linux/x86.
It would also mean that I wouldn't have to go to Sun's painful web site and hunt down the SDK and documentation past all the click-thru licenses. At the very LEAST it would be nice if sun let other people distribute their still closed java implementations. Of course, that would just be nice, it wouldn't be enough to head off platform irrelevance.
OSS means no sanity checks on feature creep, portability verification, documentation verification, regression testing, and all the other enterprise-project aspects of development that make it a useful technology. I've lost track of the number of times I've encountered platform-specific hacks in OSS code that weren't properly #ifdef-bracketed, or which just completely incompatible with other O/S implementations.
Yeah, that never happens in closed source software EVER. I actually agree with you that the language choices of OSS aren't all that grand (though lots of languages have embedded documentation, and the ones that don't can have it added with seperate tools)--but if you want everyone to start using Java instead, opening the source is the only way. No one wants to dedicate their time and energy for free to something a corporation has complete legal control over--unlike Mozilla/Apache/Linux, in which the corporations have merely de facto control. To be honest, Sun has made so much noise about their Open Source debate that I can't see how anyone could have any respect for them at this point if they don't announce a plan to open it reasonably soon.
As someone else pointed out the slash can indicate disjunction, but in this case I think C/C++ indicates conjunction--it truly and accurately means C AND C++. C++ not only contains almost all of C as a subset, but you can call C code from C++, and in some cases with effort vice versa.
Languages are abstract, fuzzy things. If want to define a new language as a combination of English and Japanese, there's nothing to stop me from doing that. (I'd only be able to speak and understand half of it, but that doesn't stop me from defining.) Now, you might be complaining that computer languages aren't fuzzy at all and must be defined precisely--but I can simply refer you to the ways in which C and C++ are frequently used together in actual projects--the language "C/C++" is implementation defined. An annoying but common way to define a language (it's the way English is defined--they're supposed to write dictionaries based on how we talk, not vice-versa). So, technically and logically, C/C++ is a "language".
But perhaps this is about more than the pedantics of what is and is not a language, but some sort of cultural reason you feel C and C++ need to be kept seperate--presumably because you like one a more than the other. Well, too bad. I go to the bookstore and see a Science Fiction/Fantasy section of books, even though plenty of people in either genre would object to being so grouped, because to everyone outside the genres in question they are nearly the same.
Even if it's obvious, someone has to do it first. Yes, it's official, the rules of logic compel me to declare that anyone who says "why didn't anyone else do it earlier?" whenever someone calls a patent obvious is a complete retard--SOMEONE always has to do it first, no matter how obvious. Common Sense. Software patents are stupid, but at least one occasionally sees some complex math algorithm that you couldn't come up on your own with five minutes of thought. GUI patents, on the other hand, are always retarded. Especially for Microsoft, which got rich stealing all of Apple's GUI ideas.
The post office probably doesn't do that. Employees of the telephone company, on the other hand, are permitted to listen to any call for maintainnance purposes, and generally have a lot of discretion in determining exactly what maintainance is.
Oh, one last thing. This system of game rating will find you raw game quality. I will now use one of my favoriate analogies. Citizen kane is the "best" movie ever. You may hate it. You may think its boring and stupid. But film-wise it is unbeatable. Zelda 1 is the same way. It is the Citizen Kane of video games. You may hate it, but that's how it is. Which games are most fun is completely independent of this. You may love to watch the Matrix #1 over and over, but film-wise it isn't great. Just as you may love to play Starcraft, it still isn't the objective best game.
No, it's not quite the same. Zelda 1 is certainly a more significant game, in a historical sense--it was vastly more unique when compared to its predecessors than Starcraft. It is far more worthy of attention to video game historians.
But if you take the game mechanics themselves, seperating them from both their theme and the history of games development, and especially our sense of nostalgia, I think Starcraft comes out the winner. You're comparing a fairly basic action/exploration title to a deep, mature, and well-balanced multiplayer RTS. At the very least, they're in the same league. I'd say Ocarina of Time, or even Majora's Mask and Wind Waker are, ignoring the chronology of development, deeper than the original Legend of Zelda, but none of those titles really puts Starcraft to shame. I say this despite personally liking every single one of the Zelda games better than every single game Blizzard has made.
This just isn't true in comparing The Matrix to Citizen Kane--even if Orson Welles were lived several decades later than it had, and had released Citizen Kane in color at the same time as The Matrix, Kane would still likely be a "better" film than The Matrix.
See, I knew that you Euros (or wherever you're from) were smarter than I am, now get out there delendi some patents!!!!
Okay dude, do you remember what video game retail stores looked like back in 2001? Now compare them to how they look in 2004. See any difference? Oh, yeah--the stores in 2001 had nearly half their shelf space dedicated to computer software, and in 2004 you'd be lucky to see even a single shelf in the back dedicated to PC games. Seventeen years my ass. Perhaps games have become somewhat easier in the past 10 years, but they haven't in the past 5--for God's sake, they still sell multi CD games when consoles have gone DVD for quite a while. For the past 5 years both consoles and PCs have stayed the same in usability terms (consoles way the fuck easier to use than PCs), but the consoles are nearly caught up with PCs in terms of power. (Strangely, that still seems true even though the consoles came out years ago)
1. Alan Turing, having given us the design for a machine that can produce the same mathematical results as any other known mechanical process, has prior art on all software. Any patent he would have taken would have expired a long time ago. To patent a specific use for his machine is like some joker patenting the use of Edison's Lightbulb for lighting a living room, and another joker patenting the use of lightbulbs for lighting your dining room.
2. Although we call them computers, the vast majority of us use them for communication rather than computation, and it is essential that all computers be able to interoperate. Allowing companies to release file formats that are encumbered by patents discourages intercommunication, and promotes lock-in, network effects, and all sorts of nasty monopolistic inefficiencies. Implementing *.gif support in the Gimp might not be innovative, but it's certainly beneficial to the market as a whole, and to the core purpose of early 21st century computing--intercommunication.
3. Fifteen years in computer software is way, way longer than fifteen years in hardware. Fifteen years ago most of us weren't even online.
4. Software patents provide no beneficial incentives to mathematicians or software developers--or put another way, can anyone point me to any significant mathematical or software discovery that would not have occured without the protection of patents? Significant enough to justify the pain of software patents that all American developers must encounter daily?
5. Software processes involve orders of magnitude more parts/components/ideas than hardware. Windows XP has millions of lines of code. What other product in your home comes anywhere near that level of complexity? Software patents mean that for every line of code we right, we theoretically have to consult a lawyer. If Software Patents take hold worldwide, I suspect we will come to have a Hernando de Soto "The Mystery of Capital" kind of situation with the more workable notion of Software Copyright--software development will become legally impossible for all but the largest corporations, so anytime a small or mid-size firm needs software written, it will have to resort to a black/gray market to get anything done. Indeed, that seems to be the only saving grace of the American situation--enforcement is so lax and arbitrary that we could still open .gif files in free Linux web browsers, even though technically every single user was supposed to pay for that priviledge.
The bottom line is that patents were created for pragmatic reasons--to support the development of science and industry--and nearly all academia seems to believe that software and mathematical patents are detrimental to that goal. I think there is sufficient moral theoretical distinction between software and physical patents--to say nothing of further insanities like business process patents, which must have been invented by some black humor-loving lawyer as a parody of the current system. But even if you believe they are morally and theoretically equivalent, the pragmatic differences are huge--and please recall that patents are a utilitarian construct only. Software patents promote the common detriment.
Please, Europeans, you guys love to talk about how much smarter you are than us Americans and this is your chance to prove it! Don't let us down, don't let yourselves down! Don't let Bush and Microsoft bully you into economic subservience! SOFTWARE PATENTS DELENDA EST!
And let me say that if a device that can make any other physical device ever becomes affordable to ordinary people, I and many of my fellows first task will be to produce as many weapons as we need to protect our right to produce whatever the hell we like.
Or rather, they would serve one very limited purpose--stopping me from taking an open source app, modifying it, and converting it into "freeware"--software without source code but also free distributable. I just can't see this as a huge problem, though
In any event, sure, free software and maybe even academics could start making defensive patents. But their only reason in doing so would be to make a close approximation of their ideal world, in which their were NO software patents. We'd end up with two competing giants standing on each other's two to make sure the other can't progress.
So, I understand that they might be keeping you from switching to Linux, I don't think you're in very large company. Since Microsoft seems determined to have a fairly small update cycle of consoles (XBox Next released next year), gaming on PCs might soon be even more of a fringe thing than Linux. Which could be interesting--maybe the market for computer games revert to be more like that eighties or early nineties, when computers weren't so omnipresent.
Anyway, why should you switch to Linux? It's a somewhat nicer development environment, it's a vastly superior server environment, and it's an weird toy. If none of those sound interesting to you, and you don't have strange paranoias about Microsoft (which would probably be very rational paranoias to have if you happen to be, say, the Government of France, but not for American John Q. Public), then you're probably right to stick to a Windows or Mac environment, if you're willing to pay the minor additional software costs for either those.
Why would you expect that? Has there ever been a movie that met your philosophy quotas? Would even Waking Life make the cut? None of the ideas in that moving are something you wouldn't hear a philosophy 101 undergrad say. Pure ideas simply don't render well into visual medium.
The Matrix is great, possibly even artistically great, for two reasons--how well it translates those fairly simple ideas into the visual (Waking Life rules for the same reason), and the suggested isomorphism between the machines hallucinogenic domination of humanity and the forms of social control that exist in our present day world (or at least a anarchist's punk caricature thereof). The sci-fi aspects are secondary to the social parable aspects--which is why things like the obviously second law of thermodynamic violations like "human batteries" are allowed.
Sure, you can read about a brain in a vat in your textbook, but that doesn't capture the creepy absurdity of the idea--you wake up, go to work, work hard all day--but it's just an illusion--you're actually sleeping suspended in nutritive fluid, with tubes sticking out of your servo-mechanical orifices, while sadistic machines are poking and proding you on a doomed Earth under an eternal nighttime sky. You never knew it, but the entire planet is dedicated to making sure you never wake up.
There's nothing new about the idea, it's the visual translationg that's noteable.
But the truly interesting ideas aren't in the philosophy or science of it, but in the politics. The people of the Matrix are required to go to school even though learning can take place in an instant, and go to work even though the "food" they purchase and consume has no effect on their metabolism--their jobs don't exist to serve any purpose, they exist merely as a distraction, to prevent an uprising by the masses.
Consider our present day world--a very miniscule population is required to grow the food we eat in America, and an ever dwindling population is required to produce the products we use Check the numbers--we aren't losing manufacturing jobs to China and India, the World is losing jobs to robots and automation. The government subsidizes both agriculture and manufacturing to keep those populations artificially high. Capitalism, like the Matrix, exists not to meet our material needs, but merely to keep the masses occupied. I'm not saying I believe this, but I believe it is the hidden message of the Matrix--that whether or not we live in an actual "Matrix" of physical hallucination, we still live our day to day lives in a "social" hallucination.
Indeed, perhaps the Second Law ignorance of the Matrix is in fact a parody of the Second Law ignorance of capitalism--why am I paid to work, when work merely uses up the only thing that's TRULY scarce in our world, useable energy.
Okay, I'm reaching on that last one.
Still, one interesting thing I remember from the second movie, when Zion's leader is comparing the machines that dominate humans to keep themselves energized to the machines humans dominate in order to keep Zion running. There's a point made about civil disobediance--what we have power over we grow to depend upon, and therefore has power over us. Zion's machines are model of the humans in the Matrix--which itself is a parable of modern social control. I thought that was kind of clever.
You need to be modded down, not because of ideology, but because what you're saying makes no technical sense. Windows users can just run regedt32.exe to change the "centralized, secured repository of information". It's not like warez doesn't exist in Windows--in fact, come to think of it, there's way MORE warez in Windows. And now that I think about it, there isn't that much shareware in Windows OR Linux nowadays as there was in the days of registry-less. If you want a centralized, insecured repository of information, you can use the Windows registry, GConf in GNOME, or any filesystem.
What you're asking for is DRM, and that exists in neither Windows nor Linux today, and I wish it didn't exist tomorrow. Not to mention that you're advocating a general pattern of taking control away from the user, and therein lies the path to spyware.
There's a lot of Linux software for Windows, but over 90% of it seriously lacks in an area called usability
You may be right, you may be wrong--but one thing is for sure--any usability advantage by Windows has NOTHING to do with shareware, which is all but gone. I think it has more to do with software being what microeconomists call a Natural Monopoly--marginal costs of producing the next item are zero
If you use Internet Explorer, your computer will fuck up.
Back when I started saying that in netscape 4.7 days, one could reasonably accuse me of exaggeratng or even unintentionally misleading--however, it seems that I've been vinidicated by the passing years.
So, Grandma, remember, using IE is asking scary-looking teenage "hackers" (that's internet-speak for Satan Worshipers) dressed like androgynous vampires to take over your computer. What will they do with your computer once it's in their vile, rap music-listening clutches? They will do terrible, evil, bisexual things to it! Like...X10 popup ads!
But he also declared The Era of Big Government to be over. In retrospect, it seems both Clinton and McVeigh--not to mention guys like me who voted against Clinton and for Bush in 2000--were fooled. The Right occasionally rallied the troops with libertarianism in the mid-nineties, but seems to have abandoned it for social conservatism and plutocracy with Bush's rise. Clinton shouldn't have blamed libertarians, because his opponents were only pretending to be libertarians.
Funny how you don't hear much about those far right antigovernment types anymore--they seemed to have rallied around the flag or against gays in the 21st century. Bush has drastically increased the size of the government, even excluding military and homeland defense. Clinton tried and failed to nationalize health care (which I opposed at the time but in retrospect of double digit health insurance premium rises even as malpractice payouts decrease, I start to wonder about now). Other than that, I can't think of many specific policy differences he'd had with libertarians. Perhaps that just means divided government is best for libertarians--and given the further computer refinements of gerrymandering solidifying Republican control of the house, Democrat control of the White House may be the only hope of that.
There's nothing done by the Ashcroft Justice Department that was worse than anything done by the Reno justice department.
Um...your sentence logically means that every single action by Janet Reno was worse than every single action by John Ashcroft. In any event, while Waco may have been mishandled, that was momentary spur of the moment failure--as compared to illegal and unconsitutional detentions without trial by the current administration, which are a determined and purposeful stain on our constitution.
It's bush's critics supporting the most statist aspect of this so called neverending war- the Draft.
Please look up the phrase "poison pill" with regards to legislation.
Meanwhile, Bush has actually made proposals to introduce more free market reforms for Social Security and healthcare as well as education.
With regards to Social Security, most libertarians are starting to wise up with regards to the difference between crony capitalism and actual capitalism. Most of the proposals I've seen for market based social security are both statist and regressive--forcing people to invest in the pyramid scheme known as the stock market. No way will I accept "free market" Social Security in a post-Enron world--eliminate Social Security if you can, but if you can't, at least don't make it even worse.
With regards to healthcare, libertarians might like some of the things he says on the issue, but the thing is why hasn't he done any of those things for the past four years?! And education? Jesus, I can't believe you said education. No Child Left Behind represents the biggest affront to both Educators and Libertarians anyone has seen for quite some time--a giant power grab for the federal Department of Education. Just because the NEA is pissed off doesn't mean Libertarians should be happy.
Bush occasionally talked about free markets and freedom and whatever in the 2000 campaign, and now in 2004 he dangles little snippets of small rollbacks in government power, but they'll never see the light of day. The guy LOVES government power. He loves walking around in a flight suit on an aircraft carrier, with hoardes of strong, hearty, handsome American soldiers cheering for our collective military glory. Kerry seems to be the sort of asshat who believes it's his turn to be president, but America's been putting up with that sort of asshat for quite some time. Bush is different--he doesn't just want to be president, he wants to be a historic president who leads our nation out of troubled times--and if he has to incite those troubled times in the first place, so be it.
Could be, but now its a matter of subjective guessing on our part whether it is or not. Evidence that it is not includes the fact that Democrat's consultant links his support for free software and his liberal tendencies, the dramatic change in anti-trust policy following Bush's rise to power, and the folk belief that Kerry appeals to academics and brainy-types while Bush appeals to business people.
So, while the quality of the average game produced back-in-the-day may been the same or lower, the quality of game actually played by gamers was higher. Or so I suspect.
Variance is good for consumers, but bad for marketing executives who love consistency. He who pays the piper calls the tune, and people paying the piper can't stop calling for the Lullaby of Mediocrity.
Christ, Bush has done everything possible to say Fuck You to libertarians, more so than any Democrat ever has since LBJ, and you're still going to vote for him on the basis of his most statist position--an orwellian-style endless war? I don't think you know what libertarian means.
In any event, your choice of tools determines the level of power corportations like Microsoft have over our lives. This is inherently and unavoidably political, making them something more than tools. You are wrong. The candidates themselves may not care, but it says a lot about the culture of their campaigns that one's IT department chooses freedom and the other chooses corporate dominance.
It doesn't mean Kerry likes OSS, but it's still notable that (some) fans of OSS would rather work for Kerry than Bush. That Kerry ended up with OSS IT guys, and Bush ended up with MS-lovng IT guys (claiming that more people know how to use IIS than Apache--is this true? seems unlikely) says something about the culture of their campaigns.
Also when using C# generics on reference objects (the only kind java generics work with) all code is shared.
So basically, java generics are exactly like c# generics, except the C# generics deal with unboxed values in an intelligent way, actually produces more efficient vm codes, and apparently work with reflection (though I'm not sure the java generics don't as well.) They are both more or less equivalent to functors in ML-like languages (if anyone cares).
Standard ML parametric polymorphic types, on the other hand, not only share the underlying code. but even let you use the object as a single object with type variables--if you right a function with type "'a -> 'a", ('a is a type variable), then you can pass that function around as a first class object to other code that accepts arguments of "'a -> -a". Java/C#/C++/SML Functors make you instantiate the type/module parameters before you use the object.
So I was fairly confused last night, and most likely am still slightly confused this morning.
I guess I meant to say either CIL or CLR. (CIL bytecodes run on CLR. Or something. Whatever.)
But the C++ and C# implementations which escape this defect have their own--everytime you instantiate a parameterized type (template or generic), under the hood it has to create another copy of your code--which takes up memory. (I don't know if this is true of Ada).
In the interview you're refering to and one of the replies to you links to, the C# designer tries to claim that C++'s are untyped because type errors aren't detected until linking or at least a later stage of compiling, but that seems too far--link time is still a long way before run time. The type system may not itself may not be checking for compliance, but it still gets checked before an executable gets made. The error messages are confusing, but I think that's just because STL is confusing.
So, you trade the extra permissiveness (albeit safe permissiveness) and CPU efficiency with detrimented memory efficiency--more copies of the code are used.
And both Java and C# try to wave their hands "Just in Time! Just in Time!" claiming that they can eliminate any performance problems. Who knows?
I still like C#'s generics better than Java's, so far, but the C# ones aren't better in all possible ways. Better still is something like Standard ML, which has polymorphic types which work like Java Generics (except that I am certain that Standard ML gets the full performance boost from parameterized types, not to mention that it doesn't have to check for Null Pointer exceptions as Java and C# must and as C++ fails to), and functors which are similar to C# Generics and (sort of) C++ templates.
Then again, take this with a grain of salt, I don't have that much experience with C# (er...CLI) generics. Maybe they're more powerful than I realize. Come to think of it, has Microsoft relased a .Net Framework with Generics yet? Back when I was playing with C# it lacked those. But Mono has them so perhaps I should investigate.
Still, you shouldn't go around talking about Java Generics being strictly syntactic relative to C++ templates. Did you notice how C++ templates like to be headers? The compiler basically just substitutes in the full text of the template every time you instantiate it. C# is a little smarter, not much.
What I am saying is that C++ is a completely different language from C, and throwing them together like that doesn't make any sense. C is not a completely different language from C++. It's just not. One is almost a superset of the other. Completely different means nothing in common. I'm saying there are facts that are true of both of them: both of them will have you doing far more in the solution domain than any other language I mentioned, no matter how much you know--you must have never written a C++ program outside a CS intro class if you beleive otherwise. The potential for segmentation faults is probably the biggest similarity--for that alone, I think C/C++ is completely unsuitable for any code in a hostile environment. True, there are similarities between Java and C++, and I think it would be fair to talk about C++/Java, though C/C++/Java would be pushing it. (There's no transitivity in slashes.) Nor am I saying that there is always a better alternative--the exceptions I listed were actually pretty broad--anything needing low level code, anything needing to call C or C++, anything needing to be called C or C++. That's a huge chunk of code today, though as virtual machines and just in time code and other advanced features get better, it's a dwinding chunk. By you guys, I'm talking about people who identify with their programming languages.
Hey, I'll say that. "C/C++ is a bad language for certain purposes". The two languages share enough attributes that for anything that doesn't involve low level byte manipulation, or frequent calls to C/C++ code, or, even more critically, frequent calls from C/C++ code, that there is almost always a better alternative. Like I say, you guys might not like to be grouped together, but from the perspective of Java/perl/python/whatever, you're basically the same. Everything is relative.
So the whole Sun fear of "embrace and extend" is completely moronic. You can ALREADY extend Java in completely incompatible ways. After open sourcing, Sun's Java standard will still remain the "real" Java, and we know this will be the case because if it were not, then Java would have already lost control. So, if you're a developer, and you care if you're code works outside of Linux, then you'd better use Sun's (or possibly IBM's) Java implementation. And that's how it will be until the day no one cares about Sun Microsystems--a day that will come much sooner if Java continues to stay restricted and everyone's forced to move to Mono.
On the other hand, Java's pace would probably faster (and we wouldn't have had to wait forever for generics.) if it were open. Standards are just as important if not more to Mozilla as to Sun, but being open seems to work well for them.
It would certainly allow Java to be targetted to more obscure platforms. God help you if you want to write once, run anywhere other than Windows, Sun, Mac, or Linux/x86.
It would also mean that I wouldn't have to go to Sun's painful web site and hunt down the SDK and documentation past all the click-thru licenses. At the very LEAST it would be nice if sun let other people distribute their still closed java implementations. Of course, that would just be nice, it wouldn't be enough to head off platform irrelevance.
OSS means no sanity checks on feature creep, portability verification, documentation verification, regression testing, and all the other enterprise-project aspects of development that make it a useful technology. I've lost track of the number of times I've encountered platform-specific hacks in OSS code that weren't properly #ifdef-bracketed, or which just completely incompatible with other O/S implementations.
Yeah, that never happens in closed source software EVER. I actually agree with you that the language choices of OSS aren't all that grand (though lots of languages have embedded documentation, and the ones that don't can have it added with seperate tools)--but if you want everyone to start using Java instead, opening the source is the only way. No one wants to dedicate their time and energy for free to something a corporation has complete legal control over--unlike Mozilla/Apache/Linux, in which the corporations have merely de facto control. To be honest, Sun has made so much noise about their Open Source debate that I can't see how anyone could have any respect for them at this point if they don't announce a plan to open it reasonably soon.
Languages are abstract, fuzzy things. If want to define a new language as a combination of English and Japanese, there's nothing to stop me from doing that. (I'd only be able to speak and understand half of it, but that doesn't stop me from defining.) Now, you might be complaining that computer languages aren't fuzzy at all and must be defined precisely--but I can simply refer you to the ways in which C and C++ are frequently used together in actual projects--the language "C/C++" is implementation defined. An annoying but common way to define a language (it's the way English is defined--they're supposed to write dictionaries based on how we talk, not vice-versa). So, technically and logically, C/C++ is a "language".
But perhaps this is about more than the pedantics of what is and is not a language, but some sort of cultural reason you feel C and C++ need to be kept seperate--presumably because you like one a more than the other. Well, too bad. I go to the bookstore and see a Science Fiction/Fantasy section of books, even though plenty of people in either genre would object to being so grouped, because to everyone outside the genres in question they are nearly the same.
Even if it's obvious, someone has to do it first. Yes, it's official, the rules of logic compel me to declare that anyone who says "why didn't anyone else do it earlier?" whenever someone calls a patent obvious is a complete retard--SOMEONE always has to do it first, no matter how obvious. Common Sense. Software patents are stupid, but at least one occasionally sees some complex math algorithm that you couldn't come up on your own with five minutes of thought. GUI patents, on the other hand, are always retarded. Especially for Microsoft, which got rich stealing all of Apple's GUI ideas.
No, that's the menubar. The Mac OS X Dock, taskbar equivalent and Steve Jobs darling, is on the bottom.
The post office probably doesn't do that. Employees of the telephone company, on the other hand, are permitted to listen to any call for maintainnance purposes, and generally have a lot of discretion in determining exactly what maintainance is.
No, it's not quite the same. Zelda 1 is certainly a more significant game, in a historical sense--it was vastly more unique when compared to its predecessors than Starcraft. It is far more worthy of attention to video game historians.
But if you take the game mechanics themselves, seperating them from both their theme and the history of games development, and especially our sense of nostalgia, I think Starcraft comes out the winner. You're comparing a fairly basic action/exploration title to a deep, mature, and well-balanced multiplayer RTS. At the very least, they're in the same league. I'd say Ocarina of Time, or even Majora's Mask and Wind Waker are, ignoring the chronology of development, deeper than the original Legend of Zelda, but none of those titles really puts Starcraft to shame. I say this despite personally liking every single one of the Zelda games better than every single game Blizzard has made.
This just isn't true in comparing The Matrix to Citizen Kane--even if Orson Welles were lived several decades later than it had, and had released Citizen Kane in color at the same time as The Matrix, Kane would still likely be a "better" film than The Matrix.
Okay, just don't upgrade to 0.9... ;)