Josh On Design

  • Blog
  • About Josh
  • Books & Writing
  • Apps & Projects
  • Hire Me
past future

    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.

    Read more...

    Tagged: java.net

    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.

    Read more...

    Tagged: java.net

    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.

    Read more...

    Tagged: java.net

    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.

    Read more...

    Tagged: java.net

    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:

    Read more...

    Tagged: java.net

    Subversion Rename Rocks!

    March 24th, 2005

    I don't like revision control systems

    I should start off by saying that I'm not a big fan of revision control systems. What I want out of an RCS is simple. Let me check files in and out so that my code is backed up and I can revert and merge as needed. I have found that branches rarely get used except in the biggest of projects. Though your RCS system can probably handle it, developers are still people and you can end up in a lot of trouble when you work on more than one branch at a time. Over the years I have used PVCS, RCS, Contiuum, Source Safe, Star Team (I think that was the name) and a few others. I keep coming back to CVS because it does exactly what I want (backup and store revisions of a tree of files) and does it with a few simple commands. It also has the advantage of being supported everywhere.

    Read more...

    Tagged: java.net

    No Session-y Goodness for Me.

    March 13th, 2005

    As many of you have discovered, your submissions to JavaOne were rejected. Don't feel bad. Only one of my 6 proposals were accepted, and I'm now a Sun employee myself. I the competition was fierce. The upside is we should have a really rocking JavaOne conference coming up.

    Read more...

    Tagged: java.net

    Big news. I'm going West.

    February 23rd, 2005

    Hello All. I know it's been a while since I've been posted, so I'd like to let you all know what I've been working on. Lots of good things have happened or are coming soon. First of all....

    Read more...

    Tagged: java.net

    Apple's latest efforts are the triumph of software over hardware.

    January 12th, 2005

    Normally I don't comment on new products, especially hotly anticipated ones that a million others will pontificate endlessly. However, I'm breaking my rule because I'm quite amazed by the new iPod Shuffle and iMac Mini. Not because of the products themselves but because of what they represent. They are both the triumph of software over hardware.

    Read more...

    Tagged: java.net

    XML to Swing and the Gradual API

    December 7th, 2004

    I know it's been a while since I've posted, and sadly it's going to be a while until I do again. Work, my opensource projects, and my book are keeping me slammed. I've lots of good stuff cooking, so stay tuned.

    Read more...

    Tagged: java.net

    Webstart Rant

    October 25th, 2004

    Send me your ideas of what you'd like to see out of webstart. What are the missing features. What are the most important bugs? I want to figure out what we can do through addons and what requires changes from Sun.

    Read more...

    Tagged: java.net

    Please: think of the users!

    October 18th, 2004

    Usability is the number one concern when designing software. And I don't mean "today with modern computing and the lack of new types of software usability is easier and growing in importance". I mean computers have no other purpose than to serve humans, and a better computer serves humans better. End of story. Software that doesn't conform to the way humans do things is bad software. (bad!) I don't care how cool and awesome your software is, if it's not understandable then it's useless.

    Read more...

    Tagged: java.net

    Countdown to Christmas: a Customizable MiniApp

    October 3rd, 2004

    Back when the Web was just emerging (you know, from the primordial soup of standards) many developers put effort into making it easy for lay people to create websites. While most focused on WYSIWYG development tools or content management systems, some developers tried to sell Applets and JavaScript libraries. These were small programs that could be embedded easily into a website and customized without the use of code. No need to write your own tree control: just set a few properties on this library and you're good to go.

    Read more...

    Tagged: java.net

    Weather Watcher: Release Deux

    September 29th, 2004

    One of the things I love about Java is that I can quickly change things. With an army of libraries and Java's renowned platform independence I can quickly hack on a new feature or move code from the client to the server. A couple of days ago I showed off a webstart app with, umm, a few issues. I now proudly present :

    Read more...

    Tagged: java.net

    A New Rich Client: WeatherWatcher

    September 27th, 2004

    I think this MiniApp idea is starting to have legs. Thinking about all that Java Web Start provides we can start to imagine an application category: the so called "Rich Client". The key to a successful rich client is that it must do something that neither webapps nor native programs can do well. It must exist outside of the webrowser (the rich part), use the network for something (the client part), and not require installation (or as minimal as possible). I think my new MiniApp does this quite well.

    Read more...

    Tagged: java.net

    New MiniApp: Storm Drain

    September 22nd, 2004

    While playing around some more with this miniapp idea, I came across geographer Tyler Mitchell's weblog post about hurricane tracking using Web Map Service urls. I thought this would make an interesting MiniApp and give me a good opportunity to play with a few webservices. Starting from his base (and with some greatly appreciated clarification emails from Tyler), I've created StormDrain, a simple program that loads WMS data and displays it graphically. Here's what it looks like:

    Read more...

    Tagged: java.net

    mouth.whereIs().put(new Money())

    September 10th, 2004

    Hmm. Perhaps it should have been mouth.getLocation() instead. That would present a more consistent BadJoke API. :)

    Read more...

    Tagged: java.net

    Visions of truly portable applications.

    September 5th, 2004

    I've been thinking about the miniapps idea some more. I still think it's a good idea, but I want to extend it a bit. Miniapps are great and all, 'cause they're, well, mini.. but I want more. Java is supposed to by write once run anywhere, but in practice any given program only runs on one computer. I'm not talking about whether it can be on Mac or Windows. I mean that I typically install the software on one computer and that's it. If we've got this great portable runtime then why aren't our applications truely portable?

    Read more...

    Tagged: java.net

    Unleash the MiniApp

    August 23rd, 2004

    It's gonna be a busy week so I'll keep this short. I've been thinking a lot about moveable applications and the idea of rich clients. This is mainly on my mind because the Flying Saucer team has been hard at work on the next version of XHTMLRenderer. (We're shooting for an August 31st release) An embedded rendering component has pretty much one core use: applications with both GUI and html interfaces. But what do they look like? What creatures live in that shadowy borderland between the desktop and the web?

    Read more...

    Tagged: java.net

    My 1 year anniversary at Java.net: the social side of software.

    August 20th, 2004

    It's been a little over a year since I've been here, and what a year it's been. Or something along those lines.

    Read more...

    Tagged: java.net

past future
Like this? Hire Me!