Tiger in April?

Think Secret, apparently undeterred by Apple’s ongoing lawsuit against them, claims that Apple will officially announce Tiger, the next release of OS X, on April 1st, and start shipping the upgrade in the middle of the month. Apple is also expected to upgrade their current iMac G5s and eMacs in the same timeframe.

Posted by Scott Laird Fri, 11 Mar 2005 21:15:13 GMT


Amazon says: Tiger on March 31st

Engadget reports that Amazon is taking pre-orders for OS X 10.4 (“Tiger”), claiming that it’ll ship on March 31st, 2005.

Apple hasn’t officially announced anything, so odds are this is an Amazon snafu.

Posted by Scott Laird Fri, 15 Oct 2004 16:57:09 GMT


The Missing Sync for Palm OS 4.0

Mark/Space is one of those fascinating little niche software companies that show up all over the Mac landscape. Mark/Space’s niche is PDA sync software–they sell products for syncing with various Palms, PocketPCs, and have Danger Sidekick software perpetually under development, waiting for Danger to finish the last bit of work (I suspect that my ex-sidekick-using co-workers will tell them not to hold their breath on that one).

When I first bought my current palm, and ancient Sony Clie T615C, I was surprised to find out that it wasn’t completely supported by Palm Desktop on the Mac. Sony doesn’t want anything to do with Macs, and Palm didn’t want to bother helping Sony, so Mac users were left in the lurch. Fortunately, Mark/Space stepped in and offered their Missing Sync for Sony Clie which unobtrusively closed the gap between Palm’s software and Sony’s hardware.

Early this year, when PalmSource announced that they weren’t going to support syncing Macs and PalmOS “Cobalt” handhelds, Mark/Space stepped into the gap again, pre-announcing a new version of their software that would make the new (so new, they still aren’t out 7 months later) Palms work with OS X.

Well, the handhelds may not be out yet, but the sync software arrived late last week. The Missing Sync for Palm OS 4.0 is available now. It’s a huge change from their previous products–before, they sold 3 or 4 different PalmOS sync products, one for each major brand of handheld, and they really only bridged the gap between Palm Desktop’s Hotsync Manager and the hardware itself. Now, all of the PalmOS handhelds running PalmOS 4 and up have been rolled up into a single product.

The bigger change is that the new Missing Sync completely replaces the Palm Desktop Hotsync Manager, while still maintaining support for all of the old Palm conduits on the market. So iSync, Life Balance, and Documents to Go still sync correctly, but the really irritating bugs and shortcomings in the old Hotsync Manager are gone. Most specifically, the bug that required the hotsync window to have the keyboard focus before Life Balance could sync is now completely gone. It also supports bluetooth and TCP/IP syncing, which were never in the Mac version of Palm Desktop.

Installing The Missing Sync was painless–just run the installer and then reboot, and it worked perfectly out of the box. It looks like a perfect drop-in replacement for the old sync manager.

At this point I’m all set, waiting for someone to come along and make a Palm that I actually want to buy. PalmOne? Tapwave? Sony? Anybody?

Posted by Scott Laird Wed, 04 Aug 2004 21:33:07 GMT


PhaseOne C1 LE for the Mac

I just received some very pleasant vendor email–the “LE” level of PhaseOne’s C1 DSLR raw image processing software is now available for OS X. C1 comes in 3 flavors: LE, SE, and Pro. The SE ($250) and Pro ($500) versions have been available for the Mac for a while, but not the LE ($99) version. I’ve been tempted to buy C1 for a while, but I just can’t see paying $250 for it. If I was a Windows user, then I’d have bought the LE version a year or so ago.

I’m off to download the free trial…

Posted by Scott Laird Fri, 30 Jul 2004 01:50:29 GMT


Maybe 'Dashboard' isn't a rip-off after all

Dave Hyatt (the guy behind Apple’s Safari browser) just posted a few more details on Apple’s new ’Dashboard’ feature that they’re pushing as a part of Tiger:

I wanted to blog briefly to clear up what the widgets actually are written in. They are Web pages, plain and simple (with extra features thrown in for added measure). Apple’s own web site says “build your own widgets using the JavaScript language”, but that’s sort of misleading. The widgets are HTML+CSS+JS. They are not some JS-only thing.

That actually makes me feel a lot better–Apple has been widely accused of pilfering the design from Konfabulator, even though Apple had similar features in the old Mac OS from the very beginning.

