Archive for the ‘Apple’ Category

iTunes 8 Genius is Pretty Decent

Friday, September 12th, 2008

iTunesGenius.jpg

I have been reading good and bad things about the new Genius in iTunes 8 and so this morning I was looking for a specific song in my collection I hadn't listened to in a while (Please Come to Boston) and I decided to turn on the Genius and see what playlist the Genius would make with that song as the key. Low expectations... more interest than anything else.

But I was wrong... it's pretty decent. Then again, I have a pretty simplistic taste and so there was a lot of material that would be similar. Still... I have to say that their goal of trying to make easier for me to pick a song and get a neat playlist out of it is admirable.

I'm sure it'll get better, but even now, it's pretty darn good. Thanks, Apple.

Updated my iPod Touch to 2.1

Thursday, September 11th, 2008

iPodTouch.jpg

Now that I updated iTunes to 8.0, I could update my iPod Touch to 2.1 - I tried earlier and it said "no go". Fair enough. It was a simple thing - plug in the iPod and a little while later it's updated. There are a fair number of 'backups' and such, but in the end, it's what needed to be done (I suppose) and that's what matters.

It's updated, has all my stuff on it and there we go. Nice.

I'm not sure I'm going to be using a lot of the features other than "faster" and "faster backups", but I have it and there was no reason not to upgrade.

Updated iTunes and Quicktime

Wednesday, September 10th, 2008

iTunes.jpg

This morning (finally) the Software Update had iTunes 8.0 and Quicktime 7.5.5 which was mentioned yesterday in the 'event' with Steve. It's no fun to reboot, but since Quicktime is such an integral part of the OS, it's inevitable. Anyway, we'll see if I like the new features in iTunes 8.0 as much as they think I will.

Next up is the new iPod Touch software, but I had to get this first as it was required for the latter.

New iTunes 8.0 and iPods – Nothing Special

Tuesday, September 9th, 2008

keynote_sm.png

Today Steve gave another iPod/iTunes presentation and that's nice, but as expected by the rumor sites, there really wasn't a lot there that would cause anyone to stop and take notice. The new Nanos are nice, with accelerometers and bigger screens. Nice, but expected. Also, the new iPod Touch with 36 hrs of music is nice, but it's still 32GB like mine. Make it 18 hrs and 64GB - that's interesting. But I have to understand, it's all part of the Holiday Sales Cycle. They needed something new, and they delivered.

iTunes 8.0 looks nice, but again, I'm not a big user of the "auto-suggest" features of music apps. I'm pretty picky. It's nice that NBC is back in the store and they will be selling standard def and high def movies and shows. But again... nothing amazing.

Unfortunately, as expected, no new MacBook Pros. I'll have to wait. The word on the street is that October is the time to expect some news on that front. I'm just worried it'll be a marginal bump in the MacBook Pros, and focused instead on the MacBooks going aluminum like the Air. We'll have to wait and see.

Artist’s Rendering of the Possible New MacBook

Tuesday, August 19th, 2008

Apple-logo.jpg

I'm not a big one for rumor sites, but this rendering of the possible new MacBook is about as cool as I think a laptop can be. While I understand a friend's criticism that the size of the pad could create issues for hands and wrists trying to type, but I think the size issue is a compromise. It probably won't be this big, but it'll be bigger than the Air's trackpad.

I have to say that I like the black border on the screen as well primarily because my background is dark, and this lends to the illusion that the border simply isn't there. This is going to be vastly different for folks with lighter backgrounds, but it certainly hides the iSight camera nicely.

Potential New MacBook

In the end, I'm still waiting for the quad-core, 8GB RAM MacBook Pro with the high-end graphics and HDD, and if I'm lucky, I mean really lucky, I'll get to have something like this with a nice, large trackpad, with gestures, that will make it much easier to do some of the graphics work I want to do. It's like a built-in graphics tablet.

iPod Touch v2.0.2 Update

Tuesday, August 19th, 2008

iPodTouch.jpg

I saw that Apple released another update to the iPhone/iPod Touch OS - now to v2.0.2 and so I once again got out the cord and updated it via iTunes. It's really easy enough, but I was surprised today when my laptop tried to sync the updates I'd gotten for a few apps off the App Store - one of them failed and gave a very cryptic error message. I'll have to look and see what the status is after the update.

