» tagged pages
» logout

(Feed found, click Add Page to syndicate.) Error finding feed, please try again » Find feed title

A Blog Page allows you to add entries, for news or other time sensitive postings

(Login required to save to your tagged pages.)
(or Cancel)

Make further edits, (or Cancel)

(Login required to save to your tagged pages.)
(or Cancel)

(Editing anonymously: to be credited for your changes, login or register a new account)

Change Page Permissions? Changing these permissions will adjust who can modify this page.

Anonymous (change)
(change)
(or Cancel)
Upload an image from your computer:
or Copy an image from a URL:
or Erase the current icon:
Icon Preview:

or Cancel

Erase javaone2008? The contents of javaone2008 page and all pages directly attached to javaone2008 will be erased.

or Cancel

(Editing anonymously: to be credited for your changes, login or register a new account)

other page actions:
javaone2008

javaone2008

Tags Applied to javaone2008

No one has tagged this page.

javaone2008 Wiki Pages

What is javaone2008? Edit this page and describe it here.

sorted by: recent | see : popular
Content Tagged javaone2008

[from bushwald] Aptana Cloud Makes App Deployment Easy - InsideRIA

André and Dave talk to Aptana's Kevin Hakman about Aptana's cloud stuff.

User:jeyrb: del.icio.us/network/jey

BTrace JavaOne2008 BOF slides..

I received emails asking for BTrace BOF (JavaOne-2008) slides. Better late than never... I've uploaded PDF of the slides. The BOF was mostly around demos -- slides do not contain much. But, slides have few pointers that may be useful.

openjdk: Java Attributes

Thursday May 8, JavaOne

Here are the few highlights from the talks that I attended today:

TS-5428 Java Technology Meets the Real World: Intelligence Everywhere.

