decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Unbelievable! | 439 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections Here! (besides 5/4 --> 5/14!) (N/t)
Authored by: Anonymous on Monday, May 14 2012 @ 01:22 PM EDT
Grammar Nazis, here's your chance to be helpful....and pick out the typos....

[ Reply to This | # ]

Corrections
Authored by: Kilz on Monday, May 14 2012 @ 01:28 PM EDT
Corrections need to be started by a logged in user. For
mistakes.

[ Reply to This | # ]

Off Topic
Authored by: Kilz on Monday, May 14 2012 @ 01:29 PM EDT
For all posts that are not on topic.

[ Reply to This | # ]

Newspicks
Authored by: Kilz on Monday, May 14 2012 @ 01:30 PM EDT
Please mention the news story's name in the title of the top
post.

[ Reply to This | # ]

Comes
Authored by: Kilz on Monday, May 14 2012 @ 01:32 PM EDT
Please post all transcriptions of Comes exhibits here for PJ.

[ Reply to This | # ]

I think the Judge is Confused
Authored by: rsteinmetz70112 on Monday, May 14 2012 @ 01:47 PM EDT
I have been wondering about what the Judge is thinking. This report makes it
sounds like he is confused.

Why doesn't he let SSO damages go to the Jury and then he can decide to overrule
them if he wants to?

If he doesn't overrule them then the trial will not be complete and there will
need to be a new trial with a new jury to decide damages.


---
Rsteinmetz - IANAL therefore my opinions are illegal.

"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk

[ Reply to This | # ]

The system is hopelessly flawed
Authored by: Anonymous on Monday, May 14 2012 @ 01:49 PM EDT
The system is hopelessly flawed when a judge and jury are obligated to accept a
lie as the truth simply because it was not officiallty challenged.

If a witness stated that the moon is made of green cheese would the jury be
obligated to believe it unless there is an expert witness to contradict it? If
that is true, then justice is impossible. It is all just nonsense and word
games for the benefit of lawers. Ick!

[ Reply to This | # ]

Tweets from the courtroom
Authored by: feldegast on Monday, May 14 2012 @ 02:00 PM EDT
https://twitter.com/#!/Feldegast

https://twitter. com/#!/Feldegast/oracal-vs-google- trial

---
IANAL
My posts are ©2004-2012 and released under the Creative Commons License Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

Jacobs tells another howler
Authored by: Anonymous on Monday, May 14 2012 @ 02:01 PM EDT
Jacobs: Dynamically doesn’t mean the same thing as run-time. We’re misunderstanding the basic rules of set theory.

Say what? Of course it means the same thing as run-time. Static optimizations happen before the program is run (not at run-time). Dynamic optimizations happen while the program is running (at run-time).

And I have no idea what he meant about set theory (I suspect we'll have to wait 3 months for the full transcript before we'll know exactly what he was trying to say, and whether it made any sense or not.)

[ Reply to This | # ]

Closing Statements
Authored by: DannyB on Monday, May 14 2012 @ 02:23 PM EDT
" . . . an in conclusion ladies and gentlemen of the jury, if you do not
find any patent infringement, then there will be no need for a damages phase and
you can go home."


---
The price of freedom is eternal litigation.

[ Reply to This | # ]

Is justice really blind, or do celebrity lawyers get more leeway?
Authored by: Anonymous on Monday, May 14 2012 @ 02:46 PM EDT
Just wondering...

[ Reply to This | # ]

What's the point of a jury ...
Authored by: Anonymous on Monday, May 14 2012 @ 02:53 PM EDT
... if the judge can overrule them? Why bother with the
charade?

[ Reply to This | # ]

Stanford CS Dept. reputation tarnished?
Authored by: Anonymous on Monday, May 14 2012 @ 03:39 PM EDT
Why is the Stanford University Director of Graduate Studies of their CS
department (from Dr. Mitchell's web page) actively working to change copyright
case law to include software API's? Furthermore, not only does he seem to
believe that software should be patented, but appears willing to confuse a jury
about the importance and application of some very weak (obvious) software
patents.

I would think that a professor of Computer Science would be very
aware that over-reaching copyright law and weak patent claims damage the
computer industry.

Could donations to Stanford be an issue again? (search the
web for: "In re Oracle Corp Derivative Litigation?")

[ Reply to This | # ]

Reports from the Oracle v. Google Trial - Day 16 ~pj
Authored by: eric76 on Monday, May 14 2012 @ 03:47 PM EDT
In light of the recent EU decision, what is the likelihood that Oracle will come
to their senses and decide that it is not at all worthwhile to take the API
portion back to court in another trail?

[ Reply to This | # ]

Credibility and the jury
Authored by: tknarr on Monday, May 14 2012 @ 03:59 PM EDT
I don't see why a jury can't decide they don't believe a word that man said, if that is their decision. The jury instructions say that is their job, to evaluate credibility. If they didn't believe Dr. Mitchell, as I didn't, why can't they so decide? I know. Logic. Mark tells me I'm off base on this. For the jury to reach a different conclusion, he explained to me, there would have to be evidence that Dr. Mitchell's statement was unfounded (Google's burden of proof) or that there was contradictory evidence (Google's burden of proof). The jury can't simply decide that Mitchell's testimony was not credible absent some challenge or contradictory evidence. To which I say, why not? If on other issues, where there was evidence, they listened and decided nothing he said was credible, why shouldn't that be their job and their right? Sometimes the law and logic diverge, as you may have noticed.

I'd have to agree with PJ in my bogglement. I'd note that as a juror I'd phrase it as "Google isn't the only side whose evidence I have to look at.". Dr. Mitchell's testimony is right there. He was on the stand. If that isn't evidence that I can consider when judging his credibility, what is? And if I decide, based on the evidence Oracle and Dr. Mitchell presented, that Dr. Mitchell's testimony isn't credible, why can't I as a juror do that? My judgement is based on the evidence presented in the courtroom, as part of the record. Oracle and the judge may not like the decision I came to regarding the evidence presented, but why would I not be allowed to make a decision based on the evidence and testimony that's part of the record?

[ Reply to This | # ]

Identification of a work - de minimus - statutory damages
Authored by: Anonymous on Monday, May 14 2012 @ 04:30 PM EDT
I am a bit confused by the apparent qualification of a file as a work, in the
context of the test files decompiled by Noser.
Did judge Alsup rule that copying in this context was not de minimus because the
whole work (one file) was copied?
If so, if this was done to 7 files, would that make Oracle eligible to a maximum
of 7 x $150.000?
Plus the 9 lines of rangeCheck code that apparently equal a whole work as well
for another $150.000?
It seems to me that splitting your work into a compilation of atomic works
(atomic meaning cannot be split any further) makes you eligible for billions in
statutory damages if your some of your work is copied.
Strange.

[ Reply to This | # ]

To Err Is Human
Authored by: sproggit on Monday, May 14 2012 @ 05:22 PM EDT
"The judge believed that he had to overrule the jury on the test files, because Mitchell said they were very important (--so important Google didn't even know they were there until Oracle told them since it wasn't Google who put them there, m'lords?), and he wrote in his order that no one contradicted that testimony, and that's why he had to rule as a matter of law that the evidence from Dr. Mitchell established the point. As we see here, Google is not taking any chances that it could happen again."
Several articles ago, we were told that Judge Alsup, having realised that he had made a mistake, came back to the counsel for both parties with a correction. I find it deeply disappointing that, with this Court at least, Counsel for the parties are held to a higher standard than the Court, and are not given the same opportunity to make such corrections.

I am sure that there are all sorts of reasons why it's not appropriate for a Court to give Counsel endless "wiggle room" during a legal dispute. We saw ample evidence of this when Judge Kimball presided over SCO vs. IBM and SCO vs. Novell. However, in the instant example, I find it somewhat puzzling that Judge Alsup has made a ruling against Google on the grounds, "You could have complained and you didn't."

My lack of legal training and ignorance of the finer points of courtroom etiquette are clearly going to shine through here, but this just seems disengenuous. For some reason I am reminded of that quip from Lt. Daniel Kaffee (Tom Cruise) in, "A Few Good Men":

"That's a relief! I was afraid I wasn't going to be able to use the 'liar, liar, pants-on-fire' defense."

[ Reply to This | # ]

Jury of their peers
Authored by: Anonymous on Monday, May 14 2012 @ 05:30 PM EDT
Google should have gotten a jury of their peers: programmers or project
managers.

[ Reply to This | # ]

update 2
Authored by: Anonymous on Monday, May 14 2012 @ 06:13 PM EDT
Wow.. reading the battle between Oracle and Dr. August was really something.
Sounds like he did a great job of being precise and not letting Oracle twist his
words to mean the opposite of what he said.

I'm surprised it was Oracle that tried to bring up the apparent fact of Java not
practicing the '104 patent either. I wonder what their argument was going to
be? "Our patent must cover what we thought it covers, and therefore it
must cover Google's thing too"? BSF seems pretty good at turning the
factual weaknesses of their case into strengths! Good thing it was irrelevant
and the Judge shut it down.

[ Reply to This | # ]

Dynamic vs Static
Authored by: Anonymous on Monday, May 14 2012 @ 06:25 PM EDT
I hope Google's attorneys realize that this is probably the easiest point to
make to the jury and really pound that into their heads in closing arguments.

[ Reply to This | # ]

Reports from the Oracle v. Google Trial - Day 16 ~pj - Updated 2Xs
Authored by: Anonymous on Monday, May 14 2012 @ 06:31 PM EDT

Oracle: When Dan Bornstein testified, did you detect any inaccuracies?

August: No.

Oracle: And same with Andy McFadden?

August: No.

That second no means the opposite of what I think August intended.

[ Reply to This | # ]

Update 3 - de minimis
Authored by: Anonymous on Monday, May 14 2012 @ 07:51 PM EDT
"Anyone know why this reasoning wouldn't justify the jury's finding about
the test files as de minimis, since they never shipped with Android and so no
user ever used them?"

The reasoning might apply. Unfortunately, since it's a different district, and
not even an appeals court decision, there's no requirement whatsoever for this
court to follow it...

MSS2

[ Reply to This | # ]

I am waiting for the Greek font comparison.
Authored by: Anonymous on Monday, May 14 2012 @ 07:55 PM EDT
Looky!!! The files are the same size, Yer Honor !!
A favorite of mine. use a Greek font to conflate it all.

[ Reply to This | # ]

Unbelievable!
Authored by: Anonymous on Monday, May 14 2012 @ 08:01 PM EDT
Dr. Mitchell must have been paid a fortune for this testimony. He should
be sacked from Stanford for this. His testimony under oath contradicts 50
years of theory and practice in computer science. A numeric index is NOT
a symbolic reference, that is a bald-faced lie. In all my years of following
Groklaw, I've never felt as disgusted as I do right now.

[ Reply to This | # ]

Nonsense word games
Authored by: Anonymous on Monday, May 14 2012 @ 08:39 PM EDT
If an array index is a "symbolic reference" then there is so much
prior art that Oracle's patent is worthless.

According to Oracle's theory, an address in most high level languages is NOT an
address, but rather a symbolic reference ... because on modern machines the
"address" used in the code is NOT the address in memory. The
page-table hardware converts these addresses to actual memory addresses on the
fly during execution.

So ... does this mean their patent covers any processor that uses virtual
memory, clear back to its introduction in the 70s?

[ Reply to This | # ]

Thanks, Zach!
Authored by: Anonymous on Monday, May 14 2012 @ 09:14 PM EDT
Thank you for making it to the courthouse and spending your day taking these
detailed notes for us!

Can a logged-in user please start a Thank-You thread? =)

[ Reply to This | # ]

Simple definition for symbolic references
Authored by: Anonymous on Monday, May 14 2012 @ 10:55 PM EDT

There are three types of references: direct, indirect, and symbolic.

A direct reference is one where the reference specifies the target directly. The reference may be an address, offset (i.e. an address relative to some commonly agreed address), or index (to an array or table; basically an address but specified in data units).

Indirect references occur when there is more than one direct reference to be followed to reach the target. Usually, the number of steps is known beforehand, but that is not necessary: some kind of an indicator to tell whether the target is the true target or a reference to follow, is enough. (Just because an indirect reference might have a variable number of steps, does not make it a symbolic reference.)

Symbolic references are those where you have a set of target symbols, and you must search the set for the exact target symbol to reach the target. The search operation is the key. If you do a search, you have a symbolic reference. If you do not do a search, you have a direct or indirect reference.

There are many ways to order the sets so that the searching can be done efficiently. The most common one is hash tables, where a key is first computed from the symbol, then this key is used to probe a location for the reference.

Perfect hashes are those that yield an unique location for each expected symbol, so one probe is quaranteed to get the correct slot.

Perfect hashing is the watershed line between indirect references and symbolic references. While a hash function is involved, if the search is always guaranteed to succeed (i.e. it is a perfect hash) in a single step, it is an indirect reference. On the other hand, because a hash function is involved in transforming the symbol, it is a search operation, resolving a symbolic reference.

In practice, only references using fixed or static perfect hashes are indirect references. This is rare, but used for example computer processor internal memory management (caches).

Dynamic perfect hashes are those that adjust to fit their dataset, the bag of symbols they are used with. They are quite rare, and most often include code that allows them to gracefully degrade to less than perfect hashing. It should be obvious, then, that the perfect hash in such cases is only a search optimization. Because there is clearly a search involved, references relying on dynamic perfect hashes must be considered symbolic references.

I hate it when graphic designers misuse scientific terms like "volume" or "weight" for completely subjective purposes. Having lawyers twist simple, clear computer science terms into something garbled and confusing, and having highly paid professors blatantly lie in support for only money, it just gets my blood boiling. Most of the Oracle "experts" deserve to lose their jobs, and let those who have the decency to not defecate over the work and research of their peers, to continue contributing to our respective societies.

[ Reply to This | # ]

A dogrel on the copyright inapplicability of decompiled code
Authored by: BitOBear on Monday, May 14 2012 @ 11:54 PM EDT
#!/bin/bash
# And so we do now find ourselves
# with rulings by the pair,
# refuted here with alacrity
# by member BitOBear.

# With this bash script imaginative filled
# expressions we shall see,
# offered under creative commons terms
# to you, the licensee

# The court has found that object code
# compiled from the source
# retains some kind of copyright
# beyond pure functions course

# The mouse celebrates it Pyrrhic victory
# and cheers "ours is the cheese of course"
# and in response the angry
cat << 'roared' > decompiled.java # "source"

/* see as a */ class /* we experts know */
// Compiler are blind
// to expressive assignations in
// the object code they bind

/* once object code is */ decompiled
/* and punctuation like this gone */ {
// The fact remains but functions' left
/* in the */ public final /* song */

/* The court does council */ String /* along
while jury verdict it now defames
for they could see what it could not
There's */ only_functional_remains

/* The compiler, you must now know,
// Is blind to expressive thought
/* It sees only a */ (String of_data)
/* within all the code that's wroght*/

/* The dance of punctuation has its bits*/{
// That confuse the new-come mind
/* Into thinking the machine doth think
/* but in */ return /* it's blind */

/* Within it code and messages it is wont to shout */
"nothing recognizably expressive remains "
+ "In this you must not doubt"
/* your pains of clever order don't matter here */


/* I have no thought */+ of_data
// here I know your heart must sink
// On style I do not opine
+/* as Machine, I do not think */

// Nothing is left once I am done
/* well nothing */" except the strings,"
+" even argument names are lost";
/* though braces wrap again all things */}}

// So for justice we do wait upon
// the drama has us bored
// The legal theories bounce about
// no heed for the expert cats that
roared

# Now we invoke the incantations
# first compile then extract
javac decompiled.java ; jad -noctor -nonlb -p decompiled.class
# in search of only fact

# If you don't have linux and java
# and you haven't added jad
# I'll save you all the trouble
# this demonstrations' just a fad

# below you'll find the output
# having run on -my- machine
# of this my demonstration
# and my whit that's o-so keen

====
// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: packimports(3) noctor nonlb
// Source File Name: decompiled.java


class decompiled {
public final String only_functional_remains(String s) {
return (new StringBuilder()).append("nothing recognizably
expressive remains In this you must not doubt").append(s).append("
except the strings,").append(" even argument names are
lost").toString();
}
}

[ Reply to This | # ]

Thought for the day.
Authored by: jvillain on Tuesday, May 15 2012 @ 12:08 AM EDT
So we have two, count them two weak patents being litigated in this trial and as
a programmer and sysadmin I have to stop and chew on some of this stuff for a
while to make sure I have the actual facts straight and I need to rely at least
50% on stuff I have learned out side of the trial. To the Jury I am sure you
could have replaced this whole argument with a discussion of String Theory and
they wouldn't know the difference. Two patents.

Now if you remember back before the judge actually got his hands on this case
Oracle was suing over a hundred or a thousand patents. I don't remember the
number but it was basically the entire Oracle patent treasure chest.

The judge whittled them down to under 10 and the USPTO with the help of a good
swift kick in the pants from Google got us to two. Well 1.5. Just imagine how
completely out of control this case would have been with say 10 patents never
mind the number Oracle was originally drag net fishing with.

Oracle dumped a truck load of manure in the court room. The judge is just doing
what he can to try and get some flowers to grow out of it.

[ Reply to This | # ]

Reports from the Oracle v. Google Trial - Day 16 ~pj - Updated 4Xs
Authored by: Rubberman on Tuesday, May 15 2012 @ 12:20 AM EDT
I am a professional software engineer with 30+ years
experience in the development of complex systems, including
interpreters and compilers. I even have a patent for adaptive
systems software as sole inventor. How one can expect a jury
to understand this cruft is beyond me! I understand what is
being discussed by the "expert" witnesses, but to think a
jury of non-expert people to understand the ramifications and
nuances here is just idiotic!

[ Reply to This | # ]

Precise distinction between numeric references and numeric digits used in symbolic references
Authored by: Anonymous on Tuesday, May 15 2012 @ 02:01 AM EDT
Dr. Mitchell said something which appears designed to confuse those present who don't know computing at a fine level of detail. I'm going to explain his answer so that people can see why it's inapplicable and a misdirection. Here is the context:

Oracle: Do Dalvik instructions contain symbolic references?
Dr. Mitchell: Yes.
Dr. Mitchell: What are they?
Dr. Mitchell: The field indexes.
Oracle: But those are numbers, does it matter?
Dr. Mitchell: Not at all, a number can be a symbolic reference.

I'm not addressing his first "Yes" because that is obviously false as a simple matter of fact, and his students are going to rip him apart for it which is punishment enough. Instead I want to address his last statement, which is less obviously wrong and may confuse someone.

He said "a number can be a symbolic reference". There is a problem with that statement, because it refers to two different things ambiguously, and only one of them is true, not the one that applies in the context of this case.

The word "number" can refer to native numeric fields such as integers, and it can also refer to non-native numeric fields typically encoded as strings. The process of transformation between these two forms obeys a standard collating sequence or ordering algorithm, which is a convention that allows (among other things) the unambiguous encoding and decoding of native numeric fields to and from strings. Central to this convention is that the numeric octets (digits) used in the string encoding have values and visible properties when printed which correspond directly to the native numbers which they represent in string form. Implied in this direct correspondence is a partial ordering of the values of the numeric octets (digits) in the string such that it maintains the monotonicity of the corresponding native numeric values.

In simpler language, the above means that native numeric values of 1, 2, 3 are encoded using octets that are conventionally printed as '1', '2', '3', and these octets have exactly the same ordering/monotonicity between them as the native numeric values to which they correspond. In other words, the octet '2' cannot denote the native numeric value 3, and when used in a decimal string, "22" always means (2*10)+2, it cannot mean (3*10)+3 or any other value.

This leads us directly to an unambiguous understanding about when "numbers" appearing in strings can create "symbolic references" and when they do not and cannot.

If a string contains only numeric octets and employs a known collating sequence so that the string can be decoded to a single native numeric value, then the string is ALWAYS a numeric reference even if it is in string form. It has a predefined value given by the chosen collating sequence plus the standard used for encoding numeric values in the required base. This value is fixed and requires no symbol resolution or lookup, only knowledge of the encoding algorithm and the octets of the string.

In contrast ...

If a string contains numeric octets but chooses not to employ any collating sequence information to given the string numeric meaning, or if the string contains non-numeric octets and it is not possible to directly decode this string into a single native numeric value without involving additional information, then the string CANNOT BE a numeric reference in string form because it has no built-in predefined value. Such a string can only be assigned a value by symbol resolution, a process which can assign to it ANY value whatsoever, because the octets of the string do not intrinsically encode that value.

So, Dr. Mitchell's statement that "a number can be a symbolic reference" is only true in a very limited and unusual circumstance which does not apply either in the patent, nor in Java, nor in Dalvik. None of these describe nor employ symbols with the peculiar characteristic that they employ numeric octets without numeric semantics and hence require symbolic resolution.

On top of that, none of the numeric references in Dalvik lack the numeric meaning that would demand treating them as a non-numeric symbol requiring symbol resolution, so his contention is not only wrong but also totally pointless for the task in hand.

Regards, anonymously.

[ Reply to This | # ]

Evidence -was- offered that the files were de minimus
Authored by: BitOBear on Tuesday, May 15 2012 @ 02:18 AM EDT
The court is, sadly, wrong about there being no contradictory evidence.

Since there are "166 APIs" listed in the jury instructions and
"each API" consists of hundreds of individual files, and the jury
instructions regarding "the work as a whole" it is obvious that two
fists full of files is de minimus to the list of all files in all the APIs of
the work as a whole.

Sure each file is a whole of a part, but as part of a whole each file is
statistically nill. It's like saying that my quotation of a -whole- -page- from
the collected congressional record for 2011 couldn't be rationally be considered
a minimal excerpt because it was, after all, a -whole- -page- (toh noes!).

There was -lots- of evidence about the -volume- of work in Android and the Java
Runtime Library and less that 20 files is way less than a fraction of a
percent.

That nobody -bothered- to point out the insignificance as a separate line item
doesn't mean that rational people listening to all that stuff wouldn't naturally
go "is -this- all you are talking about being taken from all -that-?"

[ Reply to This | # ]

Turing complete languages and numerical references
Authored by: Anonymous on Tuesday, May 15 2012 @ 03:21 AM EDT
From what I understand, in a Turing complete language (like
most, if not all computer languages) you can create any
effect and mimic any method you want.

So, the outcome of a numerical reference need not be using a
numerical reference to create the same effect.

IMANAL_TOO

[ Reply to This | # ]

Prior art in referencing?
Authored by: IMANAL_TOO on Tuesday, May 15 2012 @ 03:26 AM EDT
I haven't seen the prior art in different forms of references discussed very
much here. But it seems strange (even if it is not what Dalvik does) that
SUN/Oracle could have received a patent on a method of references, when there
ought to be loads of prior art here.

What makes their case special they think?




---
______
IMANAL


.

[ Reply to This | # ]

BS&F prove patent irrelevant to both Android and Java
Authored by: BitOBear on Tuesday, May 15 2012 @ 03:59 AM EDT
=== transcript quote begin ===

Oracle: So the operands are a fixed length in both a dex file and a .class
file?

August: I believe so.

Oracle: So it would also be true for a Java bytecode instruction? Is it your
testimony that there are symbolic references in the instruction stream output by
the javac compiler?

August: I believe it does not output symbolic references.

Oracle: So Java doesn’t do this either?
(etc.)

=== transcript quote end ===

Didn't oracle just prove that the patent in suit isn't part of Android -AND- it
also isn't part of Java?

Isn't equal inapplicability the opposite of infringement?

In short, we have just established that this patent is as relevant to
"Google infringing on Sun/Oracle's Java" as would be a patent on
growing watermelon in a desert?

Shame August didn't jump on that and answer, "Why yes, now that you mention
it, this patent has nothing to do Java or Android at all."

[ Reply to This | # ]

Oracle's proposition
Authored by: Ian Al on Tuesday, May 15 2012 @ 04:04 AM EDT
It all reminds me of an old joke whereby the old spinster is told that she could
not possibly have been offended because she could not see the bedroom window
from where she claimed she had.

She replied that it was easy if she climbed on to the wardrobe and used her
binoculars.

'Speculation and innuendo, they're sorts of evidence, aren't they?'

Mitchell is asking to stretch the claim construction decision of the judge
around reinterpreted explanations of how Dalvik works to fit the words in the
patent claims.

Worse, he is saying that re-using code blocks that are also used in the Dalvik
run-time engine is the equivalent of having the run-time engine running.

'Oracle: Dexopt processes the file while the Dalvik VM is running, true?'

[Auto analogy: getting earwax out of your ear using the ignition key is the
equivalent of running the engine whilst filling the gas tank].

Meanwhile, in the 'fun' universe, the coder complains that the patent is
hopeless in explaining how this highly efficient static indexing system works in
the invention.

The more the Judge's Rule 50 decision is explained to me the more in error it
seems to be. webster explained to me that any confusion of the jury because the
jury instruction did not point out that decompilation can be copyright
infringement was down to the judge.

Now he allows Mitchell's assertion that the test files are 'very important' to
outweigh the uncontested fact that Google did not know the test files were in
the Android development materials.

In the judge's order he says 'Professor Mitchell testified that using the copied
files even as test files would have been significant use'. The judge knew the
uncontested fact that no significant use was made of the files and also accepted
Mitchell's legal opinion on copyright law.

Finally, I thought that Google stipulated that the files were copied. Oracle
proceeded to put testimony in front of the jury to 'prove' the stipulated fact.
Then they asserted un-stipulated and unproven facts that conflict with the
grounding of the stipulation.

I can see that Oracle's lawyers will never have any fact stipulated by the other
side ever again. They will have to fight every step of the way and appeal every
win because of what they have done here and in SCO.

---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid!

[ Reply to This | # ]

And the prize for conflation and misrepresenttaion goes to
Authored by: Anonymous on Tuesday, May 15 2012 @ 04:11 AM EDT
Oracle: And dexopt loads the dex file into the Dalvik VM?

August: No. Dexopt processes the file that is placed on the device.

Oracle: Dexopt processes the file while the Dalvik VM is running, true?

August: Not for the same program.

Oracle: That’s not what I asked. Is the Dalvik VM running?

August: Sometimes.

Yes... A Dalvik VM is running somewhere in the world, but of no relevance or significance to the argument.

Given that Android runs a VM for every application, it's possible for other VMs to be running, but Oracle know full well that they are unrelated to the task or the optimisation.

This kind of lawyer nonsense (which if anyone else did it would be considered lying, rather than being good at one's job) really makes me sick sometimes.

The remark in bold is the true part that Oracle are trying to cover up. Hopefully the jury will get this

If they get away with this stuff, I'm going to stop working with software, the lawyers have killed it for me. I am truly disgusted.

[ Reply to This | # ]

Offset vs. Index -- A Show Down Showcase.
Authored by: BitOBear on Tuesday, May 15 2012 @ 04:48 AM EDT
So we see offset and index, the computer terms of art, being abused before our
very eyes. This latest in the BitOBear Colloquium of computer science will
address this in, hopefully, big friendly letters.

An offset is a -distance-, it is how far some thing is from something else.

An index is a position, it is the absolute location within a predictable
sequence.

Again, ignoring computers for a bit...

If I have a railroad, and I have a train, and I am on the train with you, and I
tell you to get off in two stops, what happens?

Well I have given you an -relative- index, because we are in the train at a
stop, the zeroth-stop is here, and it is at offset zero. If the distance between
stops zero and one is 100 miles, and the distance between stops one and two is
50 miles, there is an equivalence between me telling you to get off in two stops
with the indistinguishable instruction to get off when the train stops in 150
miles.

Telling you to go two stops from here is directing you by index in this usage.

Telling you to go 150 miles from here is directing you by offset in this usage.

Now if we happen to be in the very first stop of a linear railroad, and we were
counting like humans, stop number one would be at offset zero miles, and stop
number two would be at offset 100 miles, and stop number three would be at 150
miles.

Computers hate that whole counting-from-one thing because computers -always-
turn indexes into offsets as a side effect of how they work at the electrical
level.

So counting as a computer counts, the very first stop is stop "zero"
because you have to do -nothing- to get from the first station to the first
station and the first station is zero miles from the first station. So the
action of turning the station number into the distance down the track is free
for zero. This is good because anything times zero is zero. So this lets things
just work our right later. (see below).

So computers -can- deal with having the distance from stop zero to stop one be
twice as long as the distance from stop one to stop two. They -can- deal. But it
sucks. If -all- the stops are the same distance apart, say 50 miles in this
example, then they can do things like find out how any two stops are from each
other by doing math instead of tracing along a map. The distance between stops
four and nine is 250 miles because (9 - 4) * 50 is simple math.

So... lets return to inside the computer.

If I make a table of things in some location "Stuff", I can ask for
the third thing in stuff by saying "Stuff[2]". (remember the first
thing is in Stuff[0] because you only have to "skip over" zero things
to get to the first one).

Now the computer, electrically, doesn't -care- why you want Stuff[2] and it
doesn't even know that there is a pile of Stuff to begin with let alone that you
want the third thing in that pile. It is electrically looking to fetch some
number of data from some electrical location. So the compiler has turned
"Stuff[7]" into an instruction like "fetch
size_of_one_thing_in_bites from (address_where_Stuff_Starts *
size_of_one_thing_in_bytes * 7)"

That's the kind of math that the electrical mechanism called "a
computer" can do.

Remember that the various VMs are -not- computers, they are programs running on
computers. The VM opcode 51 01 is read by the program (the VM) and it already
knows where the Stuff[] is, and it now knows that we want to skip over 01 of the
Stuff to get the second one VIA PURE MATH. There was no "lookup" so
this isn't a "symbolic" anything, it's a concrete numeric math-problem
used to find "something". That -something- can turn out to be a
symbolic reference sure enough, but it could be the address of a string, or a
floating point number, or anything else.

But Wait! computers don't like it when their things are different sizes because
they would be different amounts apart and the math would blow. That's why the
table of stuff in the VM is a list of numbers (all the numbers are the same
_size_) that lead off to where the real things are. So the table of Stuff[] is
still just full of numbers, those numbers being the "real" address of
where the real data lies.

But none of this is "symbolic" references. It's more me telling you
(winding back to the original analogy) and telling you not to go to station 4
but to look on the sign board and go to the station listed on the fourth line.
Now we can have express trains that go different distances between stops but
still do the math in a computer friendly way. There were indexes and offsets
with respect to the sign, and that sign may also tell you how far away each
station is. So now we can also get the distance you will travel by looking at
the sign instead of running down the track.

See, _tables_ make everything faster when you can pack together a lot of things
so that they take up a predictable amount of space each.

ASIDE:

So indeed, this patent, as written doesn't apply to Android, nor does it apply
to Java as near as I can tell.

I am not surprised. I was forced to write a patent application by a former
employer once. After I wrote it, the patent lawyer re-encoded it legal bull. I
was sure, reading the result of the lawyer's work product, that our own product
was not covered by the patent as written. I said that to my boss -and- the
lawyer and I was informed that I simply didn't understand the patent process.

I still know I don't, I cannot stoop that low.

[ Reply to This | # ]

Revised list of Paided Experts
Authored by: Ian Al on Tuesday, May 15 2012 @ 05:11 AM EDT
Florian Müller
John Mitchell

---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid!

[ Reply to This | # ]

On Weasel Words: What us programmers hear
Authored by: BitOBear on Tuesday, May 15 2012 @ 07:01 AM EDT
So, since car analogies are seemingly mandatory in explaining computer science,
here is what we programmers hear when we listen to these two experts.

Analogy:

I have a car, it has no engine just now, and no license plate or tabs. I place
it on a tow-truck and drive it to the mechanic on a Monday to have the
suspension re-tooled. On Tuesday I take it back home on my tow-truck. On
Wednesday I take it in to have the body repainted. On Thursday I bring it home.
On Friday I take it to an engine shop.

When I go to pick it up on Monday, still and again with the tow-truck there are
cops waiting for me. They claim that "I have driving my car around all
week" and no matter how much I try to explain that i -was- "driving my
unlicensed car around" I was doing so with a tow-tuck not under its own
power.

So Dalvic -cannot- have "symbolic references" in "any
instruction", and the patent covers "symbolic references in
instructions". These are facts. Just as the law requires my car to have a
valid license and registration/tabs, but when the car is being "driven on a
highway" using a tow-truck (in the sense that I can "drive a child to
soccer practice" by placing them in a minivan) is -not- a valid application
of those words to that circumstance.

So...

The Oracle expert is -insisting- that Dalvic is driving the car on the highway.

The Google expert is -insisting- that Dalvic, possessing a car without an engine
installed, can not "be driving" in any sense the law might apply
within.

The latter is the more-true statement, but the former has truthiness on its side
for sounding reasonable and being a shorter, more direct sentence that was
presented first.

But the assertion that the car was "driven all that week" would be
pure "weasel words"

http://en.wikipedia.org/wiki/Weasel_word

This should not be a valid legal strategy, but neither the court nor the jury is
a programmer normally skilled in the art, so it is unlikely to understand the
deception.

[ Reply to This | # ]

Can someone please explain the test files to me?
Authored by: rsteinmetz70112 on Tuesday, May 15 2012 @ 09:37 AM EDT
What are the test files used for?

Where did they come from?


Are they a part of OpenJDK?

---
Rsteinmetz - IANAL therefore my opinions are illegal.

"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk

[ Reply to This | # ]

Someone with an account submit this to Slashdot !
Authored by: Anonymous on Tuesday, May 15 2012 @ 09:38 AM EDT
This incident is just begging for a Slashdot story. "Stanford CS Prof
Testifies Under Oath That Numeric Indexes Are Symbolic References."

Maybe nothing will happen to him in a court of law, but Prof. Mitchell
certainly deserves to be tarred-and-feathered in the court of public opinion
for this. His students deserve to know too, and at least some of em must
read Slashdot!

[ Reply to This | # ]

Dalvic vs Dexopt, how can one body of code be two different programs.
Authored by: BitOBear on Tuesday, May 15 2012 @ 01:24 PM EDT
So some of you may be wondering how the apparently single body of code which
makes up the Dalvic VM (dynamic runtime) and the Dexopt installation optimizer
(static linker) be different programs if its the same code...?

This is a feature of Java and the way it handles classes.

So again, for a moment, lets forget computers...

I have a strange machine. It is table-shaped and it is used to transform wood.
Let's call it a "ripper". But in truth its a table and a bunch of
guides and a motor fast-and-strong. If I put one blade in its bits I can make
cut grooves, if I put another blade in its bits I can plane a surface smooth.

I have another machine. It can, with the push of a button, go from joining
fabric sections together, to decorating a flat expanse of fabric with letters
and symbols. It's called a sewing machine.

So we know that machines can be inherently multi-purpose and be
"modal" in that they can be operated in one of some number of unique
modes.

Now back inside computers.

Java "programs" are stored in jar files, which are zip files with an
index, which are indistinguishable from directories full of separate files (for
all reasonable purposes here). The code of a program does -nothing- until
something invokes that code. Once invoked in the abstract, some of the code will
be used and some will not based on things like how the various "if"
and "when" constructs are found to be true and false.

By putting more than one class in a jar with a member that has a signature
reading "public static main()", we can invoke the "program"
by starting with different class.main() entry points and be thus rewarded by
radically different behaviors from the same body of code.

If you find this idea confusing, you shouldn't, you use it all the time if you
use Microsoft Office, or LibreOffice, or OpenOffice. You call it by
"exce" or "calc" or whatever and it presents a spreadsheet.
You use "word" or "write" and it presents a word processor.
But in truth these invocations are immaterial since you can go to the
file->new menu and create a word processor instance and document by selecting
file->new->text document, even if you do so from within the spreadsheet
face.

The Ada language even defined the entire experience in terms of a
"theoretical machine" that you add all your code to during compile.
This "machine" was basically in a perpetual quantum superposition.
When you wanted to "produce" a program, you would tell the machine to
disgorge the relevant code from the whole machine to leave you with a single
actual path of execution re-expressed into a runable executable.

hua?

For any body of code, if it has "more than one program it it" each
element of that body of code can be classified as exactly one of exactly three
things with respect to any program it contains:

(1) code that is unique to the program in question.
(2) code that is common to the program in question and at least one other
program in the system.
(3) code that can/will never be invoked by the program in question.

This is true also of any compilation and runtime environment such as the shared
libraries and programs on your linux or windows computer.

So if the body of code only has one program in it, its all item 1.

Dalvic VM and Dexopt collectively have a whole lot of item (2), but the part
that rewrites the code at install time is item (1) for Dexopt, and item (3) for
the Dalvic VM. Just as the part that "runs the application" is item
(3) for Dexopt and item (1) for the Dalvic VM.

Now Android -could- have copied all of the item (2) code onto the phones
-twice-, once for Dalvic, and onece for Dexopt. That would have been a huge
waste of space and memory and processing power within something small and
lightweight such as, say, a smart phone. So Google et al left it all in the one
pile and invoke it in the composite.

This commonality of code doesn't make the two programs into one program.

Oracle is trying to say that since it is all in one pile it is all one thing.
Were such analogies true it would make by dirty laundry much easier to deal with
because I could clean it all by washing one shirt... 8-)

[ Reply to This | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )