TweetFollow Us on Twitter

Aug 88 Mousehole
Volume Number:4
Issue Number:8
Column Tag:Mousehole Report

Mousehole Report

By Rusty Hodgee, Mousehole BBS

From: gbryan (Geoff Bryan)

Subject: LSP Interfaces

Has anyone seen a more complete set of interfaces for the ROM & System routines beyond what Think put out last fall? If not, it looks like a long session of porting over the MPW 2.0 interface files. (What started me on this quest was the discovery that the Shutdown Manager routines do not seem to be in last fall’s 1.11 update package. Don’t know what else is missing or different.) [We have blasted Think repeatedly for taking so long to keep LS Pascal up to date with the latest set of goodies from Apple. There is a new version coming, they tell me, but, like the LS C update, who knows when? If nothing is forth coming at the Boston Expo, you can bet we will blast them again! They do have a Shutdown Manager glue patch you can get if you call for it. You might want to look at TML’s new MPW Pascal II., available at the MacTutor booth at the Boston Expo. -Ed]

From: pepnerd (Peter Kramer)

Subject: menus

I’m just a beginner at programming the mac. I’m trying to set up menus using the code in “Using the Macintosh Toolbox with C” by Takatsuka et. al. I’m not sure how to call InitGraf() in the situation where I have not set up any windows, only menus. In my development system the example (Aztec C) the call to InitGraf() uses the argument &thePort. However I cannot find where thePort is defined. Its quite distressing to double click on an application icon and get nothing but a bomb!

From: ericlim (Eric Lim, Flushing, NY)

Subject: Re: menus

I’m not familiar with Aztec because I’m using MPW C 2.0.2 and I think the variable thePort is defined in the “Quickdraw.h” header or include file.

From: think

Subject: Re: menus

It’s not important to know where thePort is defined; all that’s important is that you pass the correct series of initializations in order to get your application started:

 {         
 InitGraf(&thePort);         
 InitFonts();         
 InitWindows();         
 InitMenus();         
 TEInit()         
 InitDialogs(NIL); }   

Typically, thePort is defined as an extern GrafPtr in Quickdraw.h (in LightspeedC) or in the appropriate header for other C compilers. --Rich Siegel, THINK Technologies

[The variable thePort is one of those mysterious Quickdraw global variables that no one ever talks about once you are convinced the proper call works correctly. The first few issues of MacTutor, over three years ago, addressed this subject in depth, explaining how the Quickdraw Globals are stored relative to A5 and how they work. The Mac system is responsible for the Quickdraw Globals maintenance. Refer to Volume 1 of The Best of MacTutor for more information. -Ed]

From: laskey (Jim Laskey, Halifax, NS)

Subject: Second Stack

Is there a safe way for an application to allocate a second system stack? TGS systems is currently developing a visual programming language known as Prograph. One of the main features of Prograph is the ability to perform editing and debugging of source code while in an execution state. All routine calling sequences are performed through a system stack as per normal. However, the state of the execution system stack must be kept separate from the system stack used during editing and debugging. The solution was to allocate a second system stack just for execution and use the defacto system stack for debugging and editing. Where does one allocate the second stack? For the sake of the stack sniffer this second stack was allocated between ApplLimit and A5. Early versions of Prograph used the following sequence to allocate the second stack;

newStack = ApplLimit;         
ApplLimit = newStack - DefltStack;         
MaxApplZone();   

Until testing on the Mac II, this worked quite well. On the Mac II, strange things began happening whenever Prograph switched to the second system stack. Text would not show up in menus and window frames were drawn incorrectly. The only notable difference between the Mac II and the other systems was that DefltStack was 16k greater on the Mac II, presumably to handle color Toolbox calls. The stack allocation algorithm was changed to the following;

newStack = ApplLimit + DefltStack / 2;         
MaxApplZone();   

This works fine. However, what happens when a Toolbox call needs a large chunk of the stack? Is there a safe way for an application to allocate a second system stack?

