TweetFollow Us on Twitter

November 93 - BAMADA Notes

BAMADA Notes

Robert Lenoil

The October BAMADA meeting featured Eric Anderson, author of Apple's Thread Manager package, and Bo Klintberg, author of Software Framework Association's soon-to-be-released OSL Scripting Components product. (There was a September meeting, but I unfortunately couldn't attend, and therefore can't report on the proceedings.)

Thread Manager

The Thread Manager is a Macintosh system extension that provides for multiple threads of execution within a single application. Multi-threaded is all the rage nowadays: Windows NT does it; OS/2 has been doing it; and like so many other "new" features in desktop computer operating systems, many flavors of UNIX have been doing it for years. Now, thanks to the efforts of Eric Anderson and company, you can use the threads model of programming on the Macintosh too.

A thread is a lightweight task within a process that shares all the process's resources (open files, address space, etc.). Basically, a thread is just a private stack and a saved program counter and registers. As context switches go, switching between two threads is fast. When you have a time consuming task to perform or are doing polled or asynchronous i/o, create a separate thread to perform the activity. Periodically or while waiting for i/o, your thread sleeps to allow other threads to run; this lets your program maintain a responsive user interface without the tedious effort of state machine-based background processing from the main event loop, à la MacApp cohandlers or similar mechanisms.

Version 1.2 of Thread Manager is on Apple's November Developer CD. It is not the thread manager described in issue 6 of Apple's d e v e l o p magazine (that thread manager was unsupported and is now obsolete) but the concepts discussed in that article do apply. It can be shipped with your commercial programs for a nominal licensing fee. Also on the developer CD is Voodoo Monkey, a threads-aware debugger (the Debugger from Jasik Designs also knows about Thread Manager); and a utility package that adds semaphores and other features built on top of the basic Thread Manager API.

Thread Manager supports two styles of thread: cooperative and preemptive. Cooperative threads are scheduled at WaitNextEvent time. The default scheduler calls all runnable cooperative threads in a round robin fashion, with special provision for activating the main thread (the initial thread, which will handle your main event loop) whenever an event is available in the OS event queue. Preemptive threads are preemptively multitasked, which means that they run until they yield to another thread or until their time quantum expires. Preemptive threads must follow the rules for code that executes at interrupt time, namely, they cannot call any trap that can cause memory to be moved and they must not call traps where reentrancy is a concern. Preemptive threads are ideal for porting bulky number crunching algorithms to the Macintosh; without any coding changes the main thread will still get processor time and allow the user interface to operate while the computation occurs in the background. Tom Becker demonstrated this technique to the audience with a thread-based version of FracApp, a program which computes and displays the Mandelbrot set.

Threads Manager does have some limitations. For starters, it is only available for applications; not for desk accessories, INITs, or drivers. Thread switching only occurs when the target application is given time by the Process Manager. Since the Process Manager uses a cooperative multiprocessing model, threads - even preemptive ones - can be kept waiting for indefinite periods of time by unfriendly foreground applications. Last, but not least, Eric Anderson announced that preemptive threads will not be supported for native mode applications on PowerPC Macintoshes. So unless you plan on running your applications on PowerPC only in 680x0 emulation mode, you should not use preemptive threads.

OSL Scripting Components

Bo Klintberg spoke to the BAMADA audience as part of his US tour of MADA affiliates. Bo hails from Sweden, where he is hard at work putting the finishing touches on his AppleEvent/AppleScript support library for MacApp. The package is very complete, with a format modeled after MacApp's. It comes with source code (C++), sample apps, an introductory guide, cookbook, class and method reference, 411 help files, and an OSL Scripting Suite reference. The documentation comes to over three hundred pages. Unlike Ken Ryall's MAScript package, which modifies the MacApp source code to add AppleEvent support to existing MacApp classes, OSL Scripting Components leaves the MacApp code untouched and provides a whole new set of classes for dealing with AppleEvents. There are separate classes for client events (which send requests) and server events (which respond to requests). To support a new AppleEvent, your subclass must override the PrepareMessage and ReplyComplete methods; most of the other work is handled for you.

OSL Scripting Components will come with demo applications for an AppleEvent client, an AppleEvent server, and an AppleScript recordable application. In the future, Bo would like to add handlers for the AppleEvent table and database suites. Personally, I wanted him to hurry up and get back to Sweden so that we could get this package sooner; it looks like a winner for AppleEvent and AppleScript programming in MacApp. Hopefully by the time you read this Software Frameworks Association will have announced availability and pricing.

