What's New?
Source Code
I completed the restoration of Java source code on 28 Apr 08. I had not updated Liberty Basic files recently because I couldn't access the Help Files from Windows Vista. I have now downloaded a patch from Microsoft that fixes the problem. I have LB 4.03 running with Help Files in Vista, but I doubt I will be updating files until the Fall.
Java Instructions
Because Java source code is being restored, I decided to add Instructions for downloading Java and starting to use it. These instructions were uploaded on 7 Apr 08.
Java Source Code
When I deleted the Java source code (see items below) I forgot about one very important user - myself. Jack's Page acts as an archive for the latest versions of my programs, and I need the Java source code in that archive. I have started restoring it: on 24 Mar 08 I restored it to the Fieldlines and Equipotentials section. Source code for other sections will be uploaded as minor revisions are completed.
All the Java class files on Jack's Page have been produced by the Java 1.3 compiler and run in both Windows 98 on my Fujitsu notebook and Windows Vista on my HP desktop. I will continue using Java 1.3 although Vista has forced me to use the 1.6 version of AppletViewer for some of my development work. Higher version numbers are not necessarily better - Java 1.3 is an order of magnitude faster than Java 1.6 at evaluating trig functions with large arguments.
Matrix Wave Optics
On 14 Mar 08 I restored Liberty Basic source code to Matrix Wave Optics. Help Files for Liberty Basic versions 4.03 and earlier are not supported by Windows Vista, but I have been told that they will be for version 4.04. Note also that window sizes in recent Liberty Basic programs have had to be increased for Windows Vista.
Wave Motion
On 20 Feb 08 I uploaded a revised version of the Wave Motion section of Basic Physics. Liberty Basic source code is now included for all of the programs. Unfortunately, my computer died in the middle of the revision process. Its replacement has dragged me (kicking and screaming) into the world of Windows Vista. That, in turn, has required me to make changes to the size of the windows opened by Liberty Basic programs (a process that is on-going).
Java Source Code
On 30 Jan 08 I deleted the Java source code for all but the first three applets in the Newton's Law section.
Java Source Code
All of my programs have the same form and do the same thing: they calculate something and display the result. The calculations range from very simple for a mass oscillating on a spring, to quite involved for its quantum analog (solving the Schrodinger Equation directly or finding and superposing stationary states). I write the Java paint routine in the form of a simple Basic program (something a Java programmer would never do). I do this to show that only a very tiny subset of Java is needed to do calculations and display the result.
I have begun to doubt that there is much point in posting my Java source code. Certainly it won't interest a Java programmer, and I'm beginning to doubt that it will inspire anyone out there to download Java in order to work with it. Java is fast, free, and runs in a browser, but it is a huge intimidating software package. I found I needed more than the documentation that came with the package, so I bought "Java Programming for Dummies" by Donald J. Koosis and David Koosis when it came out in 1996. In its introduction it said that:
This book is intended to quickly get you writing your own Java applets. We don't intend for this book to turn you into an object-oriented programming guru, but we do want to give you the confidence to try your hand at putting interesting, fun, and useful Java applets on your web pages.
That was just what I was looking for. Java has changed a lot since 1996, so I recently bought the 2007 edition of the book (now written by Barry Burd). I was dismayed to read in it that:
These days applets are passe. Real Java programmers roll their eyes when they hear the word applet. . . For Java programmers, the real money isn't in creating glittery Web pages. The real money is in business applications with Java EE. . . Skip the whole applet business and move on to Chapter 3. Hardly anyone uses Java applets these days anyway.
I will probably end up deleting the Java source code, but I need to think about it a bit longer (until the end of January 2008). In the meantime I am stripping the threads out of my Java programs (they don't do anything useful in my program structure), and I have stopped eliminating the Liberty Basic listings that use XOR animation. I will restore the listings I have eliminated, so there will be a complete set of source listings even if the Java listings are deleted.
Wave Motion
The Wave Motion section is currently (Nov 07) undergoing minor revision. The previous revision deleted the treatment of the normal modes of a string with segments of differing mass density. That has now (22 Nov 07) been restored. There will be further minor revisions, but they will not be noted here.
The Special Theory of Relativity
The completed section on The Lorentz Transformation was uploaded on 7 Nov 2007. There is an introductory section on the Lorentz transformation and an applet that deals with the apparent rotation of a relativistic sphere. (Oops! I forgot to upload the equations - that was done on 9 Nov 07.)
Diffraction
A section on Diffraction was completed in February 2007. It includes source code in PostScript as well as in Java and Basic. PostScript runs in GSview at a speed intermediate (the geometric mean) between Java and Liberty or BBC Basic. The PostScript Language Tutorial and Cookbook is probably the best introduction to a language that has ever been written. When you start reading it, you say "Hey, I can do that!", and you are off and running. (Later you will probably want the Reference Manual too). The Ghostscript graphical interface GSview available from Ghostgum for free download.
Wave Motion
Revision of the Wave Motion and
Matrix Wave Optics sections was completed in
April 2007. There are minor revisions to the Java applets, but the main
changes are in the Basic programs. I no longer revise Visual Basic code,
so that has been deleted, and I have
eliminated XOR animation from the Basic programs in these sections.
BBC Basic has
three commands, * REFRESH OFF, * REFRESH, and * REFRESH ON that greatly
simplify animation. The first turns off the Windows refresh; the second
generates a refresh when you want to display a frame; the third returns
refresh control to Windows.
When comparing Java and BBC Basic, note that both locate and size
controls in pixel units with origin at the upper left, but BBC Basic
switches to a half-pixel unit with origin at the lower left
for graphics.