TweetFollow Us on Twitter

Easy Life
Volume Number:7
Issue Number:2
Column Tag:Tools of the Trade

The "Easy" Life

By Dave Kelly, Editorial Board

Programmer’s Utilities Make Life Easier

In 1984 the Macintosh was revolutionary. It was unique. It was fun. But MacWrite just wasn’t enough power. MacPaint 1.0 seemed to do a lot, but is a wimp by todays standards. That’s innovation. No matter how good software or hardware gets, it won’t be good enough, ever. There will always be bugs in software, even the software that comes from the big companies (sometimes especially the software that comes from big companies) have bugs. Otherwise you wouldn’t see version 1.02 around anywhere.

Every year new software updates and hardware upgrades are released. It seems that there are more updates and upgrades than new product releases. The more software you own, the more software updates you’ll be forced to buy. I hate buggy software. When I know there is a bug fix available I want it.

The updates are not what I want to talk about in this article. We need them and can’t live without them. Instead, let’s talk about a few ways that we can extend the capabilities of the software we already have while we are waiting for innovation to catch up to our wants. I’m referring to the ways we can make our existing systems do more.

First I refer you to THINK Pascal’s pop up menus. THINK Pascal gives you a quick way to move to any procedure, function, or method in your source code file. With the source code file open, hold down the Command key and click in the title bar of the Edit window. THINK Pascal will display a pop-up menu of the routines defined in the file. When you select on of the procedure or function names from the pop up menu, the insertion point moves to the beginning of the routine. This is a great time saver that was not part of version 1.0.

Symantec also publishes what I feel is the most popular C compiler around, THINK C. The THINK C editor is somewhat different from the THINK Pascal editor. If you hold down the Option or command key as you click the title bar of a THINK C source file’s edit window, you get a pop up menu listing all the #include files that are called out in the source file. Wouldn’t it be advantageous to be able to find functions or routines like you can in THINK Pascal?

This is exactly how PopUpFuncs 2.0 from SciComp Software was born. Eric Slosser, the author of PopUpFuncs, had just finished a major contract using THINK Pascal. He had grown to love the pop up function list feature, and sorely missed it when using THINK C. Eric stated, “I couldn’t break the habit of holding down the command key and clicking on the title bar to get that menu, and I was frustrated every time it didn’t appear. I was sitting in a BMUG programmer’s meeting. The topic was the forthcoming version of THINK C (back when 4.0 was about to come out). I asked if my favorite feature was included”.

“Someone said that it was in one of the early beta-versions, but was yanked in the later ones, and wasn’t going to be in the release. Since THINK revs its products at a quick pace, I knew it would be a long time (if ever) before I saw the feature. I asked, “how hard could it be?” That was the end of my spare time for the next month. The MPW version was produced with Apple’s blessing, and the aid of an engineer on the MPW project.”

PopUpFuncs 2.0 (PUF) adds a pop up menu to THINK C, MPW C (3.0 or later), Pascal and Rez file windows. PUF installs a small icon on each end of the window title bar. Clicking on the icon activates the pop up menu. The PopUpFuncs menu lists functions, typedef, and locations that are marked with “#pragma mark”. #pragma is ignored by the compiler and PUF makes use of it to mark a location. With Pascal, the menu has indentation that mirrors the nesting of the subroutines. The Rez parser makes it much easier to get around in those long files (the text listing of your resources). A ‘feature’ of PUF that really wasn’t planned is that it parses all three languages, even inside THINK C. (good when viewing converting sample code from Pascal to c). Parsing takes place when you click the button on the control in the title bar.

If the pop up menu of functions isn’t enough, PopUpFuncs also supports external functions. PUF can change text in a file. There are many different text altering utilities that can (and should) be written or integrated into the PUF environment. Examples are block commenting, comment wrapping, pretty-printing, C-style prototypes, list of routines. A unique resource of type xPop carries the code for the extension to PUF. One xPop comes with PopUpFuncs (including C source code and xPop specifications) for commenting/uncommenting lines. This is similar to the Block Comment FKEY that comes with THINK Pascal. You can access the external functions through the pop up menu by using Command-Click. You’ll have to write your own extensions though; the comment xPop is the only one available now. Future xpops written by users will be distributed (with their permission) in future versions.

