Posts Tagged ‘mac’

Making PostgreSQL, PostGIS And A Mac Play Nicely Together

Most things in life are a journey and the destination of this particular journey was to try and create a custom map style that represented the unique features and challenges of Tandale.

Which meant I needed to download and install TileMill, an interactive map design tool.

Which meant I needed to learn Carto, the CSS-like language for map styling.

Which meant I looked for a template project so I didn’t have to start from scratch.

Which meant I found OSM Bright.

Which meant I needed to start small and find a map extract of Tanzania to work with.

Which meant I needed to install and configure PostgreSQL and PostGIS on my Mac.

Which brings me to the starting point of the journey and the reason for this post in the first place.

When I normally need to install UNIX-y command line and server tools I turn to Homebrew, the tool set that “installs the stuff you need that Apple didn’t”. Homebrew supports installing both PostgreSQL and PostGIS but a bit of background research showed that installing these on Lion and on Mountain Lion could be problematic. A bit of further research soon turned up Postgres.app, which claims to be “the easiest way to run PostgreSQL on the Mac”. Postgres.app is a single shot installer which wraps PostgreSQL and PostGIS into an easy to install and run self contained environment.

Postgres.app

I’m a big fan of this approach to a software development environment. All of the stuff I’ve put up on GitHub and on WordPress.org has been written using MAMP, the single shot installer which wraps up Apache, MySQL and PHP on the Mac so Postgres.app gave instant appeal to me. So, download, install, start.

Next I found an OSM map extract of Tanzania courtesy of GeoFabrik, which I also downloaded. Now to load the map into PostgreSQL. I made sure my shell’s PATH pointed to the command line tools provided by Postgres.app by prepending /Applications/Postgres.app/Contents/MacOS/bin to the PATH defined in my .bash_profile, ran psql and created a database called tanzania. So far so good.

$ psql
psql (9.2.2)
Type "help" for help.

gary=# CREATE DATABASE tanzania;
CREATE DATABASE
gary=# \q

To load the map into the database I had a choice of two command line tools; Imposm or osm2pgsql. The latter of the two seemed to work out of the box according to the documentation so I used Homebrew to install this tool.

$ brew install osm2pgsql

Now to load the map …

$ osm2pgsql -c -G -U gary -d tanzania ~/Projects/maps/data/tanzania.osm.pbf 
osm2pgsql SVN version 0.81.0 (64bit id space)

Using projection SRS 900913 (Spherical Mercator)
Setting up table: planet_osm_point
NOTICE:  table "planet_osm_point" does not exist, skipping
NOTICE:  table "planet_osm_point_tmp" does not exist, skipping
SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, 'POINT', 2 );
 failed: ERROR:  function addgeometrycolumn(unknown, unknown, integer, unknown, integer) does not exist
LINE 1: SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, ...
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

Error occurred, cleaning up

The lack of the AddGeometryColumn function was the clue here. Whilst Postgres.app may come with PostGIS, my custom database was lacking all the PostGIS functionality. So I deleted my initial database and tried to recreate it with the template_postgis template, which also failed.

$ psql
psql (9.2.2)
Type "help" for help.

gary=# DROP DATABASE tanzania;
DROP DATABASE
gary=# CREATE DATABASE tanzania TEMPLATE=template_postgis;
ERROR:  template database "template_postgis" does not exist
gary=# \q

Updated 24.12.12

As Regina correctly pointed out in the comments, I didn’t really need to go through the manual process of loading the PostGIS template, the create extension postgis command in psql would have done this for me much quicker and elegantly, reducing the commands to setup my database to just two statements …

$ psql
psql (9.2.2)
Type "help" for help.

gary=# CREATE DATABASE tanzania;
CREATE DATABASE
gary=# \connect tanzania;
You are now connected to database "tanzania" as user "gary".
tanzania=# CREATE EXTENSION postgis;
CREATE EXTENSION
gary=# \q

… simple when you know how.

