Business Machine

Technology, business
and innovation.

And, not least, about
the Mac.

Weblog Archive Cutedge

by: Bernard Teo

Creative Commons License

Copyright © 2003-2012
Bernard Teo
Some Rights Reserved.

The Ultimate Business Machine - Archives

List of Categories : Database * Technology * Commentary * Singapore * Travel *

Wed 18 Nov 2009

Death to the Spinning Rainbow Beach Ball

Category : Technology/MavenSnowAndDeathToRainbowBeachBall.txt

On the Mac, if your application doesn't respond to user events for more than 5 seconds (e.g., on Maven when it's searching through 15,000 records looking for just the one you want), the cursor changes to the Spinning Rainbow Beach Ball. To the user, the application looks like it's gone dead and you're tempted to force-quit it.

So I've always wanted to kill this Spinning Rainbow Beach Ball of Death. On the latest release of Maven Snow, I've been able to do just that.

Snow Leopard brings with it Grand Central Dispatch which makes it easier for a Cocoa programmer to take advantage of the multiple CPUs we have in modern-day Macs to do concurrent programming without getting down and dirty with threads.

But I've started off with a slightly older technique - Operation Queues, which will also work on the iPhone (one day, it'll have a multi-core). On Maven for Snow Leopard, you can have multiple windows open and trigger a search on each window without waiting for the previous one to finish. In a long search, you never get the spinning beach ball. The application remains responsive to user action and it feels more natural working with the app.

The best thing is, it takes only four to five lines of additional code to do all that. Smart programmers will love Cocoa. The others, being Ballmer's Hordes, continue to extol the virtues of Microsoft and they're welcome to stay that way.

I've added this to the latest development build of Luca that I'm working on in Snow Leopard. I can do a Trial Balance, and while it's doing that, do a Statement of Accounts report simultaneously, and it doesn't tie up the GUI.

On my Snow Leopard iMac it works great and both reports finish not much longer than it took one report on the current Luca on Leopard. Of course, there you had to run each report sequentially, waiting for one to finish before starting the other. So the world looks good, going forward.

But the problem is that Snow Leopard breaks a lot of things in Luca, especially the date handling routines which are at the core of a lot things we do in Luca. So I'm still struggling to get thru all of these. But I'm enthusiastic about Snow Leopard and what it can do to help Luca become an even more powerful and useful system, so I'm not complaining.

Posted at 2:57AM UTC | permalink

Put your Mac to Work Now how would you do something like that?

Weblogs. Download and start a weblog of your own.

A Mac Business Toolbox
A survey of the possibilities

A Business Scenario
How we could use Macs in businesses

VPN Enabler for Mavericks

MailServe for Mavericks

DNS Enabler for Mavericks

DNS Agent for Mavericks

WebMon for Mavericks

Luca for Mavericks

Liya for Mountain Lion & Mavericks

Postfix Enabler for Tiger and Panther

Sendmail Enabler for Jaguar

Services running on this server, a Mac Mini running Mac OS X 10.9.2 Mavericks:

  • Apache 2 Web Server
  • Postfix Mail Server
  • Dovecot IMAP Server
  • Fetchmail
  • SpamBayes Spam Filter
  • Procmail
  • BIND DNS Server
  • DNS Agent
  • WebDAV Server
  • VPN Server
  • PHP-based weblog
  • MySQL database
  • PostgreSQL database

all set up using MailServe, WebMon, DNS Enabler, DNS Agent, VPN Enabler, Liya and our SQL installers, all on Mavericks.