This talk is about pervasive computing (a.k.a ubiquitous computing) with products from Sentilla. There was an interesting demo about humidity sensor detecting changes and sending a message to a host. The "motes" run CLDC 1.1 VM (+ proprietary profile for motes). These motes have ports for sensors and actuators and some built-in sensor. There were many interesting suggestions for embedded programming for such small devices (don't allocate in inner loops and there by leading to to GC kick-in, avoid too many static fields, avoid threads whenever possible and so on).

TS-7575 Using Java Technology-Based Class Loaders to design and implementing a Java platform, Micro Edition

The basic idea is to run JavaME applications (developed for different configurations/profiles/subsets of optional packages) on top of JavaSE. The extended JavaSE classes and packages not available in specific profile or optional package set [implemented by a specific phone] should not be made available to JavaME apps targeted. i.e., only the classes available to a specific phone model should be available. If the JavaME app tries to access any other class, it should receive ClassNotFoundException. The speakers explained how to achieve such "containers" by class loader based isolation. The problem is that they seem to solve only the class access. What about extended methods and fields? For example, platform core classes on JavaSE have superset of methods [more methods on the same class available on JavaME - eg. java.util.Hashtable has more methods on JavaSE). The application classes have to bytecode analyzed and instrumented to take care of field/method accces. It seems that their current product that does not address this yet.

PAN-5542 Developing Semantic Web Applications on the Java Platform.

The discussion started with some nice demos. There was a demo with AllegroGraph RDF store, Twine, a demo with using GRDDL and getting RDF triples by a proxy server. i.e., a proxy serves does the GRDDL transformations to get RDF triples from sites [which could be stored/analyzed with RDF stores subsequently] and a demo with FOAF files. Interesting take aways from the discussion include:

  • We don't have to wait for SEMANTIC WEB with full fledged reasoners and so on. Instead, add little semantic bits to existing web (say using RDFa, GRDDL etc.) in your current web projects/pages.
  • There are many Java tools. There is need to standard Java APIs for triple store access etc. Right now, we have to write for Jena, Sesame etc. It was also felt that APIs will need to wait for more usage scenarios.
  • There are tools to expose your existing databases as virtual RDF stores -- for example: D2RQ. Probably, most of the RDF triples could come from existing data.
  • Privacy, security of the information is very important. Work needs to be done in this area.
  • Natural language processing and getting triples out of it is very hard. You may want to refer to systems like DBpedia.

openjdk: Java Attributes

Wednesday May 7, JavaOne

Today Bill, Chihiro, Jaya and I talked on Blu-ray. The talk was centered around the open source project @ http://hdcookbook.dev.java.net - a library and a set of tools to build Blu-ray discs. If you haven't checked out code/docs, you may want to checkout and play with the code. All you need is a laptop with blu-ray drive and a BD-RE disc. Optionally, for added fun you may want to have a hardware bluray player such as PS3 -- so that you can see the output on your TV rather than on a laptop. Other than the session, we also had a very informal BOF on blu-ray, OCAP etc. during the evening. It is good to meet experts in respective technologies in one place!

Other than the the blu-ray stuff, I did attend other talks/BOF. Just after Blu-ray session, I attended "TS-6000 Improving Application Performance with Monitoring and Profiling Tools" talk. This talk was about OS specific tools, JDK tools and third-party tools for profiling and monitoring. Gregg Sporar and Jaroslav Bachorik (NetBeans Profiler team) presented very well. There were many interesting questions/discussions as well. If you haven't done so already, you may want to download VisualVM. If you want bit more fun doing monitoring/profiling, you may want to check out the sources from http://visualvm.dev.java.net and build it yourself. You can build BTrace VisualVM plugin using the command:


    c:\visualvm\plugins>ant build

assuming you have checked out VisualVM sources under "c:\visualvm". If you have already checked out BTrace sources under some other directory, say "c:\btrace", you can use

    c:\visualvm\plugins>ant -Dbtrace.home=c:\btrace build

To run VisualVM with all the plugins that you built, you can use the following command:

    c:\visualvm\plugins>ant -Dbtrace.home=c:\btrace run

Please let us know what features you'd like to see with BTrace and/or BTrace VisualVM plugin.

I attended and liked the "Class Loader Rearchitected (BOF-6180)" BOF. If you have ever written class loaders, chances are that you have faced mysterious deadlocks or ClassCastException that said "ClassCastException: Foo cannot be cast to Foo" or having to decide between overriding loadClass and findclass, you probably should have attended this talk and gave your opinions/suggestions/ideas -) If I understood properly, I think there was a suggestion to add class loader info. to the ClassCastException (something like class-loader-class-name@identity-HashCode style string?) so that one can quickly see it is a class loader issue. Also, there were many questions on loading classes from jar files. Looks like there will be changes to class loader API and class loading in VM for JDK 7.

openjdk: Java Attributes

Ten Ways to Destroy Your Community

Note: these are live notes. It was a great talk, I’d rate it as excellent (and I’m not just saying that because Josh and I work in the same group at Sun). I’ll have to also comment on his thoughts and talk, in due time. MySQL, as an open source project, has a lot to learn.

Ten Ways to Destroy Your Community
A How-To Guide
Josh Berkus, Community Guy

Part 1: The Evil of Communities

  • you may attract and will be unable to get rid off a community
  • they mess up your marketing plans, because the community goes out and does its own marketing and PR and distributes your software in places you didn’t expect to
  • they also mess up your product plans, because they contribute to code and features to your project, with unexpected innovation!
  • communities are never satisfied by any amount of quality and keep wanting to improve it - if you can’t make it better fast enough, they sometimes do it on their own!
  • you have to re-define your partner and customer relationships… people who were your customers start contributing to your project, sort of making them partners… “confuse your salespeople” :)
  • the worst part about having a community, is that they require to you communicate constantly (and who has time for that?). Emails, chat channels, web forums, you get constant pestering

10 Ways to Destroy (The Berkus Plan, Patent Pending!)

1. Difficult Tools

  • weird build systems
  • proprietary version control systems
  • limited license issue trackers
  • single-platform conferencing software
  • unusual and flaky CMS

This will limit attracting new community, and eventually people will get frustrated with the tools and go away.

