JStrack

17 October 2010 update (more like a total re-write) by me (Jim Graham).

JStrack is a freeware hurricane tracking program written entirely with Tcl/Tk. Since its early days in 1997, JStrack has grown a bit (grin). NOTE: JStrack's author (that's me...Jim, N5IAL) was diagnosed with cancer back in 2006, and has since kicked caner's backside into another universe. I am still dealing with the long-term side effects, but that's enough about that.

Thanks to The Kendrick Group, JStrack has a rather large home at jstrack.org. It is also the home of my brewing pages, including a Tcl/Tk based brewer's recipe formulator called GTbrew2. I've also got a few other Tcl/Tk toys, like as 24-hour analog clock, a Sudoku puzzle script that uses two external C programs to generate Sudoku puzzles at various levels, solve either generated or manually input puzzles, etc.

JStrack is freeware or, if you prefer, donationware. Here's how it works: if you want to use JStrack, you are free to do so. If you really, really feel that you must send money, please send it to the Red Cross/Red Crescent (depending on where you are), the Salvation Army, or basically, some charity-based disaster relief agency.


JStrack now uses the Img library and a few external compiled programs from the netpbm (formerly pbmplus) package to display GOES EAST satellite imagery.

JStrack has two primary data inputs: pipe data directly to its filter script (pure Tcl), e.g., from incoming NHC products using the WX-ATLAN e-mail list (and procmail), and also has an HTTP-based input mode that grabs the data (select products, all files newer than that product's timestamp file's modification time) from the NHC's HTTP server. This replaces the old FTP-based version (the NHC's FTP server is an old, legacy system that is likely to be phased out before too much longer).

As of this year, 2010, JStrack also has a new map, courtesy of Ron Murphy, NWS Birmingham, who provided the other three current maps back in 1998. Windows users now have an EXE version using a tclkit. It basically just calls the real script, passing command-line args, standard input, etc.....

JStrack does some, shall we say, backwards use of the Tk canvas to do things like determine whether or not a storm's current position and/or forecast positions are within a user-specified distance from the user's home coordinates---I forget how I did this, but it was something I struggled to figure out for a LONG time, and then, one day, while looking for something completely unrelated in the canvas widget docs, saw my answer: apply this one capability in exactly the opposite way from which it was intended to be used, and it does the math for me! There are other examples of the canvas widget working some powerful magic, but that has to be the #1 example, at least, IMHO.

Did I mention GOES EAST imagery? Did I mention that, using the IMG package (and, again, a few bits from pbmplus, netpbm, or whatever it's called this week <grin>), the satellite imagery can either be viewed in a new toplevel, which allows for individual images or image loops, or overlaid on the tracking map (the canvas) as a still image only.

Yes, JStrack has grown. Check out the sample screenshots in http://www.jstrack.org/jstrack/screenshots/ which has samples showing JStrack's evolution since its "birth" (and that map was really, really awful) to an almost-current sample. A more current (but still not completely up-to-date---it's version 3.0.2, but the current version is 3.3.2a) screenshot is in the main index at http://www.jstrack.org/jstrack/ (right up near the top).

Without Tcl/Tk, JStrack would never have happened. Check it out as an example of what someone without any kind of software development degree (my degree is in electronics/telecommunications ... I'm a network engineer, not a programmer). When I write code, it's more of a problem-solving tool. Tcl/Tk is fantastic for this, IMHO.

One final note: I have been working on JStrack since I was almost a beginner with Tcl/Tk, and some portions of the JStrack code clearly reflects this.... It works, though, and I'm not too thrilled with the idea of going back in and fixing what isn't really broken...just not as elegantly-coded as it could be.

JDG: 10 December 2015: Wow, I've really let this get out of date.... A LOT of things have changed since the last time I updated this (and, apparently, before then). Looks like I already mentioned the new Caribbean map, so that's good. If I didn't mention the e-mail list for JStrack, it's out there. It's [email protected] (see http://www.jstrack.org/jstrack/join_jstrack.html ) for details on joining the list. Another thing that I apparently never mentioned here are the two cancers. Simply put, my first forced me into social security disability AND has severely limited my ability to continue work on JStrack. If/when any further new ideas or bugs needing fixes come in, the new release may not be as quick to come out as in the past...... This is especially true now, as I'm facing a potential 19% cut in benefits in 2017 if Congress doesn't get off their butts and fix SSD (last I heard, they're waiting until the last second to even think about it). So, I'm spending all of my time that isn't spent on volunteering with the American Cancer Society and our local (Fort Walton Beach, FL) Relay For Life, blasting WAY past the limits cancer #1 inflicted on me (thus frequent migraines, etc.) learning to day trade (and not being stupid about it, either....paper trading until I'm getting consistent wins) so I'll be able to deal with that 19% cut (and eventually, no longer need SSD at all). JStrack is still using Tcl/Tk 8.4.x (preferably 8.4.19), and I'm only up to 8.5.x...... I haven't even had a chance to look at the newer versions, and trying to upgrade JStrack is beyond my limits these days. But, as an old professor once said, "Don't fix it if it ain't broke." :-) That's why some of the code still looks like it was done by a beginner ... it was ... by me when I was a beginner.

One final note about JStrack. The .exe launcher for the Windows version is it. I have a Mac now, and don't have Wine or any of the other emulators, so it's as is.

And if anyone is interested, first cancer 2006--2007, testicular cancer with mets to my lungs, then my brain (three tumors), then back to my lungs. Cancer #1 tried to kill me repeatedly, but I refused to let it. Still, I just recently found out that apparently, everyone else (NOT ME) around me thought I was dying. I don't know why...I never thought I was dying...... It definitely did its share of permanent damage, though. If you count up any typos in this new section that I've missed, or that my brain just didn't see (one of the tumors was a 2.5cm tumor in my left occipital lobe), or words that might be mixed up (start one, and then start the next one before finishing the first), etc., that's why. I usually feel them as I type, but sometimes my brain overrides that and sees what isn't there instead of what is. Cancer #2, fwiw, was stage one...one surgery and cancer #2 joins cancer #1 in a hazmat bin...where all cancer belongs.


Links:

   JDG:  I actually don't remember whether the Sudoku thing is still up or not......