Tuesday, September 06, 2011

Usenet 2: StackExchange and apple.stackexchange.com

A few years back two geek gods, Atwood and Spolsky, put Stack Overflow together. They were responding to the sploggish network of tooth grinding programming support sites of the day.

From that grew StackExchange. For geeks of a certain age, the current 61 sites feel like the 2nd coming of Usenet. (Once Usenet was great. Yes, I know that's hard to imagine, especially since you don't know what usenet is/was).

Among the 61 is the best Apple Q&A site on the web. It's where I look to learn and contribute. It's turbocharged my Google Custom Search engine for OS X search.

Here are a few others that personally interest me ...
Sure sounds like usenet. For example: Science Fiction and Fantasy.

I wish I knew how Jeff & Joel were going to get rich from all of this, but I suspect they have ideas.

My MacBook Air case is a Ziploc baggie

I bought the 11" Air instead of the 13" because I wanted portability above all. It's a tough call, but Lion's 'full screen' integration with Mission Control makes that small display usable. For real work, of course, I add an external display.

So I didn't want to sacrifice portability by adding on a $30+ neoprene sleeve. The Air itself feels pretty study. It is, however, not waterproof. So I've been looking for a tight fitting 'case' that would provide water protection with a bit of surface protection.

Something like a .... baggie (I know what you were thinking).

For the moment I'm using the Ziploc 2 gallon Heavy Duty freezer bag: 13" x 15.6". The horizontal (13") dimension is a good fit, but it's far too long. I would prefer a 13" x 8" baggie. So I'm still looking, but for the moment the current bags are fine. Those I don't use up on the Air I use in the kitchen. The price is certainly right.

Sunday, September 04, 2011

Back to the future: OS X Parental Controls, DVD Encyclopedias, and MacKiev

I was born into a world of progress. Things were supposed to get better, the old would fade away.

That was then. Now we live in a whitewater world. One year we get the iPhone, another year movie viewing fails. Bits and pieces of solutions come together then fall apart again. Cloud services come and go with bewildering speed (fear the cloud).

In this world all-but-forgotten DVD Encyclopedias are making a return to our home. That's weird.

They're coming back because OS X Parental Controls have failed me [1]. Lion's PC "bug fix" was the last straw.

Sure, I blame Apple -- but it's not their fault alone. For reasons both good (bypass tyrants) and bad (involuntary marketing) the web fights controls. I can't win this fight.

So, in addition to the child accounts we monitor by log tracking (%$$# OS X Log Viewer), I've created a completely open account on one of our machines. That account can be open ... because it has no net access. None at all.

This account has old-school local apps like iTunes (access to our media server, App Store and Ping disabled) and AppleWorks. The machine is old enough to also include a 6+ yo copy of World Book encyclopedia.

That old encyclopedia could do with a tune up. So I took a look at what's available in DVD land. Amazon has the 2011 copy of EB (Mac/Win) for $23. That's a good end-of-year deal, but I'm skeptical about the quality of their OS X software.

On the other hand, MacKiev, a Ukranian OS X dev shop that did a great job resuscitating Mavis Beacon Teaches Typing produces the Mac version of World Book Encyclopedia. It runs on both legacy and Intel machines all the way from 10.3.9 (!) to Lion. It's more money ($40) but I'll give it a try once the 2012 edition comes out.

I've really got to hold onto my old software going forward.

[1] Incredibly, iOS is even worse.

Friday, September 02, 2011

Migration of metadata from Aperture to iPhoto and Google's Picasa web albums

There can't be more than one person in a million who cares about this.

This post is for you. Please comment so I know I'm not alone. (Just joking, I know I'm alone.)

I've been curious about how metadata (title, comment, etc) passes between Aperture 3 and iPhoto 8.1.2 [8]

I ran an experiment today to find out. I started with a RAW image. I exported a JPEG version to the desktop then dropped it into iPhoto. I also, for the heck of it, used iPhoto's Aperture browser and dropped an image in that way. [5]

Here's what I found (see [6] below for a note on the table).

  • n/d means not displayed
  • e- means it can be seen in the EXIF details on Picasa Web album
Aperture Attribute Name
iPhoto Name
Picasa [4]

File
Media browser
File
Version Name
n/d [3]
title
n/d
Caption
description
[2]
n/d
Rating
none
n/d
n/d
Keywords
keyword
n/d Tags, e-keyword
Title
title
n/d
Caption, e-object name
Event Name
n/d n/d n/d
Image Location (text)
n/d n/d e-location
State/Province (text)
n/d n/d e-state
Image Location using Places
n/d [1]
n/d
yes [1]

So if you, for some strange reason [7], edit in Aperture but store in iPhoto, don't bother rating photos. You can, however, use the following attributes and see useful information in iPhoto 8:

  • aperture.Title -> iPhoto.title
  • aperture.Caption -> iPhoto.description
  • aperture.Keyword -> iPhoto.keyword
  • aperture.Version Name -> file name if specified during export
  • aperture.Places -> not rendering for me in iPhoto 8, but it's stored correctly and Picasa Web Albums can use it.

When exporting from iPhoto to Picasa only iPhoto.title and iPhoto.keyword are used.

Based on this experiment, I crated a custom Aperture metadata set that included Title, Caption and Keywords. I also customized my Grid View - Expanded metadata (cmd-J) to include Title, Caption, Keywords and Version Name.

Update 9/7/11: It appears that the Aperture Project Name is written to JPEG EXIF during export and read by iPhoto during import. Most surprising.

-fn-

[1] This really surprised me. In the past this metadata had been preserved. I wonder if an Aperture update made it incompatible with my older version of iPhoto. Although iPhoto 8 couldn't read the location metadata, it was in the EXIF header because Picasa could read it.
[2] Something odd happened here. I'd assigned a Caption on Import and that's what showed up in iPhoto. I suspect it was IPTC metada from the RAW image.
[3] This can become part of the file name on export from Aperture. The iPhoto.title attribute can be set equal to the file name by batch update. So there's a way to pass this to iPhoto if desired.
[4] Exporting from Google to Picasa Web Albums using Google export
[5] This isn't something you'd normally do. It just saves a @500K JPEG Aperture uses as a preview images. Still, it's interesting to see what happens with the metadata. 
[6] When I tried to create this table I again mourned the passing of FrontPage, Windows Live Writer (all but gone) and the great wysiwyg editors of old. Neither MarsEdit (this tool) nor iWeb do tables. So I downloaded SeaMonkey (88MB - once that was a lot). Since I remembered Netscape Composer I had a major flashback with fascinating visuals.
[7] I'm stuck in iPhoto until Apple changes Aperture's iPhoto import to include more metadata. Also, I don't trust RAW for archival storage. I save JPEG and discard RAW.
[8] I haven't updated to iPhoto 9, the dead fish smell has been offputting.

Tuesday, August 30, 2011

Migrating Contacts from Outlook/Exchange server to OS X Address Book via MobileMe

For the past year I've had one set of Contacts in Outlook/Exchange server and another set in OS X Address Book/MobileMe. My iPhone pulled in both sets, so they met there. (I'll omit the added complexity of how I sync to Google.)

This worked quite well, but now I need to bring all my Contacts into OS X Address Book. There are several ways to do this [1], but in the midst of some quick Google searches I remembered I'd written about this. I like my approach best, as detailed in two 2009 posts (neither of which rank highly on Google fwiw [2]):

The value of this approach is it uses Apple's own software to manage the Outlook to Address Book translation. The problem is that it requires MobileMe, which is no longer publicly available. I'm hoping Apple will do something similar with iCloud -- assuming they don't shut Windows out entirely.

The software I use is the Contact Sync tool built into MobileMe for Windows. These are the components:

  1. MobileMe (alas, closed to new users ... maybe iCloud will work one day?)
  2. Outlook 2007 running on XP (in my case, in a VM)
  3. MobileMe Control Panel for Windows (no support for Outlook/Exchange, only Outlook standalone)
  4. OS Address Book.

The first step is to get a copy of my Contacts into Outlook 2007 at home.

  1. Clean out all Contacts from Outlook 2007.
  2. Using MobileMe control panel and "sync reset" I sync everything from MobileMe into Outlook 2007.

Second step is to copy my Contacts from Exchange Server to a PST file. This has the added benefit of transforming X400 style email addresses to standard format.

