Tiger Working Fine For Me

May 19th, 2005

Various people seem to be having problems with Mac OS X 10.4, particularly in the installation process.  Perhaps it’s just my innate desire to rub it in but I feel compelled to point out that my upgrade has been pretty much seamless.  The only problems I’ve had are with Mail.app - GPG caused it to crash which is to be expected since Apple explicitly said not to use those APIs as they are likely to change.  I’m also having a weird problem where Mail.app is no longer synchronizing mailboxes properly.  When you choose ‘Synchronize "adrian@intencha.com"’ from the Mailbox menu, it doesn’t do anything - nothing shows up in the activity viewer and new messages aren’t found.

Upgrading GPG fixed the first problem, not sure what’s going on with the second, but it worked originally after upgrading to 10.4.  Perhaps 10.4.1 was the culprit or perhaps it was all the fiddling around I did with my account settings….

Otherwise everything has worked.  No crashing Safari, no system instability, no real complaints at all (as always, there are things that could be improved, but nothing that annoys me enough to complain).

If that’s not enough to make those who had trouble after upgrading jealous - here’s the real kicker:

I did no pre-install preparations other than backing up my home directory and just did an upgrade install.  No erase an install, no archive and install, just upgrade.  Since many of the problems I’ve seen have to do with the user migration tool that’s probably part of why my upgrade went so smoothly.  The other part of it is probably that unlike many others, I don’t go round doing system maintenance like running fix permissions and various other superstitious things people do.  I just try Apple to get it right and on all but two occasions that’s been well-founded (10.3.9 broke java - Apple released a fix for this within a couple of days, and a 10.2 update broke a few apps and I had to manually reinstall the update).

With previous upgrades I’ve been in the erase and install camp, but from now on I’m turning over a new leaf and being lazy.  I’ll upgrade via a straight upgrade install and then reinstall if and when I’ve made a mess of things.

Why The Harmony Project Is So Important

May 17th, 2005

I’ve been watching the Harmony development list since just after it’s inception and it’s been very interesting reading when you look at the big picture.  I’ve skipped over most of the technical discussions and focussed more on the interpersonal and inter-organizational topics as well as legal issues etc.

What is clear from watching the posts flow through is that there are a whole lot of people from outside of of Apache getting involved.  There’s also a bunch of people that appear to be completely new to open source as well.  Most of these people will rapidly drop off when they realize they can’t keep up with the amount of email passing through the list, let alone the actual work involved when that really gets started.

Despite that though it’s clear that the project is building a lot of bridges already.  There’s a lot of misunderstanding, a lot of concerns from all sides and various other problems but it’s clear that there is intent from all sides to resolve the issues and work together.  That’s a big thing.  There is far too much distrust and separation in the open source world and it’s severely limiting not only the public perception of the open source movement but also the actual quality of the code produced.  There are a number of things that are helping to resolve differences but Harmony is a key one and not only within the open source community but also in the overlapping Java community.

If no code is ever written the Harmony project will be a success if it can help build bridges and combine the good work of a wide range of projects, both in Harmony itself and also completely unrelated projects that benefit from the work for Harmony of resolving licensing differences.  That’s a good thing and that’s why I’m watching on intently.

Yahoo Keyword Selector Tool

May 17th, 2005

Useful little tool for seeing what people are searching for: Keyword Selector Tool

Just dumping it here so I can find it later.

Can Advertising Be Made Useful?

May 17th, 2005

Tim O’Reilly makes some interesting remarks about how to make advertising more useful.  I have to wonder though how much damage has been done by the constant attempts to grab people’s attention with advertising using cheap gimmicks and generally annoying people (popups, flashing images, distracting animations etc).  A huge number of people have become accustomed to just totally ignoring advertising.  I know that I don’t care how good an offer an ad puts in front of me anymore or what the ad does to get my attention I ignore it.  The only message I get out of web advertising these days is that I hate web advertising.

Web advertising suffers from this more than any other form but the effect does expand to other forms of advertising.  I listened to a podcast from IT Conversations today (the closest I get to radio these days) and it had an ad at the start and end - I couldn’t tell you what the ad was for though, I just totally tuned out to it.  I know it was pushing some special deal but I don’t know what the company was or even what service they offered.

I never watch ads on TV anymore - I flick channels.  I hate it when people flick channels but I hate ads even more.

Billboards seem to be the last form of "non-conversational" advertising that actually gets through to me and you’d better make sure your billboard is witty or it’s just going to annoy me.  Oh and make sure it’s visible from traffic lights, otherwise I’ll ignore it.

I even want to hang up on companies that play ads for themselves when I’m on hold (apart from the fact that I’m on hold which is annoying, having to listen to ads is just too much).  I’ve only ever hung up once because of ads though - I was booking my car in for a service and they used the radio as their hold music but sadly choose a commercial station which played an ad for their competitor.  Paying attention to that ad saved me a bunch of money and they’ll probably never realize their mistake.

The best way to sell me your product is to make the information about it easily available when I’m looking for solutions to a problem that your product solves.  That means having a clear, easily navigable website with all the information about the product, especially price, the address for your store and opening times clearly displayed as well as an online order option (even if I have to come and pick up the goods myself, why miss an impulse purchase?).  Most importantly though you need to design your site to provide information, not to be advertising.  I don’t want to see flashy graphics or marketing spin, I want the facts.

I think the reason that Google’s adwords an other search engine ads work so well is that they appear when you are looking for something.  They don’t have to create an interest in the product, they just need to tell you the product exists and where to buy it - you already want it.  Same thing with the mechanic’s ad I got while on hold to their competitor - I was looking for a mechanic so the ad just had to tell me they existed and provide a reason why they were better, no need to create an interest.

Most other web sites don’t have that advantage though.  Providing special offers for your product is just going to annoy me if I’m trying to concentrate on reading about something else.  Being able to comment on an ad or adding annoying JavaScript drop downs that get in my way as my mouse moves around the screen won’t help either - I just don’t care about the ad, it’s in my way and the more it flashes, beeps, moves around or changes the more annoyed I’m going to get with it and the more likely that I’m going to find a way to block it.

Create an Aggregate Feed From All Your NetNewsWire Subscriptions

May 16th, 2005

I wanted to be able to have all my RSS feeds combined in the cool (looking but totally impractical) RSS screen saver but sadly it only allows you to select one source feed.

I tried two approaches to solve this:

  1. Set up a personal planet planet instance that aggregates all my feeds and point the screen saver at that.
  2. Create a combined RSS feed using AppleScript.

Item one I got working but didn’t like the fact that I was then downloading all my RSS feeds twice, so I scrapped the idea.  If however you ever want to create a planet instance that stays in sync with your RSS feeds, use something along the lines of the AppleScript below and execute it periodically.  I’ve snipped most of the paths involved to try to avoid making the lines too long.  A bunch of lines have also been wrapped - the compiler should find them.  It reads the configuration file from config.ini.tmpl, adds the RSS feeds to the end and writes it out to config.ini

set theFile to alias "Groovy:...:config.ini.tmpl"
set fileRef to open for access theFile
set configStart to read fileRef from 0
    until (get eof theFile) as string
close fileRef

set config to configStart
tell application "NetNewsWire"
  set subs to get the subscriptions
    repeat with sub in subs
      if the RSS URL of sub as string is not "" then
        set config to config & "\n" &
          "[" & the RSS URL of sub & "]" & "\n" &
          "name = " & the display name of sub & "\n"
      end if
    end repeat
end tell
set fileRef to open for access
   file "Groovy:...:config.ini" with write permission
set eof fileRef to 0
write config to fileRef as string
close access fileRef
do shell script
  "cd /.../planet-nightly/; python planet.py aj/config.ini"

The second approach seems to work much better - the AppleScript just creates the combined RSS feed directly.  This relies on the first subscription in NetNewsWire being the “All Feeds” item which combines all the feeds together and writes them out to a file.  It may be possible to get this to work directly as a CGI script from Apache and output the RSS instead of storing it in a file, but I couldn’t make it work so the script is just run by cron every so often and the output file is stored in /Library/WebServer/Documents/  You’ll probably need to tweak paths and again there’s a bunch of wrapped lines to fix up.

tell application "NetNewsWire"
  set sub to subscription 1
  set entries to "" as string
  set crlf to "\r\n"
  repeat with entry in the headlines of sub
    set entries to entries & "<item>" & crlf &
      "<title>" & the title of entry & "</title>"
      & crlf & "<guid>" & the guid of entry &
      "</guid>" & crlf & ¬
      "<link>" & the URL of entry &
      "</link>" & crlf & ¬
      "<description><![CDATA[" &
      the description of entry & "]]></description>"
      & crlf & ¬
      "<pubDate>" & the date published of entry &
      "</pubDate>" & crlf & ¬
      "<dc:creator>" & the creator of entry &
      "</dc:creator>" & crlf & ¬
      "</item>" & crlf
  end repeat
  set header to "<?xml version=" & quote &
    "1.0" & quote & "?>" & crlf & ¬
    "<rss version=" & quote & "2.0" & quote &
    " xmlns:dc='http://purl.org/dc/elements/1.1/'>" & crlf & ¬
    "<channel>" & crlf & ¬
    "<title>Planet AJ</title>" & crlf & ¬
    "<language>en</language>" & crlf & ¬
    "<description>Planet AJ</description>" & crlf

  set footer to "</channel></rss>"
  set rss to header & entries & footer
end tell
set fileRef to open for access file "Groovy:...:rss20.xml"
    with write permission
set eof fileRef to 0
write rss to fileRef as string starting at 0
close access fileRef

The resulting feed isn’t valid but it’s close enough (the dates are in the wrong format and various problems in the source feeds can cause other errors).  It seems to work well with the RSS screen saver though and that’s all I needed.