Again, quite a few days without an update here. But, that doesn’t mean I’ve been idle. I almost have a functional version of HotSheet ready. It can parse and display the contents of RSS 0.90 and 0.91 channels already. There’s still lots and lots of work to go but I think by Monday I’ll have some code I can give to Don to start playing with. By late next week I think I’ll have an application that you can download from this site (single click Java WebStart install of course :) that has most of the functionality of Headline Viewer or Novobot. Those are the only two end user tools that I know of that deal with retrieving RSS syndication files and displaying the news items found.
SkinLF 0.3.1 is a nifty skinning library for Java applications (and applets).
Also, ran across my first two Java apps today that use Java WebStart for simple one-click install and run. Jext and ArgoUML both have started making use of it. I’d be surprised if it was too far in the future before Freenet started using it as well.
Speaking of Freenet, check out LimeWire, a peer-to-peer file sharing application based upon the Gnutella protocols that is written entirely in Java! It looks sexy, is easy to install (although it doesn’t yet use WebStart) and is just the sort of thing to draw people towards using Java for their everyday applications.
Not a lot of updates this week doesn’t mean that I’ve been totally idle. I’ve managed to do at least some work every day on HotSheet. HotSheet is a program to retrieve syndicated news from websites in RSS format, parse it to extract the individual items, and put all the new items into a store. That store can then be used by other parts of the program to email new items to you or display them on a website or pretty much anything your heart desires.
Another new article on the JDK 1.4. It pulls material from some of the items I listed before but includes some things that I hadn’t seen.
Software of the day:
Nullsoft SuperPIMP Install 1.1o Beta Released
A simple little install engine that was developed for WinAmp has been available for a while and it even gets used for various stuff here and there. For example, the Freenet install for Windows uses SuperPIMP. Eventually Freenet should be moved to a new cross platform Java installer but for Windows only installs of simple software it looks like SuperPIMP would do the job.
The page takes a long time to load but you get a really nice Java based GameBoy emulator that can load a slew of ROMs on demand and it will let you play the games at full speed on any of the hardware I tried it on (I think the slowest was a 300Mhz Celeron). The only downside is that there is no sound support. On the upside, I’m betting there will be sometime after April 12th because that’s when the author will be releasing the source code.
Something I’ve been thinking about is all the software that gets started but goes unused, unfinished, or is underappreciated. With that in mind here are my first four:
Stalled Projects That Deserve To Be Revived
A really nifty Java based content management system that was supposed to become open source. Unfortunately it has been sitting in limbo “waiting for the open source license to be approved by the corporate lawyers” for at least eight months now. Will it ever see the light of day?
Freenet needs a front end and Metropolis has good looks, good ideas, and a good start already coded. Unfortunately it sits languishing on SourceForge.net with nobody working on it. Somebody could pick this up and have a good working Freenet front end done with an hour a night for a month.
Compaq acquired this micropayment system when they bought DEC. Then they promptly put the brakes on it just when it seemed to be getting some steam behind it. A pathetic waste of an excellent, needed technology.
IBM opened up the source to their Java based agent libraries. There is even an easy to find book describing the power of software agents and developing them using the IBM libraries. Unfortunately the software hasn’t kept pace with Java itself and is incompatible with Java 1.2 or above and nobody seems to be working on the libraries to upgrade them. When everybody is talking peer-to-peer all the time this is a resource that really shouldn’t be ignored.
Today is musings day at Rarebit Fiend:
I can’t help but wonder why there aren’t a million interfaces to Freenet available already. If you want to interface the Java code directly into your program or call it from the command line it would take some effort to build an interface. But with the proxy interface (FProxy gets started automatically for Windows nodes) all that you have to do to download a file is pull a URL. You really can’t get any easier than that in Java or most other languages these days, it’s only about one line of code.
I’ve played EverQuest a few times recently. It is truly, seriously butt ugly! I developed a very simple 3D world for Crystal Semiconductor several years back using the old Direct3D Retained Mode (which is no longer updated as part of DirectX so don’t bother using it). That engine was developed five years ago and yet I’ll swear that EverQuest doesn’t look one bit better. You’d think that with all the really nifty 3D engines out there that they would have simply licensed something and used it.
Speaking of 3D, Java 3D has evolved to a point that installation and use (at least on Windows) is really quite easy. All that it does is put a new extension JAR file into your extensions directory. After that you can go to their examples page and it will display various 3D examples using the Java plug-in. Because it uses the plug-in, it’s compatible with any popular browser from version 4.0 on. I wonder how much effort would be required to get an engine that looked as good as EQ going using Java 3D. Given the wide availability of Java 3D on different platforms you would have the first multi-platform massively multi-player online game :)
Sun just released a sample application showing off Java 3D called the Java 3D Fly Through. This picture shows what it looks like:
Please be aware that if you want to download this and run it, it features one of the most unpleasant mouse interfaces in history. Whomever wrote it certainly didn’t mean it to be used by an end user. Nevertheless, on a good video card it was managing a reasonable frame rate even with a huge number of triangles and a lot of texturing. I’m certain that it would make a good starting place for anybody interested in building something more interesting than this little demo.
I worked on the weblog tool some Wed. night and hopefully I’ll get more done this weekend.
I installed Java on Linux for the first time today and I had a little trouble but got it working successfully with both the Java Plug-in for Netscape and Java WebStart. At least in my mind, Java is clearly the way to develop and distribute code. When somebody can click once on your webpage and they get a complete application downloaded, installed, and running; that kicks ass! If you should ever update the program, the update will also be automatically downloaded and installed to update the user. Oh, and your code will run without changes on Windows (all modern flavors), Linux, Solaris, and OS X when it ships. Java is a godsend.
Since I did an example program using Java WebStart once before I’ll try to package it up and put up an example program with a link here just to show it in action with something that I actually wrote myself.
P.S. I forgot to add Netscape Sidebars as a potential publishing format for the weblog output when I was making the lists below.
Creating for the web can be boiled down to three elements coming together for any given web page.
These come together in a staggering array of combinations and different forms but most of them boil down to just these three things. Sometimes the content is combined directly with its format, for example most people type text for pages and mingle HTML formatting tags directly into that text. Then they publish the result by copying the resulting files or FTP them to an HTTP server that is the final destination people connect to.
In other cases people start with XML or databases or who knows what else, combine it with XSL or JSP or ASP or some other formatting technology, and then they send the end result directly to the end user from the web server. In those cases the pages are built on the fly and every user who visits may see a different page than the last one to visit.
What I want now is a web logging tool that lets you edit data of a variety of different types. The initial type would be a simple one that I’m already quite familiar with (i.e. news/logs). The data would be stored for the user, combined with one or more format templates, and then published using one or more different publishing mechanisms.
So after thinking about the different parts and how they combine I’ve arrived at the following mix of parts that I think make up a good minimal system.
- News/Log items
- RSS 0.91/0.92/1.0
- The null publisher
- The FTP publisher
And some ideas for a more fully fleshed out system.
- News/Log items
- Picture catalogs
- Link catalogs
- Third party RSS channels
- RSS 0.91/0.92/1.0
- The null publisher
- The FTP publisher
- The Freenet publisher
- The file copy publisher
- The FrontPage publisher
Down and out for two straight days sick. I’m still feeling terrible but at least I can get in front of a computer to do some much needed work.