Java + You - Java One topic

General session.
- T-shirt tossing with Gosling with slingshot.
- Displaying RFID sensors and other type of sensors.
- Consumers drive innovation.
- UI is important.
- Kindle presented by Ian Freed, Vice President, Kindel, Amazon.com
- Sony Ericson - Rikko Sakaguchi
- 2 major objectives - emotive design that appeal to users. Create seamlessness, unified media.
- Java is in the core of the strategy / on the phone.
- Demo crash...
- Facebook application. The idea is collecting data from Facebook, twitter and flicker.
- Drag and drop applications from the browser onto the desktop - you can save them. COOL.
- Java FX - "On all the screens of your life".

All in all - this was a rock concert. Entertaining, well performed and smooth. All the demos crashed a couple of times though Happy

Fortress



Top Ten Big Fortess Ideas
Contracts
- Requires, ensures, invariants.

Dimensions and Units
- Dimensions as types

Trais and Objects
- Multiple inheritance of methods, but not fields.

Functional methods
- Allows defining methods in subtypes for a class

Parametric polymorphism

Generators and reducers

Mathematical Syntax
- What you write on your whiteboard works.

Transactional memory
- Nested transactions
- Mixing atomic and non-atomic access to the same data.
- Contention managers - lowest numbered thread wins, losers bacoff via spin and retry, one transaction always makes progress.

Implicit parallelism

Growable
- Fortress was designed from the beginning to have a small fixed core with strong support for library writers.
- defined in libraries - methods(for and such), types, operators, generators and reducers.

Open Source

Project Aura: Recommendation for the Rest of Us


- Recommending - cold start.
- Popularity bias - the Harry Potter Effect. Items too popular gets recommended a lot.
- Hacking recommenders.

Project aura:
- Add text context (labels) to content to make recommendations.
- Working with auto tagging audio.
- Java API for indexing items, relating them and laster query for related items.
- Possible to add attention data to the items. Like rating, music played, tags added.
- Project Aura Web services - scalable.
- You can't customize it, taste data is shared with others.

Sun General Session Java-Centricity: Leveraging Java Technology at the hub of your Digital Life


Rich Internet Applications
- Richness of experience
- Access to content
- Security
- Integration of services
- Distribution

Java EE 6
Theme
- Rightsizing
- Flexibility
- Focus
- Simplification

Key Features
- Profiles (web-developer profile)
- Pruning
- Extensibility
- More ease of development. (focus on web tier)

Extensibility
- Embrace open source libraries and framework
- Level playing-field (modules)
- Scripting as first class citizen.

Ease of use
- Annotations across web APIs
- No editing of web.xml
- Self-registering Third-party libraries
- Restful Web Services
- Scripting as an extension

Java SE6 (Open JDK)
- Averaging 48 million downloads per month.
- Core package of the ubuntu package. Java 6
- Mac OS X (Java 6)

Java FX
- Possible to create content in Photoshop and Illustrator. Export to Java FX and programmer can work with individual layers. COOL.

Project Wonderland



World - Sun's Virtual Workplace
Client - project wonderland
Server - Project Darkstar
- Gives simple programming model.

JVoiceBridge
- open source VoIP mixer
- standard based

Features
- Audio is local - if you walk away you wil not hear people.
- Also possible to stand places and talk to everyone. (broadcast in a room)

Adding content:
Import objects made in blender/gimp or similar programs.
A world build is being made.

Adding content as Java developer

Items built by discrete items called 'cells'.
- A cell can contain art.
- Network connectivity
- Security. (An avatar can be restricted access to it)

Upon connect the client gets the hierarchy (tree) of cells from the server.
- Cell messages from client triggers tasks on the server.
- Also possible for a cell to communicate to other cells (for instance instances of each other) as a P2P message.

- Possible to connect to real world Phones. COOL
- Possible to share x-windows applications.
- Basic recording in

Next version fall 2008 will have new rendering engine.
1.0 Release in 2009.


Defective Java Code: Turning WTF code into a learning experience


- Learning from mistakes
- Nice list of sources for bugs.

- Nice examples of .read() which returns -1
- Synchronizing on constant strings are bad - constants are interned and shared in the JVM.
- Be careful when synchronizing on the field that is being changed.
- Don't synchronize on getClass() - subclasses will not use same lock...
- Don't think what to synchronize on, but who to synchronize with.
- Use @Override is your friend - will help you find that you actually overriden your method.
- Avoid making a subclass with the same name of the superclass (in a new package).
- DateFormat is not thread safe...¨
- Equals and instanceof vs getClass().

Real World, Not Hello World: GWT Development for Java™ Technology Shops


This BOF failed miserably. What could have been a great BOF was instead turned into a bad lecture. Here they have really good experience with the product and use their time to talk about process and such stuff. We want the technical goodies. Only 2 questions in the end saved the day.
- A hint for speeding up the compile time is to only compile the classes you have changed. What that does to the entire build is not certain. Maybe you could make it so that only the needed classes are compiled and the rest are ignored.
- You can turn of the generating of cross browser compile when you develop stuff. This meaning that I could ask it only to generate code for Firefox. This I must try. My build now is about a minute and that's too much time spent.

...end of Day 1.
|