Using PUF is simple, just run an installer program to install or un-install PUF. You wouldn’t know it was simple by its documentation though. The scarce documentation is limited to the About window and a Read-me file, not enough to go on without a little bit of intuition. Experienced programmers with intuition should have no trouble making excellent use of PUF, but some people would be just a little lost initially. The Read-me file is primarily a list of bug fixes from previous versions and some instructions on how to install PUF.

PopUpFuncs 2.0 About Dialog

PopUpFuncs is a convenience that is worth the expense. If you’re not sure, SciComp Software promises: “We’re pretty sure that you’ll soon find it an indispensable part of your programming environment. We’re so sure that you’ll like it, we guarantee it. If you find in the next 30 days that you can live without it, let us know and we’ll refund your money”.

INITs Galore

The Macintosh system is still evolving as I said at the beginning of this article. System 7.0 is coming just around the corner and for those of us who have seen it know that there are some marvelous new bells and whistles. Many of these functions are already available without waiting for System 7.0. The problem is that adding these capabilities usually means adding INITs. Adding INITs often causes the system to slow down and sometimes even crash (especially when INITs conflict with one another).

There are some INITs that can be an asset to any Mac user and without really trying can help improve working conditions. Software developers should want to improve their working conditions too.

Utilities Every Programmer Will Use NOW!

Now you can get a powerful collection of system enhancement utilities in one package. Now Utilities™ from Now Software has 12 great extensions. For several months since the release of Now Utilities I have received advertising literature about Now Utilities. From the advertising I thought it looked interesting, but I didn’t get too excited because some of these utilities had previously been seen as Public Domain or Shareware versions. That’s true but the Shareware/PD versions were not nearly as powerful as the current version.

Since MacTutor’s primary concern is in the ways that the programmer’s life can be made easier, I’ll focus on the ways that Now Utilities can help you as a programmer to both be more productive and enjoy the Macintosh too. Since any or all the utilities can be installed each one works independently of the others. Yet, each complements and supports the others.

Now Utilities 2.0 includes (alphabetically):

• AlarmsClock™: This INIT puts an alarm clock in the menu bar. The best part about this alarm clock is that multiple alarms can be set to remind you of important events. I use it to remind me when to quit what I’m working on and get some sleep. I tend to stay up too late working if I don’t remind myself. The clock display can be configured in any font and whatever size is available for the selected font.

• Customizer™: As many of you know, there are attributes of the Finder that can be modified to change the display of icons, text, color, and window location. The Customizer is an application that modifies these Finder attributes. The equivalent of this application is built into System 7.0.

• DeskPicture™: The pre-commercial version of this bombed on the newer Macintoshes. This INIT lets you set up a PICT as the background of the screen. This new version also lets you select a folder for the INIT randomly to select the PICT to be used. I like this since it adds variety and I don’t have to look at the same background every time I use my Macintosh. Since DeskPicture also works on large monitors, a provision has been added to keep the PICT files on disk instead of in memory. This could reduce that amount of RAM used for a 19” 32 bit monitor from 3 megabytes to 84 kilobytes.

• FinderKeys™: Converts to the Mac who miss being able to type commands at the keyboard will love this one. The way it works is that the first letter you type will automatically select all the files/folders that begin with that letter. As you enter more letters, only the files starting with the letters you have typed will remain selected. If you press return the folder or file selected will be opened. FinderKeys also provides a way to copy or move documents from inactive windows by selecting a combination of Command, option, and shift keys.

• MultiMaster™: This INIT provides an instant pop up or pull down menu to launch files and applications. A pull down menu (similar to On-Que™) can be configured so you don’t have to search through multi-levels of folders to find files or applications that you use frequently. You can use the Memory Sizer option to edit an application’s default memory size. This is quicker than opening up “Get Info” window to change each application. Since memory size is usually something that is set only once or only occasionally, the Memory Sizer won’t be that important.

Programmers will like MultiMaster’s Memory view option, a memory map for optimizing your memory use under MultiFinder. The memory map shows memory usage for each application and the System Heap and shows which portions are free blocks, non-relocatable, and relocatable. For the casual user, the memory map is helpful to visualize where free memory is available and which applications must be closed to free up memory for another application.

MultiMaster also gives you the “set aside” feature similar to “set aside” in System 7.0. If the “Set aside” option is selected windows of a foreground application will be hidden as it switches to a newly selected application when using MultiFinder. This feature will help relieve the window clutter that sometimes occurs when several applications are open.

