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
Day 10 in Oracle v. Google Trial, Patent Phase, And More Prior Art? ~pj - Updated 3Xs
Friday, May 18 2012 @ 12:18 PM EDT

The day begins with the juror who got sick yesterday being dismissed from the jury, after she called in sick. You only need six, and the reason the judge started with 12 is precisely to be able to smoothly handle such events. But I'm sure both sides are wondering if they just lost a supporter or two.

A reader left a comment yesterday, with contact information, on possible prior art. Even though it's too late for this trial, it's never too late to bring prior art to the attention of the USPTO, and who knows what will happen in this case and in Oracle's moves thereafter. Plus the '104 patent has been found preliminarily invalid, but there are further steps to go, so it might be useful. And while Google isn't relying on prior art in this trial on the '104 patent or the '520, instead saying it doesn't use the technology described in the patent, what if Oracle has plans, if the jury brings in a verdict for Oracle on the patents, to go after others? Also, if the '104 patent is finally found invalid by the USPTO, any damages linked to that patent will be wiped out. So I wanted to highlight the comment, just in case it's useful.

Jump To Comments

[Update 1, Update 2, Update 3]

I'm not an expert on patents, so I don't know if it's on point in all particulars, but I'll show you the comment, and here's a link to it, and anyone interested can follow up

I'm sad to tell you that I don't think our reporter made it to the courtroom today. We're like the jury. Illnesses and unexpected events can stand in the way. And unfortunately, we don't have ten other people who have to show up anyway. So we will rely on the tweeting journalists today for any news. For now, the jurors are deliberating, after hearing a readback of the testimony by Dr. Mitchell and the judge telling the jury not to give that testimony too much weight just because they heard it most recently.

All the techies here at Groklaw wish they could tell the jury that they shouldn't give it any weight at all, because it's not correct information, from all they know. And they know plenty. They write code. If you go to read the comments on the day Mitchell gave that testimony, you'll see what I mean. But that's life. It's up to the jury to decide who to believe.

Here is the prior art comment:

Dynamic Symbolic Lookup Patent as describe By Van Nest closing comments: Prior Art 1970's
Authored by: Anonymous on Wednesday, May 16 2012 @ 06:50 PM EDT

I have prior art from the 1970's:

The macro assembler, link, and the operating system job loader in the RT-11 operating system performed resolution from symbolic names to numbers to addresses in both a static form and a dynamic form.

The static form was for programs loaded at a fixed address (0) and the dynamic was for programs loaded at arbitrary locations.

Dynamic loaded operating system components ("handlers") also had hand-coded relocation using a standard format.

This is the reason software patents should be discontinued, there is almost always prior art.

/s/ Jim Williams

[email]

I have redacted the email, to reduce bot techniques, but if anyone needs to follow up on the information, the comment itself will help you. You can find Robert Van Nest's closing statement on this page.

Update: There is another jury question, according to Rachel King:

All of team Oracle is standing around the table read the question. There's a lot of smiling and smirking. Most of team Goog not here yet
Smiling and smirking. Nice. People who are winning fair and square don't smirk. Maybe because yesterday's question was answered in a way that, I think, favored Oracle, and the jury may have bought it. It's too bad the jury can't see the Oracle team, being for real and smirking when the jury's not around. It seems the jury would like to hear more excerpts.

Update 2: Uh oh. Clearly whoever wouldn't be unanimous in the first verdict didn't catch a cold or have her car break down. The jury has sent a note asking why the verdict has to be unanimous. The judge has a tricky assignment here. The law requires a unanimous verdict, but no one on a jury is supposed to go against his true decision as to what the verdict should be, even if it results in a hung jury. And the jury wants to hear Dr. Terence Parr's testimony read back, specifically about his tests. So it's a battle of the experts. Sad that no technically qualified people are on this jury. How are they supposed to know which is right, if they have simply no basis?

Here's the section from Dr. Parr's testimony that I think they are referring to, although the lawyers will be deciding how much they hear, but it's the part where he describes the testing he did and declares point blank, according to our reporter's notes, that he doesn't agree with Dr. Mitchell at all, at all, at all:

Terence Parr on the Stand, Google Asking the Questions:
Google: Dr. Parr, could you look at the '520 patent, claim 1, which Oracle is asserting in this case?

Taking a look at claim 1, explain what the steps in claim 1 do?

Mr. Parr: The first step is where it says "compiling source code containing the array with static values". That's the Java compilation process we talked about, where you take human-readable source code and compile it to Java bytecode. The second step, "receiving the class file into the preloader"... [basically reads the claim]