I'm sure this is hard for a company to become so diverse in it's product set when it's still relatively small. I appreciate they are doing their best, and in a few revisions they'll get it stabilized and things will run a lot more smoothly. I wish they'd get MobileMe worked out - and add SSL to the site. I would like to be able to use that someday, but for now, I'm doing it the old fashioned way - manually.

Looking at Greenscreen Software for Macs

Monday, August 18th, 2008

iMovie.jpg

My daughter is a huge fan of movie-making and her next foray is into the realm of green screen (or blue screen) movies. She's talking about getting a loft bed to make room in her bedroom to put up the screen. That's a clear vision, I have to say.

So I did a little digging and I have to say that there seems to be a lot of plugins for the older versions of iMovie - you take two clips, one that's the background, the other is the screened clip, and then layer the second on the first. It's a nice way of doing things, but as I've also found out, Final Cut Express ($199) does all this and a whole lot more. So that may explain why I haven't seen any plugins that have kept up with the latest iMovie.

Of these, she seems to be most interested in eZedia's eZeScreen plug-in for iMovie 6 (or later). It's a Universal Binary, and says it'll work with anything after iMovie 6, so we'll have to see what happens when we get the demo and try it out.

I've also seen Norrkross Movie, which is sort of an iMovie replacement, and it's not bad looking for $59. It's got all the things she's looking for, and is probably the place to start as it's a nice entry point for what she's doing. If she keeps up with this, Final Cut is a reasonable alternative, but it's after she's kept with it.

Getting SSL Going on Mac OS X 10.4 Tiger for WebDAV on SSL

Thursday, August 14th, 2008

WebDevel.jpg

After I got the WebDAV server working on my OS X 10.4 machine, the next thing was to get SSL working with a self-signed certificate so that I could do secure WebDAV to the box. I've done this on Leopard (10.5) and so doing it on 10.4 was not too bad, but there were a few wrinkles.

First, follow the directions for creating the certificate files in this Mac OS X Hints hint. Don't mess with the httpf.conf file as we're going to do something a little more 10.5-like there. But make the cert, and the private key and the request and then sign it all.

Then in the /etc/httpd/users/ directory use the following file for ssl.conf - theirs is missing a few things.

  #
  # This is the SSL config goodies
  #
  LoadModule ssl_module         libexec/httpd/libssl.so
  AddModule mod_ssl.c

  <IfModule mod_ssl.c>
    Listen 80
    Listen 443
    # Some MIME-types for downloading Certificates and CRLs
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl .crl

    # inintial Directives for SSL

    # enable SSLv3 but not SSLv2
    SSLProtocol all -SSLv2
    SSLPassPhraseDialog builtin
    SSLSessionCache dbm:/var/run/ssl_scache
    SSLSessionCacheTimeout 300
    SSLMutex file:/var/run/ssl_mutex
    SSLRandomSeed startup builtin
    SSLLog /var/log/httpd/ssl_engine_log            
    SSLLogLevel info

    <VirtualHost _default_:443>
      SSLEngine on
      DocumentRoot "/Library/WebServer/Documents"
      ServerName MACHINE
      ServerAdmin you@yourplace.com
      ErrorLog /var/log/httpd/error_log
      TransferLog /var/log/httpd/access_log

      SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
      SSLCertificateFile /Users/YOURNAME/Documents/certs/frosty/newcert.pem
      SSLCertificateKeyFile /Users/YOURNAME/Documents/certs/MACHINE/webserver.nopass.key
      SSLCACertificateFile /Users/YOURNAME/Documents/certs/demoCA/cacert.pem
      SSLCARevocationPath /Users/YOURNAME/Documents/certs/demoCA/crl

      <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
      </FilesMatch>
      <Directory "/Library/WebServer/CGI-Executables">
        SSLOptions +StdEnvVars
      </Directory>

      # correction for browsers that don't always handle SSL connections well
      SetEnvIf User-Agent ".*MSIE.*" \
        nokeepalive ssl-unclean-shutdown \
        downgrade-1.0 force-response-1.0
    </VirtualHost>
  </IfModule>

Where YOURNAME is the login you put the certificates under, and MACHINE is the name of the machine directory that you put the specific certs in. It's pretty close to what he had, but there are a few differences and it's important differences.

With this, I have https: and WebDAV over SSL for the box. Nothing horribly hard about this, but it's nice to have it all working now. Just took a little time.

Really Tried to get WebDAV Working on Mac OS X 10.4 (Tiger)

Wednesday, August 13th, 2008

NetworkedWorld.jpg