So I needed to create the template_postgis database from scratch, loading in the postgis.sql and spatial_ref_sys.sql SQL files and then recreate my custom database, based on the template contained in the template_postgis database. The PostGIS SQL files are supplied as part of Postgres.app, if you know where to look for them; you’ll find them inside the app’s container in /Applications/Postgres.app/Contents/MacOS/share/contrib/postgis-2.0.

$ createdb template_postgis
$ createlang plpgsql template_postgis
createlang: language "plpgsql" is already installed in database "template_postgis"
$ psql -d template_postgis -f /Applications/Postgres.app/Contents/MacOS/share/contrib/postgis-2.0/postgis.sql 
SET
BEGIN
CREATE FUNCTION
CREATE FUNCTION
CREATE TYPE
...
COMMIT

$ psql -d template_postgis -f /Applications/Postgres.app/Contents/MacOS/share/contrib/postgis-2.0/spatial_ref_sys.sql 
BEGIN
INSERT 0 1
...
COMMIT
ANALYZE

$ psql
psql (9.2.2)
Type "help" for help.

gary=# CREATE DATABASE tanzania TEMPLATE=template_postgis;
CREATE DATABASE
gary=# \q

Now, at last, I was able to load my Tanzanian map.

$ osm2pgsql -c -G -U gary -d tanzania ~/Projects/maps/data/tanzania.osm.pbf
osm2pgsql SVN version 0.81.0 (64bit id space)

Using projection SRS 900913 (Spherical Mercator)
Setting up table: planet_osm_point
NOTICE:  table "planet_osm_point" does not exist, skipping
NOTICE:  table "planet_osm_point_tmp" does not exist, skipping
Setting up table: planet_osm_line
NOTICE:  table "planet_osm_line" does not exist, skipping
NOTICE:  table "planet_osm_line_tmp" does not exist, skipping
Setting up table: planet_osm_polygon
NOTICE:  table "planet_osm_polygon" does not exist, skipping
NOTICE:  table "planet_osm_polygon_tmp" does not exist, skipping
Setting up table: planet_osm_roads
NOTICE:  table "planet_osm_roads" does not exist, skipping
NOTICE:  table "planet_osm_roads_tmp" does not exist, skipping
Allocating memory for dense node cache
Allocating dense node cache in one big chunk
Allocating memory for sparse node cache
Sharing dense sparse
Node-cache: cache=800MB, maxblocks=102401*8192, allocation method=3
Mid: Ram, scale=100

Reading in file: /Users/gary/Projects/maps/data/tanzania.osm.pbf
Processing: Node(6820k 682.0k/s) Way(980k 16.90k/s) Relation(23580 1122.86/s)  parse time: 89s

Node stats: total(6820388), max(1910954191) in 10s
Way stats: total(980191), max(180648305) in 58s
Relation stats: total(23580), max(2409445) in 21s
Committing transaction for planet_osm_point
Committing transaction for planet_osm_line
Committing transaction for planet_osm_polygon
Committing transaction for planet_osm_roads

Writing way (980k)
Committing transaction for planet_osm_point
Committing transaction for planet_osm_line
Committing transaction for planet_osm_polygon
Committing transaction for planet_osm_roads

Writing relation (23569)
Sorting data and creating indexes for planet_osm_point
Sorting data and creating indexes for planet_osm_line
Sorting data and creating indexes for planet_osm_polygon
node cache: stored: 6820388(100.00%), storage efficiency: 50.68% (dense blocks: 637, sparse nodes: 6403164), hit rate: 99.45%
Sorting data and creating indexes for planet_osm_roads
Analyzing planet_osm_point finished
Analyzing planet_osm_polygon finished
Analyzing planet_osm_roads finished
Analyzing planet_osm_line finished
Copying planet_osm_point to cluster by geometry finished
Copying planet_osm_roads to cluster by geometry finished
Creating indexes on  planet_osm_roads finished
All indexes on  planet_osm_roads created  in 12s
Completed planet_osm_roads
Copying planet_osm_polygon to cluster by geometry finished
Copying planet_osm_line to cluster by geometry finished
Creating indexes on  planet_osm_point finished
All indexes on  planet_osm_point created  in 21s
Completed planet_osm_point
Creating indexes on  planet_osm_polygon finished
All indexes on  planet_osm_polygon created  in 28s
Completed planet_osm_polygon
Creating indexes on  planet_osm_line finished
All indexes on  planet_osm_line created  in 30s
Completed planet_osm_line

