Oct 25 2007

EclipseWebEnabler Review

Have you ever been on the road or away from the office when you are struck by an idea for a new features and wanted to debug or prototype your application but found yourself without access to the code base? What if you where able to connect to the Eclipse running on your work desktop from anywhere in the world using a browser? Well, now you don’t have to wonder. EclipseWebEnabler is a Eclipse plugin from IBM AlphaWorks that allows you to connect, interact, and manipulate an instance of the Eclipse IDE via FireFox. Basically, the plugin converts the Eclipse SWT-based UI to XUL which can then be delivered to a browser via the Jetty server.

For EclipseWebEnabler to work you do need an instance of Eclipse to be running on your desktop. Once the Jetty server embedded with the EclipseWebEnabler plugin has started you can point your browser to it, any change you do in browser will be reflected in Eclipse, and vice versa. You can edit Java code files in FireFox and the new edits will be reflected in Eclipse, in near real time.

EclipseWebEnabler Plugin

Even though I think that the EclipseWebEnabler plugin is innovative, I soon discovered that it doesn’t enable completely or well. EclipseWebEnabler, as of this writing, is lacking a lot of fundamental features. Closing source files from FireFox is not implemented. The ia no code syntax coloring or highlighting at all. You can’t resize views. There is too much flickering when moving between source files. And there is no security whatsoever.

Even with it’s obvious shortcomings, I think that the EclipseWebEnabler plugin take the price for Most Outrageously Innovative Idea 2007 award. I haven’t seen an application features this thought provoking since GWT took the price in 2006.

Once the kinks are worked out, it might be possible to write a fat client application using the Eclipse RCP and then have the EclipseWebEnabler generate a web version for said application.

Technorati Tags: , , , , , , , ,


Sep 30 2007

Top Technology Podcasts

In no particular order here is the list of of technology related podcasts that I frequently listen to.

  • Cranky Geeks – Not cranky enough, but John C. Dvorak and guest rant on latest technology news.
  • Diggnation – A weekly tech/web culture show based on the top stories on Digg.
  • Drunk and Retired – They are not as drunk as one would hope, but they do tend to go off on Rails, software development, and zombies.
  • Google Developer Podcast – Googlers talking about the latest Google APIs.
  • The Java Posse – The seminal Java podcast put out by Google, Sun, and Apple engineers, just hope they never have to pronounce your name.
  • .Net Rocks! – A weekly talk show for anyone interested in programming on the Microsoft .NET platform.
  • Railscasts – Free, and most importantly frequent, Ruby on Rails screencasts ranging from 5 to 10 minutes covering testing, migrations, controllers, and more.
  • WebDevRadio – This podcast covers web development news with the occasional interview with engineers working on projects with .NET, MySQL, PHP, etc.
  • Polymorphic Podcast – Insight into software development in the .NET platform along with interviews with industry luminaries.
  • Code Sermon – The podast somewhat preaches to the choir. This is a somewhat semi-weekly sermon on the virtues of software development best practices.
  • Killer Innovation – A podcast about creativity, innovation, and idea generation. This podcast will present ideas to think outside the box, or IDE.
  • Grails Podcast – Keeps you up to date about the latest Grails developments.
  • NetBeans Podcast – Hosted by Roman Strobl of Sun, this podcast has the occasional interview with NetBeans developers like Tor Norbye and Geertjan Wielenga.
  • Ask A Ninja – Every programmer needs a break between hacking sessions.
  • Rails Podcast – News and interviews about the Ruby language and the Rails framework.
  • Entrepreneurial Thought Leaders – This podcast is put out by the Stanford business school. It usually has business leader share their experience.
  • Floss Weekly – Free/Libre Open Source Software might be free, but it is not timely.
  • Late Night Cocoa Podcast – Usually has hacking cocoa and API discussions and Cocoa practitioners, currently on summer hiatus.
  • TWiT – Leo Laporte and gang talk technology, unless they are reminiscing about their TechTV days or how to monetize ‘netcasts’.
  • Scoble Show – Robert Scoble talks with geeks, technologists, and developers.
  • GigaOm Show – Om Malik and Joyce Kim talk with entrepreneurs in the valley and run down some of the latest tech news.

If you feel I missed any other developer noteworthy podcast please let me know in the comments.

Technorati Tags: , , , , , , , , , , , ,


Sep 27 2007

YourKit Java Profiler 7.0 Review

Like most developers, I like free software and open source software both for it’s freedom and it’s price. But once in a while there are some software you can’t avoid but to pay for. I was involved in a project recently where I had to profile some Java memory leak in a tight deadline. The code base for the project is compiled to Java 1.4 bytecode and the team uses Eclipse 3.1. I don’t know of any good profiler for Eclipse so without skipping a beat or thinking twice about it I downloaded a free 15-day trial version of YourKit Java Profiler.

It was just drop dead simple to manually enable YourKit to profile our JBoss 3.2.x based application even though we highly customized the start batch script. Once profiling is enabled, I was able to connect to our application from YourKit to have it start profiling, monitor, inspecting the leaky architecture in the application.

It took me just a few hours to get familiar with the YourKit screens and memory snapshots views. Within a day I was able to track down a ThreadLocal object that was keeping a HashMap instance that in turn collected a large hierarchy of objects in memory. Clearing the value of the ThreadLocal did the job.

YourKit Java Profiler 7.0

