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:
  1. Dog slow (for obnoxious clients)
  2. Faster than VB - nyah, nyah, nyah
  3. Warp Factor 9, Mr. Sulu
  4. Fastest program in the whole entire freakin' universe!!!
  5. 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

 
 

Search

 

Advanced Search
Topical Index

Related Articles

Subscribe to
ClarionMag

One year: $184

(includes all back issues since '99)

Renewals from $134

Two years: $274

Renewals from $224

More Info

Subscribe Now!

ClarionMag Blog

RSS Feeds

Updates via Email

Enter your Email


Powered by FeedBlitz

Quick Links