• NowMenus™: Now you can open CDEVs and Chooser documents directly from the Apple Menu. Submenus are created for these and any DA that has a menu. You can now change printers in one quick click of the mouse or open the SmartScrap™ table of contents directly from the Apple Menu. In addition, an option can be selected to cause NowMenus to display a pop up menu whenever you click on the desktop, or anywhere when selected modifier keys are pressed. From this pop up menu you can select any running application and any item in the menu bar. You see, the menu bar items are duplicated in the pull down menu.

• Print Previewer™: Print Previewer is a Chooser extension that lets you view your document on the screen before printing. An FKEY is also provided to switch automatically between the Previewer and whatever printer you have selected.

• Profiler™: This one is helpful if you are responsible for maintaining the configuration of several Macintoshes. The profile analyzes all system version information, memory status, hardware attributes, and Startup documents. Profiler also lists all applications on any locally mounted storage drives. Too bad, but Profiler won’t list applications on Tops or Appleshare volumes. An option to do that would be useful to system operators.

• Screen Locker™: This INIT provides password protection for your Macintosh. In addition, a screen saver function is provided which displays a message or a picture when the screen blanks out. The screen saver is not as versatile as After Dark or Pyro. The screen locking function can be used without starting screen saving so that other screen savers can be used with it.

• StartUp Manager™: This INIT alone is worth the price of Now Utilities. The StartUp Manager keeps track of all INITs, CDEVs, and Chooser documents. They can be turned on or off so that the INITs you don’t use always can be bypassed. There are other INIT manager type programs available such as INIT Picker and Aask from CE Software. The difference is in the way that they keep track of the Startup documents. StartUp Manager detects a system crash after it has already happened and gone through the standard Macintosh system error handler. INIT Picker on the other hand, hacks in into several low-memory globals and exception vectors to catch the error that would cause a system crash. Because of this, their crash protection doesn’t work as well as the StartUp Manager, and in particular, it’s annoying for programmers using MacsBug, who would prefer to have a chance to catch the problem before their machine reboots. You see, if an INIT crashes with MacsBugs and StartUp Manager loaded, you end at MacsBug with a chance to correct the problem If an INIT crashes with MacsBug and INIT Picker loaded, the machine immediately re-boots or bombs without a chance to look at the problem. For programmers writing INITs, this is extraordinarily annoying. When restarting after an INIT crashes, StartUp Manager turns off the offending INIT and warns you that it did so. The offending INIT may not be the cause of the problem, but the StartUp Manager helps track down the INIT conflicts as they happen.

Another feature that StartUp Manager includes is the ability to set up selected groups of INITs to be loaded. These groups of INITs can be selected when starting up by holding down a Startup dialog key. I have one set that I usually use (day to day) and another when I connect to an AppleShare network remotely. Any number of groups can be set up.

Besides selecting INITs, the StartUp Manager preference options let you adjust the size of the system heap before the INITs are loaded. This helps eliminate crashes at startup due to low memory constraints caused from poorly written INITs.

• Super Boomerang™: This is the commercial big brother of the popular Boomerang INIT written by Hiroaki Yamamoto. Boomerang received a 5 mouse rating from MacUser and Super Boomerang is a big improvement on that. Instead of a pop up menu (in Boomerang), Super Boomerang has pull down menus which appear at the top of the Open and Save (SFGetFile, SFPutFile) dialog boxes. In addition, Super Boomerang attaches a Hierarchical menu to the open command of your application, showing your previously opened files.

You can find files quickly from the Open and Save dialogs. SuperBoomerang’s Find function has been rewritten to search a 600 MB CD Rom in 15 seconds and a 100 MB hard disk in 3 seconds. The edit files option lets you rename, duplicate, or delete files. You can create a new folder with the New Folder option. Applications and desk accessories can share up to 5 common “groups” of files and folders which you can define. If you like Boomerang, you’ll really like Super Boomerang.

• WYSIWYG Menus™: This INIT is for the user that can never remember what each font looks like and spends forever switching fonts to find the right one. I prefer the regular font menus without WYSIWYG every time I pull down the menu. I can disable it with the command key, but I prefer the option to enable it with the command key, an option not available with this INIT. (SuitCase II gives you this option!)

Now Utilities has something for everyone. Programmers will especially like the Startup Manager, MultiMaster and Super Boomerang. I have no doubts that you’ll like it.

PopUpFuncs is available from:

SciComp Software