Osm2pgsql took 218s overall

One final gotcha awaited though. Restarting Postgres.app later that day made psql fail with an error.

$ psql
psql: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Although Postgres.app was running, it looked like the server wasn’t. Checking the system error logs via Console.app showed me that my newly populated database was running out of shared memory.

22/12/2012 11:05:44.319 com.heroku.postgres-service: FATAL:  could not create shared memory segment: Cannot allocate memory
22/12/2012 11:05:44.319 com.heroku.postgres-service: DETAIL:  Failed system call was shmget(key=5432001, size=3809280, 03600).
22/12/2012 11:05:44.319 com.heroku.postgres-service: HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space, or exceeded your kernel's SHMALL parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMALL.  To reduce the request size (currently 3809280 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
22/12/2012 11:05:44.319 com.heroku.postgres-service: 	The PostgreSQL documentation contains more information about shared memory configuration.
22/12/2012 11:20:40.584 com.heroku.postgres-service: server starting

Thankfully this is a known problem; PostgreSQL is really a server application, not a laptop application. The default Mac configuration isn’t enough to support a medium sized PostgreSQL database, but adding the following configuration settings to /etc/sysctl.conf, creating it via sudo if it doesn’t already exist and rebooting solved that final problem.

kern.sysv.shmmax=1610612736
kern.sysv.shmall=393216
kern.sysv.shmmin=1
kern.sysv.shmmni=32
kern.sysv.shmseg=8
kern.maxprocperuid=512
kern.maxproc=2048

TileMill - Tanzania

I now have a working PostgreSQL and PostGIS install, with a map loaded, which TileMill can access. Now all I need to do is learn Carto and actually make the map I originally set out to do … another learning journey has started.

Written and posted from home (51.427051, -0.333344)

Converting Markdown To HTML; In Any Mac Text Editor (With A Little Help From Automator)

There must be a truism somewhere out on the interwebs that goes something like this …

if a computer geek finds himself or herself doing a task repeatedly, he or she will invariably find a way to automate this task

… and if there isn’t a truism to this effect, then I’ve just written it for the first time.

In this particular case, the repetitive task was converting text written using John Gruber’s Markdown syntax into HTML. Those of you who know Markdown will be asking the question “but Markdown is already a text-to-HTML conversion tool, why would you want to do this?“. They’d be right too, so an explanation is due.

Each time I update one of my WordPress plugins, I use the updated readme file as the basis for updating the respective plugin’s home page on my, WordPress powered, blog. Now I could use one of the existing WordPress plugins that allows me to write Markdown inside WordPress. I could, but I haven’t. This is because, for now at least, Markdown support in WordPress is an all or nothing approach. Either you use Markdown everywhere or you don’t use it at all. That’s not good enough for my use case. I want to use Markdown selectively, on a few select pages only.

So I looked for a way of being able to convert the Markdown text of one of my plugin’s readme files in a more selective fashion. I wanted to be able to take a readme.txt file in my text editor of choice and convert it from Markdown into the page I was currently editing in WordPress in the browser. A not inconsiderable amount of web surfing later and I had a solution which almost but not quite got me 75% of where I wanted to be. Adding in support for the current version of Mac OS X and adding a small amount of extra functionality got me to 90%. Now granted, 90% isn’t 100%, but to my mind 90% is far better than 0% and 0% was the repetitive task of selecting, copying and pasting the sections of the readme into WordPress and manually converting the Markdown syntax into HTML tags. This is not only repetitive, it’s error prone and downright tedious.

Firstly install Markdown on your Mac. There’s a variety of ways of doing this but as I already use Homebrew to install all manner of command line stuff, I checked to see if Markdown was supported by the brew command and went ahead and installed it.

$ brew search markdown
markdown    multimarkdown   peg-markdown
$ brew install markdown
==> Downloading http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip
######################################################################## 100.0%
/usr/local/Cellar/markdown/1.0.1: 2 files, 40K, built in 2 seconds
$ which markdown
/usr/local/bin/markdown

Then fire up Automator, located at /Applications/Automator.app. Choose Service as the type of Workflow you want to create.

Add the Run Shell Script Action, which is located under the Utilities section of the Actions Library.

Homebrew installed Markdown as /usr/local/bin/markdown so change the default Action from cat to the path to Markdown. I also chose to make the output replace the text I had selected, you may or may not want to do this.

Then add the Copy To Clipboard Action, again located under the Utilities section of the Actions Library.

Then save your workflow and give it a meaningful name; Automator will save this as Markdown.workflow in your ~/Library/Services folder.

Now I can use this workflow to convert Markdown formatted text to HTML. The workflow I’d just created is now available through the Services menu of any text editor on the Mac. I’m using TextMate but this applies to all apps on the Mac that are capable of working with plain text. If you load up a Markdown formatted file in your text editor of choice and go to the Services menu item, you won’t see your workflow initially.

You need to select the text you want to convert. Then go back to the Services menu item and you’ll see Markdown as a Text Service. Click on this and your highlighted text will be converted to HTML in situ and the resultant HTML will also be on the clipboard as well, ready for pasting into WordPress or whatever you want to use to hold this HTML.

You can also get access to the Services menu by Control-clicking on the highlighted text as well.

As Aaron Cope once said, The label on the tin reads: “It ain’t pretty or classy but it works” and for now, that 90% I mentioned earlier is good enough.

You Are Here; Map Wallpaper For Your Laptop

I’ve recently been guilty of using the term map wallpaper as a mild form of pejorative; meaning maps that are great for showing geographical context but which don’t really show anything else. I’m also guilty of overusing the phrase eye candy; something which is eye catching but ultimately superficial.

Then along comes an eye candy map wallpaper app for my MacBook Pro and all pejoratives are instantly replaced with superlatives. Yes, this is eye candy. Yes, this is map wallpaper. But in this case the geographical context is spot on and it’s definitely eye catching without being superficial in any way.

The man behind this wonderful piece of geolocated satellite imagery is Tom Taylor, who has previously blown my mind with his Boundaries visualisation of how London’s neighbourhoods are perceived by way of Flickr’s Alpha shape files.

The app is Satellite Eyes which, once installed on your Mac (sorry Windows and Linux users, you can’t come to the party), hooks into the geolocation functionality built into the operating system and pulls down Bing’s satellite imagery and uses it for your wallpaper, centred around your current location, such as where I live in the wilds of South West London.

Move around a city with your laptop moving with you and the imagery updates itself. Yesterday morning I was in London’s Soho Square and sure enough, my laptop knew this and showed me, together with an overhead view of the construction sites for London’s CrossRail project.

Map wallpaper in the truest sense of the word. What isn’t there to like about this?

Written and posted from home (51.427051, -0.333344)

“Disk Utility Can’t Repair This Disk”

Quis backup ipsos backups?“, as the Roman poet Juvenal didn’t say but might have if they had had computers in the first century AD.

Like most geeks I pride myself on being able to maintain the computers I use on a daily basis. Just like real men don’t eat quiche and real programmers don’t use Pascal, real geeks don’t call for professional help or technical support.

But then the day comes when one of your hard drives goes crunk, you go through all the tricks of the trade you know, you exhaust searching for possible solutions on the web and you realise that maybe, just maybe, while it’s not time to eat quiche or starting coding in pascal, it’s probably time to call for some professional help.

Like a lot of people, I’ve amassed a not inconsiderable amount of digital media over the years, in the form of apps, songs, movies and photos. Most of these live on my laptop and are religiously backed up with SuperDuper! and with Time Machine to external drives, with one of these drives holding the overspill. This aforementioned external drive had given solid, reliable service over the years but had started to act … quirkily. Fearing a critical mass of bad sectors I decided now was a good time to backup my backups.

Sad Mac

And then it happened. Crunk. The disk died. So I fired up OS X’s Disk Utility and verified the disk. It had … issues. Time to repair the disk. So it chugged and it whirred and the progress bar progressed with glacial slowness until finally, several hours later, I saw the message I dreaded.

Disk Utility can’t repair this disk. Back up as many of your files as possible, reformat the disk and restore your backed-up files.

Of course, it was probably my fault. Despite the number of bad sectors and other magnetic media glitches that accumulate over time on a disk drive, the drive itself had still been functioning; probably because I’d never actually tried to read from one of those bad patches recently. But in trying to backup the drive, I was pretty much accessing every sector on the drive with the resulting crunk being pretty inevitable.

So what to do? Most of my photos were already hosted on Flickr. A lot, but by no means all, of my music could theoretically be re-ripped from CD. But my backups of my iPhone and iPad were gone and let’s not even begin to talk about the movies. It may only have been under 500 GB’s worth of data, which is a drop in the ocean compared to today’s multiple terabyte drives, but it was a lot of data to me and it represented a lot of time, effort and memories.

Maybe data recovery was possible? A quick online search for “mac data recovery” had my bank balance wincing in shock. This was going to be expensive, if it was possible at all. Most recovery firms charged to look at the drive and then charged to extract the data from the drive, with pricing being based on the number of files, not the capacity of the drive. Then I found Tierra Data Recovery. Fixed pricing, free analysis of whether the data could be recovered, free courier collection and payment only on successful recovery.

It seemed too good to be true. But a quick phone call, explaining the situation and Tom from Tierra, as he will now be known, calmly laid out my options. So the following day a courier collected my drive and took it to Scotland and a couple of days later I got an email from Tierra with the news that all of my data could be recovered for a little over £300.00, and after shipping a new drive to them, all of my data made its way from Scotland back to London.

Dead Drive

Here in the UK we’ve become accustomed to being gouged by companies, to expecting poor or no customer service and to be treated like a cash cow. Which makes the speed and quality of the service provided by Tom and Gill at Tierra all the more unexpected and pleasing. I hope I never need the services of a data recovery company again, but if I ever do, Tom from Tierra will be getting my business again without a second thought. If you find yourself in this unenviable position, you should give Tom a call too.

Photo Credits: ~inky and Sifter on Flickr.
Written and posted from the British Airways Galleries Lounge at London Heathrow Terminal 5 (51.4702, -0.4882)

iPass Connect on the Mac; great service, appallingly designed app

I find myself travelling a lot for work these days and that means a roaming service for wifi hotspots and hotel internet connections really makes life simpler. I could maintain subscriptions to The Cloud, T-Mobile Hotspots, BT OpenZone and so on and so on, but fortunately Yahoo! provides me with an iPass subscription.

