Vero Beach, FL - Thursday, September 12th, 2002: Deep Sky Technologies, Inc., today announced the release of BASh v1.8.0 for Macintosh and Windows. BASh is a 4th Dimension component which provides extensive utility functionality for 4D programmers, including a dynamic stack space module for reusing variable space, encoding and cryptography routines, and much, much more.
BASh is the first 4D component publicly available after the release of 4D v6.7.0 by 4D, Inc., and 4D SA. With this release, BASh has been significantly expanded. And, in keeping with the tradition of offering high quality products and services, Deep Sky Technologies, Inc., has continued to make the BASh component available for free to the developer community.
BASh v1.8.0 contains 66 new methods and 3 new modules of code. All total, the BASh component now consists of 411 methods across 30 modules of code. The comprehensive PDF manual is almost 500 pages long and describes every single method call in detail. Documentation has even been provided for all of the error codes through the BASh component. As well, the BASh component includes the documentation module, z_Library, as a separate 4D Insider library.
Developers Everywhere are Talking
Feedback from 4D developers worldwide provide much of the functionality and improvements that have been made to BASh over the years. It is interesting when reading through these comments from 4D developers to see that their suggestions are handled almost immediately in the next release of BASh. Of course, the kind words are always a great source of encouragement for our efforts (Peeps don't hurt, either).
Yea! Thanks and congratulations! What a wonderful gift to the 4D Community! I can't wait to dig into the bowels of this release. :-)
I was going to suggest the additions to the DSS code module in BASh to keep track of the locking process, as a debugging aide against leaks. So much for my 15 minutes of fame [the latest release of BASh has this functionality]. :-) Thanks, again, for a great set of code.
I am most impressed by this component and we are using it as the foundation code for a small project we have started. I cannot tell you how indispensable this code library has become to us. We will be buying a full code license in the near future.
Beetwen Dave Batton, David Adams and you... Good lessons. I don't regret the 'Pro' investment!
The more I use BASh, the more I like my job...
Richard Babillis, Controlled Programs
Am really continuing to love BASH and in particular DSS. Ability to dynamically get array pointers and use with AreaList and generic array functions is just great. If I may make a comment on things that I have learned that others may benefit from: I have a simple function that checks for unreturned variables. It would be great if there was a built in BASh function that could be called to alert developers for leaks [now available in BASh]. Along the same line, while I love DSS_Return_Variable(s), I have been burned by leaving off the 's'. Is there really a need for DSS_Return_Variable [nowavailable in BASh]? As always thanks for your efforts.
J. Larry Klein, MD, Director Center for Medical Informatics
Atlanta Cardiovascular Research Institute
By the way, just in case I've never said it before, BASh is exceptionally cool. Thank you!
New BASh Documentation is GREAT! For a number of reasons, I had been reluctant to use BASh. I was primarily afraid of the instability of components and after the Foresight debacle was not anxious to use 3rd party tools especially for routines that if I had the time could duplicate. In fact many of the routines included in BASh, I already had in my utility routines. One set of routines, I had been meaning to write was for Date Time Stamps. Since BASh already had the DTS module, I decided rather than waste time re-inventing the wheel I should give BASh a try. That was a couple of months ago. I now extensively use the DTS commands and have begun using several other modules, particularly the DSS module. Overall the methods in the component are very well organized. One area of BASh, that I did find disappointing was the documentation because the PDF lacked bookmarks. Yesterday you posted the latest version 1.6.2 and now the documentation has been updated with bookmarks and is really great. I would like to thank Deep Sky for making this component available and their extensive support of the 4D community.
J. Larry Klein, MD, Director Center for Medical Informatics
Atlanta Cardiovascular Research Institute
Just thought I'd let you know that your last message caused a light to suddenly flicker on in my head as to how 4D works. I've now got my database almost all rebuilt with most all of the functions I ever wanted, in less than a full day's work! Now, I'm going to venture into actually defining my relations (I've been doing this through Lasso) and putting a real user interface on the whole thing. Thanks for your help and thanks so much for your wonderful BASh component. I'm using the Date Time Stamps, Sequence numbers, some encoding and I've just started playing with the array module. I can't imagine having done all of this without BASh.
Tom Wiebe, The Image Foundation
The real benefits here are that it (BASh) is already documented, thoroughly debugged, and from a top-notch programmer. Heck, I trust HIS code _more_ than my own! Mine doesn't have hundreds (or thousands?) of developers banging on it... I've been adding more and more of BASh to my everyday arsenal. You don't have to learn it all at once. The DSS component alone is worth the added "clutter". I personally think BASh is a great little treasure chest.
If you are using 4D 6.7.x, get a copy of the BASh component from Deep Sky. Once you read through the documentation, you'll realize how much time it will save you-the string, date/time and array handling methods are worth the download time in themselves. I haven't gotten into other things yet, but...
Bradley S. Criss
4D should put BASh in the box with 4D. This free component provides dozens [hundreds?] of utility routines every 4D programmer is likely to need. I particularly appreciate that many of the most common, and tedious, conversion tasks are handled so gracefully. The dynamic variable assignment module is worth the price of the component alone! This code eliminates one of the 4D languages limits while treading lightly on RAM. Thanks to Deep Sky for their generosity in writing and upgrading this great tool. I've never gotten a 250 page manual with a free developer tool before.
David Adams, Island Data Management
... the DSS part looks real cool and there's more than that in [BASh] which saves me from trying to wrap up my own versions of similar nature nicely...
Mark Mitchenall, Mitchenall.COM
I have been using the DSS module for some time now. It's rock solid code. The ability to use the DSS module to implement a type of 'pointer to local variable', makes programming 4D more intuitive and flexible. Combine DSS with ObjectTools and you have a very powerful solution to handle all those AreaList Pro objects in your database. And now it's bundled with a bunch of other useful stuff. So why not do yourself a favour, install BASh. You'll thank yourself for it, I guarantee it.
Phillip Hall, Sapphire Software Pty. Limited
Redfern, New South Wales, Australia
Even if you only use the variable management system (DSS), this component will allow you to structure your code as never before. This and the other modules provided in BASh will provide even experienced developers with features that they would have been using for years if only they had been able to invest their time in the coding effort. Most of us have not.
John Macrae, Lamina Limited
Forncett St. Peter, Norwich, England
Features in the BASh component
The BASh component consists of many different modules of methods that provide extensive utility services in 4th Dimension applications. The list of modules currently available in the BASh component is:
- # ARR - Array sizing, management, and manipulation methods;
- # BLOB - BLOB management and manipulation methods;
- # CODEC - encoding and decoding support for common formats;
- # CONV - conversion methods to handle data and type conversions;
- CRYPT - encryption and decryption routines;
- # DATE - provides basic date manipulation routines;
- # DSS - Dynamic Stack Space; reusable variable management system;
- # DTS - Date-Time Stamps; generation and manipulation methods;
- # ENV - environmental information (program, OS, CPU, etc.);
- # FILE - path and file name utilities;
- * FMAP - file mapping for document types, type codes, and MIME types;
- # INIT - module and component initialization;
- INT - interruption manager;
- # NULL - Variable clearing and initialization methods;
- NVP - named value pair utilities and management;
- # PROS - process information accessors;
- PTEXT - parameter text replacement routines;
- QUIT - controlled clean up of BASh data structures;
- # RES - resource management and utility methods;
- * RW - read/write module for handling record access;
- SEM - Semaphore management methods;
- # SEQ - flexible sequence number module;
- SERNO - serial number generation and confirmation methods;
- # STR - string manipulation, formatting, and filtering methods;
- TIME - Time manipulation methods;
- # TYPE - Variable type comparison methods;
- URL - URL creation and extraction routines;
- VAR - Variable utility methods;
- # WORD - manipulators for non-native four-byte values;
- * XML - Extensible Markup Language parsing an retrieval code.
* - new to the latest release of BASh
# - expanded within the latest release of BASh
New Features in v1.8.0
Version 1.8.0 of the BASh component contains 65 new methods. Additions have been made to the ARR, BLOB, CODEC, CONV, DATE, DSS, DTS, ENV, FILE, INIT, NULL, PROS, RES, SEQ, STR and TYPE modules. As well, 3 new code modules have been added to this release of BASh: FMAP, RW, and XML.
The FMAP module contains routines and structures for handling file mappings. Relations can be handled easily between document extensions, Macintosh creator and type codes, and MIME types. The FMAP module has been structured for easy expandabiliy by the developer and customization on a process by process basis.
The XML module introduces a simple document object module for storage of structured XML data. After parsing a well formatted XML document, access to the parsed data is greatly simplied with the methods in the XML module.
One popular feature addition to this release is full support for all 2D array types in the DSS module. With this release of BASh, all 2D array types available in 4D can be retrieved from the DSS module. So, there is no more limit to the types of 4D variables available for temporary and dynamic usage from the DSS module.
The BASh archive contains fully carbonized versions of the Affix documents for use with 4D v6.8.x on Macintosh. Separate versions for 4D v6.7.x and 4D v6.8.x compatibility are standard inclusions in the BASh archive.
Version 1.8.0 also includes a new Affix BASh document for placement in the 4DX folder. The Affix BASh document contains all of the data and resources necessary for the BASh component to operate seemlessly in all 4D projects.
4D Pack, the plugin available from 4D, Inc., and 4D SA, is a part of the BASh component. Macintosh and Windows versions of 4D Pack for both 4D v6.7.x and 4D v6.8.x have been included with the BASh component archive for ease of installation into all 4D projects.
All of the new methods within the BASh v1.8.0 release are readily upgradeable for current users of BASh. There is are no changes required in existing code to begin using the new version of BASh.
Pricing and Availability
The BASh component is officially released as peepware. For those unfamiliar with peepware, it is similar to postcardware except that Marshmallow Peeps (more information about Marshmallow Peeps available at http://www.marshmallowpeeps.com/) are requested from those developers that find the BASh component to be useful in their 4th Dimension projects.
The BASh component can be downloaded by following the Downloads link on the Deep Sky Technologies, Inc., web site, located at:
The BASh component can also be found by following the Freeware link on the 4D Zine web site and searching for "BASh". The 4D Zine web site can be found at:
About Deep Sky Technologies, Inc.
Based in Vero Beach, Florida, Deep Sky Technologies, Inc., provides software development, consulting, hosting, and colocation services. Founded in 1997, Deep Sky Technologies, Inc., develops and supports a wide variety of software development tools and services to aid in the creation of custom applications and web sites for the Macintosh and Windows platform. For more information, please visit our home page at http://www.deepskytech.com/.
For more information contact:
Steven G. Willis
President, Deep Sky Technologies, Inc.
You can also join the Deep Sky Technologies, Inc., announcement mailing list. Subscriptions can be placed online at:
All trade names referenced in this document are the trademark or registered trademark of their respective holder.
BASh is copyright Deep Sky Technologies, Inc.
4th Dimension, ACI, ACI US, 4D Compiler, 4D, 4D Server, 4D Client, and 4D Insider are trademarks of 4D, Inc.
4D Pack plugin is provided courtesy, and with permission, of 4D, Inc.
AreaList Pro is a trademark of Foresight Solutions, Inc.
Macintosh and MacOS are trademarks of Apple Computer, Inc.
Marshmallow Peeps and Just Born are trademarks of Just Born, Inc.
ObjectTools is the sole property of Aparajita Fishman.
Windows is a trademark of Microsoft Corporation.