2912 Claremont Ave #21

Berkeley CA, 94705

To order: 800 522-5939. 8AM-6PM PST

Tech Support: 415 649-8525 9AM-9PM, with the possibility that you may have to leave a message and be called back.

COMPUSERVE 73517,207

MCI-MAIL eslosser

AMERICA ONLINE eslosser

Price: $45 + $3 shipping & handling; quantity discounts and site licenses are available.

Requires: Any Macintosh with THINK C or MPW C.

No copy protection

Now Utilities™ is available from:

Now Software, Inc.

520 SW Harrison, Suite 435

Portland, Oregon 97201

Telephone: 503-274-2800

Facsimile: 503-274-0670

Price: $129

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Dropbox 193.4.5594 - Cloud backup and sy...
Dropbox is a file hosting service that provides cloud storage, file synchronization, personal cloud, and client software. It is a modern workspace that allows you to get to all of your files, manage... Read more
Google Chrome 122.0.6261.57 - Modern and...
Google Chrome is a Web browser by Google, created to be a modern platform for Web pages and applications. It utilizes very fast loading of Web pages and has a V8 engine, which is a custom built... Read more
Skype 8.113.0.210 - Voice-over-internet...
Skype is a telecommunications app that provides HD video calls, instant messaging, calling to any phone number or landline, and Skype for Business for productive cooperation on the projects. This... Read more
Tor Browser 13.0.10 - Anonymize Web brow...
Using Tor Browser you can protect yourself against tracking, surveillance, and censorship. Tor was originally designed, implemented, and deployed as a third-generation onion-routing project of the U.... Read more
Deeper 3.0.4 - Enable hidden features in...
Deeper is a personalization utility for macOS which allows you to enable and disable the hidden functions of the Finder, Dock, QuickTime, Safari, iTunes, login window, Spotlight, and many of Apple's... Read more
OnyX 4.5.5 - Maintenance and optimizatio...
OnyX is a multifunction utility that you can use to verify the startup disk and the structure of its system files, to run miscellaneous maintenance and cleaning tasks, to configure parameters in the... Read more

Latest Forum Discussions

See All

Zenless Zone Zero opens entries for its...
miHoYo, aka HoYoverse, has become such a big name in mobile gaming that it's hard to believe that arguably their flagship title, Genshin Impact, is only three and a half years old. Now, they continue the road to the next title in their world, with... | Read more »
Live, Playdate, Live! – The TouchArcade...
In this week’s episode of The TouchArcade Show we kick things off by talking about all the games I splurged on during the recent Playdate Catalog one-year anniversary sale, including the new Lucas Pope jam Mars After Midnight. We haven’t played any... | Read more »
TouchArcade Game of the Week: ‘Vroomies’
So here’s a thing: Vroomies from developer Alex Taber aka Unordered Games is the Game of the Week! Except… Vroomies came out an entire month ago. It wasn’t on my radar until this week, which is why I included it in our weekly new games round-up, but... | Read more »
SwitchArcade Round-Up: ‘MLB The Show 24’...
Hello gentle readers, and welcome to the SwitchArcade Round-Up for March 15th, 2024. We’re closing out the week with a bunch of new games, with Sony’s baseball franchise MLB The Show up to bat yet again. There are several other interesting games to... | Read more »
Steam Deck Weekly: WWE 2K24 and Summerho...
Welcome to this week’s edition of the Steam Deck Weekly. The busy season has begun with games we’ve been looking forward to playing including Dragon’s Dogma 2, Horizon Forbidden West Complete Edition, and also console exclusives like Rise of the... | Read more »
Steam Spring Sale 2024 – The 10 Best Ste...
The Steam Spring Sale 2024 began last night, and while it isn’t as big of a deal as say the Steam Winter Sale, you may as well take advantage of it to save money on some games you were planning to buy. I obviously recommend checking out your own... | Read more »
New ‘SaGa Emerald Beyond’ Gameplay Showc...
Last month, Square Enix posted a Let’s Play video featuring SaGa Localization Director Neil Broadley who showcased the worlds, companions, and more from the upcoming and highly-anticipated RPG SaGa Emerald Beyond. | Read more »
Choose Your Side in the Latest ‘Marvel S...
Last month, Marvel Snap (Free) held its very first “imbalance" event in honor of Valentine’s Day. For a limited time, certain well-known couples were given special boosts when conditions were right. It must have gone over well, because we’ve got a... | Read more »
Warframe welcomes the arrival of a new s...
As a Warframe player one of the best things about it launching on iOS, despite it being arguably the best way to play the game if you have a controller, is that I can now be paid to talk about it. To whit, we are gearing up to receive the first... | Read more »
Apple Arcade Weekly Round-Up: Updates an...
Following the new releases earlier in the month and April 2024’s games being revealed by Apple, this week has seen some notable game updates and events go live for Apple Arcade. What The Golf? has an April Fool’s Day celebration event going live “... | Read more »