iPass is great; it allows me to connect to pretty much every hotspot and hotel internet service there is. I’ve been using it for over 4 years now and can only think of a single time when I haven’t been able to get a connection. I’m using it right now, sitting in the departures lounge at Berlin’s Tegel airport waiting for my flight back to London.
So far, so great, but the current, Snow Leopard supporting, version of the iPassConnect app, v3.1, seems to have been designed by someone with scant regard for anything approaching consistency and usability. Let me count the ways in which this app frustrates.
1. Quit iPassConnect? I see no Quit menu option.
From the Mac OS X GUI you can’t stop iPass running. The app lives in your menu bar and scans and rescans for wireless networks (which I’m sure reduces battery life) even when it’s connected to a wireless network. If I’m connected to a wireless network why would I want to look for another network, all the time, constantly? There’s a red and white animation going on in the menu bar which I’m sure someone thought was cute but which is incredibly distracting. But let’s overlook that for a moment. To quit an app, you simply select the menu bar and select Quit or press Cmd-Q.
Not that I’ve ever been able to find the mythical Quit command for iPassConnect. The only way to kill the damn thing is from within Activity Monitor or by the killall command from the shell within Terminal.
Simple resolution: Let the user choose when they want to run your app and when they don’t. Add a Quit command.
2. Install as a Login Item? Every single time?
It’s a simple, plain fact that the more apps you have in your account’s Login Items, the slower your login time will be. Like most people, I keep the number of Login Items down to a bare minimum and then start apps up as I need them. If I don’t use something all day, every day, it’s very unlikely that I want to make it a Login Item. Most apps are well behaved and ask your permission before inserting themselves as a Login Item but not iPassConnect. Run the app and hey presto you get a Login Item. Mildly annoying but at least you can remove it from your list of Login Items. Run the app again though and hey presto you get a Login Item. Each and every single time. It’s frustrating the first time it happens and induces psychosis after the hundredth such occurrence.
This is uncontrollable, un-configurable, totally unacceptable and verging on downright insulting. It’s an app designer’s way of saying to the user “I don’t care what your preferences are, I know better than you”.
Simple resolution: Act in a well behaved manner, ask the user for their preference, act on it and remember it.
3. Update? What update?
Most apps these days have a way of calling home and checking for an update. For those apps that run within a window there’s usually an Updates option in the application’s menu. For those apps that don’t run in a window there’s usually an option in their preferences pane. Note the word usually and let’s have a look at the iPassConnect preference pane.
There’s an Updates tab which is a good start. There’s an Enable automatic updates option which is also a good thing. But it only controls the hotspot dictionary that the app maintains. Want to update the app or know whether there’s an update available? Not with this app (and the iPass website is remarkably update free as well).
Simple resolution: Add an update option and ask the user if they want to check for updates.
4. Snow Leopard support. In 32-bits.
Snow Leopard continues Apple’s march towards a pure 64-bit operating system. A cursory glance at Activity Monitor shows that most apps running are Intel (64-bit) and this includes the System Preferences app. So let’s try to set some preferences for iPassConnect.
Ah yes, the iPassConnect preferences pane is 32-bit which means that you have to restart System Preferences in 32-bit mode and there it stays, running in 32-bit mode, until you manually restart System Preferences in the default 64-bit mode.
Simple resolution: If you say your app has Snow Leopard support then fully support Snow Leopard. That means 64-bitness across the board.
iPass is a great service, it deserves a great app; version 3.1 is not that app.
Written and posted from Berlin Tegel Airport (52.5545447, 13.2899969)

Posted via email from Gary’s Posterous

Deliciousness: Sherlock Holmes, Car Desks, Macs, GeoVation, Crocodiles and Total Carp

Yet again it’s been a while. But there’s stuff out there on the Internet you know.

Posted via email from Gary’s Posterous

Deliciousness: themes gained, avatars lost, accents found, London and the end of the world, scrobbling and Streetview

Look at all of this stuff that fell down the back of the internet and got lodged in my Delicious bookmarks …

Posted via email from Gary’s Posterous

Delicousness: iPhones, boarding passes, Cult of Mac, nerd subclasses, Snow Leopard and weird ads

The end of the week, semi regular, hand selected, carefully edited snapshot of what made it into my Delicious bookmarks this week.

  • Last week I blogged about my experiences with an electronic boarding pass, hosted on my iPhone, while travelling home from Amsterdam’s Schipol airport. Cult of Mac came across it, liked it, and used it as a basis for an article. Which was nice.
  • Remember those Venn Diagrams you did in maths class? Now you can use one to work out which of the subclasses of nerddom you belong to. Naturally I place myself in the geek with a life subclass, which is strangely absent from the diagram.
  • At the weekend I upgraded my work MacBook Pro to Snow Leopard, Apple’s latest version of the OS X operating system. And then 4 days later I downgraded it back to Leopard.
  • Want to buy used toilet paper, a used tombstone or a rottweiler called Mr Giggles? Some people think you do.

Posted via email from Gary’s Posterous

Why Snow Leopard Thawed Back To Leopard

Last weekend I upgraded my MacBook Pro from Leopard, Mac OS X 10.5.8, to Snow Leopard, Mac OS X 10.6. This kind of classes as early adopter behaviour as there’s no bug fix release for Snow Leopard out in the wild yet to iron out any kinks or rough edges but I wasn’t particularly bothered by this.

