Microsoft has actually invented the concept of skinnable language: changing a language's most superficial aspects, and claiming the result to be a new language.
The limitations of the current CLR does favor languages that look a lot like C#. But the next version will change that. A very informative interview with Anders Hejlsberg, the creator of C#, Turbo Pascal, and Delphi can be found here. They implemented generics in a research version of the CLR, but had to cut it from the current version because "unlike what everyone believes about Microsoft -- we do not have unlimited resources. We had to make some hard decisions in terms of what is actually in this first release."
After reading the interview mentioned above, it seems clear to me that Microsoft will eventually incorporate as many language features as possible into their CLR that would support all the special-purpose language features of things like multiple inheritance, generics, multiple dispatch, or Lisp's closures.
An interesting thing to do would be to write a Java compiler (backend) for the CLR
A Java implementation of the CLR has already been built by Halcyon Software. Check it out here. It not only allows you to run your.NET apps on any machine with a Java VM, it turns your.NET web services into native J2EE objects which can be hosted by BEA WebLogic, IBM WebSphere, Sun iPlanet, and Oracle 9i Application Server.
I personally think this implementation is far more interesting, subversive, and controversial than Mono, but it seems that they just haven't been able to make headlines yet. My favorite quote of the Halcyon CEO from this article: "Microsoft has said it wants.Net to work in other operating systems, but I think it's hard for Microsoft to digest the fact that we're using Java to accomplish this."
I would really like to see a book on Design Patterns that is easier to read than the definitive Gang of Four book. This is an idea that is just waiting to be clearly and plainly communicated to the masses.
If someone can come up with a regular expression search engine that scales to billions of pages, that would be the killer app for Google. It would probably have to be a Deterministic Finite Automaton (DFA) regex engine, not the more powerful Nondeterministic Finite Automaton (NFA) engines like you have in Perl, Python, Emacs, and Tcl, but still, that would rock!
Intelligent algorithms, not computers
on
Arguing A.I.
·
· Score: 1
You're right. As people learn what goes into making something, it loses its magic charm. Ever wonder why a simple salad seems so much better at a restaurant? It's not because they've got a corner on the good-tasting-lettuce market (they probably don't even wash it), it's because you didn't make it yourself, and that makes it magic.
The biggest indicator that this same phenomenon is what is happening with the AI hype is that people continually speak of intelligent "computers", black boxes that magically do stuff that we don't understand.
A computer is nothing without algorithms. If anything is going to make a computer smart, it's going to be the algorithms it runs, not the simple fact that "it's a computer!" The problem is, there's nothing magic in algorithms. You can print them on a T-shirt, a la DeCSS. Sure, it may take a couple million T-shirts to contain the code that passes the Turing test, but when you try to pin down what exactly is behind it, it's just code! Someone thought of it, and wrote it down. Somewhere, a human understands how that code works, even if you don't.
What I can't understand is how these brilliant AI computer scientists can cook up brilliant code and then close their eyes, feign amnesia, and say "Look, I've built a machine that's smarter than I am! I don't understand it!" On the other hand, I think I can understand it. That's the only way to have lasting job security in the AI field.
Don't reinvent the wheel. As your intuition correctly tells you, this has been done before. Instead, use the hard-gained knowledge of others to guide you in your design decisions. No, someone hasn't already built exactly what you want to build, C# or not. But they've solved many of the major design issues the hard way.
These "meta-designs" are called design patterns, and many useful design patterns are documented in the definitive Design Patterns book. I would encourage you to browse the sample pages at Amazon.com, which will list summaries of the main design patterns. I'm sure you will find a pattern there that is very close to what you want to do. Buy (or check out) the book, study it, and make sure your design closely matches the design pattern. By used a tried-and-tested real-world design pattern, you will avoid many subtle and hard-to-fix design flaws.
In a way, ad-pushing is like requiring real-time micro-payments from the user. The longer you use the service, the more you pay for it (the more ads you receive).
I bet this I-can-match-your-protocol game is going to eventually result in protocols where advertisement display is a part of the protocol itself. As others have mentioned, that seems to be AOL's main motivation: keep pushing out those ads that pay for the service.
Of course clever protocol-matching clients will just download the ads and send them to/dev/null, but that will just escalate the competition. Within ten years or so, computers will come with hardware that detects where your eye is looking at the screen, and verifying that yes, you've seen the ad. Of course you could hack a a system like that too, but things like the DMCA will make sure you can't get away with it for long if you wish to continue doing business outside a jail cell.
The technology for enforcing micro-payments through ad-pushing may be behind the curve, but there is very heavy incentive to catch up, and I'm sure they will. If not through technical genius, then through legislation.
But officials at New Line, a unit of AOL Time Warner Inc., insist last week's ruling dealt with a "procedural infraction" involving the studio's attempt to register the movie's title.
"The issue that is currently in dispute does not pertain to the title or content of the film," New Line said in a statement. A studio spokeswoman said New Line would take its appeal to the MPAA on Thursday. In the meantime, the film will be referred to as "the third installment of 'Austin Powers.'"
Is it a copyright issue? Might it be a trademark issue if they registered the movie title? Are we even talking US law or British? The article doesn't seem to address any of this.
You're right, it doesn't. This article does. It's a copyright issue.
They got upset about "The Spy Who Shagged Me" too, and were rewarded for it. You can bet they'll try that trick again!
From a Yahoo story: MGM initially challenged the use of "The Spy Who Shagged Me," an obvious play on the 1977 Bond title "The Spy Who Loved Me." But that dispute was settled when New Line agreed to include trailer play for MGM movies on its Austin Powers sequel.
MGM was just waiting to see if it was worth their while. If Goldmember turned out to be a dud, MGM has nothing to gain by attempting to squelch it. But if Goldmember looks like it's going to be raking in the bucks hand over fist, surely they won't have to twist New Line's arm too hard to "remind" them to share just a little itty bit of the profits...
The main story's article doesn't even mention the word "copyright".
Here's an article with fuller details. I find the following paragraph particularly interesting: The "Goldmember" flap is not the first between MGM and New Line over Austin Powers titles. MGM initially challenged the use of "The Spy Who Shagged Me," an obvious play on the 1977 Bond title "The Spy Who Loved Me." But that dispute was settled when New Line agreed to include trailer play for MGM movies on its Austin Powers sequel.
MGM's past actions show that all MGM is interested in is profiting off anything halfway Bond-related, whether they thought of it or not. If they can leverage copyrights to accomplish that, they will do it. If it takes, as MGM's CEO says, having "a zero-tolerance policy toward anyone who tries to trade on the James Bond franchise without authorization", they will leverage that too.
This isn't primarily an issue about rights. It's primarily about money, and rights are only dragged into the picture when they are likely to bring in more money.
When MP3s really started taking off, I got hooked on what I thought was "the next big thing", the technically superior VQF file format. I encoded a large portion of my music collection to VQF. With a significantly smaller filesize than MP3, yet with better quality, how could I go wrong?
The answer of course is probably obvious; technically superior technology doesn't guarantee success. VHS vs. Betamax. QWERTY vs. Dvorak. Windows vs. Macintosh. By the time VQF came on the scene, MP3 was firmly entrenched in internet culture. VQF never had a chance.
Here's an interesting, naive snippet from the VQF FAQ: While you can find thousands and thousands of MP3s out there, the number of VQFs is comparatively tiny. But this is only a matter of time. Once people begin to realize how incredible these are, their popularity will skyrocket. VQF.com says "Copyright 2000" at the bottom. They've had a year or two to skyrocket. Raise your hands; how many of you have even one VQF on your hard drive?
Now, listen to how familiar this sounds: Though not as popular as an MP3 file yet, Ogg Vorbis will eventually replace the MP3 format by popular demand, and like cassettes and 8 tracks, MP3's will be a thing of the past. This will happen because the Ogg Vorbis file format is a smaller file size, has a higher quality of sound clarity, and is FREE.
I'd like to believe in Ogg, but I've been burned one too many times.
Microsoft's clean break is their new "virtual machine" which is about to be unleashed on the world, AKA the Common Language Runtime [PDF]. It's basically a whole new platform riding on top of Windows (and maybe others if things like Mono pan out), and this time security is supposedly built into the architecture from the ground up.
I would look for MS to make at least two major acquisitions in order to shore up their security offerings - they have used acquisitions in the past to shore up problem areas.
The irony in the ZDNet article: Microsoft was going to demonstrate their new virtual machine a while back, but "decided to cancel its presentation, claiming it did not fit with the show's 'visionary' theme." Now with Bill's latest "visionary email", it's back in the spotlight again as the technology that Microsoft is betting its future reputation for security on. They've been sitting on this one for quite a while now, and it has received the most extensive pre-release beta testing a Microsoft product has ever been subjected to, so they may actually have a chance.
This sounds like Yahoo might be using Google's new Catalogs technology for their own separately-maintained database of documents.
The difference between their business models is that Google hopes to get paid by the content creators while Yahoo hopes to get paid by the content users.
Now that they're kicking the minors out early and extending the hours, that leaves 6 hours for the old folks to frag each other instead of getting fragged to oblivion by twelve-year-olds!
Anyone doubting the thesis of this article ("chess is all about testosterone, arousal, paranoia, excitement, danger and domination") can do their own study of the target demographic at rec.games.chess.politics and draw their own conclusions.
It's much more than just a game, it's a lifestyle!
You're right on, but with a slight twist: Colusa Software's techniques are an integral part of Microsoft's new security technology.
See this for more info on the connection between Colusa Software and Microsoft. They mention a virtual machine based on Colusa's technology called CVM. This is now Microsoft's Common Language Runtime (CLR), recently standardized by the ECMA, and inspiration for the open source Mono project.
They also mention Colusa technology involved in the COOL programming language. This is now Microsoft's C# programming language.
More info on the.NET Framework security features can be found here. Especially interesting to note is how the CLR's "managed code" concept affects security. "Common vulnerabilities--such as buffer overruns, the reading of arbitrary memory or memory that has not been initialized, and arbitrary transfer of control--are no longer possible." Sounds a lot like Colusa Software's philosophies in action!
The limitations of the current CLR does favor languages that look a lot like C#. But the next version will change that. A very informative interview with Anders Hejlsberg, the creator of C#, Turbo Pascal, and Delphi can be found here. They implemented generics in a research version of the CLR, but had to cut it from the current version because "unlike what everyone believes about Microsoft -- we do not have unlimited resources. We had to make some hard decisions in terms of what is actually in this first release."
After reading the interview mentioned above, it seems clear to me that Microsoft will eventually incorporate as many language features as possible into their CLR that would support all the special-purpose language features of things like multiple inheritance, generics, multiple dispatch, or Lisp's closures.
A Java implementation of the CLR has already been built by Halcyon Software. Check it out here. It not only allows you to run your .NET apps on any machine with a Java VM, it turns your .NET web services into native J2EE objects which can be hosted by BEA WebLogic, IBM WebSphere, Sun iPlanet, and Oracle 9i Application Server.
I personally think this implementation is far more interesting, subversive, and controversial than Mono, but it seems that they just haven't been able to make headlines yet. My favorite quote of the Halcyon CEO from this article: "Microsoft has said it wants .Net to work in other operating systems, but I think it's hard for Microsoft to digest the fact that we're using Java to accomplish this."
I would really like to see a book on Design Patterns that is easier to read than the definitive Gang of Four book. This is an idea that is just waiting to be clearly and plainly communicated to the masses.
If someone can come up with a regular expression search engine that scales to billions of pages, that would be the killer app for Google. It would probably have to be a Deterministic Finite Automaton (DFA) regex engine, not the more powerful Nondeterministic Finite Automaton (NFA) engines like you have in Perl, Python, Emacs, and Tcl, but still, that would rock!
The biggest indicator that this same phenomenon is what is happening with the AI hype is that people continually speak of intelligent "computers", black boxes that magically do stuff that we don't understand.
A computer is nothing without algorithms. If anything is going to make a computer smart, it's going to be the algorithms it runs, not the simple fact that "it's a computer!" The problem is, there's nothing magic in algorithms. You can print them on a T-shirt, a la DeCSS. Sure, it may take a couple million T-shirts to contain the code that passes the Turing test, but when you try to pin down what exactly is behind it, it's just code! Someone thought of it, and wrote it down. Somewhere, a human understands how that code works, even if you don't.
What I can't understand is how these brilliant AI computer scientists can cook up brilliant code and then close their eyes, feign amnesia, and say "Look, I've built a machine that's smarter than I am! I don't understand it!" On the other hand, I think I can understand it. That's the only way to have lasting job security in the AI field.
Design Patterns: Solidify Your C# Application Architecture with Design Patterns
Exploring the Observer Design Pattern
Engine-Collection-Class, a Design Pattern for Building Reusable Enterprise Components
Patterns in the .NET Age
These "meta-designs" are called design patterns, and many useful design patterns are documented in the definitive Design Patterns book. I would encourage you to browse the sample pages at Amazon.com, which will list summaries of the main design patterns. I'm sure you will find a pattern there that is very close to what you want to do. Buy (or check out) the book, study it, and make sure your design closely matches the design pattern. By used a tried-and-tested real-world design pattern, you will avoid many subtle and hard-to-fix design flaws.
I bet this I-can-match-your-protocol game is going to eventually result in protocols where advertisement display is a part of the protocol itself. As others have mentioned, that seems to be AOL's main motivation: keep pushing out those ads that pay for the service.
Of course clever protocol-matching clients will just download the ads and send them to /dev/null, but that will just escalate the competition. Within ten years or so, computers will come with hardware that detects where your eye is looking at the screen, and verifying that yes, you've seen the ad. Of course you could hack a a system like that too, but things like the DMCA will make sure you can't get away with it for long if you wish to continue doing business outside a jail cell.
The technology for enforcing micro-payments through ad-pushing may be behind the curve, but there is very heavy incentive to catch up, and I'm sure they will. If not through technical genius, then through legislation.
But officials at New Line, a unit of AOL Time Warner Inc., insist last week's ruling dealt with a "procedural infraction" involving the studio's attempt to register the movie's title.
"The issue that is currently in dispute does not pertain to the title or content of the film," New Line said in a statement. A studio spokeswoman said New Line would take its appeal to the MPAA on Thursday. In the meantime, the film will be referred to as "the third installment of 'Austin Powers.'"
You're right, it doesn't. This article does. It's a copyright issue.
From a Yahoo story: MGM initially challenged the use of "The Spy Who Shagged Me," an obvious play on the 1977 Bond title "The Spy Who Loved Me." But that dispute was settled when New Line agreed to include trailer play for MGM movies on its Austin Powers sequel.
MGM was just waiting to see if it was worth their while. If Goldmember turned out to be a dud, MGM has nothing to gain by attempting to squelch it. But if Goldmember looks like it's going to be raking in the bucks hand over fist, surely they won't have to twist New Line's arm too hard to "remind" them to share just a little itty bit of the profits...
Here's an article with fuller details. I find the following paragraph particularly interesting: The "Goldmember" flap is not the first between MGM and New Line over Austin Powers titles. MGM initially challenged the use of "The Spy Who Shagged Me," an obvious play on the 1977 Bond title "The Spy Who Loved Me." But that dispute was settled when New Line agreed to include trailer play for MGM movies on its Austin Powers sequel.
MGM's past actions show that all MGM is interested in is profiting off anything halfway Bond-related, whether they thought of it or not. If they can leverage copyrights to accomplish that, they will do it. If it takes, as MGM's CEO says, having "a zero-tolerance policy toward anyone who tries to trade on the James Bond franchise without authorization", they will leverage that too.
This isn't primarily an issue about rights. It's primarily about money, and rights are only dragged into the picture when they are likely to bring in more money.
The answer of course is probably obvious; technically superior technology doesn't guarantee success. VHS vs. Betamax. QWERTY vs. Dvorak. Windows vs. Macintosh. By the time VQF came on the scene, MP3 was firmly entrenched in internet culture. VQF never had a chance.
Here's an interesting, naive snippet from the VQF FAQ: While you can find thousands and thousands of MP3s out there, the number of VQFs is comparatively tiny. But this is only a matter of time. Once people begin to realize how incredible these are, their popularity will skyrocket. VQF.com says "Copyright 2000" at the bottom. They've had a year or two to skyrocket. Raise your hands; how many of you have even one VQF on your hard drive?
Now, listen to how familiar this sounds: Though not as popular as an MP3 file yet, Ogg Vorbis will eventually replace the MP3 format by popular demand, and like cassettes and 8 tracks, MP3's will be a thing of the past. This will happen because the Ogg Vorbis file format is a smaller file size, has a higher quality of sound clarity, and is FREE.
I'd like to believe in Ogg, but I've been burned one too many times.
Microsoft's clean break is their new "virtual machine" which is about to be unleashed on the world, AKA the Common Language Runtime [PDF]. It's basically a whole new platform riding on top of Windows (and maybe others if things like Mono pan out), and this time security is supposedly built into the architecture from the ground up.
Microsoft has already made at least one of these crucial acquisitions in acquiring Colusa Software and turning Colusa's virtual machine technology into the .NET Common Language Runtime. The way the CLR makes buffer overflows impossible can be credited directly to Colusa's work. Microsoft's new programming language COOL, now called C# and branded with .NET, also was influenced by Colusa.
The irony in the ZDNet article: Microsoft was going to demonstrate their new virtual machine a while back, but "decided to cancel its presentation, claiming it did not fit with the show's 'visionary' theme." Now with Bill's latest "visionary email", it's back in the spotlight again as the technology that Microsoft is betting its future reputation for security on. They've been sitting on this one for quite a while now, and it has received the most extensive pre-release beta testing a Microsoft product has ever been subjected to, so they may actually have a chance.
The difference between their business models is that Google hopes to get paid by the content creators while Yahoo hopes to get paid by the content users.
Now that they're kicking the minors out early and extending the hours, that leaves 6 hours for the old folks to frag each other instead of getting fragged to oblivion by twelve-year-olds!
It's much more than just a game, it's a lifestyle!
See this for more info on the connection between Colusa Software and Microsoft. They mention a virtual machine based on Colusa's technology called CVM. This is now Microsoft's Common Language Runtime (CLR), recently standardized by the ECMA, and inspiration for the open source Mono project.
They also mention Colusa technology involved in the COOL programming language. This is now Microsoft's C# programming language.
More info on the .NET Framework security features can be found here. Especially interesting to note is how the CLR's "managed code" concept affects security. "Common vulnerabilities--such as buffer overruns, the reading of arbitrary memory or memory that has not been initialized, and arbitrary transfer of control--are no longer possible." Sounds a lot like Colusa Software's philosophies in action!