Price Scanner via MacPrices.net

Apple Education is offering $100 discounts on...
If you’re a student, teacher, or staff member at any educational institution, you can use your .edu email address when ordering at Apple Education to take $100 off the price of a new M3 MacBook Air.... Read more
Apple Watch Ultra 2 with Blood Oxygen feature...
Best Buy is offering Apple Watch Ultra 2 models for $50 off MSRP on their online store this week. Sale prices available for online orders only, in-store prices may vary. Order online, and choose... Read more
New promo at Sams Club: Apple HomePods for $2...
Sams Club has Apple HomePods on sale for $259 through March 31, 2024. Their price is $40 off Apple’s MSRP, and both Space Gray and White colors are available. Sale price is for online orders only, in... Read more
Get Apple’s 2nd generation Apple Pencil for $...
Apple’s Pencil (2nd generation) works with the 12″ iPad Pro (3rd, 4th, 5th, and 6th generation), 11″ iPad Pro (1st, 2nd, 3rd, and 4th generation), iPad Air (4th and 5th generation), and iPad mini (... Read more
10th generation Apple iPads on sale for $100...
Best Buy has Apple’s 10th-generation WiFi iPads back on sale for $100 off MSRP on their online store, starting at only $349. With the discount, Best Buy’s prices are the lowest currently available... Read more
iPad Airs on sale again starting at $449 on B...
Best Buy has 10.9″ M1 WiFi iPad Airs on record-low sale prices again for $150 off Apple’s MSRP, starting at $449. Sale prices for online orders only, in-store price may vary. Order online, and choose... Read more
Best Buy is blowing out clearance 13-inch M1...
Best Buy is blowing out clearance Apple 13″ M1 MacBook Airs this weekend for only $649.99, or $350 off Apple’s original MSRP. Sale prices for online orders only, in-store prices may vary. Order... Read more
Low price alert! You can now get a 13-inch M1...
Walmart has, for the first time, begun offering new Apple MacBooks for sale on their online store, albeit clearance previous-generation models. They now have the 13″ M1 MacBook Air (8GB RAM, 256GB... Read more
Best Apple MacBook deal this weekend: Get the...
Apple has 13″ M2 MacBook Airs available for only $849 today in their Certified Refurbished store. These are the cheapest M2-powered MacBooks for sale at Apple. Apple’s one-year warranty is included,... Read more
New 15-inch M3 MacBook Air (Midnight) on sale...
Amazon has the new 15″ M3 MacBook Air (8GB RAM/256GB SSD/Midnight) in stock and on sale today for $1249.99 including free shipping. Their price is $50 off MSRP, and it’s the lowest price currently... Read more

Jobs Board

Early Preschool Teacher - Glenda Drive/ *Appl...
Early Preschool Teacher - Glenda Drive/ Apple ValleyTeacher Share by Email Share on LinkedIn Share on Twitter Read more
Senior Software Engineer - *Apple* Fundamen...
…center of Microsoft's efforts to empower our users to do more. The Apple Fundamentals team focused on defining and improving the end-to-end developer experience in Read more
Relationship Banker *Apple* Valley Main - W...
…Alcohol Policy to learn more. **Company:** WELLS FARGO BANK **Req Number:** R-350696 **Updated:** Mon Mar 11 00:00:00 UTC 2024 **Location:** APPLE VALLEY,California Read more
Medical Assistant - Surgical Oncology- *Apple...
Medical Assistant - Surgical Oncology- Apple Hill WellSpan Medical Group, York, PA | Nursing | Nursing Support | FTE: 1 | Regular | Tracking Code: 200555 Apply Now Read more
Early Preschool Teacher - Glenda Drive/ *Appl...
Early Preschool Teacher - Glenda Drive/ Apple ValleyTeacher Share by Email Share on LinkedIn Share on Twitter Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.