Slashdot Mirror


Microsoft Patents 'IsNot', Enlists WTO

Milhouse102 writes "I was just reading an article on The Register about Microsoft's offshore patent war following Ballmer's recent outburst in Asia. I came across this little nugget, it seems MS has patented BASIC's IsNot operator."

23 of 720 comments (clear)

  1. Am too. by Raven42rac · · Score: 5, Funny

    I am going to patent "is too" and "nuh uh".

    --
    I hate sigs.
    1. Re:Am too. by mothz · · Score: 5, Funny

      Nuh uh! Amazon already holds those patents.

    2. Re:Am too. by Mold · · Score: 5, Funny

      iSnot? So you work at Apple?

      The iSnot. I like it. It has potential. I wonder how much it will cost.

    3. Re:Am too. by TheDauthi · · Score: 5, Funny

      Spoken like a true Apple fan: asking how much it costs before what it does! Sorry, couldn't resist.

    4. Re:Am too. by jackbird · · Score: 5, Funny
      The iSnot. I like it. It has potential. I wonder how much it will cost.

      I'm sure Apple will make you pay through the nose.

  2. Not Quite by RangerRick98 · · Score: 5, Informative

    Unless I'm mistaken, they've only applied for a patent; it has not yet been granted. Sadly, given the state of the patent system nowadays, it would not surprise me if it is granted.

    --
    "You're older than you've ever been, and now you're even older."
    1. Re:Not Quite by southpolesammy · · Score: 5, Funny

      Slashdot headline, July 23, 2006 -- Patent IsNot Granted.

      800 posts later, slashdotters still haven't deciphered the meaning of the headline.

      --
      Rule #1 -- Politics always trumps technology.
    2. Re:Not Quite by servoled · · Score: 5, Informative

      Yes, this is a publication of a pending patent application. The easy to tell is to look at the number: 20040230959.

      Published patent applications use the format of YYYY/####### to denote the Year and the number in which the application was received.

      Granted patents have the format of ####### with no year attached to denote the order in which the patent was granted. They are someone around 6,800,000 right now.

      --
      "I have a porkchop, you have a porkchop. I have a veal, you have a veal".
    3. Re:Not Quite by BigDork1001 · · Score: 5, Funny
      Slashdot headline, July 24, 2006 - Patent IsNot Granted.

      800 posts later, Slashdotters still are complaining about the dupe.

      --
      "Armed forces abroad are of little value unless there is prudent counsel at home" - Cicero
  3. So am I infringing if... by N+Monkey · · Score: 5, Informative

    After a quick read of the patent, it seems to say that it is a test to see if two "variables" are actually the same entity, i.e. at the same address.

    That would seem to imply

    #define IsNot(A,B) (&(A) != &(B))

    infringes?

    Surely this is done in things like memmove() to prevent overwriting of data?

    1. Re:So am I infringing if... by k4_pacific · · Score: 5, Insightful

      Perhaps the intent is to keep implementations of Visual BASIC from springing up on other platforms. A great deal of software out there is still written in VB and this code often stands in the way of getting off of Windows for good.

      --
      Unknown host pong.
  4. This is disgusting! by kuwan · · Score: 5, Insightful

    If ever there were an example of how completely broken and useless the current patent system is then this is it. This makes you think, what other obvious and trivial functions have been granted patents? Can I get a patent on strcmp? I'll just apply for a patent on my new, special function that I just recently came up with. It's called StringCompare!

    As I right this my colleagues are writing up patent applications for the !=, ==, &&, ||, &, and | operators. I expect these applications to be granted shortly, after which we'll own all your code and Microsoft will be my bitch.

    --
    Sounds like a scam, but it works.
    Free Flat Screens | Free iPod Photo |

  5. To quote Clinton... by MarkEst1973 · · Score: 5, Funny

    It depends on what your definition of "is" is...

  6. Re:Microsoft Also Patents by fred+ugly · · Score: 5, Funny

    Lemme guess. "I'm not an English major."

    I believe you mean, "I IsNot an English major."

  7. Re:Is the 'Is' operator patented? by albalbo · · Score: 5, Informative

    Actually, they specifically admit "Is" as prior art, the example they give is:

    If (Not(A Is B)) Then (Goto Z) End If

    By generating an IsNot operator, such that Not(A Is B)===(A IsNot B), you're re-ordering the sentance:

    If (A IsNot B) Then (Goto Z) End If

    That's what they're trying to patent. The use of a keyword rather than boolean logic. I rather hope and suspect this patent will fail for insufficient inventive step.

    --
    "Elmo knows where you live!" - The Simpsons
  8. Re:Microsoft patents ones and zeros... by albalbo · · Score: 5, Informative

    UK patent application GB0312175.3, someone already tried:

    "The applicant appeared to be trying to protect the use of '0' and '1' in computer technology. [...] The applicant appeared to have completely misunderstood the patent system, and had not actually invented anything."

    Via softwarepatents.co.uk. Well, at least *that* didn't get through. ARM's patent on the use of pointer arithmetic in CPU emulators *was* allowed, though.

    --
    "Elmo knows where you live!" - The Simpsons
  9. IsNot IsNot in BASIC yet by unfortunateson · · Score: 5, Informative
    This really boils down to a RTFA, but I'll expound here:

    First off, the IsNot operator is not part of VB 6.0 or VB.net 2003 (I haven't checked 2005, which is still in Beta)

    Second, if you undestand VB's "Is" operator, IsNot makes more sense.

    "Is" is a memory location comparison commonly used to see if two variables point to the same object, e.g.
    objThisControl Is objTheControlICareAbout
    . It does not compare the values of the variables, only that they are pointers to the same object.

    Because there is no inverse version of this operator like there is with "=" and "", you end up with non-natural-language statements such as
    If Not (objThisControl Is objTheControlICareAbout) Then
    Much more natural looking is
    If objThisControl IsNot objTheControlICareAbout Then
    Whether this is patentable is another issue. But you can certainly patent a published idea -- it's the only way to protect it.
    --
    Design for Use, not Construction!
  10. Re:Only pertains to BASIC by servoled · · Score: 5, Informative
    Each claims stands alone. So, only claim 2 would be limited to BASIC, while claims 1, 3 and 4 would apply to any programming language.

    The dependent claims (2, 3 and 4) are merely shorthand to avoid writing the entire claim out each time, but for purposes of what they cover, you should read the claims like this:
    1. A system for determining if two operands point to different locations in memory, the system comprising: a compiler for receiving source code and generating executable code from the source code, the source code comprising an expression comprising an operator associated with a first operand and a second operand, the expression evaluating to true when the first operand and the second operand point to different memory locations.

    2. A system for determining if two operands point to different locations in memory, the system comprising: a compiler for receiving source code and generating executable code from the source code, the source code comprising an expression comprising an operator associated with a first operand and a second operand, the expression evaluating to true when the first operand and the second operand point to different memory locations, wherein the compiler is a BASIC-derived programming language compiler.

    3. A system for determining if two operands point to different locations in memory, the system comprising: a compiler for receiving source code and generating executable code from the source code, the source code comprising an expression comprising an operator associated with a first operand and a second operand, the expression evaluating to true when the first operand and the second operand point to different memory locations, wherein the operator is IsNot.

    4. A system for determining if two operands point to different locations in memory, the system comprising: a compiler for receiving source code and generating executable code from the source code, the source code comprising an expression comprising an operator associated with a first operand and a second operand, the expression evaluating to true when the first operand and the second operand point to different memory locations, wherein the compiler comprises a scanner, a parser, an analyzer and an executable-generator.
    --
    "I have a porkchop, you have a porkchop. I have a veal, you have a veal".
  11. The relevant Blog entry of the "inventor" by grungeman · · Score: 5, Informative

    http://www.panopticoncentral.net/archive/2003/11/1 7/243.aspx#Comments

    And he writes that they "had requests for this in the past", so they did not even invent it, but some users suggested it.

    Finally check out the comments of the VB users below wetting their pants for this little feature. Now isn't that really sad?

    --

    Signature deleted by lameness filter.
  12. Re:Prior art by Waffle+Iron · · Score: 5, Insightful
    Python also has this operator:

    a is not b

    Microsoft's incredible insight here seems to involve taking Python's 10-year old technology, porting it to BASIC, and heavily optimizing it by removing the whitespace sytactic sugar between 'is' and 'not'. (This saves over 16% space!)

    If anything was more worthy of patent protection, I don't know what it could be.

    Actually, it's pretty obvious that the motivation for such a stupid little patent that applies to one language is simply to prevent people from reimplementing the language as a whole. Nobody cares about IsNot itself, including Microsoft. However, since 100% code compatibility is required to do a full reimplementation, this essentially would grant them a 20-year monopoly on compatible implementations of VB.

    This is one of the worst things about the current patent system. Patent holders are allowed to use patents on small things to control access to huge things. Patents should somehow be changed to only protect the claims in the patent, they should not be allowed to use compatibility issues to amplify small patents into generalized barriers to entry of a whole industry.

  13. Re:Prior art by Phillup · · Score: 5, Interesting
    Here is the first claim:
    A system for determining if two operands point to different locations in memory, the system comprising: a compiler for receiving source code and generating executable code from the source code, the source code comprising an expression comprising an operator associated with a first operand and a second operand, the expression evaluating to true when the first operand and the second operand point to different memory locations.
    My understanding is that each and every claim stands on it's own.

    Now, some claims refer to other claims... so, you can kill multiple claims by killing the underlying claim.

    But, claim #1 says absolutely nothing about BASIC.

    Also, when I read it, I get the impression that BASIC is mentions for demonstration purposes only, that the claim is for everything like BASIC.

    For example, I see this:
    [0015] A system, method and computer-readable medium support the use of a single operator that allows a comparison of two variables to determine if the two variables point to different locations in memory, that is, the reverse of the existing "Is" operator in a BASIC programming language or a derivative of BASIC or BASIC-like programming language. In one embodiment of the invention, the memory locations represent objects. The new operator enables a user to determine if the left operand (e.g., a reference type) "is not" the same instance as the reference type listed as the right operand. The use of a single operand for this concept may increase the readability of the programming language.
    Which mentions derivitaves of BASIC and BASIC like languages. And, it mentions in one embodiment of the invention, the memory locations represent objects.. (Can you say dot net?)

    Here is another part that makes me think it isn't just BASIC:
    [0029] FIG. 2 and the following discussion are intended to provide a brief general description of a suitable computing environment in which the invention may be implemented. It should be understood, however, that handheld, portable, and other computing devices of all kinds are contemplated for use in connection with the present invention. While a general purpose computer is described below, this is but one example, and the present invention requires only a thin client having network server interoperability and interaction. Thus, the present invention may be implemented in an environment of networked hosted services in which very little or minimal client resources are implicated, e.g., a networked environment in which the client device serves merely as a browser or interface to the World Wide Web.
    Again, the mention of a browser and the web make me think of dot net.

    Then, in paragraph [0041] we see this sentence:
    One such design environment may be MICROSOFT VISUAL BASIC .NET, BORLAND DELPHI or the like.
    Which tags two non-BASIC languages (.net and delphi/pascal)

    I think that if you read it closely you start getting the impression that they are trying to patent an idea that is expressed in many programming languages.

    Not just an implementation in one language.
    --

    --Phillip

    Can you say BIRTH TAX
  14. Re:I'm gong to be rich! by Anonymous Coward · · Score: 5, Funny

    probably a vi user. I bet his ESC key is worn out also.

    No, but you should see his colon....

    Never mind, forget I said that.

  15. Re:IsNot Microsoft? by mindaktiviti · · Score: 5, Funny

    Well since IsNot is already patented, let me convert that to legal pseudo code:

    Microsoft Windows = sux0r
    Microsoft Inc = sux0r
    MSN news = sux0r
    Microsoft Hotmail = sux0r
    Microsoft XBox = sux0r
    Microsoft CEO Steve Ballmar = pwn3d.