DanT's GridBlog  
All | Chess | Cooking | Grid | Java | Misc | Travel
 
Friday February 20, 2009
Executable Web Deja Vu

George Colony spoke in yesterday morning's Omniture Summit 09 keynote, and one of his eight big messages for CEOs was that the web is moving to what he calls "the executable web," meaning that instead of your browser being just a file viewer, it will become an application platform for applications downloaded off the web. Gee. That sounds kinda familiar... like from about a decade ago! Applets anyone? It really ticks me off that "Java™ is dead" while at the same time, everyone is busily trying to recreate Java in JavaScript. Hey, I know! Why not just fragging use Java? JavaScript is ugly and painful. AJAX is an order of magnitude worse. (Don't tell me about how much better Python and Ruby are than Java. That's a different topic.) I know that Sun is notorious for being way too early to the market with its technologies. Yes, applets did suck ten years ago. (Although, ten years ago there wasn't an alternative for RIAs, so at the same time it was revolutionary, cutting-edge technology.) Have you looked at applets lately? Check this out. Let's see you port that to JavaScript. I think it's just silly that with the current state of Java technology people are still thinking about the platform based on impressions from last millennium. Wake up and smell the coffee.

Permalink Comments [3] (2009-02-20 08:00:00.0/2009-02-20 08:00:00.0)
Trackback: http://blogs.sun.com/templedf/entry/executable_web_deja_vu
 
Thursday June 05, 2008
JavaOne Hands-on Labs Online

In case you haven't noticed yet, we've posted the JavaOne Hands-on Labs from this year to developers.sun.com. Among the labs posted there are the Compute Server lab (7410), which includes my old DRMAA lab as an appendix, and the Project Darkstar lab (7400). If you missed them at JavaOne, now's your chance to do them from the comfort of home.

Permalink Comments [0] (2008-06-05 09:56:32.0/2008-06-05 09:56:32.0)
Trackback: http://blogs.sun.com/templedf/entry/javaone_hands_on_labs_online
 
Friday October 19, 2007
Great Generics Reference

I just found myself looking for an answer to a picky question about using generic methods on the Java™ platform. After reading through the Generics tutorial, my question was still unanswered. With a little searching, I found Angelika Langer's excellent Java Generics FAQ, and I learned everything I wanted to know. If you want to really understand Generics, give this site a read.

Permalink Comments [0] (2007-10-19 10:10:11.0/2007-10-19 10:10:11.0)
Trackback: http://blogs.sun.com/templedf/entry/great_generics_reference
 
Friday May 11, 2007
JavaOne 12: Friday AM

Friday started with a 2-hour keynote where James Gosling showed a bunch of technology demos, ranging from developer tools to toys to industrial robots. Neat stuff. Suspiciously missing, though, was the winner of the slotcar challenge. Wonder what's up with that...

After the keynote, I put my nose to the grindstone and (finally) hit the sessions hard. First up, Effective Concurrency For the Java™ Platform (TS-2388). As Brian pointed out several times, none of the content was riveting and new, but it pointed out common fallacies and errors. Definitely worth checking out when the content goes online.

And that does it for the AM...

Permalink Comments [0] (2007-08-07 13:21:02.0/2007-05-11 16:42:29.0)
Trackback: http://blogs.sun.com/templedf/entry/javaone_12_friday_am
 
JavaOne 12: Thursday PM

Even though the Darkstar lab was Wednesday night, Thursday morning it was still consuming my time. You see, the fifth exercise in the lab was to extend the MUD in new and creative ways and check in the results. I spent Thursday morning with Jeff assembling the contributions so that we can post them online.

The excuses continue. Between lunch with co-workers, dinner with the Darkstar (et al) team, and various hallway conversations, I only made it to 1/4 of a session on Thursday. I'm kinda bummed about that, but I think this year the social side of JavaOne is more important for me. I'll do better on Friday.

I did catch the last hour of the After Dark event. Not bad. They trucked in a bunch of the champion Battlebots from the television show and let folks from the conference drive them. Gratuitous fun. They closed the night with a Rolling Stones cover band who was decent. Would have been better if the beer weren't so bad.

Permalink Comments [0] (2007-05-11 16:27:13.0/2007-05-11 16:23:48.0)
Trackback: http://blogs.sun.com/templedf/entry/javaone_12_thursday_pm
 
