Tuesday Aug 25, 2009

Under the hood with Garbage First

There's an interesting article over at Dr Dobbs about the new Garbage First collector, scheduled for prime time in JDK 7, and currently available to try out as an optional collector in the Java SE 6 update releases. Published experiences with this new memory management technique for Java are rare, though some have had good results.

The article examines in some detail the algorithms used in this collector, and hints at how they achieve the mostly prescribable pause limits. For those of you who don't often lift up the hood of the car you're driving you may need to refresh your general background on garbage collectors, their different flavors and algorithms.

And for those of you just interested in how to make it work, the article has a nice section on the knobs and levers you can pull to tune it for your own applications.

Friday Aug 21, 2009

Deep Dive on JDK 7

The Janitor joined Ed Ort for a Deep Dive on JDK 7, check it out here. Really given how much is going into JDK 7, its perhaps more of a flyover and swoop, but, if you need to catch up with the plan, take a look.

Thursday Aug 20, 2009

JavaFX: Widgets galore

If you feel like publicizing your programming prowess and you missed the JavaFX developer challenge, you should take a look at the WidgetFX contest.

WidgetFX is a container for desktop widgets written in JavaFX and is itself written all in JavaFX. And is already filling up with a number of useful widgets. From the obligatory clocks, calendars, post-it notes, to news readers, mailers, bookmark holders and twitter clients.

Or you might just like to put them all on your desktop.

Wednesday Aug 19, 2009

New API for Constraint Programming

Constraint programming is a kind of declarative programming. Specifically, where you say what conditions constitute the solution of problem, rather than the laying out steps or algorithms by which you get to it. Deng Xiaoping had a saying for it. A bit like assessing weather conditions for sailing, or evaluating economic indicators when deciding central bank policy, these conditions come in the form of restrictions on the interrelationships of a carefully selected set of variables which model the computing problem.

There are various Java libraries to help write applications that use this idiom, like Choco, or Constrainer, to name but two, and there's growing interest in this style of computing.

So it was good to see yesterday the JCP give the go ahead to develop a standard Java API for constraint programming.

Tuesday Aug 18, 2009

JDK 7: Shaped and translucent windows

Just as life doesn't always fit neatly into a box, neither does everything you want to show on screen. Wanting to see behind what you're looking at is really just part of the human condition, and perhaps why the use of translucency in GUIs has become so popular.

The ability to create shaped and translucent windows was first released in Java SE 6u10, but you had to use a private API to do so. With the forward port of all the Java SE 6u10 features into the JDK 7 codebase, now you have a public API to do this.

This new article gives a 100% translucent picture of the capbilities, and is a good companion to this older, but recently updated technical article.

Monday Aug 17, 2009

A question of JavaFX

Given that JavaFX has already evolved 'from trainwreck to good' in 9 months, isn't it time you made a reservation for a highly recommended JavaFX book or put an online JavaFX learning course on the menu ?

Friday Aug 14, 2009

Java ME: Smart browsing on dumb phones

Think you need a $martphone to browse the web ?

The intriguing BOLT browser should get you to think again (thanks to arch-blogger Hinkmond for the heads up). With desktop-like features like split-screen browsing, feed support, saving web pages, streaming video and accompanied by excellent reviews of its speed even on the most basic phones, how can it do it when all the client requires is the most basic of Java ME APIs: MIDP 2.0, rather than the fancier MSA 2 shipping on the newer Java ME phones ?

The client part (which Bitstream claims has long passed the millionth download mark) of the BOLT browser is just half the story: the heavy lifting is handled on the server through which renders and compresses the data (23:1, if you believe them) ready to squirt back to the phone.

And BOLT isn't the only of this new breed of browser.

Wednesday Aug 12, 2009

JavaFX: A Musical Gathering

There's definitely an arc in the adoption of a new technology. From skepticism, to release, the odd stumble, to the evidence of more widespread experimentation, to the first commercial applications.

Indaba Music (from the Zulu indaba:  'gathering') is a collaborative music site, and debuts one of the first commerical applications of JavaFX: the Indaba music console. Currently in alpha, it gives Apple's GarageBand a run for its money, with the ability to lay down multiple music tracks, from prerecorded clips, to those of your own making, to those your friends gave you. Then the fun starts when you start applying musical effects to your composition, and exporting back to your friends.

The Planetarium marks the arrival what is a truly capable and polished online JavaFX media manipulation application, with a special composition which you can download here. (Vocals courtesy of the Janitor).

Tuesday Aug 11, 2009

Draggable applets: the remix

You almost certainly heard that you can drag an applet out of its web page, so long as the version of Java running it is current enough.

But did you know that you can change the applet as it's being dragged out, or put back in ? That you can change the appearance of the applet according to whether the version of Java running it supports the draggable feature ? That you don't have to have the users hold down the alt key to drag it out ?

If you didn't, check out this tech tip from Javafx.com.

Monday Aug 10, 2009

Stocking the shelves of the Java Store

In a physical store, the attractiveness of the shelf display masks what is usually a highly complex set of processes by which the products arrive on the shelves. How optimized these processes are can make or break a store.

Peeking into the backend Warehouse of the Java Store, Bernard Traversant walks you through the process by which Java and JavaFX developers can submit their apps. From attaching all sorts of descriptive information about the application that the store will need (like export licenses, platform version) or that the shelf display will need (description of the application, icons, and, ultimately, the price you set) to the requirement of packaging the application as a single JAR (which NetBeans 6.7.1 handily meets) its all covered here.

Friday Aug 07, 2009

Scala, Groovy, Ruby, Python, JavaFX, Clojure, Ioke anyone ?

For anyone interested in using the JVM to run a language other than Java, and even for those interested in how it runs the Java language, and definitely those interested in language development, the annual JVM Language Summit held in September has become the primary place to be.

You get the idea by taking a look at some of the talks from last years summit: From Clojure, PHP on the JVM, the vicissitudes of running Ruby on the JVM, to Closures on the JVM. And you will also see that you will be hard pressed to find more expert speakers in these subject areas in the industry.

And this year the format has changed to include more interactive workshops, as well as the traditional talks, to spread the goodness even more effectively.

If you're hesitating: stop it: John likes to keep this summit small and focussed, usually under 100 participants. Sign up here.

Thursday Aug 06, 2009

Java ME: LWUIT Upgrades

For those developers working on apps for today's feature phones, the Java Swing-inspiredLWUIT has long been a good option for making good looking UIs such as these. And its just part of the all-devices-in-one Java ME SDK 3.0.

Last month LWUIT made its 1.2 release with a raft of new features, paying particular attention to a revamped way of inserting style into components and backgrounds, and a newly online designer tool (seems to be all the rage these days).

And, as an open source project, others appear to be doing it with LWUIT too: its been ported to a new mini-Java ME VM called Jelatine, and can be upgraded to display text tfel-ot-thgir.

Wednesday Aug 05, 2009

JavaFX and the summer brain drain

Summer holidays ain't what they used to be, especially when parents start fretting about this kind of thing.

Earlier this summer, the Janitor and some of the JavaFX team got together with some of those smart folks over at FreshBrain to sit down and figure out how JavaFX could add to their online summer technology camp for teenagers.

So its great to see FreshBrain's new course on JavaFX: expect to see a wave of New Moon-themed media players in time for the fall term.

Tuesday Aug 04, 2009

News roundup

As the Janitor works through all the mail that piled up on the doorstep of the Planetarium while he was on vacation, its clear that there's some news to catch up on.

First, JDK 7 reached milestone 4, the major inclusions being the new type annotations in the language, and the backporting into the jdk 7-branch of all the features in the Java SE 6u10+ updates that make it so nifty and browser friendly.

In mobile news, JavaFX dropped an early access release of the version 1.2 SDK for Windows Mobile. You can see Terrence talking all about it here.

Speaking of JavaFX 1.2, NetBeans 6.7 did a mini-update-dotdot release to add in JavaFX 1.2 support, (yay), while slipping in a few bug fixes while they were at it.

And there was news from the multiple languages front: Charlie et al switched over the names on their paychecks while they continue to work on JRuby, and the wildly successful JVM languages summit is happening again this year.

Thursday Jul 23, 2009

JDK 7: Jigsaw and classpath

Developers have sometimes had to try to square the circle with the Java classpath over the years. What really is a linear model in multiple sections works for much of the time. But as applications get larger, and the dependencies between it and the libraries it needs get more complex, things break down.

Luckily, Project Jigsaw will be providing a cleaner dependency model in JDK 7 to save developers from trying to prove the impossible.

In the meantime, Joe posted a great visual summary of the three sections of the Java classpath.

A blog all about Java in all its flavors on all client platforms from smartcards to desktops and everything inbetween.


« July 2016