Unlike XTide 1, which grew like a weed with code and ideas being contributed by a small but industrious group of people, XTide 2 was mainly a cathedral-building exercise on my part (see "The Cathedral and the Bazaar" by Eric S. Raymond, http://www.ssc.com/linux/Eric/cathedral-paper.html). I didn't want to make a bloated monster; I just wanted to correct the mistakes that were made in XTide 1, and clean it up so that it would be more maintainable. To that end, I switched from clone-and-hack C to abstract-classes-and-virtual-functions C++. Nevertheless, much of XTide 2 is just implementation or re-implementation of ideas and code that originated with the XTide 1 contributors and the members of the beta test mailing list. XTide 1 began as nothing but a tide clock with no other modes and very few details, and it was from e-mail feedback and contributed code that I eventually learned the features and modes that people wanted to see.
Significant chunks of code in XTide 2 came from the following people:
John Thorstensen allowed me to re-use code from his skycal distribution (ftp://iraf.noao.edu/contrib/skycal.tar.Z) to get the sunrise, sunset, and phase of moon calculations.
Geoffrey T. Dairiki's fast root-finding code survives in XTide 2 with only a C++ veneer.
Other contributions:
Alan Eugene Davis deserves special mention for being the world's best beta tester, offering timely and constructive feedback on practically every revision.
Thanks to Edward P. Wallner for lots of valuable information and tide data, including the Anchorage predictions that are so cool.
Beta testers: thanks to Dean Pentcheff for early beta testing and feedback; to Victor Bom for a 32/64-bit fix for the DEC Alpha; to Alan J. Wylie for AIX debugging; and to David Warren for an SGI portability patch.
...and a belated, very probably posthumous thanks to Paul Schureman, whose Special Publication No. 98 from the old U.S. Coast & Geodetic Survey in 1924 remains the canonical source for the tide prediction methodology implemented by XTide.
The XTide 1 contributions are summarized below. I have removed e-mail addresses from this documentation because it was too big of a maintenance hassle with people always moving around. If you need to contact someone, e-mail me and I will supply the most recent address that I have.
(This list was copied from the XTide 1 documentation, and is in no particular order.)
Thanks to Greg Seidman for suggesting many of the features that appeared in version 1.
Thanks to Frank Smith for supplying data and putting up with my confused e-mail during the stressful debugging of 1.0.1.
Thanks to Karl Hahn, Tom Brown and "George" for supplying a huge number of harmonic constants.
Thanks to Jean-Pierre Lapointe for supplying the Canadian harmonics file and lots of other harmonics, and also the unequal offsets interpolation algorithm.
Thanks to Edward P. Wallner for the endless time, effort, and cash that he spent getting harmonic constants out of the dusty decks of the world's hydrographic bureaus and onto the Internet where they belong, and for mentoring on the calculation of node factors and equilibrium arguments.
Thanks to Dale DePriest for suggesting many new features, beta testing, and porting to several flavorful operating systems.
Thanks to Dean Pentcheff for beta testing, suggesting features, coding GIF support, supplying many data sets, and generally being very active in promoting XTide.
Thanks to Jef Poskanzer for much coding, suggesting of features, and beta testing.
Thanks to Jack Greenbaum for much coding, suggesting of features, beta testing, and doing the homework to get prediction of currents figured out.
Thanks to Rob Miracle and Simon Burge for helping with Ultrix compatibility. Additional thanks to Simon for helping diagnose failures that only occurred in the southern hemisphere.
Thanks to Scott Hemphill and Edward J. Corbett for equilibrium arguments, node factors, and some accuracy improvements in the harmonics file.
Thanks to Toru Suzuki for providing and maintaining the harmonics.japan file.
Thanks to Georg Vollmers, Tom Varga, Bob Kenney, Alan Eugene Davis, Bruce Bowler, Phil Hughes, and Graeme Rae for suggesting new features and/or beta testing.
Thanks to Andrew Davidson for helping with Solaris compatibility.
Thanks to Geoff Kuenning for the SunOS patch.
Thanks to Jeff Small for suggesting features and writing the man page.
Thanks to Mikhail Fridberg for doing the Mac port.
Thanks to Paul C. Roberts and "Alex" for porting XTide to Microsoft Windows. Thanks to Mike Hopper for doing an updated port to Windows 95 and NT.
Thanks to Walt Bilofsky for the Palm Pilot derivative (Tide Tool).
Thanks to Stan Uno for Alpha and Macintosh patches.
Thanks to Jeff Dairiki for the jumbo performance patch and excellent bug fixes.
Thanks to Eric Rosen for the BSD/OS 2.1 patch.