Friday Nov 02, 2007

Vote for Java 6 on Leopard

Lack of Java 6 on my MacBook Pro is preventing me from coding on it. So here's my vote for Java 6 on Leopard:
  13949712720901ForOSX
I've been doing much of my development on a Solaris instance under Parallels, but it would be nice to test the apps on the host OS.

Once Leopard supports Java 6 I'll upgrade.

See Henry Story's blog for the meaning behind the above string, then cast your own vote.

Thursday Apr 05, 2007

Comparing Java 3D with jMonkeyEngine

I'm working on a JavaOne project that makes use of the jMonkeyEngine 3D scene graph API commonly referred to as jME.

So far I've found jME to be a pleasure to work with, and am particularly impressed by the founders and community who seem friendly, knowledgeable, and responsive.

But developing a project in jME naturally leads to the question: how does it compare with Java 3D?

Here's my take, based on a couple of months working with jME, and a few discussions with Java 3D folks here.

jME pros:

  • quick to get up to speed
  • great infrastructure for games
  • wonderful community
  • lots of industry support

Jadestone's Hockey Challenge completely written in jME

Java 3D pros:

  • Compatible with both OpenGL and Direct3D (whereas jME supports only OGL)
  • multi-screen support, great for immersive environments, etc. See the Java 3D-enabled CAVE project for an example.
  • much more sophisticated threading model (one thread per display, one thread per behavior)
  • runs on Solaris
  • supports and takes advantage of 64 bit architectures

University of Calgary's Java 3D CAVE Immersive Environment

Java 3D is the basis of some extremely interesting and exciting projects coming out of Sun including Project Wonderland and MPK20. It'll be interesting seeing how both technologies evolve.

Thursday Mar 29, 2007

Java Obfuscator

I needed to obfuscate some code for a project I'm working on. A quick search came up with yGUARD which is surprisingly well-suited for my purposes.

For one thing you can specify the granularity of obfuscation, right down to the method and field level. So for example you can tell it to obfuscate a single field in a single class (and all references to it, obviously), up to every field and method in every class in a jarfile, or anything in between.

Another nice feature is that it operates seamlessly with ant, and therefore, with NetBeans. Add a new target to build.xml, then invoke it with with the -post-jar target provided by NetBeans, and the generated jar is now obfuscated automatically at every build. Very slick.

yGuard's method of obfuscation is to rename methods and variables with obscure, sometimes unprintable, names. It also has a code shrinking option which according to their specs removes code entities that can not be reached from a set of given code entry points.

Two thumbs up.

About

john

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today