2. Poisonous people
Maximise the damage they do - argue with them at length! So if people give you problems, continue feeding the trolls. Then denounce them venomously, and finally ban them. Josh then goes into a funny way of making use of poisonous people, which eventually leaves your team and the troll(s).

3. No documentation
Don’t document the code, build methods, submission process, release process, install it.

4. Closed-Door Meetings
Short notice online meetings are good. Telephone meetings are even better, because of timezones and limited conference lines. Meet in person, in your secure office, is the best way! (even if you dial in on a conference line so that others can here). People that are most involved will leave your project right away.

5. Legalese, legalese, legalese
The longer and more complex the better! Hate and fear of attorneys help drive people away from your open source project. Contributor agreements that are long/complicated, with unclear implications are particularly good. Website content licensing, non-disclosure agreements (NDAs) [European developers usually never sign an NDA], trademark licensing terms (name and logo of your project… good way to dissuade people). Used properly, you can use legalese to keep out developers!

Bonus: change the legalese every couple of months without informing folk!

6. Bad liaison
A bad liaison/community manager is someone reclusive (least social, hates answering email, unplugs phone regularly, etc.). Also, someone with no time works very well. They’ll spend a few weeks, but pretty soon they’ll give up, and if you’re really lucky they’ll be snappy and make bad comments to the community!

Assigning someone with no authority also helps. As a community manager, you have no chain of command, and you just get to deliver bad news (we decide, and you just say something). That person usually leaves your company, and becomes a poisonous person, and its a win-win.

Someone unfamiliar with the technology also helps. An open source Java project, getting a PHP programmer, is the best person for you :)

Having no liaison also helps. Refer to the project liaison, but have no one!

7. Governance obfuscation
A good model for this is none other than the UN (He has a slide on the UNDP).

Get your legal team to write a governance document. Like they’re dealing with a hostile outsider. You’ll be impressed what they come up with!

Three principles:
1. Decision making and elections should be extremely complex and lengthy
2. Make it unclear what powers community officials and communities actually have
3. Make governance rules nearly impossible to change

8. Screw around with licenses
Licenses loosely translate to Identity. You’re not just a Linux contributor but a GPL person… You’re not just a PostgreSQL contributor but a BSD person…

9. No outside committers
I. No matter how much code outsiders write, only employees get to be committers. This is a surefire way to annoy contributors eventually.
II. If they ask why they’re not being able to commit, just be evasive! Talk about needing a mentor, decision not made yet, etc…
III. Make sure there are no written rules on who gets to be a committer, or that the criteria are impossible to fulfil.
IV. Bonus: promote an employee who doesn’t code to committer! Most will get disgruntled by this and go away and they’re not your problem anymore.

10. Be silent
He demonstrates out live, by giving him a minute… what silence really is. Just do nothing, be really silent.

Q&A

How does Sun score?
All of these techniques have been successfully employed at open source projects at Sun and elsewhere. He gave this talk at a Sun internal event and people came up to him asking if they were talking about their project! Sun is scoring pretty well, but not necessarily any better than other corporations.

I missed the question, but the answer was: If you are fast and clear about explaining mistakes, communities tend to be forgiving.

Examples of a successful community?

Kernel.org, and the Linux kernel community.

What about using forking to destroy community?

Combines poisonous people and playing with licenses. It fragments the outside community as people have no idea which to use. You can’t plan a fork (as it requires a lot of motivation to do the fork - finding people with that level of commitment and masochism is hard). Keep your poisonous people around and encourage them (poisonous people who are also code writers), then you sort of foster their image in the community by giving them a voice, and if you do something to really mess with the community’s mind (say a change of license), then the poisonous person will take the project and fork it.

The other way of forking, is to take a legitimate outside developer, build them up, and then after they have become a major developer, abruptly lock them out. The danger here is that they might not fork the project, and change the project back…

How do you prevent companies from supporting your project? Because this also means more developers will come to your project. And these companies are now selling services around your product.

Monkeying around with licensing. Then you change the commercial services around that. The second thing to prevent ISVs, is to play around with trademark rules, and lots of legalese. Prevent them to get code into your project, that should help too.