If you look at Dashboard as a way to turn quick-and-dirty web apps into real desktop applications, it suddenly looks very different from a straight Konfabulator rip-off. In fact, it really looks more like an interesting attack on XAML and Avalon, two of Microsoft’s additions to Longhorn. The underlying technology is different, but the fundamental goals are almost the same–allow people to develop both web and desktop applications using the same tools. The implementation differences reflect the basic difference between Apple and Microsoft’s approaches–XAML/Avalon is a ground-up replacement for HTML and the traditional Windows programming model, while Dashboard is really just a small tweak to something that already exists.

Update: As usual, John Gruber says it better then I can.

Posted by Scott Laird Wed, 30 Jun 2004 18:47:05 GMT


Wait a minute--Tiger's iChat can do Jabber

I didn’t see this in any of today’s discussions on Apple’s new ’Tiger’ OS X announcements, but it’s turned up in the Tiger Server documentation: Tiger’s iChat can talk to Jabber servers. So, apparently it’s not AIM-only anymore.

I’m still waiting for iChat’s audio and video conferencing to support random SIP servers. Please, Apple?

Posted by Scott Laird Tue, 29 Jun 2004 04:39:44 GMT


Tiger stuff

A few notes on Tiger:

  • Ooooh. Search. Search has been one of my big things lately, and I like what I’ve seen of Tiger so far, but it’s too early to tell how well it’ll work. Fundamentally, searching seems to scale better then strict hierarchical organization. For instance, with a good search tool, it’s faster to search through the 100,000 or so old email message that I have laying around then it’d be to change folders and skim through a couple dozen messages by hand. The big problem is that search tends to be resource-intensive–I’ve been playing with Zoe, QuckSilver, and HistoryHound, and they each end up wanting over 100 MB of RAM. Fundamentally, there’s no real need for this, and we’ll see how Apple does with Tiger. I’m hopeful, but I’m used to disappointment. Specifically, I want to see what Mail.app lets me do with smart folders; Can I tag messages with tags like ‘Important’ or ‘To-Do List’ and get smart folders that show me all of the ‘To-Do List’ items? There’s no real indication that Apple is going to let us add generic metadata, and that’s a pity; it’ll have to wait for ‘Lion’ or ‘Tabby’, or whatever comes after Tiger.

  • 64-bit application support. This isn’t a huge thing for most people today, but for some types of applications, it’s utterly critical. Anything that wants to use more then 4 GB of RAM needs it, and it starts getting useful around 1 GB, generally. It’s the way of the future, and it’s nice to see that it’s showing up now; in another two years, it’s going to be important to all of us.

  • cp understands Mac OS resource forks. Finally. Files are files; the fact that copying Mac-specific files with Unix tools tended to destroy bits of them was kind of irritating.

  • Safari has an RSS reader. After watching Apple’s RSS movie, I’m not really sure about this one–it’s a neat feature, but it pales in comparison to NewNewsWire. Frankly, RSS belongs in Mail, not Safari.

  • Real-time video effects using the GPU. Cool, but not terrifically useful to me, particularly with my underpowered PowerBook 550.

  • iSync SDK. ABOUT FSCKING TIME. The Zaurus people have been trying to write an iSync plugin for years, but haven’t had any documentation. Personally, I’d love to see what happens one you graft bits of MultiSync into iSync–you should end up with free calendar and address book synchronization between Macs, Linux systems, PocketPCs, and whatever else MultiSync supports now.

  • iChat supports conferencing. Yeah, but does it support non-AIM SIP servers? It’s totally unusable for me right now, between generic NAT problems and Asterisk wanting port 5060 on my firewall. It’d be really nice if I could use iChat as a softphone with Asterisk.

Apparently, it’s all shipping in 1H2005, or up to a year away. It’ll probably end up being February-ish, if they follow their Jaguar/Panther shipping trend. That’s a long time to wait for the handful of features that I’d really like to see (mostly the Spotlight search tools), and as always, there’s the $129 question–is the upgrade really worth it?

Posted by Scott Laird Mon, 28 Jun 2004 20:48:15 GMT


Painfully slow disk access

I co-worker just pointed this out. On my Powerbook (a G4/550, 768 MB, 40 GB 4200 RPM drive), running ‘find /usr’ takes around 30 seconds every time I run it:

tibook$ time find /usr | wc
   48402   48402 2390367

real0m30.041s
user0m0.410s
sys 0m2.620s
tibook$ time find /usr | wc
   48402   48402 2390367

real0m32.034s
user0m0.450s
sys 0m2.710s

On the other hand, one of my Linux boxes at home isn’t that much faster (Athlon 700, 384 MB, old Maxtor 5 GB drive), but it’s able to do repeated finds much quicker:

debian# time find /usr  | wc
 124088  124108 5869110

real1m43.631s
user0m0.680s
sys 0m1.170s
debian# time find /usr  | wc
 124088  124108 5869110

real0m2.090s
user0m0.530s
sys 0m0.700s

Notice that repeated finds drop from 103 seconds to 2 seconds on the Linux box, while they stay around 30 seconds on the Mac, even though the Mac has twice the RAM of the PC.

I’m assuming that OS X is restricting the amount of RAM used for disk caching, but it’s really painful in this case.

Posted by Scott Laird Wed, 05 May 2004 01:32:21 GMT


Asterisk, the OS X Address Book, and cheap calls without dialing '1'

I am a happy man. I have, after four years of trying, achieved nerdvana. I am down to one single address book, accessible everywhere. It’s shared between my computer, my cell phone, my palm, my wife’s Mac, her phone, and finally, as of yesterday, our home phone. I can add new contacts anywhere, and they show up everywhere automatically.

It’s actually even more pervasive then that; the same address book entries re-write incoming caller ID and control our home phone’s ringer, so we can tell the difference between friends and telemarketers without even looking at the caller ID display. The best part is that it all just works. Setting it up in the first place took a bit of work, but once it’s running, all I have to do is drag cards around inside of the OS X Address Book, and everything else follows along on its own.

The first part of this whole operation was to get data out of the OS X Address Book and into a form that I could work with on one of my servers at home. Towards that end, I wrote ab2vcard, a simple tool that extracts vCards for every address book entry and stores them in a directory. If you set up Subversion and use the right flags on ab2vcard, then all of your vCards will be checked into Subversion and automatically replicated onto the Subversion server. I run ab2vcard from cron, so every two hours, all of my addresses are automatically sent to my server at home.

Next, I wrote asterisk-vcard-cid so I could use the names in my Address Book for Caller ID instead of the nasty stuff that Verizon sends me. If you copy the ‘vcardcid-cron.sh’ file that comes with it onto your Asterisk server and run it every couple hours, then it’ll do all of the hard work of checking changes out of Subversion and shoving them into Asterisk. The way I have it set up, I have 5 groups in my Address Book:

  • Home CallerID
  • Home Ring 1
  • Home Ring 2
  • Home Ring 3
  • Home Ring 4

Any contacts in the ‘Home CallerID’ group will automatically be added to the caller ID DB in Asterisk. Anyone in one of the ‘Home Ring’ groups will have ‘distinctive ring’ turned on when they call. That was really easy with Asterisk. All I had to do was add a macro like this:

[macro-setalertinfo]
  exten => s,1,DBGet(ALERT_INFO=distinctivering/${CALLERIDNUM})

Then, I make sure that all incoming calls use this macro. Here’s my complete outside line macro:

[macro-outsideline]
  exten => s,1,SetCDRUserField(Outside (${CHANNEL}))
  exten => s,2,LookupCIDName
  exten => s,3,SetMusicOnHold(random)
  exten => s,4,Macro(setalertinfo)
  exten => s,5,LookupBlacklist
  exten => s,6,Dial(${PHONES},13,Ttmr)
  exten => s,7,Answer
  exten => s,8,Goto(outside-ivr,s,1)
  exten => s,106,Wait(3600)
  exten => s,107,Hangup

This handles caller-ID rewriting, blacklisting, distinctive rings, adds extra logging, and sends unanswered calls to voicemail.

One little note on distinctive ring: the way I’m using it, it probably only works right with Cisco SIP phones, although other SIP phones that support distinctive ring will work with a few changes to the vcardcid-cron script.

Finally, I’ve added a mechanism for tying the same set of vCards into the speed dial directory on Cisco SIP phones. I’m using the 7940, but the 7905, 7912, 7920, 7960, and 7970 should all work. Each of these phones has the ability to download XML programming objects over HTTP. There aren’t a lot of great references out there, but this one is fairly complete and seems accurate so far.

The directory tool that I wrote, cisco-phone-directory, runs as a CGI on a web server. If you set up the Cisco phone right, every time you select ‘external directory’ from the directory menu, you’ll be prompted with a search screen. Enter a few letters from the name that you’re looking for, and you should get a nice, short list of names to choose from. At this point, it works with almost no fuss, and almost no user training.

Er, except for one little problem. All of the numbers in my address book look like (206)-555-1212. Once you strip the punctuation, you’re left with 10 digits. The problem is that I need to dial a ‘1’ before I call long distance numbers, and it’s not really obvious which numbers are long distance and which aren’t. I can dial most numbers in the 206 area code for free, and about half of the numbers in 425, but there’s no simple way to tell which numbers are which. Since I’m cheap, I want to send toll-free calls out over a real phone line, because it doesn’t cost me anything, while I send toll calls to NuFone over the Internet, because they cost about half as much per minute.

In order to do that, I need to know which numbers are local, given my phone’s area code and exchange. So, enter yet another tool: asterisk-lca-map. If your home number was (425)-488-1212, then you’d run it from the command line like this:

$ asterisk-lca-map.rb 425 488 1212 'Macro(dialanalog)'

and it’ll produce a dial plan that sends all local calls out ‘Macro(dialanalog)’, like this:

exten => _206200XXXX,1,Macro(dialanalog)
exten => _206202XXXX,1,Macro(dialanalog)
exten => _206203XXXX,1,Macro(dialanalog)
exten => _206204XXXX,1,Macro(dialanalog)
exten => _206205XXXX,1,Macro(dialanalog)
exten => _206208XXXX,1,Macro(dialanalog)
exten => _206210XXXX,1,Macro(dialanalog)
exten => _206213XXXX,1,Macro(dialanalog)
exten => _206214XXXX,1,Macro(dialanalog)
exten => _206215XXXX,1,Macro(dialanalog)

You can then add a couple extra rules at the bottom to handle 800 numbers and toll calls:

exten => _888NXXXXXX,1,Macro(dialanalog1)
exten => _1888NXXXXXX,1,Macro(dialanalog)
; continue on with 877, 866, 855, and 800

exten => _NXXNXXXXXX,1,Macro(dialnufone1)
exten => _1NXXNXXXXXX,1,Macro(dialnufone)

The ‘dialanalog1’ and ‘dialnufone1’ macros prepend a ‘1’ to the number that they’re calling. When all of this is done, dialing ‘2062001111’ goes out the POTS line as-is, while dialing ‘2125551212’ goes out NuFone as ‘12125551212’. Everything Just Works, and users don’t have to know when to dial a 1 and when not to. They never actually need to dial the 1 at all, although if they do, it’ll still work. And that’s what I’m aiming for–the back end is complex, because it has to interact with complex parts of the real world. The front end is dead simple, though, because I can handle all of the hard bits without bothering the user. They can just dial the phone number, and I’ll route it out the cheapest connection automatically.

Posted by Scott Laird Fri, 09 Apr 2004 08:23:06 GMT


Quicksilver (the program, not the book)

Since everyone was raving about Quicksilver this week, I broke down and gave it a spin. Quicksilver is similar to Launchbar; they’re both keyboard-driven shortcut tools for OS X. You just hit their activation key and start typing, and they’ll search for an app or a bit of data or whatever, and try to show it to you.

I’m kind of liking Quicksilver, which is odd, because Launchbar never did it for me. I’m probably the only OS X person around who has tried it and given up on it. Anyway, the thing about Quicksilver is that it does a nice job searching everything–it knows about Address Book entries, web bookmarks, web history, developer tools and documentation, applications, email addresses from old email, and a pile of other things, and it’ll search through it all instantly.

Its one big downside for me right now is its memory use. On my Powerbook, it’s using around 50 MB of RAM right now, which is more then a little excessive. Admittedly, I have almost all of its options turned on, but that’s still way more then I’m willing to lose for a program that I’m not going to use much. So, the big question is am I going to use it enough to make it worth it?

If anything, this may turn out to be one of those programs that I never knew I needed, but after using it for a few days my needs have grown past what it can provide. I can see a ton of things that I’d love in a Quicksilver-like interface that I doubt it’s going to provide. I’d really like a fast full-text email search, for instance, and a fast document search. More then anything, though, I’d really like to be able to use Quicksilver as a quick way to enter Google queries. Instead of tracking down Safari and clicking on the Google box, I’d love to be able to hit Command-Space and type my query. It probably wouldn’t be that hard for Quicksilver to use Google as the Search of Last Resort, but it’s not exactly what they’re aiming for right now.

Of course, the holy grail would be Quicksilver’s incremental search combined with Google–just start typing, and it’ll start flipping through web pages that match. I’d kill for that. Of course, it’d make Quicksilver’s 50 MB footprint look like chump change.

For now, I’m still testing Quicksilver. It has its good points and its bad points. After a couple days of use, I’m still not very attached to it. Most of my favorite tools, like NewNewsWire and iView Media Pro were habit-forming almost immediately. I’ll probably stick with Quicksilver for now, and see what new betas turn up.

Posted by Scott Laird Sat, 03 Apr 2004 03:18:24 GMT