Google: What does the patent say about the clinit method you refer to? I might direct you to column 1 of the patent, around line 257.

Mr. Parr: The clinit method stands for "class initialization method". Its job is to initialize all the static elements in a class, including static arrays.

Google: In claim 1, what is "simulating execution of the bytecodes"?

Mr. Parr: I understand "execution" to mean running live on the JVM. Simulating execution is in the preloader -- it's like a dress rehearsal versus a live show. The goal is to simulate these bytecodes to determine the static initialization of the array.

Google: What's the core requirement for simulating execution on a stack machine?

Mr. Parr: Well, you need to manipulate the stack -- pushing, popping, etc.

Google: Is this described in the patent?

Mr. Parr: It does not say stack manipulation.

[Shows how the example code in the patent is operating on a stack]

"Object stack[] = new Object[stackSize]; // create stack for play execution" etc.

Google: Were you in court for Dr. Mitchell's testimony on infringement?

Mr. Parr: Yes.

Google: Do you agree with his testimony?

Mr. Parr: No.

Google: Why not?

Mr. Parr: Because dexopt doesn't use simulated execution for the purpose of determining static initialization of the array.

Google: How did you determine that?

Mr. Parr: Spent a long time looking at the dex source, running tests, etc.

Google: What's the purpose of the Android dex tool?

Mr. Parr: It takes the .class files emitted by the Java compiler, and translates them to .dex files.

The Java Virtual Machine and the Dalvik VM have completely different instruction sets, so a translation has to occur. Otherwise it's like a person who only speaks German giving instructions to someone who only speaks Portuguese.

Google: So how can Java programs run on Android?

Mr. Parr: That's what dex does. It translates Java bytecodes into Android bytecodes, so Android can execute them.

[Discussion about how dex uses simulated execution, as described extensively in its comments.]

Google: So you'd agree that the Simulator class does know how to simulate bytecodes?

Mr. Parr: Yes.

Google: So why doesn't it infringe the '520 patent?

Mr. Parr: That's because for the very specific purpose of identifying the static initialization of the array, it does something different -- it uses pattern matching.

Google: What does "identify static initialization of the array" mean?

Mr. Parr: It means to find the values that will be used to initialize the array.

Google: TX-46.17. What is that?

Mr. Parr: BytecodeArray.java. It appears to be from froyo. It's part of dex.

Google: You've looked at it before?

Mr. Parr: Yes.

Google: Where does it come from?

Mr. Parr: From the dex tool.

Google: What did you find that's relevant to your opinion?

Mr. Parr: What I identified was the specific part of the program, dex, that identified the static initialization of the array. It's in parseNewarray, line 887.

Actually, easiest is if you turn to line 948, there's a comment: "Try to match the array initialization idiom. For example, if the subsequent code is initializing an int array, we are expecting the following pattern repeatedly" -- and then you see the pattern we saw earlier, for how to initialize an array. It appeared to me to be a classic example of a pattern matcher.

Google: How do you know?

Mr. Parr: Well, I've been building parsers for 30 years. See line 965, it defines a variable called "punt" -- it's looking for something, if it doesn't find it, it fails. It's a classic example of pattern recognition.

Google: Is it manipulating the stack at all here?

Mr. Parr: No, I didn't see any stack manipulation.

Google: What are comments for?

Mr. Parr: They help future developers, or ourselves, understand what the developer was thinking.

Google: Did you find the comments consistent with what the code actually does?

Mr. Parr: I did.

Google: What experiments did you use to test your hypothesis that this was using pattern matching?

Mr. Parr: Well, first I did a simple test to see that there were no stack manipulations in the static array initialization. I put print statements in the stack manipulation instructions (push, pop), like an alarm, so they'd trigger if there was any stack manipulation. I didn't see any.

[Demonstrative, titled "parseNewarray does not use the stack", showing the output of running the program with his debug prints added]

...

During the normal operation of the simulated execution, we see stack manipulation. But as we enter the parseNewarray method, what I observed is the stack alarms went silent until the parseNewarray method had exited. But once we returned from parseNewarray, we again got stack manipulations.

Since there are no stack manipulations, it can't be using simulated execution to identify these initialization.

Google: What was the second experiment you performed?

Mr. Parr: Well, this one's a little trickier, but useful. If it were using pattern matching, then if the pattern of initializations were altered, the pattern would fail to match. But if it were using simulated execution, then a minor change wouldn't affect it and it would still work.