Again, I choose YourKit mostly because of the environment and JVM I was using. I do understand that NetBeans 5.5 has a nice profiler for Java, which I have not tried myself. I would have opted for that if I was already using NetBeans or if it was the first result when I googled ‘java profiler.’ Unfortunately I was not able to find what seemed like a good or reliable profiler for Eclipse. For this reason alone I recommended YouKit Java Profiler to my boss. Although to be completely honest, since YourKit worked so well for me I thought of just getting another trial version next time I am ever in a bind and need to profile a Java application.

Technorati Tags: , , , , , , , ,


Jun 13 2007

JavaOne 2007 Conference Notes

Here are all my notes taken at CommunityOne and JavaOne 2007. I was in San Francisco for 5 days and attended over 40 technical and birds of a feather sessions and managed to put together this 30 page document. For you download pleasure you can find a PDF version of all my conference notes.

CommunityOne 2007: Monday
Welcome to CommunityOne 2007
Getting Started and what’s New in GlassFish v2
Lunch with the Java Posse
Ajax Applications Made Easy with jMaki and Scripting
Swing GUI Building with Matisse: Chapter II
JRuby: Understanding the Fuss
Up the Stack
G2One

JavaOne 2007: Tuesday
Tuesday General Session
JRuby on Rails – Agility for the Enterprise
Evolutionary Java – General Session
Java Puzzlers
Using jMaki in a Visual Development Environment
Java Persistence API – Best Practices and Tips
Developing a Real-World Web Application with NetBeans 5.5 Visual Web Pack
Grails, Sails, and Trails – Rails Through a Coffee Filter
Rapid Seam Application Development with the NetBeans IDE

JavaOne 2007: Wednesday
Wednesday General Session
Swing Vector Graphics
Effective Java Reloaded – This Time It’s for Real
Building JavaServer Faces Applications with Spring and Hibernate
Extreme GUI Makeover 2007
Anatomy of an Eclipse RCP Application
Tricks and Tips with NIO
Dive into the GlassFish Aquarium
Seamless Web Browser Integration
Putting a Swing Front End on a Web Application

JavaOne 2007: Thursday
Thursday General Session
Being Productive with Swing
Technical Overview of GlassFish v2
JavaScript FX
Why Spaghetti is Not Tasty
Beans Binding
Write a 3D Game in Java
Web 3.0 – This is the Semantic Web
The Java 3D API and Java Binding for OpenGL
Glossitope – An Open-Source Java-based Widget Container

JavaOne 2007: Friday
Friday General Session
Bringing Life to Swing Desktop Applications
Ajax and JavaServer Faces Tooling in Eclipse
Bytecode Manipulation Techniques for Dynamic Applications for the JVM
Filthy-Rich Clients – Talk Dirty to Me
Writing Games with Project Darkstar

Technorati Tags: , , , , , , , , , ,


Jun 11 2007

Ajax and JavaServer Faces Tooling in Eclipse

This JavaOne 2007 technical session started off with Cameron Bateman describing how to use the Eclipse Web Tools Platform (WTP) Project to create JavaServer Faces (JSF) applications and custom tools for Eclipse. This was a discussion better suited for JSF component developers. Eclipse web tools provides a web page editor, JSF configuration model, editor, and wizards. Eclipse and the WTP project are extensible, the WTP in particular allows developers to leverage design-time tag rendering, expression language support, and the meta-data framework. Customizing Eclipse and the WTP project allows you to provide design-time support for your custom tag libraries in the Eclipse IDE.

This was like two sessions in one because Philippe Ombredanne then presented on the Ajax Toolkit Framework (ATF) tools in Eclipse. The ATF project can help to develop AJAX applications in Eclipse. The most interesting aspect of the ATF project is the Eclipse Mozilla mashup. The ATF project embeds Mozilla in Eclipse via XULRunner and JavaXPCOM. In addition to embedding a browser in the Eclipse IDE, the ATF also provide a rich feature set for AJAX developer such as a JavaScript editor and debugger, DOM and XMLHttpRequst inspector, and plain simply faster AJAX development. You can debug a remote website in Eclipse with the ATF project similarly how you would step through a Java project in the debug perspective. Embedding the Mozilla “enables web browser integration beyond the capabilities of the standard SWT browser widget” and brings AJAX applications to the rich client desktop.

Technorati Tags: , , , , , , , , , ,


May 30 2007

Anatomy of an Eclipse Rich Client Platform Application

Wayne Beaton, Eclipse Foundation evangelist, gave an overview of the Eclipse Rich Client Platform (RCP). As he spoke, I thought of Eclipse RCP as a Fat Client minus the lard. Wayne described a Rich Client Platform as a system that provides a rich user experience, is platform independent and extensible, and provides a component model.

The Eclipse IDE is itself a collection of plugins, or components, on top of the base Eclipse platform. A big aspect of Eclipse RCP is Equinox, the OSGi based module system used to discover Eclipse plugins. In this context, plugins, modules, and components are used interchangeably.

Wayne gave a quick overview of the plugin structure of Eclipse. Basically Eclipse provides extension or plugin points at its core level. Adding or removing functionality is as simple as adding and removing files from the plugin directory in the Eclipse installation directory.

Wayne also mentioned Mylar. Mylar monitors and remembers which resources a developer is interested in for a recorded task and hides the rest. Wayne said, “You need to look into Mylar. Mylar will change your life.”

Technorati Tags: , , , , , ,