Sunday, September 30, 2012

OOW talk review: The Bluffers Guide to Java Terminology




The Bluffers Guide to Terminology: An Entertaining Introduction to
session: Bluffers guide to terminology: Java and CS
James Gough andnd Richard Warburton

James and Richard gave an entertaining talk where James played the "manager" who was perplexed by all those crazy terms Java developers use, sometimes correctly, and sometimes just to bamboozle management.  And Richard tried to pull the mystery off of those terms that even a manager could understand. 

Here are some of the terms they went through, and my apologies to Richard and James for the ones I screw up!

Hotspot - runtime analysis engine inthe JVM that seeks to optimize code 

Java 8 has lambdas, nameless functions that greatly improve functionality of code.  What is the scope of a lambda?  Final variables. 

Latch - new concurrency primitive implemented as a class.  Holds threads safely. 

Memory barrier.  In normal programming, the CPU will sometimes reorder instructions, which can confuse program behavior. A memory Barrier is a guarantee of deterministic processing. Volatile variable is an early example. 

Next they discussed regression and statistics terminology. 

Markov chain. State machine with probabilistic transitions of state.  

Gaussian distribution versus bell curve versus normal distribution. 

Uniform distribution. 

Poisson. Mean and variance are equal. Probability of a Count of number of events

Kroneker delta. Function which acts similar AND statement.   Apply to sets, groups, often run in parallel in signal processing 

False positives, false negatives et cetera. 

Monomorphic dispatch.  A method can have multiple implementations, while a monomorphic method does not and the JVM can optimize for this. An example is an inline method, has one and only one implementation.   Better to optimize. 

Tail call recursion. 
Return N*fn(n-1) is NOT tail call
Return fact(n, n-1) IS tail call. 

Very entertaining talk, good way to start OpenWorld with our eyes wide open for techno-babble!

Cheers
Daniel

Saturday, September 29, 2012

OpenWorld 2012 - Saturday Travel and the OPSIG schedule

I am heading out to OpenWorld today, working on the schedule of talks and the Primvaera SIG meeting agenda. Making sure that the sessions on our handout have not been moved.

Ok, why do I make a separate schedule for this? There will be printed schedule books with the registration material, there is an online app, and there are even mobile apps.   There is even a PDF of Primavera related content from Oracle.  Why one just for OPSIG?

There are a lot of sessions at OpenWorld, enough to occupy all of the 40,000 attendees.    Beause of this, the printed schedule that is given to every attendee is huge, with enough to satisfy every attendee, be they a Java developer, Oracle DBA, EBS payroll manager, or project controls manger. And this is just too much information!

There are also the online and mobile apps. These allow you to browse and search content and build your own schedule.  But there are a few drawbacks. Even though this is the Year of our Lord 2012, and even though San Francisco is the heart of high technology, network coverage is still unreliable. Conference centers are notorious for bad signals, and last year the network during OpenWorld was so over saturated to be useless.  Now an online app that can work with no connection would help, but this is not what we have available. 

Also, the apps are too smart. They won't let you schedule more than one session at the same time. The reality of conferences is that I often want to attend two sessions at once and I want to wait and decide at the last minute which one. So I want both on the schedule. Maybe I will go to one and the speaker will not show up, or maybe the talk will not be what I expected. In that case I want to go to that other session ASAP!

Then there is also the InFocus document from Oracle. It is focused on Primavera, only three pages, so a pretty useful. However, it s organized by topic. So keynotes are listed first. These are general keynotes for all attendees.  I don't know about everyone else, but even though I am at OpenWorld I also still have a day job, and if I can skip the 8 am "Vision" love fest between Oracle and Intel in favor of writing a proposal or updating a project schedule, I will do my job first. 

Also, since the InFocue document is broken into sections, I do not see what is happening on a daily basis. I want to see what is happening each day that is pertinent to Primavera. There are plenty of other reminders of the keynotes, the dinners and the entertainment.  But I am here for Primavera and I want to make sure I get the most of it. 

And so I put together a one-page, two-sided document which lists all the Primavera content. It shows it by day so that once a day is over I can scratch it out and not look at it again. And I can see the main things I want to see on each day. Nothing more, nothing less.  

Maybe this is just me. I find myself over-saturated with information at times, and a simple, one page schedule that I can fold, put in my pocket, write on, and even toss away, is just the thing to help me navigate this conference.   Other people ask for copies and say they find it helpful. So I am glad that my old-fashioned page is useful to others too.

Here is the link:
https://www.dropbox.com/s/pdqrmeb9tbnsc48/2012_OOW_Primavera_Schedule.pdf?m

Cheers!