For example, if I say "I like apples" and someone else says "I *totally* like apples" [...]

[Starts drawing pictures for the jury; he's totally in lecture mode now]

Here are the initialization elements of the array. This is human- readable code that the compiler consumes and uses to generate bytecodes. Let's see what the bytecodes will look like.

[Very detailed description of exactly how to initialize an array in java bytecodes, to which most of the jury is remarkably attentive.]

So, this is the pattern I'm talking about: dup, iconst, iconst, store.

[Shows the pattern again for initializing the second array element.]

Google: So, at that point, what did you do to change the pattern?

Mr. Parr: First, I ran dexopt on this sequence, generated by the compiler. It does indeed create an instruction to initialize this array, all in one go. So the default output of the compiler is recognized by the dex tool as static initialization.

So, how can I change this sequence of instructions without modifying the end result? Remember a new array is already initialized to zero. I'm just going to add an extra instruction at the beginning to set it to zero again. This is a tweak that doesn't affect the code; if it executes, it wouldn't change the end array. However, if the dex tool is a pattern matcher, it'll fail to recognize this pattern.

I ran the dex tool on this modified bytecode stream, and the dex tool failed to generate an instruction to initialize these elements in one go.

Google: Professor Parr, could you show the slides you prepared?

Mr. Parr: [Shows slides comparing original bytecode with his modified bytecode that adds an extra redundant store of zero.]

You can see these extra instructions don't change anything, since that zero is already there.

Here are the Dalvik bytecode instructions created by the dex tool in response to the original bytecode sequence: it uses fill-array-data.

But with the modified code, there's no fill-array-data to initialize the array in one go. You see the normal conversion of Java bytecodes to Dalvik instructions (new-array, aput, etc.).

Google: If the dex tool were in fact simulating the execution of the Java bytecode, what would have resulted?

Mr. Parr: If it were simulating, it wouldn't care about the extra instruction.

Think of it this way. Imagine we want to match a pattern of any two numbers added together, like "1 + 2" or "3 + 4". A functionally equivalent instruction is "0 + 1 + 2" -- but it breaks the pattern of "any two numbers added together".

Google: So, what element of the patent is not found in what the dex tool does, in your opinion?

Mr. Parr: Well, it specifically requires simulated execution, but the dex tool does not use simulated execution for the purpose of static array initialization.

Claim 20: "Simulating execution of the code to identify the static initialization of the array".

Google: Were you present for Mr. Poor's testimony? Did you have an opinion?

Mr. Parr: Yes, I disagree with his conclusions; his tests weren't on real- world applications.

His tests were contrived examples which were not meant to be real- world examples. The impact of a patent -- you want to see how it's affecting real-world applications, because that's where the value is, I guess.

Google: Did you perform your own analysis of the potential impact of this functionality?

Mr. Parr: I analyzed about 20 real-world applications for the Android phone, to see what the impact was of generating this fill-array-data instruction. I determined how many arrays were used in the original program, how big the space was that they needed, and computed a percentage that indicated what percentage of the .dex file is consumed by these instructions.

Google: Where did you get these applications?

Mr. Parr: I got them from counsel.

[Applications are BooksPhone, GenieWidget, Gmail, GoogleBackupTransport, GoogleCalendarSyncAdapter, etc.]

[Shows slide with .dex file size, and the percentage of bytes in each file which are taken up by static arrays. It's around 0.05% on average, and zero for several.]

Google: Given that finding, what's your analysis of the impact of the accused functionality on an ordinary Android application?

Mr. Parr: From my experience and examining these applications, these are just not a problem.

Google: So, to summarize, what's your opinion on the '520 patent?

Mr. Parr: The dex tool uses pattern matching, not simulated execution, the reason being that it does not use a stack.

The judge has explained that Congress requires by law that the verdict be unanimous, and that this isn't going to change in his lifetime. A verdict today seems unlikely, as the jurors go home today at 1. I wonder now about the decision to drop the sick juror who wanted to rest until Monday. It turns out it wouldn't have made any practical difference.

But it makes a difference to us. We need a volunteer for Monday.

Update 3: We now have the transcript [PDF] of the day.


  


Day 10 in Oracle v. Google Trial, Patent Phase, And More Prior Art? ~pj - Updated 3Xs | 319 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections
Authored by: Kilz on Friday, May 18 2012 @ 12:30 PM EDT
Please mention the mistake in the title of your post.

[ Reply to This | # ]

Off Topic
Authored by: Kilz on Friday, May 18 2012 @ 12:31 PM EDT
For all posts that are not on topic.

[ Reply to This | # ]

Newspicks
Authored by: Kilz on Friday, May 18 2012 @ 12:32 PM EDT
Please mention the news story's name in the title of the top
post.

[ Reply to This | # ]

Comes thread
Authored by: Kilz on Friday, May 18 2012 @ 12:33 PM EDT
Please post all transcriptions of comes exhibits here for PJ.
Please post the html as plain text for easy copying.

[ Reply to This | # ]

Testimony readback included cross examination
Authored by: Anonymous on Friday, May 18 2012 @ 12:35 PM EDT
(All tweets by) Rachel King ‏@ZDNetRachel

Court reporter now reading back transcript of Dr. Mitchell being questioned by
Jacobs. Talking about simulating execution in source code

In line with Oracle's argument, Mitchell said that simulated execution includes
pattern matching.

In cross-examine, Mitchell told Van Nest he doesn't actually know about pattern
matching in the source code of the Android dx tool.

(My comment below)
Hopefully the readback of the cross examination portion of the transcript will
show the jury the actual worth of the testimony.

[ Reply to This | # ]

  • why o why! - Authored by: Anonymous on Friday, May 18 2012 @ 10:34 PM EDT
I have a question about the patents
Authored by: rsteinmetz70112 on Friday, May 18 2012 @ 12:45 PM EDT
Since many of the patents have been invalidated, does the Oracle construction of
the remaining claims expand the patent to encompass some or all of the
invalidated claims?

Since I don't know the technology all that well and since we don't have
transcripts to see exactly what the experts testified to, it may not be possible
to tell at this time.

---
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 | # ]

Tweets
Authored by: Kilz on Friday, May 18 2012 @ 12:46 PM EDT
I think we need to make this a standard post during the trials as long as people are tweeting.

https:/ /twitter.com/#!/tqf t9999/googlevoracle

Here are two from feldegast
Raw Feed

Only Google- Oracle related

[ Reply to This | # ]

Tweets
Authored by: froggie on Friday, May 18 2012 @ 02:49 PM EDT
My thanks to those who are posting the tweets. My workplace, unfortunately,
blocks Twitter (probably to protect us), and having to wait until I get home to
check them out is painful.

[ Reply to This | # ]

Day 20 in Oracle v. Google Trial And More Prior Art? ~pj - Updated 2Xs
Authored by: DeepBlue on Friday, May 18 2012 @ 02:56 PM EDT
This is why the Jury should have been dismissed once they hung in the first
phase ...

---
All that matters is whether they can show ownership, they haven't and they
can't, or whether they can show substantial similarity, they haven't and they
can't.

[ Reply to This | # ]

RT-11 Linker
Authored by: complex_number on Friday, May 18 2012 @ 03:17 PM EDT
Ah, the memories. I spent 20 mostly happy years working for DEC and used RT-11
in the late 1970's and 1980's.

The one thing with DEC Software at that time was that you had access to the
sources and this included Customers.

RT-11 and RSX-11 had microfiche doc sets available.
A certain amount of sources came with RT-11 but probably not the Linker but the
kernel did because you build the kernal with the set of drvice drivers that
matched your hardware. I forget the name of the RT-11 process but the RSX-11 was
called 'SYSGEN'. There was always a slight heart stopping moment when you booted
the new kernel for the first time.
But, and here is the rub, DEC had a 2-5-2 code part number for the sources to
RT-11 and RSX-11-M & M-Plus and even the RSTS/E operating systems.

I certainly used the RSX-11 Macro Assembler and ripped out the guts of it and
inserted the VS-11 Instruction set. This was Circa 1981/82. I simply ordered the
part number and a few weeks later, a 2400ft mag-tape arrived.
One of my colleagues obtained the RT-11 source kit when he wrote the VSV-31
Device Driver. They were just part numbers in the catalogue.
Most customers received the microfiche copy of the source kit.

Them were the days. We actually go on and innovated and didn't care about
patents and copyright.
But still people wrote awful code.


---
Ubuntu & 'apt-get' are not the answer to Life, The Universe & Everything which
is of course, "42" or is it 1.618?

[ Reply to This | # ]

The undecided jurors
Authored by: mexaly on Friday, May 18 2012 @ 03:50 PM EDT
I start to wonder if some of the jurors understand the technology, and others
don't.

This is like asking lay people if the surgeon knows brain anatomy.

---
IANAL, but I watch actors play lawyers on high-definition television.
Thanks to our hosts and the legal experts that make Groklaw great.

[ Reply to This | # ]

Unanimity
Authored by: YurtGuppy on Friday, May 18 2012 @ 04:07 PM EDT

Seems like having all of those items on the verdict form
would make it harder to reach unanimity. Different people might find
differently for each part of the patent but everyone seeing flaws in the case in
one form or another.

Wouldn't it be better to just have one overriding question about each of the
patents?



---
a small fish in an even smaller pond

[ Reply to This | # ]

  • Unanimity - Authored by: Anonymous on Friday, May 18 2012 @ 04:25 PM EDT
Day 20 in Oracle v. Google Trial And More Prior Art? ~pj - Updated 2Xs
Authored by: Anonymous on Friday, May 18 2012 @ 04:19 PM EDT
Am I alone in feeling a little apprehensive of what the jury might
decide?
Common sense would indicate Oracle's claims to be outlandish, to say
the least, but common sense can sometimes fly out of a courtroom
window. I
hope the jury find in favour of G primarily because I believe
software patents
to be a "Bad Thing"TM Imagine the chaos if someone
had patented "a method to
demonstrate/confirm the correct functioning
of a programming language"
namely:

10 A$="HELLO WORLD"
20 PRINT A$


I've been following
proceedings from the relative safety of the UK and
thank Groklaw and reporters
for sterling work in keeping us informed.

[ Reply to This | # ]

I'll stay optimistic :)
Authored by: bugstomper on Friday, May 18 2012 @ 05:03 PM EDT
If the jury asked about not being unanimous and _then_ they asked for a replay
of Dr. Parr's testimony, that's a good thing. Hearing his testimony would tend
to help convince jurors that he is correct. If Parr's testimony doesn't change
anyone's mind, the jury is still hung, if it does then Google wins that point. I
would find it more worrisome if the jury was asking for Mitchell's testimony
after asking for Parr's testimony first.

[ Reply to This | # ]

What is simulated execution
Authored by: Anonymous on Friday, May 18 2012 @ 06:15 PM EDT
I have been giving this some thought, and remembering the good old days when I
wrote optimizing compilers for a living.

What I am beginning to wonder is, if Oracle may be shooting themselves in the
foot by pushing these definitions. By trying to expand the patent to cover
what Google is doing, will they basically allow additional prior art to show
that what they are doing is not new in any way.

Compilers/Optimizers have been doing these sorts of optimizations since the
60's. I remember back in the days when the computer magazines used to publish
the performance results of competing compilers that one compiler was
disqualified from the report since it optimized the standard test program down
the magazine was using down to a static result (the whole program was simulated
at compile time) and all that was left at run-time was outputting the answer.

By introducing testimony that expands the patent, I would think they make it
easier to invalidate the patent.

[ Reply to This | # ]

A proposal for unwinding the expert testimony mess
Authored by: Guil Rarey on Friday, May 18 2012 @ 06:50 PM EDT
It seems to me that confusion over "duelling experts" is the problem
here - and likely was in the previous phase. I've been mulling it over and have
a couple ideas how to modify procedure -- this would be a hard change to make,
but still I think it's the right thing.

1. No more duelling experts. If parties in a case wish to offer experts on the
same area of testimony then the following procedure applies:

2. The court appoints a special master to select the court's expert. The
special master is a lawyer who works for the court, is an expert in evidentiary
matters, and is skilled at identifying and qualifying appropriate experts.
Parties can oppose for good cause but "I don't like what she's gonna
say" doesn't qualify.

3. Parties present the items they wish the expert to testify about - with a
great deal of leeway subject to existing rules of procedure and evidence - to
the special master.

4. The special master conducts the examination of the court's expert. He is
required to elicit testimony on all issues requested by the parties.

5. Each party is entitled to a full cross-examination of the witness.

6. And that's IT. No more of this overpaying experts to suborn perjury - which
is perilously close to what has happened here.

What do you think?


---
If the only way you can value something is with money, you have no idea what
it's worth. If you try to make money by making money, you won't. You might con
so

[ Reply to This | # ]

Peephole Optimization
Authored by: Anonymous on Friday, May 18 2012 @ 07:59 PM EDT
I already said this, but I don't want it lost deep in a thread. What Google does for static array initialization is a type of peephole optimization. It's an old, well-known technique and doesn't require one to simulate the execution of anything. But take a quick look at the current wikipedia article on peephole optimization:
Implementation Modern architectures typically allow for many hundreds of different kinds of peephole optimizations, and it is therefore often appropriate for compiler programmers to implement them using a pattern matching algorithm. [2]
(Emphasis added. The quoted [2] reference is to "Compilers - Principles, Techniques, and Tools 2e, p560")

Nothing we haven't all said already, but it's nice to have it written down in an article. And I note that particular quote goes back at least as far as 2008 (though it had a "citation needed" tag back then). It might well go back further than that, I didn't check. My only point is that it was written long before this trial and it unambiguously supports Google's account, while undermining Oracle's expert. Which is exactly what you would expect from any factual account.

[ Reply to This | # ]

Day 20 in Oracle v. Google Trial And More Prior Art? ~pj - Updated 2Xs
Authored by: BitOBear on Friday, May 18 2012 @ 09:58 PM EDT
Why/where/how does congress require unanimity in a civil matter?

Criminal trials have to be unanimous.

The jury I was on for civil liability in a car accident had a requirement that
nine out of twelve jurors agreed to the verdict.

Was that wrong or is this different somehow?

[ Reply to This | # ]

Day 20 in Oracle v. Google Trial And More Prior Art? ~pj - Updated 2Xs
Authored by: Anonymous on Saturday, May 19 2012 @ 12:45 AM EDT
I mentioned a little on this subject in a comment a few days back, but I wonder
if it might help with regard to the whole 'a number can be a symbol' bs to point
out that indexed reference (I think using 'numeric reference' was unnecessarily
confusing here) is such an elementary, simple thing to do on a regular basis
that actual real computer CPUs were offering this in machine instructions back
in the 80s. (I don't happen to know the ins and outs of all the various
processors and their instruction sets, but I DID learn 6502 Assembly as a child
-- the 6502 being well known as the CPU for the Apple ][ hobby microcomputer and
the Nintendo Entertainment System)

The 6502 supports for a number of memory-addressing instructions
"X-indexed" and/or "Y-indexed" modes, where X and Y name CPU
registers; The contents of whichever register was automatically added to
whatever address was provided. Thus you can load an index into the appropriate
register from wherever, and then just operate on the address of the beginning of
the data using the indexed version of the instruction.

As noted elsewhere, Oracle's argument that a number can be used as a symbol is
true, but disingenuous; it's like using numbers as keys to a hash table: you
most certainly can do it, but it does NOT become equivalent to an array when you
do, since the guarantees of being ordered and consecutive are out the window.

(I think this is probably the more important dispute since as I also noted
elsewhere 'dynamic' is actually used somewhat ambiguously in some contexts, for
instance the typical form of 'dynamic linking' to shared libraries which is part
build-time and part load-time and thus static by some valid potential
interpretations.)

[ Reply to This | # ]

It turns out it wouldn't have made any practical difference
Authored by: SilverWave on Saturday, May 19 2012 @ 03:23 AM EDT
PJ: "as the jurors go home today at 1. I wonder now about the decision to
drop the sick juror who wanted to rest until Monday. It turns out it wouldn't
have made any practical difference. "

I don’t think that is correct.

The jury have had the whole of Friday to use for extra deliberations and
questions.

So hopefully one less day to go for a decision.



---
RMS: The 4 Freedoms
0 run the program for any purpose
1 study the source code and change it
2 make copies and distribute them
3 publish modified versions

[ Reply to This | # ]

Smiling and smirking ...
Authored by: HappyDude on Saturday, May 19 2012 @ 12:11 PM EDT
OK. I'm pretty quiet on this board, rightfully so. I like to read and listen
more than talk.

Being the sceptic and conspiracy theorist that I am leads me to be suspicious of
a lone holdout juror on these critical decisions.

I distrust people until they've earned my trust generally ... so I smell a rat.

Is it acceptable to do thorough background checks on the jurors to find out if
there was anything withheld, or any non-truths told by anyone during the jury
selection phase?

I'm thinking the questions were designed so either side could weed out the
candidates who may hold beliefs detrimental to their respective causes. In this
day and age though, it never ceases to amaze me the number of people who abandon
morals and ethics to promote their own agendas.

FM is the first to come to mind ... why could one of the jurors not be doing the
same thing?

I'd be digging if I were Google.

Cheers.

[ Reply to This | # ]

Terrance Parr and the clinit process
Authored by: Anonymous on Monday, May 21 2012 @ 01:51 AM EDT
As I read this all that came to mind was the process that TeX uses when it is
doing its initial initialisation process for all its constant strings and then
doing the save so that the intiatialisation process is not repeated in further
runs of Tex.

Anyone else have a sense of deja vu about this.

regards

Bruce Rennie

[ 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 )