Tuesday, March 21, 2006

CDBurnerXP Pro

To install the operating system Fedora (a.k.a. Red Hat Linux), you need to burn ISO files to CD-ROM or DVD. Unfortunately, many of the Windows CD and DVD burners require a paid upgrade for the ISO support feature. If you want to do it all for free, it is sort of a catch-22: you need to be running Fedora to burn the Fedora ISO's so that you can install Fedora.

Finally after much searching and experimentation, I have settled on the free Windows application CDBurnerXP Pro version 3.5. I notice that other people I know use it too.

It did what I needed; now I can install Fedora. In writing this now, I am mildly annoyed to discover that after finally creating a set of Fedora Core 4 CD's a couple of days ago, Fedora Core 5 came out the very next day.

For a list of more free tools, please see the CroftSoft Links webpage.

Windows Defender

The free anti-spyware program from Microsoft is now called Windows Defender. Yesterday I installed it on a work computer that had been used previously by a number of different employees. I found over a dozen remote access, trojan, and spyware programs.

I also used the free Yahoo Toolbar anti-spy program and caught a couple more. I see it has been upgraded to support Mozilla Firefox 1.5.

For good measure, I also ran Windows Update. It prompted me to install a security update.

See a list of more free tools on the CroftSoft Links webpage.

Friday, March 10, 2006

Public Domain Photos

I recently discovered that Yellowstone National Park offers a collection of thousands of Public Domain images of natural scenes and animals from their Yellowstone Digital Slide File website.

I've added a link to this site to the list on my Public Domain and Royalty-Free Media webpage.

Monday, February 27, 2006

Eclipse Compiler Restrictions

I learned something useful today from this EclipseZone article on Project Compiler Restrictions. Read more in my updated tutorial Eclipse Setup.

Sunday, February 19, 2006

Newsfeed Intelligence

I do not like forums because you have to poll the website to see if there is anything new posted. I prefer mailing lists because they are event-driven: when new content is posted, it is e-mailed to you.

Sometimes, though, I get overwhelmed by my mailing list subscriptions and I end up just filing the e-mail in a folder instead of actually reading it. For example, the Accelerating Intelligence News e-mail newsletter is great stuff but I often do not have time to read it when it arrives. Most of the newsletters I receive from this source sit unread in my ever-expanding "read someday" folder.

Fortunately you can also get this same e-mail newsletter via an RSS newsfeed. Whenever I have the time to do a little reading, I can simply click on an icon and my Sage newsfeed reader will immediately poll all my favorite newsfeed sites for me. It has the advantage of forums in that the content does not clog up your e-mail but it does not have the disadvantage of necessitating that you poll each of the forum websites manually.

The Yahoo Groups electronic mailing lists are great in that you can now access the content via e-mail subscription, the website, or an RSS newsfeed. Is this an example of convergence?

Friday, February 10, 2006

Spike Simulation

Today I presented a talk on "Real-time Simulation and Processing of Peripheral Nerve Spike Activity" at a meeting of the Dallas Area Neuroscience Group. The slides are available in OpenDocument (OpenOffice.org) format from the Documentation link on the CroftSoft Newt Cyborg webpage.

Tuesday, January 31, 2006

Logging

Previously I had been using System.out.println() and my own logging package for debugging. I had heard about the java.util.logging package back when it was introduced in Java 1.4. I did not look into it as I had read comments from other programmers saying that they preferred alternative logging packages such as log4j.

Recently the Open Source Java project Xith switched from log4j to the Commons Logging API. The Commons Logging API appears to be an adapter API to allow you to choose a logging implementation at run-time.

This got me thinking about logging again so I learned how to use the java.util.logging package today. The Java Logging Overview got me started. I could not find a logging tutorial in the Java Tutorial but the java.util.logging Examples from the Java Developers Almanac gave me what I needed.

I had never stumbled across the Java Developers Almanac example source code before. I do not know if the book is any good but the online examples sure are helpful. You can search for code examples by core package name. I am going to add a link to it from my list of developer resources.

Thursday, January 26, 2006

Javadoc LinkSource

I just used the javadoc linksource option for the first time, available in Java 5.0 and Ant 1.6. It generates links in the javadoc to the corresponding source code listings. I think it is very convenient to be able to click on a class or method name while browsing the javadoc and see what the code actually does, especially if there is no description or the description is not up-to-date.

The javadoc source code listings are not color coded like those on SourceForge.net but they do include line numbers. Take a look at the updated CroftSoft Javadoc and the linked source code listings. I am particularly fond of package Exemplar.

Tuesday, January 24, 2006

Continuous Design

I have been preaching the software design methodology where you release early and release often. After each release, you add just one new feature at a time and then release again. This ensures that you always have a recent working demo available online while you work on the next feature. This is ideal for Open Source projects.

I have seen this called the "spiral", "component assembly", or "incremental release" design lifecycle. From what I can tell from this recent About.com article, it is also called "evolutionary", "emergent", and "continuous" design. Is it all the same thing or are there subtle differences?

Regardless of what it is called, I think it is a good way to go.