MySQL: Planet MySQL

Tuesday May 6, JavaOne

In today's sessions that I attended I liked the following:

JRuby: Why, What, How... Do It Now

This talk is a good introduction to (J)Ruby the language and important applications of (J)Ruby. And many pointers to related (J)Ruby sessions. Nice summary!

JavaScript programming language: The Language Everybody Loves to Hate

great talk by Roberto Chinnici. Nice summary of functional and prototype-based object orientation aspects of JavaScript. You can easily impress your friends will some neat snippets of JavaScript -) You may want to continue the fun by reading Doug Crockford's pages, if you have not do already!

At 7.30 PM, we (I and Kannan) talked about BTrace. There were many interesting questions/discussions -- both during and after the BOF! Today (Wed May 7) will be a Blu-ray day -- it starts with TS-5449 Java Technology for Blu-ray and TV: Creating your own Blu-ray Java Discs session. It is about the open source project @ http://hdcookbook.dev.java.net. Meet you all there!

openjdk: Java Attributes

JVM Languages @ JavaOne 2008

In JavaOne 2008, there are many intesting sessions on "other" JVM languages covering both dynamically typed languages (JavaScript, Groovy, JRuby) and statically typed languages (JavaFX, Scala). As usual, there are many sessions covering application aspects -- like using scripting on Glassfish, Grials (Groovy), Rails (JRuby) and so on. But, my interest is mostly on the programming language aspects and JVM implementation issues. Here is a table of sessions covering those:



Session ID

Session Title

Session Type

Speakers and Company

Speakers and Company

Venue - Room

TS-5152

Overview of the JavaFX™ Script Programming Language

Technical Session

Christopher Oliver, Sun Microsystems, Inc.

Tuesday
May 06
10:50 - 11:50

Moscone Center -
Gateway 104

TS-5416

JRuby: Why, What, How...Do It Now

Technical Session


Thomas Enebo, Sun Microsystems, Inc. ; Charles Nutter, Sun Microsystems, Inc.

Tuesday
May 06
10:50 - 11:50

Moscone Center -
Esplanade 307-310

TS-4794

A JavaFX™ Script Programming Language Tutorial

Technical Session

James Weaver, LAT

Tuesday
May 06
12:10 - 13:10

Moscone Center -
Esplanade 305

TS-4986

JavaScript™ Programming Language: The Language Everybody Loves to Hate

Technical Session

Roberto Chinnici, Sun Microsystems, Inc.

Tuesday
May 06
15:20 - 16:20

Moscone Center -
Esplanade 307-310

PAN-5435

The Script Bowl: A Rapid-Fire Comparison of Scripting Languages

Panel Session

Guillaume Laforge, G2One, Inc.; Charles Nutter, Sun Microsystems, Inc. ; Jorge Ortiz, Stanford; Raghavan Srinivas, Sun Microsystems, Inc.; Frank Wierzbicki, Sun Microsystems

Wednesday
May 07
09:30 - 10:30

Moscone Center -
Gateway 104

TS-5572

Groovy, the Red Pill: Metaprogramming--How to Blow the Mind of Developers on the Java™ Platform

Technical Session

Scott Davis, Davisworld Consulting, Inc.

Wednesday
May 07
09:30 - 10:30

Moscone Center -
North Mtg-121/122/124/125

TS-5165

Programming with Functional Objects in Scala

Technical Session

Martin Odersky, EPFL

Thursday
May 08
13:30 - 14:30

Moscone Center -
Gateway 104

TS-5693

Writing Your Own JSR-Compliant, Domain-Specific Scripting Language

Technical Session

John Colosi, VeriSign, Inc.; David Smith, VeriSign Inc.

Thursday
May 08
13:30 - 14:30

Moscone Center -
Esplanade 301

TS-6050

Comparing JRuby and Groovy

Technical Session

Neal Ford, ThoughtWorks Inc.

Friday
May 09
13:30 - 14:30

Moscone Center -
Esplanade 303

TS-6039

Jython - Implementing Dynamic Language Features for the Java™ Platform Ecosystem