[I don’t think so. This sounds like one of those nifty ideas that will probably never work since it will never quite match up with Apple’s changing system file, and MultiFinder evolution. I suggest you scrap this approach and try something less controversial. Can Apple DTS suggest a safe approach? -Ed]

From: mark (Mark Murphy, Anaheim, CA)

Subject: New Stacks

I need to be able to create a new stack from within a script! The only thing I have found is ‘doMenu “New Stack...”’. Yet, I do not wish the modal dialog to come up to the user. I need to create a stack and be able to name it myself, from the script without user input. Anyone have any ideas?

From: rdclark (Richard Clark, Tustin, CA)

Subject: Re: New Stacks

Well, since you’re probably not planning to use HyperDA with your stack (as it wouldn’t allow you to write to the new stack anyway), you can get away with using an XCMD. What this command should do is to duplicate an existing “template” stack and then rename it. If the template doesn’t exist, then you should put up a dialog box to that effect and execute a “doMenu New Stack” to let the user create the *TEMPLATE*. If you *really* don’t want the user to see a file selection dialog, you could “encapsulate” a new stack as a bunch of resources in your stack. The XCMD would read one of these resources and use it to create the stack’s data fork. The other resources would be copies into the resource fork. However, this second method could get kinda ugly.

Subject: SCSI Accelerator

From: thecloud

I have tried using the SCSI Accelerator INIT (version 1.1) on my Jasmine 20 (miniscribe drive). It doesn’t do ANYTHING for performance; the Disk Timer II numbers “before and after” were exactly the same. The Jasmine formatting software doesn’t let you set the interleave (v.2.34), but I understood it to be 2:1, which was recommended by SCSI Accelerator’s author. So am I missing something, or does this INIT only work on certain brands of hard drives?

Some Responses from Usenet

From: Ephraim Vishniac

The SCSI Accelerator INIT only has the opportunity to work on drives which do all of their SCSI operations through the SCSI manager: there’s no way for it to trap hardware access. In order to get decent performance, the Jasmine software goes straight to the hardware on the Mac Plus. So, the INIT can’t do anything for that drive that it doesn’t do for itself already. Though I haven’t examined it, I expect that what this INIT does is replace Apple’s tight loop for blind transfers with an unrolled loop of some length. This lets you tighten up your interleaving one notch on many drives.

Defense of Apple: They chose the speed of blind reads and writes deliberately to accommodate the varied timing of as many drives as possible. They certainly knew how to write a faster loop, but were aware that it wouldn’t work with many of the then-available drives.

Claimer: I wrote the Jasmine software up to version 1.95 or so.

From: dolf@uva.UUCP (Dolf Starreveld)

As already explained in two previous messages by Maarten Carels and me, the original version of SCSI Accelerator indeed tried to speedup blind SCSI operations by loop unfolding. It installed the patches only on a Plus and one of the two patches was installed in the wrong place. This is a serious BUG. It may cause polled (non-blind) writes to only poll the first byte of a scInc/scNoInc transfer and not the rest, therefore effectively reducing these to blind writes. A good driver uses blind operations when it can, so if a driver uses polled writes there is a very nice probability that in these cases some serious mishap may come to you. Another error was that the patch code always assumed 512 byte transfers in each scInc/scNoInc command. This is incorrect and may also be the cause of the original accelerator failing on certain drives (notably Rodime 20Mb).

I have a new version that fixes all these bugs and installs patches at the correct places. The first version (SCSI-accel) is the one described above. The second version addresses the timing problem Ephraim addresses above under “In defense of Apple” for some drives. As we found out (I have a very old Rodime RO652) some old drives (and maybe even some new ones) can’t keep up with two consecutive move.b instructions. The original Apple code always had the delay of one DBRA between any two bytes transferred. This is, as stated by Ephraim, long enough for the code to work with any drive. The Rodime 652 needs a small delay between each two bytes, but a DBRA is an overkill.

If you don’t use a MacPlus, you might as well stop here. If your driver does not use the SCSI manager SCSIRBlind and SCSWBlind routines, ditto. If you don’t know, install and just see if it works. If not you’re driver either doesn’t use these calls or does polled operations.

Subject: cdev’s and System 6.0

Practically all the public domain/shareware cdevs I used with no problem under System 4.2/Control Panel 3.2 appear to break under System 6.0/CP 3.3. Usually it’s “The Control Panel cannot get enough memory” (with almost 2 megs free?!), but other alerts have popped up as well. One of the “broken” cdevs includes the Apple “Sample” cdev from IM V, which I compiled myself. Hmmmm.... I think the problem may be that these cdev’s do not have a ‘sysz’ resource. Am I right?

Well, after looking more closely, I discovered the reason why various cdev’s were breaking under System 6.0: they check for the presence of certain packages in the System file (usually PACK 7 or PACK 4) that no longer exist! (except in the ROM). Even Apple’s Sample cdev in IM V does this (although there’s a brief disclaimer that you “really should” check for the packages in ROM). Ouch. Then there’s the MultiFinder test. Most sample source code I’ve seen (actually, ALL) checks for MultiFinder’s presence by testing to see whether the WaitNextEvent trap is implemented. Now, in System 6.0, it’s implemented ALL THE TIME, whether you’re in MF or not. So if application X assumes it’s running under MultiFinder when it isn’t, well, look out.

Question: how do you detect MultiFinder’s presence or absence under 6.0? [Answer: Your not supposed to care if MulitFinder is there or not; only check for the various services you expect. -Ed]

From: rusty (Mr. Rusty Hodge, Orange, CA)

Subject: Modem Problems

Hello, glad to see the Usenet stuff here. Did you know about the modem problem on line 2252? I’m using a Novation Professional 2400 modem and when I dial 2252 I connect at a weird level. Your modem answer tone throws my modem into a strange state where I hear a single handshake tone that neither modem seems to recognize. I have to manually hang up to clear my modem or let the S10 register time out. I have only been able to connect once on 2252 at 2400 baud. Line 1190 seems to work fine at 1200 baud. Just thought I’d let you know.

From: billw (Bill White, Santa Ana, CA)

Subject: Re: Modem Problems

I checked the problem with funny carrier tones, and discovered that there is a low-pitched tone being transmitted from one of the system modems.

From: rusty (Mr. Rusty Hodge, Orange, CA)

Subject: Re: Modem Problems

Well, I’ll let you be the test. Here are the 4 mousehole 2400 numbers, in the order of their hunting sequence: 921-2252, 921-2255, 921-1090, 921-1161.

From: billw (Bill White, Santa Ana, CA)

Subject: Re: Modem Problems

I checked all the lines in the hunting sequence and sure enough, the problem is actually on the modem connected to 921-2252. It’s a low-pitched tone that is being sent, and which masks the carrier tone.

From: rusty (Mr. Rusty Hodge, Orange, CA)

Subject: Re: Modem Problems

Okay Bill- Thanks for your hard work and effort. It is apparently something that isn’t consistent: I am on that line now and had no trouble connecting. I’ll check it out though; I’ll stick a spare modem on it and see what happens.

From: stu (Stuart Davison, Tucson, AZ)

Subject: Had some noise problems...

I had some problems so far. They are as follows: sometimes I keep getting cancelled with a ‘**’ and I have to reread the message over and over until I get the full message. It may have been the lines, I called back several times and got through a few times without much of a problem. My question is, is there some way to temporarily disable the interrupt so that if the line is interrupting it won’t cause such a problem?

From: rusty (Mr. Rusty Hodge, Orange, CA)

Subject: Re: Had some noise problems...

The Interrupt key defaults to RUBOUT/DELETE. Delete is a kinda common noise character. Go to ‘M’ on the main menu and change your interrupt key to ^C or something. ^C seems to work well in a noisy environment.

From: rusty (Mr. Rusty Hodge, Orange, CA)

Subject: Security Access Levels

Since I’ve gotten about 15 letters about this, I thought i’d post a bit about security levels. When you initially call, you have a security level of 1. This lets you read and post messages locally. To post to the network, you need a level of at least 2. I will only give people network access (level 2) if they request it. If you request it, it will take about a week before I get around to doing it. So, please be patient and only request network access if you intend to write to the network. Finally- inappropriate network activity will result in your network access being denied. It is suggested that you read the usenet topics a week or two before posting to them. A level of 0 means you have been bad and your account is suspended.

From: rusty (Mr. Rusty Hodge, Orange, CA)

Subject: Modem Info

Wouldn’t you know it- just when we get the 2 new Mitsuba Modems, Mitsuba changes their firmware to be identical with the PP2400SA! So there is the possibility that 2400 will not be 100% reliable until I get around to cloning some ROMS from the old units. HOWEVER, the good modems are on the 921-2252 numbers, the bad ones are on the 1090 numbers. If 2252’s lines are busy you will be bumped to 1090, and may not connect at 2400. ALSO- The 998-1199 number is now using the good old 1200 baud UDS modem (read: ultra-high quality). If you are getting noise connecting to 2252 or 1090 at 1200, please try the 1199 number.

From: rusty (Mr. Rusty Hodge, Orange, CA)

Subject: MouseHole Access

It has been asked by many people if MouseHole is available to non-MacTutor subscribers. Currently, MouseHole is free to all users. In the future there will probably be a small annual charge for non-MacTutor subscribers. The MouseHole download, which is an entirely seperate system, costs $10/year for basic access, and $20/yr for unlimited access.

From: cfuller (Clayton Fuller, Whittier, CA)

Subject: IW spooler

Multifinder is pretty much a curiosity to me at the moment. The two things I need it to do it cannot. More likely I just don’t know how. First, how can I print to the Imagewriter in the background? Second, what terminal emulation programs will allow me to download in the background?

From: ossian1 (Santa Ana, CA)

Subject: Re: term emulator

VersaTerm does just fine in background download mode. It’s also only $99 to normal folk, and who knows, maybe the company will give students a discount. jvs - ossian

From: rusty (Mr. Rusty Hodge, Orange, CA)

Subject: Re: term emulator

I have problems using VersaTerm Pro on MHDL. I stopped using plain-old VersaTerm because I *thought* it didn’t download in the background. I’ll have to try it.

From: rick (Rick Boarman, Claris Corporation)

Subject: Re: term emulator

I use MicroPhone II to down load in the background. It works just fine even if it is a little pricey ($295 I think).

From: greg (Greg Kearney, Casper, WY)

Subject: Re: term emulator

Red Ryder 10.3 will download in the background

From: ms (Michael Steiner, Sierra Vista, AZ)

Subject: IW SPooler

Clayton, Multifinder does not have an IW background print option. If you want to spool to the IW, you will need one of the commercial, shareware or pub domain spoolers. As far as downloading in the background, there are a number of utils that will do that, but for term emul. programs, I think that only MicroPhone II will do that, but I may be mistaken.

From: lnedry (Larry Nedry, Anaheim, CA)

Subject: MouseHole Download

The MouseHole Download can be reached at (714) 533-6112. At present there are two phone lines at 2400 baud. If you are a new caller, type new at the logon: prompt. There is a fee for downloading but you may browse all you want before deciding if you want to join. The cost for 1 year is as follows: For 45 minutes of download time per day - $10.00 For 300 minutes of download time per day - $20.00 You can signup with MasterCard or Visa by typing a ‘$’ at the main menu. Type a ‘?’ for help. 128 and 1024 byte X-Modem is the protocol in use. I’ll be happy to answer any questions you may have. Larry Nedry (MHD sysop)

From: spud (Spud Potato)

Subject: MF Terminal programs...

The new version of AppleLink (v. 5.0) downloads in the background with no apparent slowdown in speed....

From: rich (Rich Siegel, Bedford, MA)

Subject: Re: LS Pascal Radius SANE incompatability

It is, in fact, a problem with Radius SANE. I talked to Ron Marianetti at Radius (who did the Radius SANE INIT), and he did track it down to his bug. There’s a new version. I think it’s 1.1 or 1.2 of Radius SANE that is available to fix the problem. --Rich Rich Siegel THINK Technologies

