Microsoft has never used a patent in that manner. Nor do most companies, actually -- patent portfolios are built more for defense than for offense. Making money out of patent litigation is something that fly-by-night vulture companies do, not blue chips like MSFT.
So there is nothing preventing them from doing this. Are we are just hoping that they act like a grown-up, blue chip company?
Microsoft would seriously have to be pinned against the ropes before they'd make such a desperate move. In fact, I'd be willing to venture that they'd embrace Linux wholeheartedly out of desperation before they'd resort to using patents in that manner.
I'm not worried about MS getting "pinned against the ropes". The scary scenario is that Mono becomes very popular/ubiquitous and then MS modifies their "reasonable licence" so that a windows server running mono is priced more attractively than a linux server running mono. Now everyone that has a.NET infrastructure starts moving to windows.
I know lots of smart people like Mono so maybe I've missed something. Are Mono supporters really just hoping that MS "acts nicely" in the future? What am I missing?
Negotiations are underway with Barry Sonnenfeld's production company to bring back the giant robot spider from "Wild Wild West" to make an appearance as the very first computer bug.
Turing: "Time for some Extreme Programming!" (loads shotgun with a loud ka-chink)
I've always wondered if the opposite would help. i.e. being able to say "never GC this allocation"
Many of my programs consist of objects that exist for the life of the program and every time the generation GC hits I picture it scanning over all of these permanent objects, forcing page hits, swapping, and possibly thrashing.
if you have two objects which are no longer referenced by any of the active application, but which have references to each other, they will not get GC'ed
This is completely incorrect.
The mark/sweep algorithm will catch unreachable circular references--just read the article. All the popular java VMs and MS's.NET implementation GC unreachable circular references.
I run gentoo, debian, and windows on a single box and also have spare partitions to test out other distributions.
The one recommendation I would have for dual booting is to use grub and to make sure that/boot/grub is it's own partition. This way all of your linux partitions can mount the same/boot/grub so changes to it will have the appropriate global effects. It also means you can nuke any of your linux distros and not screw up your boot loader.
You may have to add the following symbolic link in order to keep everything sane:
XFRee86 works if you use the vesa driver. Whoopie! 2D action!. But there are no native drivers for ATI Radeons past 8500, and therefore no 3d.
Actually, the open source drivers included in XFree86 do support 3d.
For me, open source drivers are the clincher because it means the card has guaranteed support in the future. I still have an old kyro2 based card that worked great in an old kernel but broke when some kernel api changed. PowerVR decided to stop updating their binary drivers and now my card no longer works.
While NVidia has had good linux support, they will probably, eventually stop supporting older video cards in their binary-only driver and then those cards will be junk.
If I buy an ATI 9000 (or 9700--whatever) I know the drivers will be supported (by hackers) until the last card burns out.
I thought that the latest XFree86 works by default for most Radeon chipsets. The fact that they're open source and not binary only was supposed to be a major plus over NVidia. Is this not the case? Lots of users on the red hat 9 list were crowing about how their Radeon 9xxx cards were doing 3d without any driver mucking.
The parent poster is completely correct. Games are the gateway.
When I started programming in basic 25+ years ago my target was games. I wrote a little lunar lander game, a hack-like RPG, and a text adventure. If I was young and into computers today my motivations would likely lead me to game mods: counterstrike, starcraft, and warcraft mods just to name a few. If the kid is still hooked he may start working on his own game from scratch.
Once a kid is motivated, you don't have to provide him with anything. He'll scour the internet to find whatever tools he needs and learn the language that he thinks best solves his problem. He'll make a ton of mistakes and learn from some of them.
Valve is a private company that was founded by a couple of ex-Microsofties who now have plenty of cash. Valve doesn't get bought by anyone unless the founders say so.
First: I have to agree with you. Game play beats graphics any day and the original half-life had plenty of innovations (such as level design and story) that had nothing to do with PC horsepower.
Second: have you seen the 25 minute E3 trailer for half-life 2? It looks incredible and it is painfully obvious that the game will likely be crippled by some really good PC hardware (2.5Ghz proc, 0.5G ram, second tier graphics card) much less X-Box hardware.
Third: Do you really want to play the crippled version? Lord of the Rings is still a great movie even if you see it on a 19 inch TV but do you really want that to be your first viewing? Sadly, I'm going to be either upgrading to play HL2 or waiting to purchase/play it until I have the hardware to do it justice.
Re:Godel, Escher, Bach: An Eternal Golden Braid
on
A Good Summer Read?
·
· Score: 1
This is a great book for computer scientists!
One of my favorite parts was when he described a formal language (kind of like a computer langague) The math was very clear and explicit. Then he goes to rename some of the terms of the language to Adenine, Cytosine, RNA, DNA, amino acid, protein, etc. Guess what, you now have a strong, math-based understanding of genetics!
He crosses disciplines like this throughout the whole book, weaving together: language, math, biology, music, and art.
I'm part of a geek book club. We've read all the classics that have been recommended on this list (Issac Asimov, Frank Herbert, Orson Scott Card, William Gibson, Neil Stephenson, etc) and are now searching for the "new" sci-fi.
American Gods was one of the most discussed books in our group in the last five years. It is deep, involving, and wonderfully architected.
The only book that our group liked better was Stories of Your Life, a book of short stories by Ted Chiang that has won a host of awards including the Hugo, the Nebula, and others. Each story is uniquely brilliant.
Thanks for the advice. I definitely need to check pychecker out.
My worry about pychecker is that if there are too many false positives (warnings about things that are really ok) and if it's not possible to change the python code to prevent these false positives, then I'll quickly start ignoring the pychecker results. If I can't get a clean compile then it's worthless.
I program in Python quite a bit and love it. The economy of the syntax is wonderful so I seem to be able to do much more with much less typing. Unfortunately when the program starts to get big and I have to refactor something such as adding/removing a method, adding/removing arguments to a method, or changing the interpretation (type) of some of the arguments, I get very paranoid and wonder if I really did catch and fix all the calls of the method. Yes, a recursive grep will find these, but did I skip one? Did I misspell one of the variables. I can't tell you how many times I've gone blind looking at Python code for a bug that is caused by a misspelled variable.
As a result I usually limit my Python programs to something like 1K lines (I have one that is 2K, oh well) If the program is larger than that I use Java. (for static type checking) If the program is less than 2-3 lines I use Perl. If I'm writing something performance heavy (server daemon) I may write it in C/C++.
I was under the impression that any language that is semantically rich enough to produce bytecode for objects, inheritence, etc. would have no problem inheriting from a java.class file that was itself generated from any java compiler. (or any bytecode generating compiler)
Certainly Jython allows for this and I don't see what's to prevent other my-favorite-language-to-java-bytecode compilers from doing this as well.
I think you may be missing my point. Let me restate it and see what you think.
The original poster said: .NET is language independent, platform centric.
Java is language centric, platform independent.
I responded to this by pointing out that there are many language compilers that compile to java bytecode. The resulting bytecode can use the java libary, java beans and any other java framework components. My point was that as much as.NET supports multiple languages java supports multiple languages.
The debugging example you point out is interesting. I haven't tried to step into java bytecode that was compiled with another compiler. (e.g. Jython) In theory the debugger should be able to handle it but in practice I bet there would be problems.
Java, Jython, JRuby, etc. compiles into java bytecode that is then run by a java vm which applies JIT compilation while executing the code. C#, etc. compiles into MSIL which is executed by MS's equivalent of a vm which applies JIT compilation while executing the code.
You could write your program in java bytecode or you could write your program in MSIL. How is this relevant?
It is correct to point out that when talking about.NET, you have no idea what you're talking about.
Nice slam. I would be more appreciative of factual arguments.
The java bytecode is not language centric. Programming languages for the java virtual machine. There are 50+ languages listed in the above link. I would bet there are many more languages currently available for the java bytecode than for the.NET bytecode.
People need to realize that.NET and the java VM are just virtual machines that run bytecode and have huge libraries associated with them. The bytecode for either VM can be generated from many different languages.
It is correct to point out that much of.NET's library is not portable while java's library is 100% portable to many different platforms.
Scientific American is the only magazine that is interesting enough to make me regularly read it cover to cover.
Yes, given the state of education in America, the magazine title is becoming an oxymoron. :(
So there is nothing preventing them from doing this. Are we are just hoping that they act like a grown-up, blue chip company?
I'm not worried about MS getting "pinned against the ropes". The scary scenario is that Mono becomes very popular/ubiquitous and then MS modifies their "reasonable licence" so that a windows server running mono is priced more attractively than a linux server running mono. Now everyone that has a .NET infrastructure starts moving to windows.
I know lots of smart people like Mono so maybe I've missed something. Are Mono supporters really just hoping that MS "acts nicely" in the future? What am I missing?
Turing: "Time for some Extreme Programming!" (loads shotgun with a loud ka-chink)
I've always wondered if the opposite would help. i.e. being able to say "never GC this allocation"
Many of my programs consist of objects that exist for the life of the program and every time the generation GC hits I picture it scanning over all of these permanent objects, forcing page hits, swapping, and possibly thrashing.
This is completely incorrect.
The mark/sweep algorithm will catch unreachable circular references--just read the article. All the popular java VMs and MS's .NET implementation GC unreachable circular references.
Please mod parent down. As seen by other replies he's wrong on every point.
I run gentoo, debian, and windows on a single box and also have spare partitions to test out other distributions.
The one recommendation I would have for dual booting is to use grub and to make sure that /boot/grub is it's own partition. This way all of your linux partitions can mount the same /boot/grub so changes to it will have the appropriate global effects. It also means you can nuke any of your linux distros and not screw up your boot loader.
You may have to add the following symbolic link in order to keep everything sane:
# cd /boot/grub && ln -s . grub
XFRee86 works if you use the vesa driver. Whoopie! 2D action!. But there are no native drivers for ATI Radeons past 8500, and therefore no 3d.
Actually, the open source drivers included in XFree86 do support 3d.
For me, open source drivers are the clincher because it means the card has guaranteed support in the future. I still have an old kyro2 based card that worked great in an old kernel but broke when some kernel api changed. PowerVR decided to stop updating their binary drivers and now my card no longer works.
While NVidia has had good linux support, they will probably, eventually stop supporting older video cards in their binary-only driver and then those cards will be junk.
If I buy an ATI 9000 (or 9700--whatever) I know the drivers will be supported (by hackers) until the last card burns out.
I thought that the latest XFree86 works by default for most Radeon chipsets. The fact that they're open source and not binary only was supposed to be a major plus over NVidia. Is this not the case? Lots of users on the red hat 9 list were crowing about how their Radeon 9xxx cards were doing 3d without any driver mucking.
The parent poster is completely correct. Games are the gateway.
When I started programming in basic 25+ years ago my target was games. I wrote a little lunar lander game, a hack-like RPG, and a text adventure. If I was young and into computers today my motivations would likely lead me to game mods: counterstrike, starcraft, and warcraft mods just to name a few. If the kid is still hooked he may start working on his own game from scratch.
Once a kid is motivated, you don't have to provide him with anything. He'll scour the internet to find whatever tools he needs and learn the language that he thinks best solves his problem. He'll make a ton of mistakes and learn from some of them.
Unlikely.
Valve is a private company that was founded by a couple of ex-Microsofties who now have plenty of cash. Valve doesn't get bought by anyone unless the founders say so.
First: I have to agree with you. Game play beats graphics any day and the original half-life had plenty of innovations (such as level design and story) that had nothing to do with PC horsepower.
Second: have you seen the 25 minute E3 trailer for half-life 2? It looks incredible and it is painfully obvious that the game will likely be crippled by some really good PC hardware (2.5Ghz proc, 0.5G ram, second tier graphics card) much less X-Box hardware.
Third: Do you really want to play the crippled version? Lord of the Rings is still a great movie even if you see it on a 19 inch TV but do you really want that to be your first viewing? Sadly, I'm going to be either upgrading to play HL2 or waiting to purchase/play it until I have the hardware to do it justice.
This is a great book for computer scientists!
One of my favorite parts was when he described a formal language (kind of like a computer langague) The math was very clear and explicit. Then he goes to rename some of the terms of the language to Adenine, Cytosine, RNA, DNA, amino acid, protein, etc. Guess what, you now have a strong, math-based understanding of genetics!
He crosses disciplines like this throughout the whole book, weaving together: language, math, biology, music, and art.
I'm part of a geek book club. We've read all the classics that have been recommended on this list (Issac Asimov, Frank Herbert, Orson Scott Card, William Gibson, Neil Stephenson, etc) and are now searching for the "new" sci-fi.
American Gods was one of the most discussed books in our group in the last five years. It is deep, involving, and wonderfully architected.
The only book that our group liked better was Stories of Your Life, a book of short stories by Ted Chiang that has won a host of awards including the Hugo, the Nebula, and others. Each story is uniquely brilliant.
I'd rather write the example that uses overloaded operators but I'd rather debug and maintain the example that uses named function calls.
As far as SQL Server goes, we rely heavily on stored procedures so the availability of freebies is moot for the time being.
Just an FYI: PostgreSQL has stored procedures with many available languages.
SFX
Among other things it contains good descriptions of the first five exhibits.
Check out these screenshots. Lots of polygons and the FPS is good even on old hardware.
Seriously, sometimes reality is better.
Thanks for the advice. I definitely need to check pychecker out.
My worry about pychecker is that if there are too many false positives (warnings about things that are really ok) and if it's not possible to change the python code to prevent these false positives, then I'll quickly start ignoring the pychecker results. If I can't get a clean compile then it's worthless.
I program in Python quite a bit and love it. The economy of the syntax is wonderful so I seem to be able to do much more with much less typing. Unfortunately when the program starts to get big and I have to refactor something such as adding/removing a method, adding/removing arguments to a method, or changing the interpretation (type) of some of the arguments, I get very paranoid and wonder if I really did catch and fix all the calls of the method. Yes, a recursive grep will find these, but did I skip one? Did I misspell one of the variables. I can't tell you how many times I've gone blind looking at Python code for a bug that is caused by a misspelled variable.
As a result I usually limit my Python programs to something like 1K lines (I have one that is 2K, oh well) If the program is larger than that I use Java. (for static type checking) If the program is less than 2-3 lines I use Perl. If I'm writing something performance heavy (server daemon) I may write it in C/C++.
I was under the impression that any language that is semantically rich enough to produce bytecode for objects, inheritence, etc. would have no problem inheriting from a java .class file that was itself generated from any java compiler. (or any bytecode generating compiler)
Certainly Jython allows for this and I don't see what's to prevent other my-favorite-language-to-java-bytecode compilers from doing this as well.
I think you may be missing my point. Let me restate it and see what you think.
The original poster said:
.NET is language independent, platform centric.
Java is language centric, platform independent.
I responded to this by pointing out that there are many language compilers that compile to java bytecode. The resulting bytecode can use the java libary, java beans and any other java framework components. My point was that as much as .NET supports multiple languages java supports multiple languages.
The debugging example you point out is interesting. I haven't tried to step into java bytecode that was compiled with another compiler. (e.g. Jython) In theory the debugger should be able to handle it but in practice I bet there would be problems.
Java, Jython, JRuby, etc. compiles into java bytecode that is then run by a java vm which applies JIT compilation while executing the code. C#, etc. compiles into MSIL which is executed by MS's equivalent of a vm which applies JIT compilation while executing the code.
You could write your program in java bytecode or you could write your program in MSIL. How is this relevant?
It is correct to point out that when talking about .NET, you have no idea what you're talking about.
Nice slam. I would be more appreciative of factual arguments.
Java is language centric
The java bytecode is not language centric. Programming languages for the java virtual machine. There are 50+ languages listed in the above link. I would bet there are many more languages currently available for the java bytecode than for the .NET bytecode.
People need to realize that .NET and the java VM are just virtual machines that run bytecode and have huge libraries associated with them. The bytecode for either VM can be generated from many different languages.
It is correct to point out that much of .NET's library is not portable while java's library is 100% portable to many different platforms.
Of course, slashdot is better than cureophin because I can actually remember how to spell slashdot