With all the interest in using WebDAV as a network storage protocol for things like dotMac and applications like Skitch, I wondered if it would be possible to get WebDAV working on my older Mac server sitting in my office at home. I have heard it's easy if you have 10.5 (Leopard) but I'm not really ready for that, and it was more for the interest of getting it going on the server and not for any real pressing need. If I had a pressing need, then I'd have it going on Leopard, as it's got everything ready to go. This was going to be interesting.

What I found was that there was a lot of people looking into this in the pre-10.5 days, and it wasn't really all that successful in the general sense. Several folks reported they got something working, but they had to disable all the security measures (like encrypted passwords) and that was simply unacceptable to me.

But I got it close working. The WebDAV service was running in the stock Apache from Apple, and I could get it to authenticate with security, and I even saw the files in the root of the WebDAV service. The problem was that I could not do anything with them. I ended up with complete WebDAV functionality.

I could not read them, or update them, or save files... it was like only a limited subset of the functionality I needed was in the WebDAV client that shipped with 10.4.x. And to that I guess I'm not terribly surprised. It would have been really nice, but I'm not surprised that in order to have this really work I'm going to have to be working with Apache2 and the WebDAV module there. [Really, it turned out to be a configuration problem that I really needed to look at the Apache logs to figure out. There was also a configuration problem on the client I was using (Cyberduck) and I needed to figure out the server before I could figure out the client. But I got both.]

But on the off-chance it's possible to get this finished, here's what I did. First, you need to edit the /etc/httpd/httpd.conf and where you see the lines:

  ...
  #LoadModule digest_module          libexec/httpd/mod_digest.so
  ...
  #LoadModule dav_module             libexec/httpd/libdav.so
  ...
  #AddModule mod_digest.c
  ...
  #AddModule mod_dav.c
  ...

edit them to remove the comments so that they become:

  ...
  LoadModule digest_module          libexec/httpd/mod_digest.so
  ...
  LoadModule dav_module             libexec/httpd/libdav.so
  ...
  AddModule mod_digest.c
  ...
  AddModule mod_dav.c
  ...

then, after the block of config that looks like this:

  <IfModule mod_dir.c>
      DirectoryIndex index.html index.htm index.php
  </IfModule>

add in the configuration for the WebDAV server component:

  #
  # This is for WebDAV
  #
  <IfModule mod_dav.c>
      DAVLockDB /Library/WebServer/WebDAV/Dav_lock
      Alias /webdav /usr/local/davroot
      DavMinTimeout 600
      <Directory /usr/local/davroot>
          Dav On
          AllowOverride None
          Options FollowSymLinks Indexes
          AuthType Digest
          AuthDigestFile /Library/WebServer/WebDAV.passwd
          AuthName "frosty"
          <LimitExcept GET HEAD OPTIONS>
              require user drbob
          </LimitExcept>
          <Limit GET HEAD OPTIONS>
              require valid-user
          </Limit>
      </Directory>
  </IfModule>

This ends the editing of the /etc/httpd/httpd.conf file, so you can save it. What will become important later is the location of the directories and files, and the AuthName as that will be used in the password creation command, below.

At this point, it's time to make the location of the 'root' of the WebDAV server. I've chose to hang it off /usr/local, but you can put it anywhere:

  cd /usr/local
  sudo mkdir davroot
  sudo chown -R www:www davroot

and we also need to make a place for the lock file:

  cd /Library/WebServer
  sudo mkdir WebDAV
  sudo touch WebDAV/Dav_lock
  sudo chown -R www:www WebDAV

We're getting close. The next thing to do is to create the password file for the user(s) mentioned in the configuration, above. The AuthName is used here, as is the user drbob as it appears above. To make the password file:

  sudo htdigest -c WebDAV.passwd frosty drbob

Finally, we're ready to restart Apache:

  sudo apachectl graceful

At this time, on Mac OS X 10.4.x (Tiger), the user will be able to login securely to the URL http://machine/webdav/, and they will be able to see the contents of /usr/local/davroot but they will not be able to save things there, nor will they [and] be able to see, modify, or [and] use anything that they see. It's almost like the initial protocol is supported, but the more advanced stuff the clients have updated, but the server has not. [Everything works as advertised.]

Like I said... if it gets serious, I'll put this on my Leopard box and be done with it. But there's nothing pushing me right now, and I may come back to this and try to see what I need to do to fix it. Hard to tell. But that's what I've done.