From: tomh (Tom Herbst, Ithaca, NY)

Subject: Palette Manager in LSP

I am having a great deal of difficulty adding the necessary interface file to use the Palette Manager with LightSpeed Pascal. I manually entered the appropriate data structures, inlines, etc. gleaned from Inside Mac V, the MacTutor articles, and the Programmer’s Online Companion (all consistent), but the SetPalette calls crash even MacsBug with bus errors. Is there a copy of the necessary code along with a simple (i.e. create a palette, a NewCWindow, and draw a rectangle) program example out there somewhere? My PaletteMgr and example program compile ok, but run very inconsistently, sometimes drawing things in the default (startup) palette and more frequently crashing the whole shebang.

From: rick (Rick Boarman, Claris Corporation)

Subject: Re: MacTutor Disks

Many a times we have wished that we could download MacTutor source code from some board (ours?). We’d be willing to pay some fee for this handy service. Can this be setup? [Yes, Rusty and I are setting up a private MacTutor download for a fee, exclusive to the Mousehole. -Ed]

From: ericlim (Eric Lim, Flushing, NY)

Subject: Modeless Dialog/List Manager

HELP! HELP !! Does anyone know of a technique on using the List Manager Package in a UserItem inside a Modeless Dialog? I don’t want to create the window and controls on my own, I want to use IsDialogEvent and DialogSelect. Any suggestions on how I can do this? So far, I’m getting a system error when I use LNEW with rView set to the rectangle of the UserItem. I got the Modeless Dialog to work on a regular dialog with a UserItem. I also got the List Manager to work on a regular window that I created. But it just bombs when I use Modeless Dialog with the List Manager Package. I would appreciate any help or suggestions I could get. Thanks a lot! [Forget the Dialog Manager and just use the list manager into a window. -Ed]

From: tompink (Tom Pinkerton, Iowa City, IA)

Subject: Ending DA drvrCtl routine

For a while now, I’ve been using an ending to the drvrCtl desk accessory routine that was supplied with my MDS development package. That ending, rather than simply returning, calls the low-level Device Manager routine IODone (pointed to by the JIODone global variable) before returning. I’ve been blindly keeping this in all my DA sources without really knowing its purpose. I assume that who ever wrote the sample DA for the MDS development system knew what he or she were doing when they added this call. All I can figure is that the call somehow clears the IO Request sent to the DA from the driver IO Queue so that other devices won’t receive the request (since they needn’t bother with it, I guess). Does anyone know anything about this?

