Drinking the Apple Juice
http://blog.drinkingtheapplejuice.com
Drinking the Apple Juice

6+ Month Update

So far my overall opinion of the MAC OS X is very high - so much so that I am already planning to replace one of my home servers with a new MAC. The system is very stable, I really enjoy the UI and having a Unix kernel under the covers is simply excellent. I was able to find native equivalents for just about all of the applications I used on Windows to the point where I no longer use my Windows XP home system any more.


Windows Development


As far as using the MacBook for Windows development, I must admit that It has also been excellent. I actually think that XP (running under VMware Fusion)  is  faster, more reliable and stable.

Now I am sure there are many of you out there shaking your heads in disgust saying that it is just not possible - but hear me out. In my earlier  posts I stated that my plan was to install only Microsoft Visual Studio (and any other required development tools) into the VM - everything else is native MAC (Mail, Calendar, Office Suite, VPN, Web Browsing, Video Production, etc.) which I have managed to do. I also uninstalled every optional component under my Windows XP VM that had a corresponding native MAC component.

I attribute this phenomenon simply to the fact that the more software you install on Windows the slower it becomes - even if the software is not running. In my mind the registry and active-x are two of Microsoft's biggest blunders. If you never ran a registry monitor and watched what is going on with not applications loaded you should as you would be amazed. So simply by the fact that I am installing almost nothing under Windows keeps it running lean and mean.


Summary


Is my MacBook and MAC OS X perfect - no. But then again neither is Windows or any software I have ever used for that matter. Read any forum for any OS or application software and you will find people that claim it to be perfect and others that can stand it. It is all a matter of personal taste and requirements.

I am not sure if my new found enjoyment is simply my natural desire to keep learning new technologies, or that I really am just tried of Windows. What ever the reason I am very happy and have no plans to return to a pure native Windows environment any time soon.

DAJ

Time for Microsoft Office :(

This is a sad day for sure but it looks like I am going to have to purchase Microsoft Office for MAC. Although I really like Keynote vs Powerpoint and Pages meets my minimum needs just fine - Numbers is just not cutting the mustard. Excel, over the years, has become so much more that just a spreadsheet application. It can be argued that it is also its own development environment  and this is where the problems arise.  I simply have too many spreadsheets that require many of the enhanced capabilities of Excel such as custom controls and forms that are just not supported under Numbers. So I will be forced to switch. Yes, I am quite aware of Open Office but I do not like the fact that there is no native UI for MAC and I still believe that I will have the same problems with the spreadsheets.

DAJ

iPhone is Getting Better

After several iPhone firmware updates, I must say that it has been more stable and the number of dropped calls has been greatly reduced - I will keep a closer eye on this and post some more later.

DAJ

IPhone 3G GPS: Are you kidding me?

Sorry but this is just another one I could not let sit. Here is a quote from Apple's web site regarding the iPhone's GPS capabilities:

"Find your location, get directions, and see traffic — all from your phone. Maps on iPhone 3G combines GPS, Wi-Fi, and cell tower location technology with the Multi-Touch interface to create the best mobile map application ever."

I find this quote worthy of another law suit as the mobile map application is laughable. Yes, you can get your current location, yes you can get directions. However, it does not support voice turn by turn directions. It does not even support auto advancing from one step to the next you have to manually keep advancing it your self  - are you kidding me?

I was purposely postponing buying a standalone GPS navigation device based on the planned iPhone 3G capabilities and based on other GPS navigation application I have seen on other mobile phones - what a disappointment.

Steve, how could you ever let this piece of junk mapping application ever leave your engineering department? You must be getting soft.


DAJ

iPhone 3G - The worst mobile phone I have had in years

First let me clarify - when I refer to the iPhone being the worst mobile phone I have had in years I am talking directly about the using the device as a phone itself. My reason is quite simple, the coverage is terrible and I have had more dropped calls every day and failed connections than I can ever remember having with any previous mobile phone.

The first thing people say is that it must be AT&T and if I had not been an existing AT&T mobile phone customer for years I might believe them. However, my previous AT&T phone, a Blackberry Pearl, had excellent coverage and I almost never dropped a call and never had a problem initiating calls.

I now have to stand near the front windows of my house or wose stand outside to get reliable coverage.

Another co-worker was in town with his iPhone and had the same problem in the same areas I had - again areas where my AT&T Blackberry worked flawlessly.

Something is definitely wrong with the iPhone's phone capabilities and I have already recommended to people in my area to stay away from it.

Now, the iPhone's phone may work perfectly in other areas of the country but when I had a previous AT&T phone then upgraded to a new only to have less quality and covergae I find that completely unaccetable.

DAJ

Mac OS X, Automator and Subversion (SVN) Fun

I finally decided to play around the the Automator application that is part of Mac OS X. I am a big fan of workflow based technologies so I was excited to see what it has to offer.

My goal was to create a Finder Automator plug-in that would display any subversion project that I had modified and needed to be committed back to the repository. To make things even more interesting I decided to use a number of different tasks just to see how they all interact through Automator.

I fired up Automator and got to work.

1. I dragged the "Get Selected Items" action onto the workflow designer window. This is the action that would receive the list of folders I selected from any Finder window.

2. I dragged in the "Get Folder Contents" action. This action would return the list of items (folders) under the subversion repository folder that was selected in step 1.

3. Because Automator does not contain subversion actions (there are CVS ones) I had to go it on my own. I dragged in a "Run Shell Script" action and after much work and syntax frustrations and two other people helping me I ended up with a very small and simple script.

for fn in "$@"
    do
        svn status $fn | grep ^M >nul
        if [ "$?" = "0" ]; then
            p=`echo $fn | awk 'BEGIN{FS="/"} {print $NF}'`
            echo "$p has been modified"
        fi
    done

Automator will pass in the list of items found in step 2. So I created a simple for loop to cycle through them all. For each item I run the subversion status command, pipe it to grep looking for a modified flag. grep will return a code identifying whether or not it found any matches. If the project has any modified files I use awk to strip out just the file name from the full path and turned it into a more readable message.

4a. Now that we have a list of modified projects from step 3 we need to provide feedback on the modified projects. This is where I had some fun by dragging in the "Speak Text" action. Now when the automator workflow is run it will speak what  subversion projects have been modified. Lot's of fun but eventually does get a little old.

4b. To make things a little more bearable and less annoying to my co-workers I decided to modify the workflow to display a pop-up window with the modified projects listed. This is where I was really surprised to find out that Automator does not have any default action for displaying a message.  Therefore I decided to try some AppleScript and dragged in an "AppleScript" action and added the following code.

on run {input, parameters}
   
    if input is not {} then
        if the class of the input is list then
            set s to ""
            repeat with i from 1 to length of input
                set s to s & item i of input & "
"
            end repeat
            display dialog s
        else
            display dialog "No SVN Projects Have been modified"
        end if
    else
        display dialog "No SVN Projects Have Been Modified." buttons {"OK"}
    end if
    return input
end run

The above AppleScript is simply converting the list that is passed in to a large string because the 'display dialog' will not handle the list. There are some quirks with the display dialog; not being able to set the title bar text (there might be a way I but didn't quickly find it); and the window size not growing when there is a lot of text.

5. Finally I saved the Automator workflow as a Finder plug-in which made it accessible off of the finder pop-up menu.

Conclusion:

Automator is a fun tool and has some interesting possibilities. However, its lack of branching actions will limit its use to simple sequential data processing chores.

Mac OS X Leopard Lockup #4


Here we go again. The typical symptom are the same as the last two lockups:

Can’t put Leopard into sleep mode from the Menu or Expose
When I reopen my MacBook and I don’t login in right away the login screen disappears and the only way to get it back is to close the lid again, wait and reopen and quickly login.
Leopard won’t shutdown. I have to hold down the power button.


There appears to be a new Mac OS X 10.5.4 Leopard update tonight, which some have suggested will correct the problem. I am hoping for the best.

Mac OS X Two Month Update

Well it has been two months since my purchase and the start of my conversion from Windows XP. As noted in a previous entry I finally went cold turkey on a 6/9 business trip leaving my Thinkpad behind. Everything went well and I have not had to switch back since then. Although I do occasionally wake up my Thinkpad to utilize as a second development box my MacBook has officially taken over as my primary office and development box.

VMware is still running fast and smooth - a better Windows than Windows. One thing I did notice right away is that ActiveSync is much more stable under VMware. On my Thinkpad I would often have to reboot to restore ActiveSync connectivity - yes, I know about stopping it in task manager and restarting it but that would rarely fix the problem 5% of the time. During my own analysis of ActiveSync failures it appears that it really was not ActiveSync itself that was failing but rather the USB port. By constantly switching between different PDAs and cradles I think the USB port got a slight voltage spike and according to the USB spec when this occurs the driver can disable the port until the computer is rebooted. Because VMware is virtualizing the USB port this no longer appears to be an issue. I will continue tracking this one more closely.

Smart Folders and Spotlight simply rock. I am slowly getting to the point that I no longer care what folders are holding my documents because It is quicker to find them with Spotlight.

Using the keyboard between native Mac OS X and XP running under VMware fusion has definitely been keeping my brain working overtime - no need for Nintendo Brain Age here!

Overall I am really liking my MacBook, almost to the point that I am wondering if the keyboard itself is laced with some sort of chemical at the factory to produce this unexpected enjoyment. I actually now prefer typing on my modern chick-let style keyboard over my old Thinkpad.

I near future entries I plan to detail the Windows Software I left behind in favor of a Mac OS replacement.


VMWare Fusion to Mac OS X Leopard Come in Please...

I have been struggling to setup proper filesystem sharing between my VMware XP instance and Mac. Now I could  simply just checkout the SVN projects within VMWare just fine but I want to keep all my SVN projects checked out on the Mac side for the following reasons:

I don’t want to have to install anything I absolutely need in the VMware XP install. The more I install the slower XP gets - we all know that equation.
Having SVN locally allows Time Machine to backup my files pre check in.
I no longer need XYPlorer (a great utility) installed in XP which I used to quickly search for and in my source files because Mac has this awesome feature called Spotlight

By default VMware created a default read only share to my Mac file system which does allow me read only access from XP. However, it is a little slow, is only read only, and most Windows XP applications (including Visual Studio) fail accessing it because it starts with a . and that can’t be changed.

I tried turning on Mac SMB sharing, with limited success. Access was established but I could never get the read/write permissions to stick properly. I have to admit that Unix file permissions are very weak compared to Windows. This was a long battle which I finally lost do to time and frustration.

I finally resorted to creating another share within VMware with read/write access. Then, within XP, I mapped a drive letter to the share. This eliminated the problem with Windows applications choking on the URL that started with a period.

Several blogs and news group posts reported issues with the VMware share’s reliability, but so far I have not had any issues.

Mac OS X Leopard Lockup #3

Hmmm, same as lockup #2.

Some blogs have suggested it was a Firefox issue, well I am happy to say it is not in my case. I stopped using Firefox and the problem still appeared. Now, I did not uninstall it, but if just having Firefox installed causes such a problem with Mac OS X I would seriously have to reconsider Windows.