Thursday May 10, 2007
JavaOne 12: Wednesday PM

I had to be back in Palo Alto for personal reasons on Wednesday morning, so I didn't get back to the conference until the late afternoon. After dealing with some last-minute issues with the Darkstar lab, I went to the Intel general session. Less than thrilling. The Intel spokewoman gave a long spiel on how wonderful Intel chips are and wanted everyone to know that Intel is working with Sun to make sure that Java runs best on Intel. For me there were only two interesting points: 1) Intel has already shipped 1 million quad-core units, whereas AMD hasn't shipped 1, and 2) Intel will provide an Itanium port for Java, and Sun will host it on java.sun.com.

After the general session, I caught the NIO talk (TS-2992). What I learned is that I don't know jack about NIO. The 6 tips and tricks the speakers presented didn't mean a thing to me. Oh, well

After that I went to the Java performance BOF (BOF-2366), where people asked very specific questions about API's haven't had a reason to use. What's up with that? I used to be Java savvy. I guess I just haven't had a reason to use some of the newer, deeper APIs yet. That's the trouble with being on the engineering team for a C-based product.

I had to leave the BOF early to be at the Darkstar lab 20 minutes early. The lab went really well. All of the feedback I got was extremely positive. As far as I can tell, we hit it out of the park. Even though the lab was scheduled to end at 22:45, we ended up staying until 0:15. People just didn't want to leave!

Permalink Comments [0] (2007-05-10 23:23:24.0/2007-05-10 23:23:24.0)
Trackback: http://blogs.sun.com/templedf/entry/javaone_12_wednesday_pm
 
Tuesday May 08, 2007
JavaOne 12: Tuesday AM

Welcome to JavaOne! There's a lot of people here! Looking at the schedule, the content looks great.