Third step is ...

  1. Back up OS X Address Book contacts.
  2. Add the PST file as a data file and drag and drop Contacts into a subfolder of Contacts (see above articles for details, this is how Apple's sync software treats OS X Address Book Groups -- as Contacts subfolders).
  3. Sync again to get them all to MobileMe and inspect MobileMe.
  4. In OS X sync to get them all to Address Book.

I'm reminded of something I'd forgotten -- how vastly better Outlook is for managing contacts than OS X Address Book -- especially since Microsoft Access can manipulate Outlook contacts. It's reason alone to have my VM keep synchronizing with MobileMe.

[1] CSV export doesn't work very well. There are some utilities that probably work; one reader of mine had success using Plaxo.
[2] A splog that had stolen a post of mine ranked higher than my stuff. Maybe I should start taking Google's ads?

Lost and found: putting contact info on iOS and OS X login screens

Most people are reasonably honest, and for some integrity is a point of pride.

So if you lose your iOS or OS X device there's a good chance it will be found by an honest person. Alas, at that point they're stuck. They have no way to know who to return the device to, especially if it's encrypted (as it should be).

It's easy to remedy this for an iOS device. You can make any image the background for the iOS login screen. I typed my contact info into an iOS Note, saved it as a screenshot, then made it my login background. For good measure I taped a business card into the back of my Speck iPhone case.

Things aren't as easy for OS X, including Lion. There's no tool for changing the login screen background, you have to hack it. On an Air, you can't even tape a business card or write contact info on the battery. (Yes, you could try a Sharpie on the back. That takes a Vulcan dedication to logic!).

For my Air I put my contact info into the password "hint" box. If someone clicks on the question mark next to my name on the login screen they'll see it. This is subtle though, so I'll probably hack the login screen too, and use a pixel editor to put my contact info there too. I did something like this once with a digital camera.

Apple should make it easier for honest people to help us out ...

Update: Yay! There's an official way to do this in Lion. KimH had the tip in comments. I'm starting to like Lion a bit more ...

Gmail and Google Contact Groups: At last, simple paste of a list of email addresses

I've not seen mention of this, but for me it's the biggest improvement to Gmail/Google Contacts in months. Heck, it may be the most valuable thing Google has done for me in 2011.

Years ago, when Gmail was definitely beta, we could create email "lists" (Groups) by pasting a list of email addresses into a text field. Gmail would digest the list and create a Group. Google removed this functionality, perhaps to reduce abuse by spammers. Instead we had to create Groups one member at a time. This was a serious PITA for the various sports teams and organizations I work with.

I gave up hope that Google would ever restore this functionality, but today I discovered they have -- probably in the past few weeks.

It's subtle, but the UI for creating a Group, or adding email addresses to a group, is now an expandable multi-line text box. If you paste in a list of email addresses Google will match them to existing Contacts and add the Contacts to the Group. Failed matches become new email-address-only members.

Tuesday, August 16, 2011

My Lion bugs - collection

I'll be using this post to collect the Lion (OS X 10.7) bugs I run into, and track which are fixed. I think Lion will ready for general use by summer 2012.
  1. Not a new bug -- but Lion Parental Control log display, like all prior versions of OS X, truncates the visited or blocked site descriptions.
  2. You can't create a guest account on a FileVault 2 encrypted disk. The option to do this is grayed out. If you are careful you can rest a mouse pointer on the checkbox and get an explanatory text. This makes sense, but the bug is a failure to notify the user; the UI doesn't work.
  3. There are problems with security and privilege escalation when users do administrative tasks from non-admin account. I think these will take a while to fix. They probably play a role with these bugs; I use a non-admin account most of the time.
    1. Printers shared by 10.6 machine are not visible to Lion machines. I was able to get the printer to show up by applying a pending 10.6 update and restarting both the print server and my Lion (Air) client. I have a hunch this is somehow related to the 'download from internet' bug (see below) and at root it's a security bug.
    2. Lion does not remember 'download from internet' 'do you want to open' choices. It can persist is asking them.
File these under criminally negligent design rather than mere bugs ...
  1. iCal
  2. Address Book

Friday, August 12, 2011

OS X: Firewire 400 networking faster than Gb ethernet

I've idly wondered about this and today I had a real world test.

I am copying a 64GB VM image between machines.

I knew it wouldn't work, but for fun I tried 802.11n. That was estimated to take days.

Then I tried Gb ethernet. OS X estimated 6 hours.

Then I tried firewire 400. It's little known, but 10.6 and earlier supported networking using Firewire (probably using Bonjour/Rendezvous discovery). Both machines assigned the one another an IP address and they connected (there was a little pizza spinning because I forgot to dismount a network share first).

The transfer was initially estimated to take 5 hours. Now it looks like it will complete in 30 minutes.

So it appears that OS X Firewire networking is much faster than Gb ethernet, which one wouldn't guess from the specs (Gb > 400 Mb). On the other hand, the firewire estimate started out as 5 hours and then suddenly sped up, so there's something quirky here.

Incidentally, doing firewire networking makes the laptop run hot. It's working ...

Shrinking a pre-allocated Mac VMWare Fusion virtual machine image

My "pre-allocated" VMWare image was taking up 120 GB on my drive for about 40GB of data. I found many references on how to shrink these images (.vmdsk), but they were largely obsolete and misleading. It takes a while, and the steps are weird, but it's fully supported by VMWare 3.

At a high level, here are the steps. Alas, I'm short of time so no details.

  1. Close down the guest OS.
  2. Using VMWare settings for 'hard drive' you can change the image from pre-allocated to the default. This takes hours but it works.
  3. Open the guest OS and run XP defrag.
  4. In the guest OS update VMWare tools.
  5. In the guest OS Run VMWare tools "shrink". Takes hours.
  6. In the guest OS Defrag again as a nice-to-do.
  7. Shut down and restart to make it all nice and clean.

My image now consumes about 45 GB of drive space. It's not pre-allocated, so it will get host OS fragmented as it grows but I can live with that.

Wednesday, August 10, 2011

Strangest sync error ever - Google Calendar

This is very strange.

I use Google Calendar Sync to sync an Outlook/Exchange calendar to Google Calendar.

On that machine I authenticate with two Google accounts, one has two factor authentication.

It looks like Google Calendar Sync is posting transactions to both accounts even though it has only one account's password.

At least, that's the best explanation I have so far.

Again - one of the weirdest things I've seen in a while, even allowing that sync is fraught with weird errors.

Tuesday, August 09, 2011

Steve Jobs hates me: Viewing Mac OS X Lion Parental Control logs

OS X Lion is not all bad. [1]

Yes, it's a memory hog (64 bit hurts). Yes iCal and Address Book drive strong geeks to drink. Yes, it's insane that it can auto-quit background apps (really, that's nuts).

On the other hand, 10.7.0 is less buggy than 10.6.0 or 10.5.0. That's progress. I might even upgrade my main machine after version 10.7.3 instead of waiting for 10.7.4.

Better yet, Mission Control and Full Screen are very nice on an 11" MacBook. Well done Apple.

Indeed, Mission Control is so good I dared to hope that Apple had fixed one of the most ridiculous bits of OS X -- the non-resizeable Parental Control log file window (See: Viewing Mac OS X Parental Control logs).

In 10.5 and 10.6 this screen has a control for a resizeable window, but it would only extend vertically. Most of the logged URLs were unreadable.

So what happened in 10.7?

You are guessing nothing. You would be wrong. The resize control was fixed. It now correctly indicates that the window can only be sized vertically.

Think about that.

Apple recognized there was a bug. They put some (small) amount of resources into fixing the bug. Instead of making the window resizeable however, the engineer fixed the control.

That can't be incompetence. That has to be malice.

There's only one possible explanation.

It's personal.

Steve Jobs hates me.

[1] The best review isn't the celebrated, and quite good, Ars Technical Review. It's Robert Mohn's Macintouch review. If you are only going to read one, read that one.

Sunday, August 07, 2011

Blogger search: no longer complete

For years Blogger's search of past posts worked well. Lately I've found it misses strings in some older posts, even strings that appear in post titles. So there's some unannounced limit been placed on search, possibly for performance reasons.

I hope Google will fix this, though it's a bad sign that they didn't bother to announce it. In the meantime I'm looking into what I can do with Blogger's export to "Atom Export Format". On first pass, it's not too promising. Gordon's Tech produced a 14MB XML file, including comments but excluding images (Text Wrangler opened it without blinking).

What I want is an HTML archive I can view locally and let Spotlight index. The sort of repository I used to create by running a robot against blogger.com. Maybe I need to try that again.

 

 

Saturday, August 06, 2011

What do do with an old iMac that shuts down unexpectedly?

Our 6yo G5 rev B iMac is shutting down unexpectedly. It's mostly likely the power supply, which is sold for about $150 with shipping. (This was an exotic Apple model -- it was designed for easy repair.)

It's an old machine with a partially delaminating monitor. So it probably only has a couple of years left in it anyway. That argues for replacing it with a mini and a monitor for about $800.

On the other hand, the kids use it when their MacBook is busy and it doubles as a movie theater and media server. It can run Classic, so it's valuable to people and businesses running legacy software; it still has a resale value of about $450. Throwing it out will cost money, plus that kind of waste hurts my soul.

Yet again, do I know the sudden shutdowns are a PSU? Could be something else. The costs of investigation are high ... but not as high as the pain of buying and configuring a new machine.

Decisions ...

I'm probably going to do a hardware test (if it will run long enough), reset the SMC/PMU and physically inspect the capacitors and mb. If it does well there I'll order the PSU.

Update: Capacitors look good, but it shutdown during the hardware test. I'm 90% sure it's the power supply, there was a brief recall five years ago but it was fine then. It's long past the time even a generous vendor would replace a PSU, so I ordered a "new" one from iFixit. The quotes because "new" in this context means Apple sourced -- I very much doubt anyone is making truly new G5 iMac PSUs. iFixit was $15 more than the lowest price, but they have by far the best reputation of the vendors I found. I will also be using their install directions, so I like to encourage them.

Update 8/10/11: The replacement came from iFixIt in a couple of days. It was very well packed. iFixIt includes a mailer to return the old supply so it can be "recycled". I think that means returned to Apple to be refurbished. Please do that, there can't be too many of these in circulation.

As usual, installation was trickier than the iFixIt  video suggests. I suggest look at user notes on all the G5 supplies they sell to get more tips. Here's what I wrote:

1. It is very hard to disconnect the optical sensor cable from the motherboard. There's no hidden catch, you just have to insert your spunger/thin screwdriver blade between the fittings and gently twist. I used a surgical clamp to also pull on the cable -- that did it. (The cable is being replaced, so you don't need to worry about it).
2. The top right screw is hard to remove. I had to partly remove it, then lever the power supply up as in the video while continuing to loosen it.
3. I used thin wide screwdriver blades to disconnect the power supply connect, my spudger wasn't rigid enough.
4. The supply has clearly been used before. In the context of something this old "new" means Apple refurbished. That's fine.
5. Beware the optical sensor, it's glued to the power supply. Look for it. When you insert the new supply place it first.

Even though my supply lasted a reasonable (but not great) amount of time, I've been annoyed at Apple for the high failure rate on the G5 iMacs. Going through the removal process though, there's nothing "cheap" about this bizarre and exotic "power supply" with its attached optical sensor. Apple must have been very unhappy with the manufacturer; I bet there's an interesting story buried in this supplies high failure rate.

iFixit included a $5 off coupon code. I'll never remember it, so feel free to try it: 5611FIXIT.

Lastly, the repair does seem to have worked. With the old supply machine shutdown less than two minutes into the hardware test. This time it completed a 1.5 hour hardware test.

Thursday, August 04, 2011

Oracle ODBC access with 64 bit Windows 7

I know it's a dying technology, but I still get a lot of value out of Microsoft Access manipulation of data stored in Oracle tables. I have a Windows 2003 server VM that runs Access 2003 and has 32 bit driver access to our corporate Oracle tables.

We're moving to Windows 7 (finally, and boy is Win 7 ugly), so in addition to my ancient VM I looked into using Access 2007 with those tables. The first thing I discovered was the 64bit Oracle 10.x installer didn't install the expected Oracle ODBC drivers. I also noticed that Windows no longer includes Microsoft's ODBC driver ...
Data Access Technologies Road Map

... Oracle ODBC and Oracle OLE DB: The Microsoft Oracle ODBC Driver (Oracle ODBC) and Microsoft OLE DB Provider for Oracle (Oracle OLE DB) provide access to Oracle database servers. They are built by using Oracle Call Interface (OCI) version 7 and provide full support for Oracle 7. Also, it uses Oracle 7 emulation to provide limited support for Oracle 8 databases. Oracle no longer supports applications that use OCI version 7 calls. These technologies are deprecated. If you are using Oracle data sources, you should migrate to Oracle-supplied driver and provider....
I spent a few minutes poking around the net, and it looks like there's no easy way to install Oracle's drivers into 64bit Windows. Indeed, it's not clear they exist. I'll do a bit more research with some more focused searches and post an update here.

Progress, as is usual, is a mixed bag. Access was an ugly, awkward Frankenstein application, but there's nothing like it for mixing and matching a wide range of disparate data sources. The deeply nested and reusable query modules could be horrendously slow -- but for what I do the performance was often adequate.

I'll miss Access.

Update: Superuser.com tells me that there exists a 64bit Oracle 11g driver. However, the user's unspecified version of Access is 32bit and it can't use the 64 bit driver. We're on Oracle 10g.