Next time…

BAMADA meets the first Thursday of each month at 7pm at 4 Infinite Loop in Apple's R&D campus in Cupertino. At the November meeting, members of Apple's MacApp team will discuss the upcoming 3.1 release. Also, Tom Becker will be giving a demonstrations on drag and drop, and show a new class that does it for you with no code additions. If you're interested in speaking at an upcoming meeting, or want to be placed on the mailing list for BAMADA announcements, contact Eric Hanig or Tom Becker at ABI.FC (AppleLink), Eric_Hanig@apldbio.com (Internet), or call 800-874-9869 extension 8902.

 
AAPL
$524.94
Apple Inc.
+5.93
MSFT
$40.01
Microsoft Corpora
-0.39
GOOG
$536.10
Google Inc.
-20.44

MacTech Search:
Community Search:

Software Updates via MacUpdate

VMware Fusion 6.0.3 - Run Windows apps a...
VMware Fusion allows you to create a Virtual Machine on your Mac and run Windows (including Windows 8.1) and Windows software on your Mac. Run your favorite Windows applications alongside Mac... Read more
Tweetbot 1.5.1 - Popular iOS twitter cli...
Tweetbot is a full-featured OS X Twitter client with a lot of personality. Whether it's the meticulously-crafted interface, sounds and animation, or features like multiple timelines and column views... Read more
Mac DVDRipper Pro 4.1.7 - Copy, backup,...
Mac DVDRipper Pro is the DVD backup solution that lets you protect your DVDs from scratches, save your batteries by reading your movies from your hard disk, manage your collection with just a few... Read more
PDFpenPro 6.2 - Advanced PDF toolkit for...
PDFpenPro allows users to edit PDF's easily. Add text, images and signatures. Fill out PDF forms. Merge or split PDF documents. Reorder and delete pages. Even correct text and edit graphics! Create... Read more
PDFpen 6.2 - Edit and annotate PDFs with...
PDFpen allows users to easily edit PDF's. Add text, images and signatures. Fill out PDF forms. Merge or split PDF documents. Reorder and delete pages. Even correct text and edit graphics! Features... Read more
Monolingual 1.5.9 - Remove unwanted OS X...
Monolingual is a program for removing unnecesary language resources from OS X, in order to reclaim several hundred megabytes of disk space. It requires a 64-bit capable Intel-based Mac and at least... Read more
Maya 2015 - Professional 3D modeling and...
Maya is an award-winning software and powerful, integrated 3D modeling, animation, visual effects, and rendering solution. Because Maya is based on an open architecture, all your work can be scripted... Read more
Starcraft II: Wings of Liberty 1.1.1.180...
Download the patch by launching the Starcraft II game and downloading it through the Battle.net connection within the app. Starcraft II: Wings of Liberty is a strategy game played in real-time. You... Read more
Sibelius 7.5.0 - Music notation solution...
Sibelius is the world's best-selling music notation software for Mac. It is as intuitive to use as a pen, yet so powerful that it does most things in less than the blink of an eye. The demo includes... Read more
Typinator 5.9 - Speedy and reliable text...
Typinator turbo-charges your typing productivity. Type a little. Typinator does the rest. We've all faced projects that require repetitive typing tasks. With Typinator, you can store commonly used... Read more

Latest Forum Discussions

See All

Have a Special Dead Trigger 2 Easter Bas...
Have a Special Dead Trigger 2 Easter Basket Full of Goodies, Courtesy of Madfinger Games Posted by Rob Rich on April 18th, 2014 [ permalink ] Dead Trigger 2 | Read more »
Almost All of Playdek’s Library is on Sa...
Almost All of Playdek’s Library is on Sale Right Now, and You Should Check it Out Posted by Rob Rich on April 18th, 2014 [ permalink ] Playdek has released quite a few great iOS ports of board and card games over the years, and now most of them... | Read more »
Zynga Launches Brand New Farmville Exper...
Zynga Launches Brand New Farmville Experience with Farmville 2: Country Escape Posted by Tre Lawrence on April 18th, 2014 [ permalink ] | Read more »
David. Review
David. Review By Cata Modorcea on April 18th, 2014 Our Rating: :: MINIMALISTIC IN A DIFFERENT WAYUniversal App - Designed for iPhone and iPad David is a minimalistic game wrapped inside of a soothing atmosphere in which the hero... | Read more »
Eyefi Unveils New Eyefi Cloud Service Th...
Eyefi Unveils New Eyefi Cloud Service That Allows Users to Share Media Across Personal Devices Posted by Tre Lawrence on April 18th, 2014 [ permalink ] | Read more »
Tales from the Dragon Mountain: The Lair...
Tales from the Dragon Mountain: The Lair Review By Jennifer Allen on April 18th, 2014 Our Rating: :: STEADY ADVENTURINGiPad Only App - Designed for the iPad Treading a safe path, Tales from the Dragon Mountain: The Lair is a... | Read more »
Yahoo Updates Flickr App with Advanced E...
Yahoo Updates Flickr App with Advanced Editing Features and More Posted by Tre Lawrence on April 18th, 2014 [ permalink ] | Read more »
My Incredible Body - A Kid's App to...
My Incredible Body - A Kid's App to Learn about the Human Body 1.1.00 Device: iOS Universal Category: Education Price: $2.99, Version: 1.1.00 (iTunes) Description: Wouldn’t it be cool to look inside yourself and see what was going on... | Read more »
Trials Frontier Review
Trials Frontier Review By Carter Dotson on April 18th, 2014 Our Rating: :: A ROUGH LANDINGUniversal App - Designed for iPhone and iPad Trials Frontier finally brings the famed stunt racing franchise to mobile, but how much does its... | Read more »
Evernote Business Notebook by Moleskin I...
Evernote Business Notebook by Moleskin Introduced – Support Available in Evernote for iOS Posted by Tre Lawrence on April 18th, 2014 [ permalink ] | Read more »

Price Scanner via MacPrices.net

Free HopTo 2.2 Helps Enhance Your Productivit...
The HopTo app helps you do more on your iPad by providing more and easier adaccess to files and documents. Version 2.2 adds Egnyte and HopTo’s Mac OSX File Connector. If you already have the hopTo... Read more
National Distracted Driving Awareness Month:...
As the country recognizes National Distracted Driving Awareness Month, Sprint is reminding wireless consumers to focus on driving while behind the wheel, to not text or email while driving, and to... Read more
13-inch 2.4GHz Retina MacBook Pro available f...
Abt has the 13″ 2.4GHz 128GB Retina MacBook Pro available for $1229 including free shipping. Their price is $70 off MSRP. Read more
iMacs on sale for up to $160 off MSRP this we...
Best Buy has iMacs on sale for up to $160 off MSRP for a limited time. Choose free home shipping or free instant local store pickup (if available). Prices are valid for online orders only, in-store... Read more
iPad Airs on sale this weekend for up to $100...
Best Buy has WiFi iPad Airs on sale for $50 off MSRP and WiFi + Cellular iPad Airs on sale for $100 off MSRP on their online store for a limited time, with prices now starting at $449. Choose free... Read more
Apple restocks refurbished Mac minis starting...
The Apple Store has restocked Apple Certified Refurbished Mac minis for up to $150 off the cost of new models. Apple’s one-year warranty is included with each mini, and shipping is free: - 2.5GHz Mac... Read more
Hyundai Brings Apple CarPlay To The 2015 Sona...
Hyundai Motor America has announced it will bring Apple CarPlay functionality to the 2015 Sonata. CarPlay is pitched as a smarter, safer and easier way to use iPhone in the car and gives iPhone users... Read more
Updated iPads Coming Sooner Than We Had Thoug...
MacRumors, cites KGI securities analyst Ming Chi Kuo, well-respected as an Apple product prognisticator, saying that Apple will introduce an upgraded iPad Air and iPad mini in 2014/Q3, meaning the... Read more
Toshiba Unveils New High And Low End Laptop M...
Toshiba has announced new laptop models covering both the high-end and low-end of the notebook computer spectrum. Toshiba 4K Ultra HD Laptop Toshiba’s new Satellite P55t features one of the world’s... Read more
Save up to $270 with Apple refurbished 13-inc...
The Apple Store has Apple Certified Refurbished October 2013 13″ Retina MacBook Pros available starting at $1099, with models up to $270 off MSRP. Apple’s one-year warranty is standard, and shipping... Read more

Jobs Board

*Apple* Automotive Parts Department position...
Apple Automotive is one of the fastest growing dealer…and it shows. Consider making the switch to the Apple Automotive Group today! At Apple Automotive, we Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Retail - Manager - Holyoke - Apple I...
Job Summary Keeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, you’re a master of them all. In the store’s fast-paced, Read more
*Apple* Retail - Manager - Apple (United Sta...
Job SummaryKeeping an Apple Store thriving requires a diverse set of leadership skills, and as a Manager, you're a master of them all. In the store's fast-paced, dynamic Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.