General Session

  • The JDK is now completely open. (There are actually a couple of small pieces that we couldn't open up yet, but you can get binaries plugs for those pieces until we can get them opened.)
  • The governance model for the JDK community was announced. The board will be Doug Lea, Fabiane Nardon, Simon Phipps, Mark Reinhold, and Dalibor Topič
  • The TCK will also be make available for use by the community.
  • The next several releases of JDK 6 will be focused on execution and startup speed.
  • Rich announced JavaFX, which is a new family of technologies and tools that make it easier to use Java in the consumer space. The first piece is JavaFX Script, formerly known as F3. Consider it a competitor to Flash. The second piece is JavaFX Mobile, which is our new name for the SavaJe technology we recently acquired. It's approximately Java SE for handsets. (Believe it or not, we actually had a female engineer demo JavaFX Mobile on stage!)
  • McNeally talked about Curriki, his pet project for providing free K-12 educational materials online.

And the on-going saga of the Darkstar hands-on lab ate up a couple more hours of my day. Between that, being a proctor for the Realtime Java hands-on-lab, and hanging out in the pavilion, I didn't actually make it to a single session today. Shame on me.

Permalink Comments [0] (2007-05-09 09:48:27.0/2007-05-08 21:17:50.0)
Trackback: http://blogs.sun.com/templedf/entry/javaone_12_tuesday_am
 
JavaOne 12: Monday PM

Unfortunately, I was only able to go to one session this afternoon. It was the session on the new NetBeans 6.0 features. One word: WOW! I can't freaking wait! Apparently the 6.0 preview release is now available. 6.0 is going to completely change the game.

After the session I had to go try to get the Darkstar lab (LAB-7210, Wednesday at 20:45) in ship shape. Still not done, but I think I've got it on the ropes.

Permalink Comments [0] (2007-05-09 09:48:17.0/2007-05-08 09:08:31.0)
Trackback: http://blogs.sun.com/templedf/entry/javaone_12_monday_pm
 
Monday May 07, 2007
JavaOne 12: Monday AM

Like last year, I will be blogging JavaOne again. Fortunately, all the JavaOne materials will be available online after the conference. For the lazy and/or impatient, I will be blogging my summary of the points that I found interesting in the sessions that I attended.

Today I'm attending the CommunityOne JavaOne pre-conference (AKA NetBeans Day).

General Session

  • According to an EU-funded study, Sun is the number one contributor of open source code in the world. More notably, we have contributed three times the number of lines of codes as the number two contributor, IBM.
  • Tim O'Reilly pointed out that while the major Internet properties are based on open-source technologies, almost none of them are themselves open source.
  • Tim O'Reilly's definition of "Web 3.0" is where it builds on the emerging data streams that aren't explicitly provided by the user, such as GPS data, gestural interfaces, etc.
  • Sun is considering how to compensate developers for open source materials that we monetize.
  • Tim O'Reilly reminds me of Dennis Hopper now that he wears a beard.

NetBeans General Session

  • Rich Green reiterated that we need to look at how to compensate the authors of open source content that we're able to monetize. "I'm sure we're going to do that... Real soon now," he said.
  • For Sun, going balls-to-the-wall open source is really just us returning to our roots and re-establishing two-way communications with our developers.
  • Schwartz on Eclipse: "THey may have more market share, but our developers have more fun." He said that we're not concerned with Eclispe. They're our "brothers in arms" against "someone else." In general, the competition has been good for us, and we're really doing well. We hope to be dominant, but we don't want to kill them.
  • There's an OpenOffice.org plugin for NetBeans for developing OOo extensions.

That's it for now. I'm off to lunch. Look for more this evening.

Permalink Comments [0] (2007-05-07 12:04:42.0/2007-05-07 12:04:42.0)
Trackback: http://blogs.sun.com/templedf/entry/javaone_12_monday_am
 
Friday April 06, 2007
Jackpot Redux

Looks like Tom has done a bunch of work to update Jackpot for the new Java Source API in NetBeans 6.0. Because he more or less started over from scratch, the API has changed a bit. Examples are posted at the 6.0 Development Update Center.

If you're not familiar with Jackpot, it's an exceedingly powerful way to transform source files. Think of it as XSL for programmers. Using Jackpot, one can write queries that examine source files, such as looking for unused variables or counting occurances of if statements without else blocks, or transformations that walk through source files and make changes, like adding Logger.entering() and Logger.exiting() calls to every method or changing Iterator.hasNext() loops into for-each loops. Jackpot queries and transformation can either be driven by rules files or programs written to the Jackpot API. Rules files are certainly simpler than writing to the API, but they are also more restricted in the kinds of queries and transforms they enable. The Jackpot API certainly has a learning curve, but it gives the developer the ability to examine every little detail of a source file and do transforms that are arbitrarily complex. If you haven't looked at Jackpot, grab a copy of NetBeans and give it a whirl!

Permalink Comments [0] (2007-04-06 10:44:41.0/2007-04-06 10:44:41.0)
Trackback: http://blogs.sun.com/templedf/entry/jackpot_redux
 
Friday February 09, 2007
Sober Commentary

Just came across this article by Bruce Eckel, the author of Think in Java™, on why the Java platform isn't the platform of choice for rich Internet applications (RIAs). The article is a long but worthy read. Personally, I find it terribly frustrating that the latest "advance" in web technology is to reinvent something that Java's been doing for a decade. I understand that Java's not perfect, but as a developer, I'd much rather be dealing with some installation issues than trying to write code that dynamically adapts itself to the browser du jour. The problem is, and it's Sun's perennial problem, the developers aren't the ones driving the marketplace.

On the bright side, though, it looks like JSF may find a niche as the preferred abstraction for doing AJAX development. See dynafaces and jMaki. I'll be very interested to see how that one plays out.

Permalink Comments [0] (2007-02-09 10:22:21.0/2007-02-09 10:22:21.0)
Trackback: http://blogs.sun.com/templedf/entry/sober_commentary
 
Tuesday January 30, 2007
Java Smackdown Par Russky

There's only about a month left for you to take over the Electric Jungle (or the Электрические Джунгли, as it's known locally). The Electric Jungle is a Sun-sponsored Java™ platform programming competition, where contestants create Java-powered creatures that compete with each other for control of the jungle. At the end of the competition (on February 28th, 2007), the developer(s) of the most effective creature will win some cool prizes.

I really wish we had something like this in the US. I think it would go a long way towards getting folks interested in the Java language, especially if it were a recurring event and had some good prizes. I assume that anyone could participate in the current Electric Jungle, but while the official docs have been translated into English, all of the forum posts are in Russian, so unless you speak the language, I suspect you'd be at a distinct disadvantage.

Permalink Comments [1] (2007-02-01 16:35:01.0/2007-01-30 16:27:33.0)
Trackback: http://blogs.sun.com/templedf/entry/last_chance_par_russky
 
Wednesday October 11, 2006
NetBeans C/C++ Dev Pack Rocks!