From: asc (Alex Colwell, El Segundo, CA

Subject: Using TTEView in MacApp

Is there anybody using MacApp? We are trying to develop an application using MacApp here at HAC (Hughes Aircraft Company). The application is design to handle various aspects of the mission planning (ie. war games simulation). My problem is trying to create a TTEView object inside another view. Rather creating the text edit view object at the time ‘DoMakeViews’ method is invoked. I would like to able bounce around in the current view and create a TTEView object relative to the mouse click position. The TTEView’s ‘DoKeyCommand’ and ‘DoMouseCommand’ methods are never invoked. The current view methods is always getting it before the TTEView’s methods. I tried to pass the information on to the TEView’s method, but always crashes and transfer to MacApp’s debugger. I have created a TCatView to contain the current view of interest and create the TTEView, but it does not work either. I tried to force setting the current child view using the ‘SetCurrentChild’, but it crashes, too. I am really stump how to make this application work properly. So far, I am really disappointed in MacApp. It’s suppose to be easier to program for the Macintosh, but I think it is worst than traditional Macintosh programming. If anybody has any thoughts, please let me know.

From: david (David Schlesinger)

Subject: DRVRs and Asynch I/O Calls

I’m currently writing a DRVR to handle a network protocol, and one aspect of the dDevice Manager interface has me a little puzzled: I understand that I can make “asynchronous” calls to the driver, and that these will be handled “at interrupt level”. What part of the MAC OS calls my DRVR? How often does this happen? Is my DRVR called only when the driver’s i/o queue is non-empty? I also gather that I can “defer” processing a _Control call by returning with a RTS rather than via jIODone. Will my DRVR be called to service subsequent requests in the queue if I defer a call? Inside Mac doesn’t really detail all the specifics of managing asynch calls to driver id’s. Any wizards who have some insight , your help would be greatly appreciated!

 
AAPL
$101.58
Apple Inc.
+0.00
MSFT
$46.52
Microsoft Corpora
+0.00
GOOG
$584.77
Google Inc.
+0.00

MacTech Search:
Community Search:

Software Updates via MacUpdate

Delivery Status 6.1.2 - Check delivery s...
Delivery Status displays delivery status of packages for a variety of shipment services. Can't wait for your packages to arrive? Don't waste your time checking the site constantly, just open this all... Read more
Mavericks Cache Cleaner 8.0.9 - Clear ca...
Mavericks Cache Cleaner is an award-winning general purpose tool for OS X. MCC makes system maintenance simple with an easy point-and-click interface to many OS X functions. Novice and expert users... Read more
OneNote 15.2.2 - Free digital notebook f...
OneNote is your very own digital notebook. With OneNote, you can capture that flash of genius, that moment of inspiration, or that list of errands that's too important to forget. Whether you're at... Read more
Apple Configurator 1.6 - Configure and d...
Apple Configurator makes it easy for anyone to mass configure and deploy iPhone, iPad, and iPod touch in a school, business, or institution. Three simple workflows let you prepare new iOS devices... Read more
SpamSieve 2.9.16 - Robust spam filter fo...
SpamSieve is a robust spam filter for major email clients that uses powerful Bayesian spam filtering. SpamSieve understands what your spam looks like in order to block it all, but also learns what... Read more
OS X Server 3.2.1 - For OS X 10.9.5 Mave...
OS X Server is the next generation of Apple's award winning server software. Designed for OS X and iOS devices, OS X Server makes it easy to share files, schedule meetings, synchronize contacts, host... Read more
Apple Security Update 2014-004 - For OS...
Apple Security Update is recommended for all users and improves the security of Mac OS X. For information on the security content of this update, please visit this website: http://support.apple.com/... Read more
OS X Mavericks 10.9.5 - The latest versi...
Apple OS X Mavericks is the latest release of the world's most advanced desktop operating system. Now free! With more than 200 new features, OS X Mavericks brings Maps and iBooks to the Mac,... Read more
iExplorer 3.5.0.0 - View and transfer al...
iExplorer is an iPhone browser for Mac lets you view the files on your iOS device. By using a drag and drop interface, you can quickly copy files and folders between your Mac and your iPhone or... Read more
BusyCal 2.6 - Powerful calendar app with...
BusyCal is an award-winning desktop calendar that combines personal productivity features for individuals with powerful calendar sharing capabilities for families and workgroups. BusyCal's unique... Read more

Latest Forum Discussions

See All

Ninja Raft (Games)
Ninja Raft 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: ** Special Launch Price ** "Ninja Raft is definitely the game to play if you’re into Tower Defense games and want to play something... | Read more »
Paste+ | Clipboard Action Widget (Produ...
Paste+ | Clipboard Action Widget 1.0.0 Device: iOS iPhone Category: Productivity Price: $3.99, Version: 1.0.0 (iTunes) Description: Powerful clipboard widget for iOS 8. Reimagine what you can do with your clipboard! Paste+ is a... | Read more »
Agenda+ | Calendar & Reminder Widget...
Agenda+ | Calendar & Reminder Widget 1.0.0 Device: iOS iPhone Category: Productivity Price: $1.99, Version: 1.0.0 (iTunes) Description: Best Calendar and Reminder Widget Ever for iOS 8 | Read more »
Leg·end·ar·y (Games)
Leg·end·ar·y 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Simple and yet complex. Leg•end•dar•y is a grid-based puzzle game based on numbers. Discover the adventure of Leg•end•dar•y and... | Read more »
KuaiBoard (formerly QuickBoard) (Utilit...
KuaiBoard (formerly QuickBoard) 1.0 Device: iOS Universal Category: Utilities Price: $1.99, Version: 1.0 (iTunes) Description: KuaiBoard is currently 50% off for launch! Billing info. Signatures. Locations. KuaiBoard allows you to... | Read more »
Treasure Fetch - Adventure Time (Games)
Treasure Fetch - Adventure Time 1.0.1 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.1 (iTunes) Description: Adventure Time Treasure Fetch is a fresh take on the classic Snake game! STRETCHY JAKE Snake your way... | Read more »
Light in the Dark (Games)
Light in the Dark 1.1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.1.0 (iTunes) Description: Be enlightened by this delightful puzzle game that has never before seen the light of day! "A physics and color-blending... | Read more »
Transmit iOS (Utilities)
Transmit iOS 1.0 Device: iOS Universal Category: Utilities Price: $9.99, Version: 1.0 (iTunes) Description: >> LAUNCH SPECIAL: Transmit iOS is ONLY $10 for a LIMITED TIME. << THE #1 FILE TRANSFER CLIENT FOR THE MAC NOW... | Read more »
Minuum - The Little Keyboard for Big Fin...
Minuum - The Little Keyboard for Big Fingers 1.0 Device: iOS iPhone Category: Utilities Price: $1.99, Version: 1.0 (iTunes) Description: Type faster, see more of your screen, and take control of autocorrect with Minuum: the little... | Read more »
TextExpander 3 + custom keyboard (Utili...
TextExpander 3 + custom keyboard 3.0 Device: iOS Universal Category: Utilities Price: $4.99, Version: 3.0 (iTunes) Description: | Read more »

Price Scanner via MacPrices.net

16GB iPad Air on sale for $449, save $50
Walmart has the 16GB iPad Air WiFi on sale for $449 on their online store for a limited time. Choose free home shipping or free local store pickup. Their price represents a $50 savings over standard... Read more
13-inch 256GB MacBook Air on sale for $1099,...
B&H Photo has the 2014 13″ 1.4GHz 256GB MacBook Air on sale for $1099.99. Shipping is free, and B&H charges NY sales tax only. Their price is $100 off MSRP. Read more
Toshiba Introduces TransMemory ID High-Speed...
Toshiba’s Digital Products Division (DPD), a division of Toshiba America Information Systems, Inc., today introduced the TransMemory ID USB 3.0 Flash Drive, a simpler storage solution for people who... Read more
New iPads and OS X Yosemite Release Coming Oc...
The DailyDot’s Micah Singleton reports that Apple is planning to hold its next product announcement event on Oct. 21, at which it will unveil the iPad Air 2 and iPad mini 3 and release a final build... Read more
Logitech Bluetooth Multi-Device Cross-Platfor...
Logitech has an enviable track record of making some of the best computer keyboards and mice. At least in my estimation, the best freestanding keyboards I’ve ever used have been Logitech units,... Read more
Roundup of Apple refurbished iPad Airs and iP...
Apple is offering Certified Refurbished iPad Airs for up to $140 off MSRP. Apple’s one-year warranty is included with each model, and shipping is free. Stock tends to come and go with some of these... Read more
Sprint offers 16GB iPad mini for $199.99 with...
Sprint is offering 1st generation 16GB iPad minis for $199.99 with a 2-year service agreement. Standard MSRP for this iPad is $429. Their price is the lowest available for this model. Read more
2.5GHz Mac mini remains on sale for $549, sav...
B&H Photo has the 2.5GHz Mac mini on sale for $549.99 including free shipping. That’s $50 off MSRP, and B&H will also include a free copy of Parallels Desktop software. NY sales tax only. Read more
Apple refurbished iMacs available for up to $...
The Apple Store has Apple Certified Refurbished iMacs available for up to $300 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free. These are the best prices on... Read more
13″ 2.5GHz MacBook Pro offered for $100 off M...
B&H Photo has the 13″ 2.5GHz MacBook Pro on sale for $999.99 including free shipping plus NY sales tax only. Their price is $100 off MSRP. Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.