Moderators.Jon.Pugh;Dwayne.Virnau;Lance.Nakata@SUMEX-AIM.STANFORD.EDU (05/04/88)
INFO-MAC Digest Wednesday, 4 May 1988 Volume 6 : Issue 46 Today's Topics: Scores Virus Report 3 VACCINE misbehavior Scores Virus Information VAMP invites Amsterdam MacWorld Expo visitors You're Entering...The Palette Zone LSC Upgrade Policy MPW Fortran v1.0b2a Re: Animation! video in/out of Mac II? Flex and Full Write Professional Blinking cursor in Microsoft Word Hard disks ---------------------------------------------------------------------- Date: Mon, 2 May 88 09:52 CDT From: John Norstad <JLN%nuacc.acns.nwu.edu@forsythe.stanford.edu> Subject: Scores Virus Report 3 This is my third report on the Scores virus. In my first report I revealed what Scores did, how to detect it, and how to get rid of it by hand using ResEdit. In my second report I reviewed Ferret 1.0 and KillScores, two free disinfectant programs that have appeared to get rid of Scores. In this report I describe further testing of Ferret 1.0, the new Ferret 1.1, and KillScores. IMPORTANT: Ferret 1.1 has very serious bugs! Based on my tests I recommend using KillScores instead. 1. Ferret 1.1 does NOT properly delete one of the viral resources in the system file (INIT 17), at least on my small infected test system! I found this unbelievable, so I reran my test several times, and it failed each time. Ferret 1.0 does not have this problem. 2. Ferret 1.1 does NOT properly disinfect files which contain CODE resources marked "protected". Some applications are distributed with protected CODE resources, and Scores can infect them, so this is another important bug. Ferret 1.0 also has this bug. In this case the supposedly repaired application is left in a seriously damaged state - it will bomb immediately on launch. 3. Ferret 1.1 does NOT properly disinfect locked files. This is an important bug, even though Scores can't infect locked files. The file could have been unlocked when it became infected, and then the user could have locked it later. Ferret 1.0 also has this bug. I'd like to thank Rich Holmes for first pointing out this bug. 4. Ferret 1.1 still does NOT always properly report the names of infected files. Ferret 1.0 also has this bug. To make things even worse, Ferret does not give the user any indication that anything is wrong. It leaves the user with the impression that his/her system is clean, when in fact it's still at least partially infected. I also did further testing of KillScores. KillScores had no problems with the cases above where Ferret failed - it properly disinfected all the files on my test system. In the case of locked files KillScores unlocks the file, disinfects it, and leaves it unlocked. In my second report I mentioned that CE Software's Vaccine effectively prevents infection by Scores, at least on my test system. If you are at all worried about viruses, and you should be, I strongly recommend that you get Vaccine and use it religiously. CE Software deserves all of our thanks for developing and giving away this important tool. It's not perfect protection, as the authors freely admit in the documentation, but it is effective against Scores, and I understand that it's also effective against most of the other recent Mac viruses. Once again, I must emphasize that I do not have the facilities or time to do large scale testing of many infected applications. All of my testing is done on a small floppy-only system, with only MacWrite, TeachText, and ResEdit for infected applications. So I can't guarantee that KillScores or any other program is perfect, or that I haven't made mistakes in these reports. Also, I should probably mention that all of my statements in all of my reports reflect my opinions only, and not those of my employer, Northwestern University. John Norstad Academic Computing and Network Services Northwestern University Evanston, IL 60208 Bitnet: JLN@NUACC Internet: JLN@NUACC.ACNS.NWU.EDU Monday morning, May 2, 1988 ------------------------------ Date: Mon, 18 Apr 88 05:56:07 EDT From: cperry%bert.mitre.org@gateway.mitre.org (Chris Perry) Subject: VACCINE misbehavior I've received two reports of VACCINE (the anti-virus CDEV) making destructive changes to INITs and other CDEVs without asking the user's permission. Both reports involve use of Finder 6.0 + the new System File; one user has a Mac II, while the other one may be using a II or an SE. I've advised one person to turn off VACCINE and reboot prior to using INITs, CDEVs and other resource modifiers they know: 1) will modify the System File or other key resources. 2) will be benign (not introduce viruses). If turning VACCINE off doesn't work, I've advised placing it in another folder and rebooting. I've been using it on a Mac II and a Dynamac, both running Finder 5.5/System 4.1, with no problems for two weeks. Have other experienced problems with this admirable donation from CE Software? Chris Perry ------------------------------ Date: Sun, 1 May 88 12:53 EDT From: <MANAGER%SKIDMORE.BITNET@forsythe.stanford.edu> (Leo Geoffrion) Subject: Scores Virus Information In behalf of the many Info_Mac subscribers worldwide, I thank you for your concise, accurate, and thorough analysis of the Scores virus. You've provided a very important service to all of us. It's an example of networking at its finest. =================================================================== Leo D. Geoffrion BITNET: MANAGER@SKIDMORE.BITNET Associate Director for NYNEX: (518) 584-5000 Ext. 2628 Academic Computing Skidmore College Saratoga Springs, NY 12866 ------------------------------ Date: Mon, 2 May 88 01:54 N From: <FRUIN%HLERUL5.BITNET@forsythe.stanford.edu> (Thomas Fruin) Subject: VAMP invites Amsterdam MacWorld Expo visitors The European MacWorld Expo '88 will be held in Amsterdam, Netherlands on March 9th, 10th and 11th. The main function of this event seems to be the paring of various 3-piece suited manufacturers and ditto European dealers. However, many Macintosh hackers will wander the floors in search of similar species to show off their hottest INITs and chat in global A5 dialect. To these potentionally lost souls: pay attention to the following! The Dutch Macintosh programmers association VAMP ( 'Vereniging Actieve Mac Programmeurs' ) hereby gladly invites every person who thinks s/he fits the description of enthousiastic Macintosh hacker and/or programmer and/or devotee to attend our annual VAMP banquet,oriental style (spicy). To join the meal, collect yourselves @ the main exit on the second day of the Expo (Tuesday, March 10th) at 17:00 hrs. Costs are estimated at HFl 35,- (US$18). Formal dressing required: T-shirt w/ 3.5"-pocket and sneakers. If you are sure of your participation, please e-mail me, so we will have a rough idea of the number of participants. -- Thomas Fruin (VAMP president) fruin@hlerul5.BITNET University of Leiden thomas@uvabick.UUCP University of Amsterdam hol0066.AppleLink 2:512/114.FidoNet The Netherlands ------------------------------ Date: Sun 1 May 88 20:10:35-PDT From: Brodie Lockard <I.ISIMO@LEAR.STANFORD.EDU> Subject: You're Entering...The Palette Zone Some questions about the Palette Manager: 1. "Tolerant colors allow you to change the current color environment according to your needs. When your window becomes the frontmost window on a device, its palette and the colors contained therein are given preference. Each tolerant color is compared to the best unique match available in the current color environment.... When the difference...is greater than the tolerance you specified the Palette Manager will modify the color environment to provide an exact match to your color." IM V, p. 155. Is that so? I'd sure like to know how to get things to work as described above. My app draws some custom colored PICTs offscreen, blits them onscreen, and uses three more offscreen pixmaps for animation. A single palette is used for the window and all the offscreen pixmaps. Apparently, though, when a window comes to the front, even if it has a palette associated with it, the system palette is used to draw the window. The consequent remapping from offscreen to onscreen slows everything down, and the animation is a polychromatic mess. ("Do not attempt to control your window. WE will adjust the palette. WE will control the color table.") The only way I've been able to keep my colors intact is with SetEntries each time my window comes to the front. This makes the whole screen flash annoyingly. Surely there's a better way? 2. When I detect a color mode change (8-bit to 4-bit, say), I release my offscreen pixmaps, reallocate them in the new depth, and redraw my offscreen PICTs. But my palette or my color table or something gets lost in the shuffle, and my colors are again mangled, causing slowed and miscolored animation. What special gyrations must I perform to fix this? (This happens when I switch modes via the Control Panel. Things work ok if I switch modes with my window in front, via Switch-A-Roo.) 3. Finally, I'd like to leave slot 15 open in my palette for the user to set an exact background color for my windows. I'm drawing PICTs with a large variety of colors, and I want them to look reasonable in 4-bit color. But whatever RGB values I put in slot 15, one of the PICTs may match it, a side effect I don't want (i.e., fuschia may be closer to a PICT's red than the reds I've provided in slots 2-14). I've tried ReserveEntry, but can't get it working. Does anyone have an example of code with ReserveEntry? Shouldn't BoardColorIndex := Color2Index(BoardColor); ReserveEntry(LoWord(BoardColorIndex), true); make BoardColor unavailable for CopyBits? (While I'm at it, SetEntryColor doesn't seem to work without forcing corresponding changes in my offscreen ctTable, and calls to MakeITable and SetEntries.) Ideas? Any info will be appreciated. Brodie Lockard I.ISIMO@LEAR.STANFORD.EDU ------------------------------ Date: Tue, 19 Apr 88 09:36 EDT From: Gegel@DOCKMASTER.ARPA Subject: LSC Upgrade Policy Can anyone tell me what the upgrade policy is for people that have the old version of lightspeed C. I have seen that people that bought LSC recently can get the upgrade for free, but what about those of us that have had LSC for some time now. Larry Gegel Gegel@DOCKMASTER.ARPA ------------------------------ Date: Tue, 3 May 1988 13:49:41 PDT Sender: "William J. Lipa" <lipa@polya.stanford.edu> From: William Lipa <lipa@polya.stanford.edu> Subject: MPW Fortran v1.0b2a I have had a chance to work the the Beta 2a version of Language Systems Corp.'s Fortran for the past week. This is a Fortran compiler that works within the MPW environment. There are good things and bad things about this Fortran. The good thing is that the MPW shell moves away from the graphical interface just enough to give the programmer more power, but not so much that it becomes difficult to use. Consequently, MPW Fortran is less frustrating to work with than Absoft Fortran, which (among many other things) suffers from a lack of indirect command files. The bad thing is that the compiler still has a ways to go before release. There are important bugs in the areas of: file input/output, expressions involving complex numbers, data statements, and functions which treat their return result as a variable to play around with. This is in addition to the bugs mentioned in the release note for this version, which affect adjustable arrays, block data subprograms, alternate returns from subprograms, and some compiler switches. Also, the compiler and the code it produces are quite slow. They hope to increase speed dramatically in the final release. I am excited by the potential of this product. It addresses many of the failings of the Absoft compilter. However, at this point it is not very useful because of the bugs. Bill Lipa lipa%polya@forsythe.stanford.edu ------------------------------ Date: Tue 3 May 88 15:25:02-PDT From: Brodie Lockard <I.ISIMO@LEAR.STANFORD.EDU> Subject: Re: Animation! es1o+@andrew.cmu.edu (Eric Mitchell Snider) writes: > Ok, here's another problem I'd like some help with. I'm working on >a program where several small objects move around in front of a >background. The problem is I don't know a good way to replace the >background after my objects have been erased and moved. At the moment >everything (including the background) is a separate picture (PICT) >resource. What do I need to do?!? A typical algorithm used for animation like you mentioned is to 1. Figure out where you're first going to draw the foreground (the thing being moved), and save what's there (call this "Under"). 2. Draw your foreground where it belongs. 3. Whenever your object moves, A. Redraw Under where it came from. B. Figure out where you're first going to draw the foreground, and save what's there in Under again. C. Draw your foreground in the new place. To save copies of stuff like Under, you need to set up offscreen bitmaps (or pixmaps, if you're doing color), probably one for each thing you're saving. This gives you a place to hold your stuff that won't appear on the screen. See the CopyBits command. Technote #120 discusses offscreen pixmaps; there's another one that covers offscreen bitmaps, but I don't know the number. Depending on what you're animating, you may want to keep your foreground in another offscreen bitmap. In any case you don't want to be reading resources from disk in the middle of your animation. Unfortunately, doing only the above will cause unacceptable flicker on the Mac. To elimiate the flicker, you need an intermediate step, and a third offscreen bitmap (call this "Mirror"). Step 3 above now becomes 3. Whenever your object moves, A. Figure out the smallest rectangle that encloses the new and old locations of your foreground. B. Copy this whole area to Mirror. C. Redraw Under where it came from, on Mirror. D. Figure out where you're first going to draw the foreground, and save what's there (from Mirror) in Under again. E. Draw your foreground in the new place, on Mirror. F. Copy Mirror back to the screen (in the correct place, of course.) This process is long and rather messy, but it's fast enough to achieve very smooth animation, even with fairly large objects. If you're moving more than one object, and the objects can overlap, things get even worse: if A moves on top of B, and then B moves, B will put an obsolete version of Under back on the screen where A now is. In this case, you might want to keep track of where all your objects are, and keep a copy of the entire background offscreen. Then, whenever things move, copy the background to Mirror, draw all your objects on Mirror at their new locations (and in back-to-front order), and copy Mirror back onto the screen again. Have fun. Brodie Lockard I.ISIMO@LEAR.STANFORD.EDU ------------------------------ Date: 3 May 88 14:11:48 EDT From: Kenneth.Mohnkern@H.GP.CS.CMU.EDU Subject: video in/out of Mac II? I'm looking for something to digitize a video frame, allow me to move the image to another program for touch ups and such, then output it to videotape again. Some programs (like Computer Friends' TV Producer) will mix Mac graphics with running video and output to NTSC, but will not digitize a frame. Others (like Mass Micro's Color Space II) need a seperate frame grabber so it can digitize. All others I've looked at will only digitize. So is there something out there I haven't seen yet that'll do what I need? (I am new to the Mac II world) Or am I going to have to stick several things together or wait for the right technology to come along? Any pointers will be greatly appreciated. ken ------------------------------ Date: Mon, 2 May 88 10:32 CST From: <MPARK%UTMEM1.BITNET@forsythe.stanford.edu> Subject: Flex and Full Write Professional Flex is a beautiful screen-saver and it costs us who won't steal software just five bucks. I see its metaphor as being a square of line segments, looking like a banner, that twists and turns in 3-dimensions as it bounces off the walls of an enclosing box. It does move fast, but I think that that is a design decision of the author. The apparent velocity is the same on a Mac Plus as on a Mac II. I have only experienced one difficulty; it interacts with update events following modal dialogues in the pre-release version of Full Write Professional. After Flex has saved the screen at least once after a boot, the region beneath alerts and modal dialogues is left with vertical lines at about 32 pixel intervals. This causes no harm to the functioning of Full Write. I have seen this with no other application, so it may be another bug in the pre-release version of FWP and not a bug in Flex. Having reported this, let me put in a comment about my most favorite application. I have been using the pre-release version of Full Write Professional since February and have found it to be wonderful. I have written reams with it and have found it to have tools and features (outlining, hyphenation, spell checking, thesaurus, the ability to print booklets) that are now to me indispensable. It is not my place to tout a product, I do not have and would have no place having a connection with the companies involved. As a programmer, however, I must applaud the best employment of the Macintosh User Interface that I have yet seen. There are no features of the program unavailable to or hidden from the user who just mouses around. For those who gravitate in that direction there are at least two levels of keyboard commands that help efficiency. There are just plain old keyboard shortcuts. These include the expected keyboard equivalents for Menu Items (and these have the expected values: Command-A, Command-X, etc) as well as three equivalent sets of keystrokes and modifiers that use either the cursor keys, or the keypad, or a set of other keys to move the cursor or selection by word, character, or line increments either forwards or backwards. There are no modes here, all of the equivalent sets are there to be used at any time. All of this I consider to be in the first level of keyboard equivalents. Also part of this level are keyboard shortcuts for working with outlines and maybe some more, too. I consider this first level of keyboard equivalents to be idiosyncratic, in that they are peculiar to a particular application, they have to be learned, and some of them may not be particularly intuitive (many are). FWP has also, however, implemented a new kind of keyboard shortcut that is a real contribution to the Mac User Interface. They provide a general mechanism for navigating through menus and dialogue boxes using keyboard strokes that is both intuitive and fast. In summary, then, there are usually three different ways, sometimes more, to accomplish a task in Full Write: you can mouse it, you can use an esoteric keyboard equivalent, including the keypad, or if it involves using a menu item or dialog, you can do it using the general set of keyboard commands. Mel Park Dept. Anatomy & Neuroscience University of Tennessee, Memphis ------------------------------ Date: 03 May 88 10:30 +0200 From: "Jacob Palme QZ" <JPALME%QZCOM.BITNET@forsythe.stanford.edu> Reply-to: "Jacob Palme QZ" <JPALME%QZCOM.BITNET@forsythe.stanford.edu> Subject: Blinking cursor in Microsoft Word I am very irritated by the blinking cursor in Microsoft Word. It distracts me from the text I am working on. Does anyone have a patch to Microsoft Word, which causes the cursor to stop blinking? ------------------------------ Date: Thu, 28 Apr 88 12:47:15 EDT From: JEAN BRUNET <R31631@UQAM> Subject: Hard disks Considering the seize of current hard disks (40, 60 meg) the following products would be usefull: 1) A back up program permitting back-up of certain folders and not of others while having the same advantages as DiskFit for instance. 2) The possibility to lock certain folders without having to lock every file in it. At present one can either lock the whole disk (Disklock DA) or indivi- dual files. Are such products available? Thanks for any help: Jean Brunet R31631@UQAM. ------------------------------ End of INFO-MAC Digest **********************