Using Java2D to to build a Stacked Image Editor
July 25th, 2005
Brainstorm!
Every now and then I get the idea to build a cool program that does something interesting. Sometimes I get an idea by seeing another program, or seeing an interesting API I've never noticed before. Sometimes both. A few weeks ago I was thinking about how close to 3D I could get while still using the Java2D APIs. There's no perspective transforms in Java2D but you can fake a lot of 3D with creative use of the standard affine transforms. Around the same time Romain complained about having to draw some 3d diagrams using Photoshop. It wasn't hard work, just tedious.
Fold N' Drop
July 19th, 2005
This has to be one of the coolest frame hacks I've run across. I also think this is a great use of a gestural interface techniques. The idea is that you can fold windows down to access what is behind them. They have a small java application (54k) that does everything.
Java One Lessons : The book
July 15th, 2005
Java One Lessons
The highlights for me were our session for Swing Hacks and meeting with customers at the JDIC and JDNC booths (more on that in my next blog). It's great to interact with developers (my "customers" essentially) and get some real feedback.
Delta Lessons
July 14th, 2005
Okay. So I realize this is about two weeks late. I've been on vacation back home in Atlanta and then catching up on about 4 weeks worth of email, blogs, java.net forums, and even some features I promised to the Flying Saucer and JDIC Misc projects. I actually wrote most of this over a week ago but just now got the time to finish it up. Enjoy!
Exhausted
June 30th, 2005
It's been a long, fun, and exhausting week. I'm going to get some sleep and vainly try to take a flight home tomorrow. Since I'll be there for hours, most likely, this will give me time to write proper entries about the second half of the week and how the conference went overall. In the mean time, our book Swing Hacks is finally shipping on Amazon and we've hit almost #3000. (as of this evening) That puts us in the in 1st of all Swing books, 5th of all Java books, and 79th of all programming books. Combined with the great turnout for all desktop related sessions I think this bodes very well for Desktop Java and rich client development. Look out Flash!
JavaOne: Day One
June 28th, 2005
Watching the keynote. Nice to see a reference to Morgan and Edison. We often forget our technology roots.
We're #2
June 28th, 2005
I promise I won't shill too much, but Chris just told me that our book was the number 2 seller yesterday according to the list posted by the book store! To our readers we send a heartfelt thanks!
JavaOne: Day 0
June 26th, 2005
Sunday is over and I need to get some sleep, as JavaOne starts for real tomorrow, but I wanted to blog down my thoughts (can blog be a verb now?) before I head off to the land of Nod.
JavaOne: Day -1
June 26th, 2005
My JavaOne week has actually started two days early on Saturday. Why? Because I'm a co-community lead for Java.net's Mac community. What's that? You didn't know that there's a Java.net Mac community? Hmm. That's a problem. Well, that's why we have the Java.net community leaders weekend event two days before JavaOne. It's our time to get together face to face, discuss the issues we face, figure out how to solve them, and then make Java.net a better place for all of you.
A picture is worth a thousand words.
June 25th, 2005
This is a random thought, but where are the pictures. Most java.net projects, even the ones that have some visual user interface (as opposed to a library like Rome), don't have screenshots or diagrams. When I come to a new project I want to quickly know what it's about and if it's quality. A picture really helps with that. I know it sounds bad, but if there's a picture then it can first tell me if these people are serious and active, or if the project dead. A picture can also convey a lot of information more quickly than a paragraph of text will. When it comes to visual projects, say a date picker component, then this is doubly important. Show me a picture! It just takes a bit of time and it really helps grab my interest.
Getting ready for JavaOne: The Day of the Desktop
June 24th, 2005
Well. Here I am getting ready for my first real JavaOne. Actually, I attended back in 1999 and had the rare fortune to see Douglas Adams speak, but this is the first time I will be speaking as an author and attending as a Sun employee. It's going to be exciting. And since most Java developers can't attend JavaOne (where would they all sit?) I expect these Java.net blogs to light up like a Christmas tree during the next week. There's going to be all sorts of cool stuff going on, but don't just pay attention to the highlights. Some of the best things will be in the BoFs, smaller sessions, and especially the simple person to person talks over a good beer. (This is what we called P2P in the old days before they invented music, computers, and light.)
technology has warped my brain
June 17th, 2005
Today I was moving a bunch of files around for a new project. I had to copy several directories worth of code and images from a mounted remote disk to my home directory. Here's what I typed:
Why I haven't been posting
June 14th, 2005
Joshua talks about what he's been doing, what's coming up, and hands out some reading material.
The Reponse to Why Don't you Ship Swing Apps
May 9th, 2005
It's been a while since I posted my original weblog on why some developers aren't shipping Swing apps, and it's gotten over a hundred responses! This makes me happy because it means there are a lot of you out there who really care about desktop Java and want to ship good apps. It's our goal to make Swing the best way to write a quality desktop application, so all of this feedback is great.
Mac OS X 10.4 has arrived, with a Hi-Rez secret
April 29th, 2005
As everyone on this side of the galaxy must know by now, Tiger, version 10.4 of Mac OS X (will they ever hit Mac OS XI?), has finally arrived. If you're a Mac head like me you've been eagerly awaiting it at least since the previews last summer, if not from day 2 of 10.3's release.
A Hi-Rez Future
April 21st, 2005
I've been working from home in Atlanta since I started at Sun. I have two homes under renovation and a lot of things to take care of before I can move out west, so working from home for a few months seemed like the best solution. The problem is I only own a laptop, my new iBook. Coding and writing for 10 hours a day on a 1024x768 screen really is no fun. I've got a USB hub, mouse, and keyboard to make it feel more like a desktop, but nothing can replace having a good screen. Today I bought a flatpanel.
Sometimes you only need a little.
April 11th, 2005
The book is done and I'm up to my ears in Windows bugs so I thought I'd take a break and work on some Mac stuff. There are a few features I've always wanted from Java and needed anyway for another side project (I've got about 3 dozen, of course). The result is a few teeny, tiny classes I've added to the new JDIC Misc project. This project is meant as a catchall for small APIs, things that require only one class or perhaps even one method. The implementation may be complicated as all get-out, but to use it you need only call a function or two.
The Portable MiniApp: Mortgage Calculator
April 7th, 2005
Hey guys. A while back I started talking about something called a MiniApp and presented several examples (Weather, Christmas, Storm, and RSI Buster). I wrote another installment some time ago but never got around to finishing it because other projects (namely the book) took precedence. Now that Chris and I have turned in our final draft (yay!) I have more time to finish up the next MiniApp.
Quick Tip for OSX Users
March 31st, 2005
If you are like me you have broken finger bindings. Probably from years of bash
use or maybe you just have to switch platforms all the time. Since finger bindings are difficult to change this little utility will change the key bindings instead.
Why don't you ship Swing apps?
March 31st, 2005
Time and time again I hear that there are no Swing apps (or no good swing apps). We can come up with lots of excuses and explanations but that doesn't get us any closer to having more Swing apps. So I'd simply like to ask all of you. Starting with the assumption that all of you are Java developers in some fashion or another, but not necesarily Swing developers, I want to ask you: