(click to enlarge)
|Apparently this is what passes for political discourse now. I passed this thing at a major intersection on my way home from work yesterday.|
MedCosm CGHMaker (computer generated hologram construction kit) is software that will calculate what the interference pattern would look like for a given object and then allow you to print that interference pattern onto a cheap overhead transparency to make your own hologram. Said hologram can then be projected with a cheap laser pointer for viewing.
Knowing how difficult it can be to produce a hologram (huge sand tables to prevent vibration and other setup are not unusual), this looks like an easy way to play with something fun.
Here’s a kind of nice replacement look and feel you can use in a Java application instead of Metal, it’s called Tonic and there are lots of screenshots on the site to let you know what it looks like in action as well as the ubiquitous demo you can launch via Java Web Start to see it in action.
Michael Gloegl has taken my toolbox entry from a few weeks ago and turned it into a big wiki page. I’ll be adding a permanent link to it from my resources page and updating the wiki with my own additions and changes rather than continuing to keep an outline that is only of use to me.
Normally when I’m about to start a new Java project I go and get my skeleton project and make a copy of that to the correct directory name to get started. Maybe you call your skeleton something else, a template, a prototype, whatever but I’m curious if you have one. Mine consists of an already created directory structure, a build.xml file that serves as a good starting point, a handful of libraries that appear in 100% of all my apps (logging, unit testing, etc.), the shell of a ReadMe.html, etc..
Personally I don’t think this is much of a solution. What I wish I had was something that was like what the old Visual Studio did. It had a wizard that you could step through and it would ask you a set of questions before producing what was largely the same application skeleton every single time 🙂 Why don’t we have something better than that for eclipse, NetBeans, etc. It wouldn’t have to be proprietary to any one particular vendor because the core code would be agnostic to any IDE. It would be a set of instructions to ask some questions and generate files.
You could have templates for a web app, a Swing app, an SWT app, and a console app. Each one would be responsible for creating directories, writing out a build script, asking you the name of the application, the packages where the files would be put, features for that particular kind of application, etc. Where is this feature? It’s not complicated, most of it could be done by scanning through some XML that told you which directories to create, some Velocity templates that created all of the files you needed, etc. and yet the two IDEs I’ve worked with the most (eclipse and NetBeans) seem more focused on helping you create individual files but not starting points for entire applications. NetBeans did have the ability to create a simple Swing app but all it created was a file or two of Java, no build structure, place to put documentation, etc.
I do know about AppFuse and Equinox and I think they are really cool. However, correct me if I’m wrong, but I don’t believe that even those offer a wizard to tailor anything in their skeletons. Where there are choices mentioned in the documentation (e.g. iBATIS and Spring for AppFuse) they are just more documentation on what you can change, not a checkbox that you check and the change is made for you. The closest they seem to come is changing some names via ant when you create a new instance.
I can anticipate one of the biggest objections likely to be raised to this. If we do this, then how many developers are going to become dependent upon the crutch of wizards creating the shell of an application for them and they won’t understand the very IOC container or persistence framework, etc. they are using because they didn’t have to set it up. If that is your objection then I agree, but I’m not sure it makes sense to deprive the more skilled developers of the tools because others might abuse them. I’m betting with a little collaboration we could come up with some killer starting points that would be tailor made to cut time off the front of a new application.
Firefox 1.0 is not available yet, the latest is still 0.9.2. Neil’s World – More on new Firefox features gives an overview on some of what you can expect to see coming in the next version.
I was initially lukewarm on Firefox but I have to say that as time has gone on I’ve become a big fan. It’s small, it’s to the point. It makes an ideal replacement for Microsoft’s Internet Explorer for those who do not need the Usenet newsreader, email, or HTML editing capabilities of the full-blown Mozilla app.
There’s an old saying that goes, “We do not applaud because the dancing bear dances well, we applaud because the dancing bear dances at all.” Every once in a while though, you encounter a dancing bear who also dances well. PearPC – PowerPC Architecture Emulator is just such a bear. I had read about it on Slashdot a few weeks ago as no doubt many of you had, but I was keen to try it out for myself to see if I could get it to work at all and if I could then how well would it perform on a machine that I built more than three years ago.
The answers were that it was actually quite easy to get working, the most difficult part was digging up a copy of Mac OS X to make use on it (as that is really the only OS I would have any interest in running though the PearPC software supports others) and though I had expected glacial performance, it was actually quite acceptable on an AMD 1600+. Below I’ve included a screenshot of the OS X installation procedure informing me of its system requirements. It says that I must have a PowerPC G3, G4, or G5 but I beg to differ 🙂
BTW, one other site not to be missed is PearPC.net. Their step by step guide to getting it running had me going in no time.
OK, I interviewed three people today for positions at my company. As one of the questions in the interview I thought I’d give them my list of the names of ten “obscure” Java projects and see which ones they could describe. My hypothesis going in was that: a) Everybody would get some of the easy ones like Velocity and Lucene (after all, they are Apache projects) and b) I would prove my critics wrong because nobody would get all of them right or even eight out of ten.
None of the people in question listed less than several years of Java work and most claimed good knowledge of various J2EE technologies like JDBC, JSP, Servlets, and EJBs. Based on the interviews, they weren’t very strong candidates but two of them were so-so.
At the end of the third interview not one of them had come up with even a one sentence description of any of the ten items that came close to the project. I got one who referred to Lucene as that “text formatting thing”, I think he may have confused it with Velocity. Another referred to Apache XML-RPC as something to do with Apache’s web services stuff, “like SOAP.” Grand total I had gotten maybe six guesses and/or mumbles about the items and that is as close as it came folks.
I’m curious to see if anyone next week will be able to identify any of them and if anybody else has any interviewing to do, what are your results?
OK, this needs work, I took the outline file I keep in JOE (the Java Outline Editor, yay!) and put it’s OPML through a hastily generated XSLT to produce the following mess. No doubt I can now receive a volume of criticism for poor formatting.
Note: I’ve moved the list to the extended entry so it doesn’t all show up on the main page of my weblog. I’ve also fixed the first few bugs I found in the list (no doubt the first of many. I’ll keep working on the formatting and fixing bugs until it is fairly readable.
Carlos Perez took exception to many of the items I included in my own list of obscure Java projects from yesterday. I’m very pleased that he chose to do his own (wonderfully titled 🙂 ) Manageability – Top Ten Truly Obscure But Useful Java Projects. I hope others do the same to shine the spotlight on projects which they believe aren’t getting the mainstream attention they deserve.