I’ve used OS X since version Cheetah, version 10.0 and have gone through the intervening releases, Puma, Jaguar and Panther. With Tiger I stopped using a desktop machine and took a decision to make my Yahoo! supplied MacBook Pro my sole day-to-day machine, an experiment I didn’t regret and which has become the norm for me.
When Leopard arrived I took the early adopter plunge and upgraded and, apart from a few teething troubles, which I can’t even recall now, all was well. Then Snow Leopard arrived and I waited a week, not quite early adoption but early enough. I heard no shouts and screams and even my one blocker, the lack of suitable Cisco VPN support for the version required to connect to Yahoo!, was resolved so I made sure my backup was up-to-date and upgraded. The backup gives me more foresight than I really deserve.
At first all was good. The Exchange server my corporate mail is hosted on is Exchange 2007 and at the right service pack level to work with Snow Leopard’s rather stringent requirements. Mail took my authentication credentials and set up my Exchange account, iCal did the same and so did Address Book. Granted they took a while to sync up but that was over a VPN connection, over a wifi link, over my home broadband connection so some slack was cut.

And on Monday I went to work and lived with Snow Leopard on a day-to-day basis. Then the minor niggles, gripes and whinges began …

  • A meeting invite would arrive, be responded to and deleted out of my Inbox but Mail still thinks I have one unread message. The only solution I found would be to rebuild the mailbox, of 10366 messages at the last count, every time a meeting invite or update arrived.
  • Talking of meeting invite updates, each one created a new appointment in iCal. Got a meeting invite and 5 subsequent updates? Hey presto, you’ve now got 6, count them, meeting invites.
  • Safari Input Handlers were finally disabled. Now I know that they were undocumented and never actually supported by there’s some plugins I use a lot that now just don’t work, including DeliciousSafari and Inquisitor. If you’re going to remove some functionality at least open up a plugin API for Safari developers. But no. Yes I know I could run Safari in 32-bit mode but that’s not really the point.
  • Mail lost all my previous settings for Junk Mail. I could understand it for my Exchange account as that was, too all intents a new account, but for every other mail account I have as well?
  • Safari lost all my settings which said don’t remember user name and password for this site.
  • The Mobile Me and RSS screen saver vanished with no replacement on offer; no Flickr photo RSS feeds for me.
  • Exchange calendars can’t be synchronised with an iPhone over Mobile Me, you have to use ActiveSync, and if your company doesn’t support it, well no syncing for you then.
  • The entire printer driver architecture seems to have changed and all my printers needed new drivers. Which would be fine but alas the updated bundle of Ricoh drivers doesn’t include the printer that is on every single floor of the Yahoo! office, so no printing for me.
I could go on but I won’t; the lack of printing was the final straw and so I spent 50 minutes last night restoring my Leopard install from that backup I mentioned earlier … thank you Shirt Pocket for writing SuperDuper!
So I’m now back to a machine running Leopard, without native Exchange support, but with all of my working environment back and … working. When the next release of Snow Leopard comes out I’ll try again, but I’ll make sure I take a full backup beforehand. Just in case Snow Leopard needs to be thawed again.

Posted via email from Gary’s Posterous

Deliciousness: Mac OS X 15.6, gallons of chilli sauce, globes and Virgin Media

This week’s trawl through my Delicous bookmarks. Actually this is last week’s trawl but real life got in the way of posting and I beg your indulgence.

  • Last week, Snow Leopard, AKA Mac OS X 10.6 was released though some places seem to now be selling an even more advanced version, Mac OS X 15.6.
  • I like chilli sauce, I have a fine and wide range of the stuff in the larder at home; but some people must really really like the stuff to buy it a gallon at a time.
  • In my day job I do geo stuff but I wasn’t aware that a globe, an inflatable one come to that, has sharp corners and isn’t suitable for children.
  • While we’re on the subject of geo, Virgin Media found out the hard way that place names aren’t unique and sometimes there’s more than one place sharing a name; Whitchurch in this particular case.

Posted via email from Gary’s Posterous