Re: best laptop for MetaCard
My iBook runs MetaCard wonderfully. Is it the 12screen or the 14 one? As I am a short-sughted person, 1280 px on a 12 screen is a daunting perspective for me ;-) I know though that MC is using Helvetica 14 as a default font -- better than the Geneva 9 with Rev!!! -- Regards, (-8 Dominique ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Update Mac menubar fails in standalone
I agree that the documentation is minimal and could use some improvement but a worse case scenario thinker must have anticipated for sure that jumping to production without a proper understanding of the possibilities and limitations of the tool comes with some risks ;-). Regards, Andu Novac Good one :-) The possibilities are greater than I imagined. Metacard has more features than I anticipated, as a transplantee from Hypercard. I knew Hypercard intimately. And did not anticipate such a learning curve. I figured it would have more of everything, and better of everything, but did not expect things to work differently. Actually I like many of the differences. Especially the ones that allow for cross platform programs :-) When I started with Hypercard, one of the first things I did was invest in two big fat books to learn the ins and outs that were missing in the documentation. Unfortunately, we don't have this with Metacard, so we just fumble around with what we don't know till we figure it out. We ask you guys, but I've had many questions go unanswered even here, so fumbling is the only way sometimes. Fumbling takes a lot more time than opening a book and having the answer magically be there. I miss having a resource of the caliber of the Hypertalk 2.2 book. That book covered *almost* everything :-) Shari C -- --Shareware Games for the Mac-- http://www.gypsyware.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Update Mac menubar fails in standalone
Ambrosia's approach is to have the software phone home to perform validation of the reg code. I've heard this approach discussed. Many believe it's a serious privacy intrusion, unless you're upfront in letting people know the software does this. I like any idea that helps reduce piracy. People just don't realize they're messing with someone's bread and butter. Even people who sneak out of a restaurant or nightclub not paying, assume that some big company will absorb the cost. But the truth is, the waiter or bartender will pay out of pocket. If they don't, they risk losing their job. In my experience the majority of theft is done by means outside of your control, with the thief making a legitmate purchase with stolen credit card info. There are ways to prevent this. I highly recommend that all shareware authors read the shareware author newsgroups, and devour all info they can from newsgroups, articles by other authors, etc. There are even articles on crack sites, that will help you PREVENT cracks. I've seen no evidence thus far that anyone has found it worth their while to truly crack my reg scheme, and as long as credit card info remains easy for criminals to purchase there is little reason for them to go to that much trouble for smaller apps (major game releases are another story). I'm tightening mine now, as after the current project, I will update some software, and the next big project is an RPG. Very high profile. Happily I can do things with Metacard that will allow for a first class RPG :-) But tightening the registration system is a key factor to success. I've dissected and resected the code about three times in Metacard now. Today, I think I will have it done :-) Shari C -- --Shareware Games for the Mac-- http://www.gypsyware.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Import question from a new user
I am very new to Metacard and have a (hopefully) simple but frustrating problem. I have been importing images into my programs with no problems on both Mac and PC using the import paint from file command in the message box, and they appear with no problems on my page. However, when I try to import quicktime videos using the import videoClip from file command on the PC the program acts like it is importing the clip but the clip doesn't show up on my page or anywhere, and on the Mac when I do file-import-videoclip it says it can't open file, mask, or display and when I use the message box command it gives me an error message. Help! ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Import question from a new user
Hi Kristen, correction to my last mail. There is no entry about player in the index. Instead look for QuickTime, playing :-) Best Klaus Major [EMAIL PROTECTED] ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Import question from a new user
Hi Kristen, I am very new to Metacard and have a (hopefully) simple but frustrating problem. I have been importing images into my programs with no problems on both Mac and PC using the import paint from file command in the message box, and they appear with no problems on my page. However, when I try to import quicktime videos using the import videoClip from file command on the PC the program acts like it is importing the clip but the clip doesn't show up on my page or anywhere, this i a bit unususal ;-) After importing a video-clip, only a copy of that clip is saved inside your stack WITH NO VISUAL REPRESENTATION ! You can assure yourself by checking stack props - Components - Videoclips To display the clip you have to do it with a script like: on mouseup play vc yourclip.mov end mouseup This will play the clip at the center of the current card. You can specify a location for the display by adding ... at x,y to that script like: on mouseup play vc yourclip.mov at 100,500 ### or ... at the loc of img videodisplayarea etc... end mouseup However it is highly recommende to use players and set their filenames to the path to that videoclip. Search the index for: player, play and Videoclips. and on the Mac when I do file-import-videoclip it says it can't open file, mask, or display and when I use the message box command it gives me an error message. Help! Works for me here. Try quitting and restarting MC. At least that helped me when i had the same troubles when importing images... Drop a line if you have further problems or questions. Regards Klaus Major [EMAIL PROTECTED] ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Passkeys and registrations
One thing that Metacard could do that would be so helpful, is to be able to set a password for a mainstack, without also encrypting all of the embedded stacks. That would allow us to put primary code where it belonged, encrypt it, without also encrypting stacks that would break if encrypted. I ran the standalone thru a simple hack test. And it passed with flying colors :-) Something in Scott's primary Metacard code, probably one of his self-protections, also protects us. Am very pleased with this discovery. Shari C -- --Shareware Games for the Mac-- http://www.gypsyware.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Editing scripts in a standalone
I just realized that the inability to edit scripts in a standalone blows the entire marketing strategy of the project I'm working on. This program is going to have several plug ins, or additions to it, over a long period of time. Additions that will be sold separately from the program. Rather than make someone download a brand new program every time he wants to add a module, I had planned to set these additions up as updates, that would patch into the program and make whatever changes were needed, add images, sounds, and change the scripts etc. If anyone has ever played Realmz, you download the engine, and the modules run off the same engine. This would be similar, except the modules would actually update the engine. That way, if 5 modules use Image AAA, and it's not in the main engine as it wasn't conceived of until that particular module was created, the module embeds Image AAA into the engine, and all modules thereafter can use that image easily. (No I will NOT put images and sounds into a separate folder for the world to steal. They will be embedded.) As the MAIN CODE of the engine will be affected by each module, the intention was to update it to include the modules as they came into being. And the modules themselves would do the updating. Each script would be versioned. And the latest script would overwrite the older script. To expect someone to download the entire program every time you release a module they want, is bad programming. That's not how it's done. Any decent program has the ability to be patched. Especially for bug fixes and so forth. To avoid making your users download the entire thing. Apparently patching is not an option, unless as Scott mentioned you are making such an amount of money that you can buy some second, special license in addition to the first license. Does anyone have any specific ideas on how to deal with this? It's a MAJOR issue for this project. I was relying on the ability to update the program using the modules. This was a long term marketing strategy. Note that the modules will be using the same code as the engine, but that the engine code will need to accomodate the modules. There's no way to program this in advance, without the modules all being created before the engine is ever released. Updating would actually have added a series of if-thens to the main code. Where a piece of code might now have 3 if-thens, each module may, or may not, add an if to that piece of code. The modules affect the menubar as well. As there is a menu to turn the modules on/off, or load them, as the case may be. As each module will affect a different piece of code, there's no way of knowing in advance what code will be affected, until the module is created. This is a major setback. I am not a happy camper! :-( -- --Shareware Games for the Mac-- http://www.gypsyware.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Editing scripts in a standalone
Recently, Shari wrote: I just realized that the inability to edit scripts in a standalone blows the entire marketing strategy of the project I'm working on. This program is going to have several plug ins, or additions to it, over a long period of time. Additions that will be sold separately from the program. Rather than make someone download a brand new program every time he wants to add a module, I had planned to set these additions up as updates, that would patch into the program and make whatever changes were needed, add images, sounds, and change the scripts etc. ... To expect someone to download the entire program every time you release a module they want, is bad programming. That's not how it's done. ... Does anyone have any specific ideas on how to deal with this? It's a MAJOR issue for this project. I was relying on the ability to update the program using the modules. This was a long term marketing strategy. Yes - you separate your stacks from the standalone. The standalone essentially becomes the engine that drives the stacks, which become data files. Then you can update/add stacks as needed without forcing the user to download the engine for each update. We developed a marketing/promotional app that works this way. The package consists of content files (text files and images), the app's UI/scripts (an MC stack) and an engine (MC standalone) that runs it all. To update the package, we create a new UI stack if necessary which is only 200K and add new content files (a few K here and there); the engine doesn't need to be updated until MC Corp comes out with major feature updates. Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Editing scripts in a standalone
Shari wrote: This program is going to have several plug ins, or additions to it, over a long period of time. Additions that will be sold separately from the program. Rather than make someone download a brand new program every time he wants to add a module, I had planned to set these additions up as updates, that would patch into the program and make whatever changes were needed, add images, sounds, and change the scripts etc. ... That way, if 5 modules use Image AAA, and it's not in the main engine as it wasn't conceived of until that particular module was created, the module embeds Image AAA into the engine, and all modules thereafter can use that image easily. (No I will NOT put images and sounds into a separate folder for the world to steal. They will be embedded.) As the MAIN CODE of the engine will be affected by each module, the intention was to update it to include the modules as they came into being. And the modules themselves would do the updating. Each script would be versioned. And the latest script would overwrite the older script. To expect someone to download the entire program every time you release a module they want, is bad programming. That's not how it's done. Any decent program has the ability to be patched. Especially for bug fixes and so forth. To avoid making your users download the entire thing. Apparently patching is not an option, unless as Scott mentioned you are making such an amount of money that you can buy some second, special license in addition to the first license. Does anyone have any specific ideas on how to deal with this? Just move the code that needs to be patched into a separate stack file in your plugins folder. If you suspect you may want to change UI code as well, architect with that approach in mind: have your controls call routines in centralized libraries used as backscripts and/or start using stacks, and store those in your plugins folder as well. Most of the major software publishers use patchers that store binary dif info; they almost never patch individual lines of compiled code. And of course EXEs on Win and UNIX can't modify themselves at runtime. If you need to patch your EXE, using an installer like Wise Install (Win) or InstallerVise (Mac) will let you make such patchers. But I've gone that route in the past and it can get confusing for end users to keep track of which patch applies to which EXE. These days I tend to put relatively little code in my standalones, and break out as much as possible into centralized libraries. This can also simplify the day-to-day management of a large code base: I have one backscript for menu routines, one for file I/O, one for printing, etc. These are stored as buttons in a group in a stack file, with a startup handler that steps through the group and inserts each script into the backscripts. A similar approach could be done with start using libraries, with the additional benefit that such libraries get a message when they are brought into use and another when they are retired, allowing you conveniently encapsulate initialization and cleanup right into the library itself. The MC IDE does not provide access to libraries or backscripts directly other than in the Message Box (ugh). So I wrote a lil' utility that provides a popup list or current frontscripts, backscripts, and libs from a palette (with a few other conveniences as well): ftp://ftp.fourthworld.com/MetaCard/mcAuthor2.4.mc.sit It's very much an internal tool and accordingly lacks the polish I would prefer to put into anything designed for public consumption. Just the same, it can be such a time-saver that I make it available anyway, and update it periodically. -- Richard Gaskin Fourth World Media Corporation Custom Software and Web Development for All Major Platforms Developer of WebMerge 2.0: Publish any database on any site ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Passkeys and registrations
Hey, Shari... if it's not too proprietary, could you tell us what you ended up doing? Some of us might be interested in protecting our stacks in the same way... Thanks, - Original Message - From: Shari [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, September 25, 2002 2:39 PM Subject: Passkeys and registrations One thing that Metacard could do that would be so helpful, is to be able to set a password for a mainstack, without also encrypting all of the embedded stacks. That would allow us to put primary code where it belonged, encrypt it, without also encrypting stacks that would break if encrypted. I ran the standalone thru a simple hack test. And it passed with flying colors :-) Something in Scott's primary Metacard code, probably one of his self-protections, also protects us. Am very pleased with this discovery. Shari C -- --Shareware Games for the Mac-- http://www.gypsyware.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Editing scripts in a standalone
Does anyone have any specific ideas on how to deal with this? It's a MAJOR issue for this project. I was relying on the ability to update the program using the modules. This was a long term marketing strategy. Note that the modules will be using the same code as the engine, but that the engine code will need to accomodate the modules. There's no way to program this in advance, without the modules all being created before the engine is ever released. Not exactly, Shari. You can make sure that external plug ins have the same *kind* of things they add to the overall program... for example, in a simple model, suppose each plug in supplies two graphics (A and B), and some chunk of descriptive text (C). Then, the engine could be built to scan the plugins folder, and if it finds any, it requests grpahics A and B and text C from each one, building an internal list of available graphics and text that will be used later in the program. Now if it is just replacing assets in the main program, this is simple. If you are talking about plug-ins that change what the program DOES during execution, the way you can do it is to create registerable plugins, and define certain places in the code where there are events that take place that might be overridden by an external. For example, when I wrote the HyperCard converter for SuperCard, the converter had a series of custom-defined events that occurred during the conversion process (BeforeConversion, BeforeLoadingResources, AfterLoadingResources, AfterConversion, etc.). The main program would load each plugin and would send it an InitSelf message. Each plugin would then use this message to initialize itself and to register for specific events that it cared about; the main program would keep track of what plugin registered for what event. Then, when the event was about to happen, the main program would tell the plugin(s) that registered for that event that is was their turn to do what they wanted to do, and program execution in the main program would pause until all the plugins that wanted to handle the event had completed, and then it continued on. So in the HyperCard Converter example, I had a PLTE Converter plugin whose responsibility was to convert HC external palettes (PLTE resources) to SuperCard palette windows. It registered for the BeforeCleanup event (i.e. the last event before the converter finished). When it came around, the PLTE Converter converted the PLTE resource, and handed control back to the main program, which then completed and notified the user. Doing something like this makes it REALLY flexible, and at the same time the main program doesn't need to modify itself. Hope that was clear... if you need additional info, let me know. Ken Ray Sons of Thunder Software Email: [EMAIL PROTECTED] Web Site: http://www.sonsothunder.com/ ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Passkeys and registrations
Shari wrote: One thing that Metacard could do that would be so helpful, is to be able to set a password for a mainstack, without also encrypting all of the embedded stacks. That would allow us to put primary code where it belonged, encrypt it, without also encrypting stacks that would break if encrypted. You could break this into separate stack files, but if you have an architecture dependent on direct script access there's probably a less volatile solution. In our WebMerge product, for example, I need a list of handlers in one of my libraries. Instead of relying on direct script access I added a function to my stripNship handler (a master reset called just before I build a standalone) which reads the scripts, extracts the handler names, stores those in a custom property, and saves the stack file. -- Richard Gaskin Fourth World Media Corporation Custom Software and Web Development for All Major Platforms Developer of WebMerge 2.0: Publish any database on any site ___ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Passkeys and registrations
Hey, Shari... if it's not too proprietary, could you tell us what you ended up doing? Some of us might be interested in protecting our stacks in the same way... Thanks, The registration code is stored in a embedded stack, which is password encrypted. This prevents people from reading the code with a text editor. The hack test was a very simple one. I opened the standalone with a text editor and attempted to change the code. By either adding an answer handler, or changing an answer handler to say something else. I even tried changing only one word, to a word of the same length, in case it was looking for a length match. When I tried to launch the program, it would not launch. This is something within Metacard's code, not mine, that performs the checksum that fails when you try to change the code. This was good news, as I'd heard you could hack a program this way, but had never tried it. Opening a standard program presumably written in C, no code was visible at all. It is quite unnerving to see your program's code all laid out nice and pretty in a text editor, for anyone to read. Any piece of code that relates to registration, or checking registration, is stored in a password encrypted stack. This hides the code from text editors. Actually it encrypts the code, turns it into gibberish. Password protection is easy. In the stack's object window, there is a PASSWORD button. You then set the password. Whenever you open that stack, you must click the PASSKEY button (the Password button becomes a Passkey button) and enter the password. This temporarily allows you to edit the stack. Once you save and close the stack, the password automatically goes back into effect. And the stack cannot be edited, nor the scripts read, until the password is supplied. Note that if the stack needs to store data, you will have to store the data somewhere outside the stack. I was not able to enter data into a field, or make any modification to, a password protected stack, without first supplying the password, which I assume can't be done from within a script. My attempts to store data in the stack failed. Obviously you can store big chunks of your code this way, as long as the stacks that contain the code don't need data changed or stored in them. Password protecting the main stack, encrypts all of the stacks within. Which broke my program. So I moved any critical code from the main stack, to an embedded stack, and encrypted it. As for my actual registration system, that part is proprietary :-) I've read many shareware authors newsgroups, articles on protection, articles by well known shareware authors, and whatever else I could get my hands on, and created a very detailed registration system made up of bits and pieces of all I read. Nothing is hack proof. Just as no house is burglar proof. But you can make it a lot harder, so that only a very anal hacker with a lot of time can break in. One thing many authors do, which is a very big no-no... is to create a code based on the user's name. John Doe = registration code 12345 Anybody can post that info on the net, download your program, type in John Doe for the name and code 12345, and instant registration. Find another way! Find a way to prevent people from giving out their user name and password. Recommended newsgroups: alt.comp.shareware.authors alt.comp.shareware.programmer comp.software.shareware.authors You will wade through a lot of philosophy and a few wars, but many jewels make their way into the posts, and often links to articles and detailed info will be posted as well. Read everything you can, and ask yourself if the advice makes sense. Try to think of ways someone could workaround your system, and do whatever you can to prevent that. I also read the Kagi mailing list, as I'm a Kagi author. (Kagi is my payment processor.) Shari C -- --Shareware Games for the Mac-- http://www.gypsyware.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Passkeys and registrations
Recently, Shari wrote: Note that if the stack needs to store data, you will have to store the data somewhere outside the stack. I was not able to enter data into a field, or make any modification to, a password protected stack, without first supplying the password, which I assume can't be done from within a script. My attempts to store data in the stack failed. Sure this can be done. You need to set the passKey of the stack (to your password) before you make any modifications to it. set passKey of stack myProtectedStack to blablabla Regards, Scott Rossi Creative Director Tactile Media, Multimedia Design - E: [EMAIL PROTECTED] W: http://www.tactilemedia.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: best laptop for MetaCard
On Wednesday, September 25, 2002, at 04:25 AM, Dominique wrote: My iBook runs MetaCard wonderfully. Is it the 12screen or the 14 one? As I am a short-sughted person, 1280 px on a 12 screen is a daunting perspective for me ;-) Mine's the 12 version. However, the iBook is 1024x768, not 1280. I had the exact same worry as you when I bought this a year ago - my mind was instantly at ease once I saw the display, though. If you can check out a retail Apple Store and actually use an iBook (either a 12 or 14), that'd be what I recommend. I thought 12 would be in no way usable, but because it's an LCD, the 12 LCD is easier to read and crisper than my 19 Sony CRT! If you're used to CRTs, the iBook LCD will give you shell shock! I know though that MC is using Helvetica 14 as a default font -- better than the Geneva 9 with Rev!!! Whether you like it or not, OS X uses much larger fonts than OS 9 for many things, too. The default system font is bigger, programs use bigger fonts, and everything's antialiased, which actually looks quite nice in OS X 10.2 now with subpixel aliasing. And I have no trouble waking from sleep with MC open... never tried it with a player running I guess, but because of OS X's stability, I wouldn't be worried about it. The stability is absolutely *wicked!* -- Go Bison! http://www.karlbecker.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Re: Editing scripts in a standalone
On Wednesday, September 25, 2002, at 02:39 PM, Shari wrote: ... That way, if 5 modules use Image AAA, and it's not in the main engine as it wasn't conceived of until that particular module was created, the module embeds Image AAA into the engine, and all modules thereafter can use that image easily. (No I will NOT put images and sounds into a separate folder for the world to steal. They will be embedded.) I don't know if I like your attitude here, Shari :-) Using some very simple techniques (hiding the folder in Mac OS or Windows, though it won't be as secure in Windows), you can keep your media files hidden from a good chunk of people out there. Now, this is totally dependent on your outlook on life, but I don't think everyone is out to steal your images, or anyone else's. People should, ideally, play a game to have an enjoyable experience. Yes, a good number of people will probably have fun hacking open a game... but if they see an image from the end of the game and spoil the ending for themselves, that's their fault, no? This is probably more of an ethical issue I'm bringing up, and I don't mean anything personal at all by it. I'm just wondering if putting media in a separate folder would be such a bad thing to do... it would at least let you do what you're interested in doing here, quite easily might I add! -- Go Bison! http://www.karlbecker.com ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
which is faster (a repeat structure question)
repeat with i = 127 to 255 replace numToChar(i) with (= toUpper(baseConvert(i,10,16))) in inputData end repeat return inputData repeat for each char inputDataChar in inputData if (charToNum(inputDataChar) = 127) then put = toUpper(baseConvert(charToNum(inputDataChar),10,16)) after outputData else put inputDataChar after outputData end if end repeat return outputData is repeat for each really that much quicker? i realize that the amount of data being converted is a major factor, but the first one only needs to loop 128 times whereas the second one has to loop for each char, which could be well more than 128 chars.. TIA - Sean ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard
Output text with Unix line feeds on jaguar
Problem: Unable/How to enforce unix linefeeds as the line delimiters in files output by xTalk scripts on OSX Jaguar. ? Context: Process data on from our mail server on a local station running Jaguar. Attempts to run a shell commands on a file just previously output by script failing because the file contains mac line breaks. Try using return and numTochar(10) -- neither works. The resulting file causes the shell script to fail. Open that same file in BBEdit, convert line breaks and save as Unix... then the shell script processes the file just fine. Also tested opening a Unix file with proper line breaks in BBedit with line translation off and it all comes in on one line -- expected behavior... Then, importing the file created under xTalk, always opens with mac line breaks... presumable proof that the xTalk script is outputting mac line breaks, no matter what we do on mouseup put the effective filename of this stack into stackFilePath set itemdel to / delete last item of stackFilePath repeat for each line x in fld Bounce Window set itemdel to tab if (item 2 of x = 5) and not (item 3 of x is tb) then ## if true then we have an email address in x which we want to pass, ## line delimited to a unix compatible file put item 1 of x return after toRemoveEmails ## does not work: file contains mac line breaks put item 1 of x numbTochar(10) after toRemoveEmails ## also does not work... resulting file still contains mac line breaks. end if end repeat put toRemoveEmails into URL (file: stackFilePath /emails) triggerEmailShellScripts ## to process above saved file ## but shell scripts fail... end mouseup go out to BBedit; open file emails output above; save as Unix file with Unix line breaks on mouseup triggerEmailShellScripts ## process same file end mouseup Shell script now succeeds ?? TIA Himalayan Academy Publications Sannyasin Sivakatirswami Editor's Assistant/Production Manager [EMAIL PROTECTED] www.HinduismToday.com, www.HimalayanAcademy.com, www.Gurudeva.org, www.hindu.org ___ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard