Archive for the ‘Apple’ Category

The Leopard has No Jikes!

Friday, December 14th, 2007

java-logo-thumb.png

I was doing my first building of java code on Leopard today and realized that jikes, the fast, Java compiler is missing. I'm guessing that with Java 1.5 as the default, and jikes not supporting 1.5 or later, at least not yet, they decided that they didn't need it.

I mean it makes sense, but it also means that all my Makefiles are going to have to change. Not the worst thing in the world, but a little disappointing as I've been using jikes since it was off IBM's alphaWorks site and I've built it on a ton of machines. Just a bit nostalgic.

Leopard Upgrade Ignores iTunes Library Location

Thursday, December 13th, 2007

Apple-logo.jpg

Today I was checking the podcasts in iTunes and noticed that all the music in my iTunes library seemed to be missing. What I found was that the location of the iTunes library was reset to be ~/Music/iTunes directory from whatever it was in the upgrade. Now with I got the first versions of Mac OS X, the iTunes library was installed in ~/Documents/iTunes and up until this upgrade, that was preserved. Well, not this time. So I decided to clean house a little and so I copied the files from ~/Documents/iTunes to ~/Music/iTunes and then tarballed the old directory up and put it on my external drive. Then I deleted it from the old location and started running it from the new location.

Seems to be working just fine. Just seems a little odd that they didn't pick up the preferences value.

Trying out TimeMachine

Wednesday, November 28th, 2007

TimeMachine.jpg

Since it is so new, I didn't want to turn on TimeMachine too early in my using Mac OS X 10.5 (Leopard) because I didn't know if I was going to have issues with 10.5 in the first place, or exactly how they built TimeMachine and how it would function. My initial questions were pretty basic: What would happen if I disconnected the drive between backups? Would it error on me when it tried to run? How fast was it going to be? Basic things that you want to know before you invest a lot of time into using a tool like this.

I was initially pretty sad to see that the initial backup of my MacBook Pro was 64.64GB, and took about 3.5 hours on a FireWire 400 external drive. Yeah, if I had a FireWire 800 drive it would have been faster, but this is the guy I got a while back to do my own backups on. So it's not fast for the first (initial) backup. But it seems to be complete. The real question to me insofar as 'completeness' is: Does it backup /usr/local/ as well? I'm going to have to dig into it and see what it's got. Maybe it does, and maybe not. Certainly, it's not a crime if they don't, but then I'll have to maintain my own backups of /usr/local/ when I install new things, etc.

When it was done with the initial backup, I was pleased - nay, very pleased, to see that if you unmount (disconnect) the external drive, then TimeMachine sees this and says that the next scheduled backup is when the drive is connected. Very nice, guys. Very nice indeed. This means that I can use it as I want - keeping it connected when I'm at work - most of the time, and then when I roam, I'll be without backup or restore. Not a bad trade-off, really.

I'll have to see how it runs for the rest of the day taking backups every hour. I'm hoping that I don't even notice them being done. That would be ideal. On my G5 iMac at home where I've had TimeMachine running since I upgraded it, there's a noticeable activity on my LaCie 500GB drive, but that's the drive and not the machine or TimeMachine. I can live with that.

So far, very nice. We'll see how it runs, now.

UPDATE: it's great to know that the backup includes /usr/local/ - that's a big load off my mind. Super.

Really Working with Leopard

Monday, November 26th, 2007

Apple-logo.jpg

Today I've started really working with Leopard (10.5.1) and there are a few things that aren't really exactly how I'd like them to be. For the most part, I'm willing to let these things slide, but there are a few that are somewhat annoying and others are nice surprises.

Don't get me wrong... I know 10.5 is what I need to go to, and it's clear that there has been a ton of thought put into it, but there are just a few rough edges that I'm sure will get worked out in the coming months. I guess I'm just realizing that the critics of Leopard are, in part, right. It does seem a tad rushed. But given all that's happening, it's clear that this was easier to rush than the iPhone, so they put their limited resources where they needed them. It'll just take a while to get everything back to working really well.

SSH

One of the nicest things about Leopard is the integration of SSH. Specifically, the addition of keys and ssh-agent to the login process. In the previous versions of Mac OS X, I had to create a script for my .login and .tcshrc that starts ssh-agent if it's not already started, and if it has been started, reads the environment variables from the output of that command - stored in a file in /tmp/. This lead to problems if someone ran a new shell and the .login script didn't get the environment variables right, so it'd start a new ssh-agent and blow away all my old env vars. A pain.

Now, when you first ssh to a host a dialog box pops up asking you for your SSH pass-phrase, and if you want to store it in the KeyChain. I put it in, said "Yes", and now all my ssh sessions are authenticated properly without me having to worry about a thing. This is exceptionally nice. Saves a lot of hassles for me as I use ssh all day long.

Spaces

Prior to 10.5, I was using VirtueDesktops - an open source virtual workspace app for 10.4. It was not perfect, but it worked, and as long as it was working for me, I was happy. I knew with Spaces coming, this app was at an end, and that's the way of the world. But there are many things in VirtueDesktops that Spaces is missing. Some minor - but some major.

First off, Spaces only allows three ways to switch spaces. It's really just allowing you to choose one of three modifiers and a numeric key for going directly to a space. There are also similar modifiers to the arrow keys to move from space to space, but since I use BBEdit, the keys I would have used are already used in BBEdit, and so I had to turn that off in Spaces. Not horrible, but annoying that I can't use Fn keys as opposed to numbers.

Secondly, the automatic switching to the app upon selection. That's a nice feature - if you want it, but I don't, and the problem is that when I want another Safari window, I get thrown back to the space with Safari open, and that's very annoying. I have to make a new window there, then F8 to see all the spaces, and then drag the new window to the space I want it, and then switch back to that space. Non-ideal.

Thirdly, the animations for switching from space to space - I'd like to turn it off. You can turn off the Dock's magnification... and the window closing effect... so why not this? No reason, but you can't. This is only annoying, but when I'm moving from one space to another the last thing I need is eye-candy. Make it optional, guys.

X11

There have been a lot of things written about this already. It's not really all there, and it's primarily due to the fact of moving off the XFree86 codebase to the xorg codebase and the differences therein. It's nice that they made it start with launchd, but it needs to read the .Xdefaults properly, and there are still a lot of things that seem a little odd about it.

For instance, I know the app in the Dock is really /usr/X11/X11.app and to change the app icon, you need to change the permissions on the app bundle and then change the app's icon. I did the following:

  cd /usr/X11
  sudo chgrp -R admin X11.app
  sudo chmod 775 X11.app

I then went into the Finder and changed the icon like you would for any application, and then locked down X11 again with the following:

  sudo chmod 755 X11.app
  sudo chgrp -R wheel X11.app

A few times - right after the update, I had a few problems getting X apps to display on my MacBook Pro from my Sparc 20. The problems went away and it could have been the 10.5.1 update, but it's still a little troublesome.

Overall, however, X11 is far better in Leopard than Tiger. The launchd aspect was really a beautiful solution.

Time Machine

I'm so unsure of the effects of this, I've only got it running on one machine, and it's not a critical one. When I've seen it run for a while I'll look to turning it on for the other machines I have, but for now, this has too many unknowns for me to feel comfortable trusting right now.

Xcode

One of the really nice things that's in this release is Xcode, and GCC, in general. There are things that have changed, and while I know to expect them, it's really surprising how easily I found them.

In CKit, I use a #ifdef for defining MAXHOSTNAMELEN as it was defined on Solaris and Mac OS X easily enough, but Linux seemed to be hiding it somewhere. I put it in and ran with it. No big deal. But with 10.5.1 and Xcode 3.0, it was missing from the #includes I was using. So I used this occasion to dig a little further. It turns out that it's located in sys/param.h for all three OSs, and I was just missing it in the #include-chain on linux. No big deal. I take that out, put in the include for that file and we're good to go.

Since I do a lot of coding to x86_64 on opterons, I was very happy to see that architecture supported on the latest Xcode. While much of the code I write is specific to linux, I make significant efforts to make my CKit library as cross-platform as possible, and this certainly means 32-bit and 64-bit on Mac OS X as well as Linux and Solaris.

Upgrading to Leopard

Monday, November 26th, 2007

Apple-logo.jpg

This weekend I spent the time to update my machines to Mac OS X 10.5.1 - Leopard. The updates went well - both PPC and Intel, and while there were a few issues, there wasn't anything that seemed to be systemic about the problems. After the install, I immediately updated to 10.5.1 and that went well. I had to update a few applications after the long install, but those went smoothly as well.

Spaces is nice, it's not the hot-key combination that I'd like, but I can live with it. It's only going to take a little time to get used to the different key combinations. The UI is nice. It's different from Tiger, but there's nothing really horribly wrong with it, either.

There is going to be a time when some applications are not performing 100%, but that happened with Tiger (10.4) and it'll only take a little while to get them sorted out. All-in-all, it was a lot of work for five machines, but it was worth it.

UPDATE: I needed to reconfigure ssh in launchd on sherman (my G5 iMac) to make sure that it answers to port 2224 as well as 22. This is because I'm using that port to redirect it through my router.

Ever Closer to Leopard

Friday, November 2nd, 2007

Today I got two good pieces of news... first, PostgreSQL from Marc Liyanage is running fine on Leopard. Second, he's got PHP running on Leopard even if he doesn't have the package ready to install. It's getting closer. Ever closer.

I figure another week and he'll have it all buttoned up.

Another bit of good news, the Mac HPC guys have gfortran for Leopard going. They probably aren't going to get g77 going on Leopard, but so long as my code works on gfortran, I'm a happy camper.

Yup... I'd guess another week and I can get Leopard.

UPDATE: Marc's got it basically working as the Apache plugin, but there are a few issues with the command-line usage. So... it's getting closer, but not quite. I've got work this coming Saturday that will keep me from doing it then. The weekend after that, we've got the Philly Marathon, so I can't do it then. So, since I didn't get it this weekend, I'll have to save it for several weeks.

The State of Java on Leopard

Wednesday, October 31st, 2007

java-logo-thumb.png

Well... it appears that the current Java 1.5.0 on Leopard is not all that great. Add to this that there's not even a pre-release version of 1.6.0 available for the early-adopters to use and it makes a somewhat compelling argument to hold off on Leopard for at least a little bit until Apple releases the 1.6.0 JDK. I'm sure it's coming, Macs have been for the last several years the Java development platform. But with the fact that 1.6.0 never fully materialized for Tiger (10.4) and that it's not in Leopard (10.5) - yet, it makes those hard-core Java-types say that Apple is out of touch. After all, Windows uses the Sun-provided JDK and Apple insists on writing it's own.

But let's recall a few things folks... with Mac OS X 10.3 and JDK 1.4.2 Apple made the apps load very fast and run even faster. So much so that Sun asked to have a look under the hood to see how they did it. With each successive release of Mac OS X the bar has been raised. Unfortunately, right now, 1.5.0 is almost two releases back and 1.6.0, while not widely adopted, is widely available for a long time.

It's a matter of timing. I'm sure that within a few weeks JDK 1.6.0 will be out on Leopard and it'll be once again setting the standard for Java development platforms. There are just those that are hearing all the hype and cheering from the new release that they need to put it all in perspective - which isn't a bad thing, as long as it's not use to just knock things down.

Leopard is fine, it's new, and it's got a lot of differences, and I'm still waiting for PHP and PostgreSQL for 10.5 to be available from Marc Liyanage as they are the best packaged, fullest-featured, versions of those tools. When he's got time to update them, I'll move to Leopard. I'm guessing that by then I'll be updating to JDK 1.6.0, or soon after. It's just a matter of a few weeks. Have a little patience.

UPDATE: interesting note about Java on Leopard... is seems like the guy got a lot of press for whining about a specific application instance. In general, it's better and faster, but there may be times that you have to actually code against the defaults to get optimal speed. In any case, one less thing to worry about with Leopard.

Initial Leopard Reviews

Monday, October 29th, 2007

Apple-logo.jpg

This morning a ton of reviews are out and, as I expected, all over the map. There are install problems and people with the same hardware with no install problems. There are people loving the new interface and others hating it for the same reasons. There's no way to please everyone, but Apple has done a good job by all accounts, and an excellent job by some.

The Ars Technica review is nice, balanced, reporting of the pros and cons that you can expect to see in the first week of use. Even they agree that there's no way to review an OS in one shot, so they look at the high points. Fair. They spend more time than I would on the visual elements, but that's what they do, so no big deal.

There have been a few others that I've read that are totally taken aback by one little thing that they state they'll refuse to use it. The Dock is a lightening rod... Java 1.5.0 is another... Ruby is yet another. I mean really people, is this all about one little feature? Sure, it'd be nice if they had made it easy to change the Dock's visual appearance, but they did allow you to revert it in the defaults system. Sure, it'd be nice to see 1.6.0 on Leopard, but they have 1.5.0 and there aren't that many apps/applets/servlets that I've seen that require 1.6.0 because it's not really that widely adopted yet. Sure, they added Ruby on Rails, and it might have been nice to put in the very latest Ruby, but they went for stability.

In all these cases, people are mad because their pet project or tool isn't as well supported as they had hoped. Given a little perspective this list isn't bad. Java will be updated, Ruby will be updated, life goes on. I'm just sifting through all the reviews looking for real issues that might make me delay my conversion more than a few weeks.

Leopard-specific Updates To Do

Monday, October 29th, 2007

Apple-logo.jpg

I'm getting ready for the update to Leopard (10.5) and while I'm updating all the apps that I have before I update Leopard, there are some that need to be updated after. Here's my list of things to update after I get Leopard on my laptop.

  • Forty-Two DVDVX Plus v3.2 - this is the nice DVD ripping software that has made it so easy to get a few of my DVDs into iTunes for the road. They are saying that version 3.2 is for Leopard only. I'll wait for this as I don't have any ripping I plan to do in the near future, and if so, I can wait until after the upgrade to do it.
  • Lingon - this is a launchd GUI tool for Leopard only. I've not used it a lot on Tiger, but in the event that I need it, it's been there. Typically, I just get down into the files and restart the service, but it might be helpful if I come across a need.

As I find more things to add to this list, I'll expand on it. For now, it's a placeholder of the specific updates I need to do and that's good enough.

Reported Setting to Restore Tiger Dock on Leopard

Wednesday, October 24th, 2007

Apple-logo.jpg

As reported on Mac Rumors, there seems to be a way in Leopard to disable the shelf-style Dock in favor of the Tiger-like window-style Dock. The tip is pretty easy:

    $ defaults write com.apple.dock no-glass -boolean YES
    $ killAll Dock

and the Dock is back to the Tiger-style Dock. I'm not sure which I'll like more, but I had a feeling that the new "glass" style would be something that annoyed me to no end as I typically hide my dock, and when it comes up, I want it to look more like a window and less like a shelf.

Let's not forget about the defaults value that makes hidden apps visibly hidden on the dock:

    $ defaults write com.apple.dock showhidden -boolean true
    $ killAll Dock

I've used this one for a long time, but I'm not sure if the upgrade to Leopard is going to remove this, so I'll keep it handy just in case I have to re-apply.

The way to enable the root user on 10.5 is to open the Directory Utility in the Utilities folder under Applications. Unlock it for changes and then under the Edit menu, select Enable Root User and type in the password for the root user. No need to login as root, but it's proven itself very handy when making backup scripts, etc.