TclTicker README Copyright 1999-2001 Tom Poindexter A simple stock tickertape, using HTTP requests to fetch quotes. The companion program, mailquote, emails quotes to an email address. Version 1.3, October 18, 2001 REQUIREMENTS: You need Tcl/Tk installed on your system. TclTicker requires Tcl/Tk 8.0 or later. If you use 'mailquote', you'll also need the 'ezsmtp' package by D.J. Hagberg: http://www.millibits.com/djh/tcl/index.html INSTALLATION: Simply unpack the archive. 'tclticker' expects to use 'wish8.3' as the wish interpreter name. You may want to change the interpreter name to the wish interpreter you have installed on your system. E.g, 'wish8.1', 'wish8.2', etc. For Windows users, you may want to rename the file to 'tclticker.tcl', so that the file can be started simply by double clicking on the file icon. You may want to put the quote service files into their own library directory. If so, then set the environment variable TCLTICKER_LIB to that directory. Otherwise, TclTicker will expect to find quote service library files in the ./lib directory, relative to the main 'tclticker' file. NOTES: Click on the ticker tape (any mouse button) to pop up the configuration window. Currently, you can choose between two different quote sources, finance.yahoo.com - provides decimal values, north american markets (default service) uk.finance.yahoo.com - provides decimal values, european markets Enter the security symbols (stocks, bonds, mutual funds) that you wish to track, and adjust ticker speed, font, and data refresh options to suit your needs. TclTicker saves user configuration into the file $HOME/.tclticker. Also, if your network requires HTTP requests through a proxy, enter the proxy hostname (omit http://), and a port number (assumed to be 80 if not entered.) If you plan to use mailquote, you might need to specify a smart SMTP mail host that will relay your mail. Otherwise, the ezsmtp package will attempt to contact 'sendmail' (or equivalent) on your localhost, TCP port 25. Adjust other parameters as you desire. A smaller value for 'ticker delay' causes the ticker to run faster. The settings take effect after you press 'Ok'. The timestamp shown in the tickertape is the local time of the last quote fetch. Note that quotes are usually delayed 15-20 minutes or more by quote providers. You can write your own quote service. You should name the file of your new quote service as 'service'.tcl. Refer to the distributed quote services as models for new services. Be sure to rebuild the Tcl file 'tclIndex' in the library directory. Symbol lookup is provided. Press the 'Symbol lookup' button on the configuration window. The lookup function uses the previously selected quote service lookup (if available). NOTE - if your site requires an HTTP proxy, be sure to set the proxy first, making sure quotes are being received. Otherwise, the symbol lookup may hang, because the proxy had not be previously set. If your search is too general, the results may not include the symbol for which you are searching. A security type may be specified to limit the symbol lookup. Note however, that some quote services do not accept all types presented on the symbol lookup dialog, and default to 'any' for any unsupported security type. You can also use your web browser on any site that provides quotes & symbol lookup (finance.yahoo.com, quote.lycos.com, www.etrade.com, cnnfn.com, www.schwab.com, www.dbc.com, www.datek.com, etc.) Also note that different quote providers require different symbols for composite or industry averages. For example, the three major composites commonly tracked in the U.S. are: finance.yahoo.com www2.marketwatch.com Dow Jones Industrial Average ^DJI $INDU NASDAQ Composite ^IXIC $COMPQ Standard & Poor's 500 Index ^SPC $SPX The default ticker symbols you get when you start TclTicker for the first time includes both sets. TclTicker accepts one command line argument, the word 'setup'. This takes you directly to the setup configuration window, before starting the ticker. MAILQUOTE Mailquote uses much of the same code as TclTicker, but instead mails quotes to an email address. An email address is required. Mailquote uses the same $HOME/.tclticker file as TclTicker for quote service selection and symbols. Optionally, you may specify alternate symbols on the command line; mailquote recognizes an optional "-q" flag for quiet operation (quietly ignoring errors): mailquote -q some_email@somewhere.net IBM GE ^DJI RHAT mailquote some_email@somewhere.net # uses .tclticker symbols Mailquote is useful to send quotes to pagers and cell/pcs phones that support text messages via email, perhaps on a regular basis using cron. Note that many text messaging systems limit the amount of text sent to these types of devices. Be sure to place your most important symbols near the beginning of the symbol list in TclTicker, or execute mailquote a number of times with various symbols on the command line. Mailquote requires the 'ezsmtp' Tcl package by D.J.Hagberg, available at: http://www.millibits.com/djh/tcl/index.html Use TclTicker's configuration window to set a smart SMTP relay host, if needed. ACKNOWLEDGEMENTS: The code for the basic tickertape was taken from a tclet written by Laurent Demailly: http://www.demailly.com/tcl/plugin/ticker.html A small proc from Don Libes' cgi.tcl is also used to help format the URL quote request via HTTP: http://expect.nist.gov/cgi.tcl/ CHANGES: 1.0 Dec 7, 1999 - first internal version 1.1 Dec 20, 1999 - first released version 1.2 Dec 28, 1999 - remove www.quote.com, add www2.marketwatch.com. - check if first time run, present config window, so that http proxy, et.al. can be set. - don't arbitrarily convert symbols to upper case; instead, examine symbols returned from service, and use those if case insensitive match. - check that at least one symbols exists. - feeping creaturism! symbol lookup is now provided. - allow use of command line option 'setup' to start in the configuration setup window, before starting the ticker. 1.3 Oct 28, 2001 - when tclticker is iconified, the icon title displays ticker info - add button to clear results in symbol lookup dialog - add security type selection in symbol lookup dialog - fix finance.yahoo.com.tcl for symbol lookup - fix uk.finance.yahoo.com.tcl for quotes & symbol lookup - drop marketwatch quote service LICENSE: (BSD style) TclTicker is distributed under the following license terms: This software is copyrighted by Tom Poindexter, 1999-2001. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license.