Heard it through the Bit-vine... - Notes and News about the Products you use
by Tom Hebenstreit, Review Editor
Published 1999-03-01
Printer-friendly version
Oh ,boy, oh, boy. Another month,
another chance to chat with you all. Glad you could make it!
Uhhh, it's 1999 guys redux
Based on my little rant last month regarding the default CW
compiler optimization settings of '286', a little birdie told me
that the screens aren't even used by the compiler/linker anymore.
Well, shucks. Why not go whole hog then, and at least make the
screen interesting? My new proposed optimization settings are:
- Dog slow (for obnoxious clients)
- Faster than VB - nyah, nyah, nyah
- Warp Factor 9, Mr. Sulu
- Fastest program in the whole entire freakin' universe!!!
- 11
And how about changing 'Optimize for Speed' to something more
useful like, ummm, 'Optimize for Income'?
Or how about 'Optimize for Precognition'? That way the program
could know ahead of time when the user is going to make a dumb
move… ("You don't really want to click there…
now do you, Dave")
Have YOU got any good suggestions? Send them to me and see
your name up in phosphor here at the Bit-vine!
Make way for C5a…
TopSpeed has announced what they call the first official Interim
Release for Clarion 5. Not to be confused with SR-1 (Service
Release 1), this update is designated as C5a. According to the
flyer I received, it 'corrects more than 300 anomalies', has a
major Embeditor performance boost and adds a few new classes and
features.
Someone was a bit quick on the trigger for the flyers, though,
as I received the 'now available' notice in mid-February. A quick
visit to the TopSpeed web site revealed that the actual release had
been delayed until the beginning of this month. I'm not
complaining, though - anytime they want to take an extra couple of
weeks to ensure that an update is as 'anomaly free' as possible is
fine by me.
By the way, it may even be up now, but I couldn't get through to
the TopSpeed web site all day long to check on it as I was writing
this. Maybe they are testing 'Web Site 5a' as well.
Time to get back to 'de-anomaly-ing' my own code…
Clarion 4c peeking out from the shadows
The first candidate release patch (Candidate Release 1) for Clarion
4c can now be found on the downloads page at the TopSpeed web site.
This patch requires Clarion 4b, so don't try to install it over
plain C4 or C4a (the C4a and b patches are also available at the
site). Remember that this is NOT an official patch yet - it is only
a candidate (in other words, a beta that they hope is finished).
From the TopSpeed announcement: "Many of you have told us that
you have not been able to migrate to Clarion 5 yet because of
ongoing projects in Clarion 4, and we understand. TopSpeed has
taken all of the database driver fixes from Clarion 5 Enterprise
Edition along with some important runtime library fixes, and
applied them to Clarion 4. This C release of Clarion 4 is the last
planned update for the Clarion 4 product line."
I took at look at the fix list and it is 99% drivers with a few
runtime fixes. You can download the list without downloading the
patch itself either from the web site or directly from their FTP
site -- that way you can scope out the update without committing to
it. ftp://topspeed.com/patches/c4cfixes.zip
Also, if you are using the Oracle Accelerator and upgrade to
Clarion 4c (Candidate Release 1), you will need to download an
additional patch from the same location.
Happy, Happy 99? No! No!
A lot of people have been getting hit lately with a semi-obnoxious
worm program called HAPPY99.EXE. This program comes attached to
email and even newsgroups postings, so if you get an email with
this EXE attached to it, DO NOT RUN THE PROGRAM!! You can either
delete the email, or extract and delete the program without running
it.
How does it spread? If you actually run HAPPY99.EXE, it just
displays a window with some fireworks in it and a Happy New Years
message. No big wup. In the background, however, it is busy
replacing the DLL through which all Windows internet calls
are routed (known as Winsock DLL) with a modified one of its own.
It also places another file in your Windows\System directory called
SKA.DLL after copying itself to the same location as SKA.EXE. Once
it is in place, it will intercept ALL email and newsgroup postings
you try to send, attach HAPPY99.EXE to the message, and then
send it along to the next unwitting victim. They, of course, think
you wanted to send them the program and so they run it,
thereby infecting their machine (and so on and so on…).
I don't know about you, but I have found that sending
viruses/worms via email is not the best way to win friends and
influence people.
If you do get it, do the sender a favor and point them at the
following URL:
http://www.symantec.com/avcenter/venc/data/happy99.worm.html
This is part of the Symantec Antivirus Research Center (SARC),
and it is a set of detailed instructions on how to remove the worm
from your system.
On a more general level, SARC is a great place to have
bookmarked for all the latest information on not only viruses, but
on virus hoaxes as well. If you are as tired of getting hysterical
'Forward this to everyone you know' virus emails as I am, point the
senders to the main SARC site (shown below). You'll be doing
all of us a favor.
http://www.symantec.com/avcenter/index.html
Oh, yeah. Why did I call this only 'semi-obnoxious'? The worm is
not really malicious, as in trying to delete files or mess up your
hard disk. It even copies your original Winsock (WSOCK32.DLL) to a
safe place before replacing it. None of that mitigates the fact
that it IS a disruptive and intrusive pain in the (fill in your
favorite body part here), of course.
And why bring it up here? Well, a client called me last week
wondering why an email generator I wrote for him was hanging up
every time he tried to send email. I was puzzled as to what could
be causing this, so I asked him to send me the TPS data files on
the off chance that something had gotten damaged. Guess what I got
instead? Right. Email with HAPPY99.EXE attached. By the way, the CW
app was using the Princen Sendmail Templates. Whether it was by
design or not, all I can say is that I'm really glad the Princen
routines hung up instead of blithely sending off the corrupted
email.
By the way, HAPPY99.EXE has also appeared on the TopSpeed
newsgroups, though they have been very good about removing it as
soon as it is spotted. Keep an eye out yourselves…
About the Size() of it…
I have a rule which I use in all of the programs I am responsible
for (written by myself or others), and that is: NEVER, EVER
HARD-CODE VARIABLE SIZES.
By this, I mean field sizes, array dimensions, whatever
(otherthan the original declaration). For example, if you
know that a field is 30 characters, there is a temptation to simply
use that number when manipulating it, like this:
XString = MyField[10 : 30]
This, of course, will work just fine… until someone
decides that field should be 45 characters. Or maybe you are saving
the contents of a variable, and have declared the save variable
like this:
SAV:MyField STRING(30)
Now you are faced with tracking down every instance where
you used 30 in your program, and missing an occasion can cause the
most insidious types of problem - the one where it works
most of the time, i.e., it works when the data is still less
than 30 characters long. And when it fails, it just silently messes
up your data. No crashes, no warnings, just slow data corruptions.
Ouch.
Thankfully, there are two Clarion language statements which can
save you a WORLD of trouble down the road if get in the habit of
using them. They are (drumroll, please…) SIZE() and
LIKE().
Briefly, SIZE() is used in executable code and returns the
declared size of a field. LIKE(), on the other hand, is used when
declaring things and basically just creates a duplicate of the
source variable or structure. For the previous string slicing
example, we would say:
XString = MyField[10 :SIZE(MyField)]
What happens here is that the compiler will substitute the
declared size (30, in this case) when your code is compiled. Note
that this means there is NO performance hit since the substitution
is done at compile time. The end result of this statement is
exactly the same as the first one -- except that if you change the
size of the field, you will not break the code. An additional
benefit when using slicing is that you can be sure that you will
never go beyond the actual size due to a typo or whatever.
Side note - don't be tempted to use LEN() instead of SIZE(), as
it works only on strings and then only returns the declared size
for Clarion strings. For C and P strings, it returns the length of
the contents, the same as len(clip(mystring)) for a Clarion
string.
LIKE() is sort of a SIZE() on steroids. It doesn't require you
to specify the size or even the type of the source variable
when you declare it. Our previous declaration would become:
SAV:MyField LIKE(MyField)
Consider the implications of this. You could change the size of
the original string, indeed, you could change it to a CSTRING ,
PSTRING or whatever and this code will keep on working. It will
always create a save variable that matches the original.
Thankfully, in C4 TopSpeed made LIKE available within the DATA
buttons in the IDE. C5 goes a step further and also adds the
'Derived From' option, giving you even more control.
Bottom line: Considered use of these two capabilities can help
make your applications infinitely more maintainable when you need
to start changing important fields (and trust me, you will change
them eventually). Read up on them in the Language Reference Manual
for full details (there is a lot more to them than I had room to
mention here).
Other news
Here are some tidbits and announcements gleaned from the TopSpeed
forum and elsewhere over the last couple of weeks. If you see any
products here which you would like to see scheduled for a full
review in Clarion Online, let us know!
- Gitano software released G-Cal 1.6 and 1.7, a free
update to their cool calendar tool. New features, new options --
see the review of G-Cal in this issue. Details, downloads, and a
chance to win a free copy of G-Cal through their Easter Egg hunt
can be found at: http://bizweb.lightspeed.net/~gitano/
- Dave Troxell of Encourager Software announced an update to
their Clarion Profile Exchange program. What is it for? To quote:
"For the benefit of the Clarion Community, Encourager Software has
established a central source for exchanging and viewing third-party
add-on product profiles.". Lots more information at their web site,
and the software can be downloaded there as well. Click yourself
over to http://www.encouragersoftware.com
and follow the links for Profile Exchange.
- Mike McLoughlin of Sterling Data announced the release of a new
product named CopyFlash. According to the web site: "CopyFlash puts
a copy button on your browses - allows copying of developer-defined
parent/child files, within same file or to another file, with edit
before copy or just a straight copy." Sounds verrrry interesting,
as they say. Cost is $29. For more info on CopyFlash, Impex
(import/export tools), BackFlash (backup tools) or just to download
some free software, head on over to: http://www.sterlingdata.com
- Final reminder from Phil Carroll of Paragon Development (author
of the UltraTree Pro templates - watch for a review next month!):
"Effective March 1, 1999, Paragon Design and Development will no
longer monitor [the CompuServe TopSpeed] forum, and will eliminate
its CSi account. Instead, please post any public messages intended
for Paragon to the TopSpeed new server:
tsnews.clarion.com/Topic.ThirdParty. You may also post information
inquiries to our web site, or send email to: info@paragondandd.com". The web
site is at: http://www.paragonDandD.com
- Friedrich Linder has added 'In-Memory' compression and
decompression to his LSZip Compression Libraries product. This
feature allows you to compress data directly into, for example, a
blob which you can then store in a file. It will be part of the
upcoming LSZip v2.10 (a free update - my favorite price!). Check
out all of the Linder compression products at http://www.lindersoftware.com
- Ray Creighton has released App-Ref Beta 7d. App-ref is a
Clarion Cross reference program which currently sells for $100
Australian. The price will increase to $180 Australian on March
15th, when the product is to be officially released.
Sorry, you'll have to do your own currency conversions - I have no
idea how much that works out to in U.S. dollars… It can be
downloaded from http://www.clarion.org.au/app-ref
- Tinman Development, authors of the DAS series of products (DAS
Security, DAS Registration and DAS Tools), have released updates to
two of their freeware products: Tintools and DAS Tagging. Both can
be downloaded from their web site: http://www.thetingroup.com
- Jim Dennison announced a new product called Parksoft Query
Slider Template. From the announcement: "The Query Slider is a full
featured query system compatible with Clarion4 and Clarion5. It can
be used in conjunction with the Clarion5 QBE Browse class to
increase its functionality by sending the GetFilter( ) statement to
a report. The queries can be stored in a table and edited, as well
as recalled for later use. The search fields and query operators
are selected by slider controls or with the left and right arrow
keys. Query Slider comes complete with a text and html manual, demo
app and dct.". It seems to have a pretty good number of search
operators, and even supports CPCS. The price is $30 (kewl!), and
you will find more information, screen shots and a downloadable
demo at: http://www.parkcenter.com. Follow
the 'Products' links.
- Lee White of Lodestar Software was, I'm sure, overjoyed to
announce that his AFE (Automated Fax Engine) product is now
available for Clarion 5. The update includes the newest AFE fax
server, version 1.02, as well as the latest v2 FaxMan components,
version 2.61. Even better, it is a free update to current
registered users. It can be downloaded via FTP at ftp://ftp.LodestarSoftware.com/afe5.exe.
(Please don't bother if you are not a registered user - the
software is well protected…)
- From Arthur B.: "In order to establish a technical support
channel for Wise for Clarion, Wise Solutions has created a Wise for
Clarion newsgroup. The news group will be monitored by Wise
Solutions' technical support representatives who are willing and
able to answer your questions.
The news group can be found at: news://news.wisesolutions.com/wise.wiseforclarion"
In other words, the news server to subscribe to is
"news.wisesolutions.com". Once subscribed, refresh the list and
then look for the group called "wise.wiseforclarion".
- Speaking of installers… For those of you who do not
already own WISE, etc., a couple of recommendations came in for the
"Freeman Installer". It sounds pretty full featured and, as of last
month, is now freeware (it was $75). Both 16 and 32 bit are
supported. I haven't tried it yet myself, but at this price, it
certainly seems worth the time spent on a download to check it out.
http://netnet.net/~freeman
(Geez, how many 'net's are needed in a name?)
- Kevin Erskine of Software by Ragazzi has released an update to
their template and add-on tools package. The new version is also
compatible with C5 Professional. Demos, screenshots and downloads
are all at: http://www.Software-By-Ragazzi.com
By the way, if you have their products and had trouble with GPF's
under the Clarion templates, SBR also released a fix for a problem
(an ABC/Clarion chain DLL mix-up).
- John Hickey announced an update (v2.2) for his TimesSavers
Gizmos collection of templates. New to this version is slider
controls ala the Windows volume control. A demo and more info is
available at: http://www.clarioncentral.com
- If you own the CCS SQL Templates - a newsgroup has been set up
for registered users. Contact Andy Stapleton at
'ccscowboy@compuserve.com' to get access.
- CapeSoft, authors of SecWin, ezHelp, WinEvent and other fine CW
products, have announced their first new products in a while (way
to go, Bruce!). They are 'Makeover', (you can make your app look as
colorful as Quicken, etc.) and TickerTape, a, well…
scrolling text tickertape control. More new stuff is on the way as
well. Makeover and Tickertape will have special introductory prices
of $39 and $9 (yes, that's nine dollars) respectively for the month
of March. Lots of info and screen shots can be found at http://www.capesoft.com
- From Steve Parker, philosopher and CWIC guru: "Dennis Evans has
created a really cool class/template wrapper to allow the end user
to dynamically sort browses at runtime. He has allowed me to make
it available on CWICWEB's download site." If you haven't' been
there before (shame on you!), Steve's sites can be found at http://www.cwicweb.com and www.par2.com
Note: The first version posted had a few problems (now corrected),
so if you downloaded it prior March 1st, you might want
to grab it again.
Can't beat that price…
One of the really nice things about using Clarion is the overall
generosity of the user community. (Go ahead, all of you give
yourselves a pat on the back!) Often, this manifests itself in
truly useful templates or tools which the authors have made
available to the rest of us for that most favorite of prices: FREE!
Each month, this column features a handy free template or tool
which you might want to add to your bag of Clarion tricks.
Note: If you decide to download and try out any free items
mentioned here, please remember that you get what you pay for -
don't expect support from the author like you would from a
commercial product. While most of them are generous to a fault (as
witnessed by their giving away the template), they are NOT
obligated in any way, shape or form to you because you want to use
the template. Be nice to them!
This month's jewel (or tool) is:
Tinman
Development's TinTools
It's been over a year since I featured these puppies, and the set
has just kept on growing the entire time. Lot's of new templates
have been added (including some by, ahem, yours truly), and ABC
support has been spiffed up. Since a new package was just released,
I figured it was time to tout them again.
All in all, this is the largest collection of free templates
around, and I defy anyone to not find at least ONE useful item in
there!
Thanks, Tinman, and thanks to everyone
who has contributed!
TinTools can be downloaded from http://www.thetingroup.com
Next month: Who knows? You'll just have to come back and find
out!
About the Bit-vine
Each month, this column will provide you with the latest in Clarion
news, tips, rumors, freebies and basically anything else that seems
interesting about the going's on in the Clarion world.
So, who determines what's most interesting? YOU DO!!
Are you a vendor? Let me know about new releases, updates,
betas, product plans or anything else you think Clarion Online
readers might want to know about.
Are you a user (and who isn't)? Drop me a line about any cool
nuggets of information you come across, free templates or examples
worth sharing, or anything else that other readers might find
useful.
What do you get for contributing? Well, you'll see your name up
in lights (phosphor, to be accurate) here in the Bit-vine credits.
For especially useful bits, you may even win an autographed GIF of
an official Clarion Online shirt or other similarly valuable prize.
Come on, how can you resist?
Let me hear from you! The magic address is TomH@ClarionOnline.com
The disclaimer
Everything in this column is the sole opinion of me, the author,
and does not necessarily reflect the views of this magazine, its
publisher, or even of Edward Scissorhands, my pet crawfish. Don't
bet the farm on anything you read here: consider it a starting
point for your own inquiries and research. The point here is that
this column is intended to both enlighten
and entertain, and
that in the fast-moving world of software development this month's
truth (or product release date) is often next month's "oops, did I
say that…?".
'Nuff said!
Printer-friendly version

Copyright © 1999-2008 by CoveComm Inc. All Rights Reserved.
Reproduction in any form without the express written consent of CoveComm Inc.,
except as described in the subscription
agreement, is prohibited.
Clarion Magazine ISSN 1718-9942