UPDATE: Holy Cow! I decided to look at the Apache error and access logs and I figured out the problem. The Alias line above needed to not have the trailing slashes and they needed to match. I removed it from the first argument and restarted and all of a sudden, things started working! I'm amazed. Transmit works, Safari works, the Finder works... everything seems to work just fine. I need to set up SSL on frosty, but that should be pretty easy and when that's done I'll have a secure channel to my home WebDAV! How cool is that?!

Cyberduck still tries to assume it's using Basic authentication, and I can see that, it's not trying Digest, but the WebDAV server understands that and deals with it nicely. It's amazing. Wow.

Using CVS with Xcode 3.1 on Leopard

Thursday, August 7th, 2008

xcode.jpg

One of the things that has historically been a problem with NeXTSTEP/OPENSTEP and now Mac OS X development projects and source control is the fact that on all the operating systems, the bundle concept exists and complicates CVS considerably. The bundle is nothing more than a directory that's treated as a single entity. The app, the nib, the rtfd... all these are really directories on the filesystem and yet the OS thinks of them as single, indivisible entities. So when CVS goes to make a CVS directory in one of these bundles, and then the tool (such as InterfaceBuilder) saves a change, it overwrites the entire directory - destroying the CVS directory within the bundle.

With the recent editions of Xcode (from the old ProjectBuilder) the source code control has been built-in. However, I've been very gun-shy to use it for fear of not getting anything done because of these issues. So it was a very anxious time for me today when I tried to get my first Xcode 3.1 project put into my home repository.

Since the repository was already created, and running on Mac OS X 10.4 (Tiger), I thought if it were going to work at all it should work in this environment. So I did a little Googling on this and found a page that walks through this for Subversion, but not CVS. I figured that if I backed everything up, I'd be set. So I dove in.

Configuring Xcode for Your Repository

The first thing to do is to have a repository, since I had one, and it was already running on a pserver I'd set up ages ago, it seemed like I should be set to go. What confused me for a little bit was the fact that Xcode was going to allow me to configure the root of the repository and therefore view all the projects I've placed in that repository. Very nice. In order to get there, however, you need to tell Xcode how to connect to your repository.

Select SCM -> Configure SCM Repositories and then click the '+' button at the bottom of the list to add a new repository. Once you give it a name and a type, you'll get an appropriate dialog box where you can enter all the data for the repository Xcode will need. As a nice little bonus, as you fill in the components, Xcode builds up the CVSROOT (for those that are familiar with this, it's a real lifeline) and so you can see each component going into the CVSROOT as you enter it into the dialog. When it's all filled out, Xcode will automatically verify the connectivity (another amazing piece of work) and then you can click "OK" to save everything.

At this point you have the repository configured with Xcode. Now you can look at it by selecting SCM -> Repositories and then the one you just added will be on the left and it's contents in the finder-like view on the right. You can look at everything you've already put into your repository (for those of us that used existing repositories, this is really a place to give a wonderful sigh of relief.)

Xcode Preferences

Import Your Project

Once you have a project ready to import, simply select where you want the root of your new project to sit, and click on the Import icon in the Repositories window. Xcode will then ask you what to import - navigate to the root of the project directory and give it a nice comment. Xcode will indicate in the bottom pane of the Repositories window what's happening and in a few minutes, you're all imported.

Repositories

Check-Out Your Project

As with all other CVS imports, save the old project file by renaming it, or tar-ing it up and saving it off someplace, and then from the Repositories window select the project you just imported and click on the Check Out button. Xcode will ask you where to put this, and you can navigate to the directory you want it to be placed. Click 'OK' and Xcode will do the checkout. As a wonderful feature, it's going to ask you to open the project in Xcode when it's done. Say 'Yes', as we need to do one last thing before we're done.

Enable SCM on Your Project

Now you need to navigate in the 'Groups and Files' list to the name of the project (typically the first thing in the list) and then click on Info to pull up the main project info window. Navigate to the 'General' panel and then at the bottom choose the repository from the SCM list and you'll notice the GUI shifts a bit to place the CVS status next to each file. At this point, you're ready to go. The SCM menu is now greatly expanded and using SCM in Xcode is very simple.

Project 201CPotentials201D Info

You can do diffs... additions... moves... all the things you'd normally do, and with CVS, Xcode is smart enough not to blow away the directories of the bundles and so things get versioned properly. It was easy... but very nerve racking for my first time since the old days. In the future, I'll tell people to do it earlier. Much earlier.