I've been testing out the latest build of the C/C++ Dev Pack for NetBeans, and I'm quite impressed. I'm really very excited to finally have full C/C++ integration with NetBeans. Code reformating, go to declaration, a pull-down menu for jumping to functions, a class browser, etc. I can't wait until it get's GA'ed.

The most impressive thing about the dev pack so far is how well it handles macros. Not only is it not confused by complicated ifdef's, it even does macro interpolation on the fly. In the Grid Engine source tree, we have one file that defines a macro that defines a function, and then uses that macro to create a series of functions. When I view that file in the new dev pack, the function pull-down menu shows me each of those dynamicly generated functions instead of an ugly pile of macros. Sweet!

Also, if you hadn't noticed, RC1 of NetBeans 5.5 is now available. So far, I've found it to be much stabler than beta 2.

Permalink Comments [2] (2006-10-11 18:35:37.0/2006-10-11 18:35:37.0)
Trackback: http://blogs.sun.com/templedf/entry/netbeans_c_c_dev_pack
 
Thursday September 07, 2006
To Finalize Or Not To Finalize

Because of some API work I'm currently doing, I was recently faced with the question of whether or not to use a finalizer to simplify the API. Searching on the Internet turns up lots of articles (mostly from IBM) saying that finalizers are bad and should be avoided. Since I work for Sun, I thought it would be a good idea to find out what our official stance is. This post is a summary of the answers I got.

First off, a little background reading. These articles were recommended to me by Sun engineering:

In addition, I found the following articles helpful:

From those articles and from direct feedback from various Sun engineers, these are the lessons about finalizers that I have gathered:

  1. If there's a way around using a finalizer, and it's not ridiculously more complicated, do it. See Tony Printezis' article for some alternatives to finalizers. In many cases, an explicit dispose() method is the best choice.
  2. Never trust a finalizer to free something that has no other way of being freed. There is no guarantee that a finalizer will ever run. For example, deleting lock files is something that definitely should not happen in a finalizer, unless it also happens somewhere else.
  3. If you're designing an API that may have a JNI-based implementation, either design in explicit dispose() methods, or make sure there's a common clean-up point where held resources can be freed, such as exiting the session, so that implementers are not forced to use finalizers.
  4. The Java language's specification of finalizers has some holes which allow you to do bad things (such as restoring a reference to the object being finalized). If forced to use a finalizer, do so carefully.

In my end, my findings were exactly what my initial searches suggested. It is, however, nice to have confirmation.

Permalink Comments [1] (2006-09-07 10:14:02.0/2006-09-07 10:14:02.0)
Trackback: http://blogs.sun.com/templedf/entry/to_finalize_or_not_to
 
Wednesday August 02, 2006
Safer Assert

I'm currently working on a project using the J2SE™ 5.0 platform. This is the first large project I've done since 1.3. One of the new(ish) features that I use often is assertions. In particular, I find myself using assert false quite a lot, as an indication that even reaching the given point in the code is a problem. In testing, though, I've noticed that if assertions are disabled, which is the default state, bad things happen because of my reliance on assert false. Because the assertions are ignored, the VM doesn't break out at my assert false points, and it goes on to do bad and often confusing things.

I began to wonder if I wasn't perhaps misusing the assertion facility. After a quick search, I found Programming With Assertions. In that document, the author validates my use of assert false, but suggests a safer alternative. Instead of assert false : "message";, the author recommends throw new AssertionError("message");. The effect is the same, except for two caveats. First, even when assertions are disabled, the later will still cause an error to be thrown. Second, in cases where a return statement is expected in the branch, the former is a syntax error while the later is valid.

Armed with this new bit of knowledge, I will be replacing the occurances of assert false in the project source base as I run across them.

Permalink (2006-08-02 14:54:25.0/2006-08-02 14:54:25.0)
Trackback: http://blogs.sun.com/templedf/entry/safer_assert
 
 
Calendar
« October 2009
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
31
       
Today
Blog::Navigation
Bookmarks::Grid Engine
Bookmarks::Blogroll
Bookmarks::News
Link to DanT's GridBlog

Link to DanTs GridBlog

Site notes

This page validates as XHTML 1.0, and will look much better in a browser that supports web standards, but it is accessible to any browser or Internet device. It was created using techniques detailed at glish.com/css/.
Powered by Roller Weblogger.

XML