Technical Session


Jim Baker, Zyasoft; Tobias Ivarsson, Neo Technology

Friday
May 09
14:50 - 15:50

Moscone Center -
Esplanade 305

openjdk: Java Attributes

Bluray @ JavaOne 2008

If you want to learn more about Blu-ray disc and what Java has to do with it, you may want to attend the following talks/BOFs @ JavaOne 2008!



Date/Time Session ID Session Name
Wednesday, May 07 9:30 AM - 10:30 AM TS-5449 Java™ Technology for Blu-ray™ and TV: Creating your own Blu-ray Java Discs
Wednesday, May 07 9:30 AM - 1:30 PM - 2:30 PM TS-6464 Blu-ray Disc Security
Wednesday, May 07 9:30 AM - 6:30 PM - 7:20 PM BOF-5451 Blu-ray and Java™ Technology Roundtable
Thursday May 08 1:30 PM - 2:30 PM TS-5638 Writing Connected Device Configuration Applications for Resource-Constrained Devices
Thursday May 08 1:30 PM - 2:30 PM TS-5888 Driving Innovation in Packaged Media (Blu-ray) User Experience


From our group talk (TS-5449), we will be focusing on the open source project @ https://hdcookbook.dev.java.net. Meet you soon @ JavaOne !!

openjdk: Java Attributes

BTrace BOF @ JavaOne 2008

We have a BOF on BTrace in this year's JavaOne. But, you will not find the name "BTrace" in session title -- that is because talk was submitted before BTrace was open sourced with that name -) The details of the BOF is as below. Please visit and let us discuss on dynamic tracing for Java.

BOF-5552 Java™ Platform Observability by Bytecode Instrumentation Kannan Balasubramainan, A. Sundararajan Tuesday May 06 19:30 - 20:20 Moscone Center - Esplanade 300


Other related talks/BOFs on dynamic tracing/observability include:

Moscone Center - Hall E 133
TS-5716 D-I-Y (Diagnose-It-Yourself): Adaptive Monitoring for Sun Java™ Real-Time System Technical Session Carlos Lucasius, Frederic Parain Tuesday May 06 18:00 - 19:00
TS-6000 Improving Application Performance with Monitoring and Profiling Tools Technical Session Jaroslav Bachorik, Gregg Sporar Wednesday May 07 10:50 - 11:50 Moscone Center - Gateway 104
LAB-9400 Exposing the Depth of Your JDK™ Release 7.0 Applications with Dynamic Tracing (DTrace) Hands-On Lab Angelo Rajadurai, Raghavan Srinivas, Wednesday May 07 18:30 - 20:30 Moscone Center - Hall E 130/131 (LAB)
TS-6145 Using DTrace with Java™ Technology-Based Applications: Bridging the Observability Gap Technical Session Jonathan Haslam, Simon Ritter Thursday May 08 13:30 - 14:30 Moscone Center - North Mtg-121/122/124/125
BOF-4994 End-to-End Tracing of Ajax/Java™ Technology-Based Applications, Using Dynamic Tracing (dTrace) Birds-of-a-Feather Session (BOF) Amit Hurvitz Thursday May 08 18:30 - 19:20 Moscone Center - Gateway 104
BOF-5223 VisualVM: Integrated and Extensible Troubleshooting Tool for the Java™ Platform Birds-of-a-Feather Session (BOF) Luis-Miguel Alventosa, Tomas Hurka Thursday May 08 19:30 - 20:20 Moscone Center - Gateway 104
TS-6145 Using DTrace with Java™ Technology-Based Applications: Bridging the Observability Gap Technical Session Jonathan Haslam, Simon Ritter Friday May 09 14:50 - 15:50 Moscone Center - North Mtg-121/122/124/125
TS-6000 Improving Application Performance with Monitoring and Profiling Tools Technical Session Jaroslav Bachorik, Gregg Sporar Friday May 09 16:10 - 17:10 Moscone Center - Hall E 133

openjdk: Java Attributes

Username:
Password:
(or Cancel)