Twitter Updates for 2009-12-31
- @nickcates Brian Morgan is a pain in the ass, but NO ONE beats him in testing, that's for sure!!! LOL, right @shukapaw
# - Avatar micro review: visually stunning… plot as deep as a piece of tissue paper. Pocahontas/Dances With Wolves/Rambo rolled into one. 7/10 #
- @josephfung you can build a micro server for $350 like I am doing… is that fun?
#techToyShopping in reply to josephfung # - @jooliah make sure you show up early and get right in the middle. 3d is not so 3d when viewed from the side, third row from the front. in reply to jooliah #
- does anyone know of any computer chop-shop store still alive in KW? Looking for a $10 monitor to give my servers temporary sight. #
- @modsuperstar they've been shut down since June… never paid their rent. in reply to modsuperstar #
- XBOX Elite just showed up. #
- @laughsoutloud re RW updateable, you mean like a blog or CMS? in reply to laughsoutloud #
- @jennylynndotnet the man at blockbuster has his life goals set low methinks. in reply to jennylynndotnet #
- @rnickel re kw surplus, yeah forgot they were into the PC repo stuff now in reply to rnickel #
- @lisawaterstone re screen, now that's fine, I'll just pick up the smallest cheapest thing I can find. in reply to lisawaterstone #
Powered by Twitter Tools
Available Light Portraits
Reiley – December 30 2009, originally uploaded by seyDoggy.
I pulled out my 1984 50mm f1.7 Minolta lens earlier this week and have kept it on ever since. I love that old lens. I love how at f1.7 you can shoot with just about any available light and get a decent shot.
This one is a nice, contemplative shot of my son who is with us for the holidays. He’s really growing up fast.
Twitter Updates for 2009-12-30
- going to see Avatar with the 12 yo tonight… if I can stay awake that late. #
- @isaiah there are a lot of mind-share collectives in my area. The unconferences are also big for this sort of connectivity. in reply to isaiah #
- can you ssh into a server with a linux live CD in it? #
Powered by Twitter Tools
Twitter Updates for 2009-12-29
- my wife just clued me in to the fact that I went to school with Craig Cardiff the singer http://sh.orti.ca/i/5p #
- @amhranai re: Craig Cardiff, if he's still around here then yes… went to Bluevale with him. in reply to amhranai #
- @iscriptnetcast re: server/family activity… their files, images and such will exist on the server, so yes… I think it will count!
in reply to iscriptnetcast # - @saffyre9 if your floor hasn't been waxed then a clean pair of white socks ought to do it (hung to dry afterwards, of course). in reply to saffyre9 #
- @isaiah I get the same sort of emails every time I have a sale, lol. in reply to isaiah #
- Long Road Ahead by ►chris◄ – http://bit.ly/7rxNKn #
- have bought the parts to build a mini server for under $350… that's not Mac Mini for those who may ask. #
- just ditched newspond from my feeds… they never… ever… shut… UP! #
- @okieoilman re:sale went very well. about 5 times the buyers then I had anticipated… that means people are paying attention.
in reply to okieoilman # - @krishb re:exception – you're kidding right?
in reply to krishb #
Powered by Twitter Tools
Twitter Updates for 2009-12-28
- Oops… sale ends at 12:00am MST not EST… still 2 hours to go! BoxingBundle – Get All seyDesign Themes For $68 http://bit.ly/7GJXXV #
- @nickcates @indigonl @edbrenner @Cianmm @sundog @dtg @WebKarnage @TommyW @millca thanks for all the re-tweets and comments yesterday! #
- just bought an xbox 360 Elite… yay! Merry Christmas to me! #
- wondering if setting up my server counts as 'family Christmas activities'? #
- @MikeWorx yeah I think sparking up the server is considered a hostile holiday act. in reply to MikeWorx #
- note to slef… wehn mxinig butter sohts, rum nad coek… ues a bggier galss… *hick* #
Powered by Twitter Tools
Twitter Updates for 2009-12-27
- seyDesign news:: BoxingBundle – Get All seyDesign Themes For $68 http://bit.ly/7GJXXV #
- It's happening TODAY ONLY! BoxingBundle – Get All seyDesign Themes For $68 http://bit.ly/7GJXXV #
- One day only, NO EXCEPTIONS!! BoxingBundle – Get All seyDesign Themes For $68 http://bit.ly/7GJXXV #
- A little more the 6 hours to go! BoxingBundle – Get All seyDesign Themes For $68 http://bit.ly/7GJXXV #
- Only a few hours left, BoxingBundle – Get All seyDesign Themes For $68 http://bit.ly/7GJXXV #
Powered by Twitter Tools
Twitter Updates for 2009-12-26
- @soma__ merry christmas to you too! in reply to soma__ #
- I love dog pics! Snow ball by Miss Aniela – http://bit.ly/4sfYCZ #
- Merry Christmas to all the RapidWeaver developers and users alike! #
- And a very Merry Christmas to my 519 local tweeps. #
- @elixirgraphics you ok? #
- finally a Christmas dinner where I managed to control myself and not feel like splitting in 2. #
- RT @antoine_i: …there should be a standard word for the sensation after binge food consumption. Hows FRUNK? Im frunk right now #
Powered by Twitter Tools
Twitter Updates for 2009-12-24
- @DionRodrigues 1 day you'll be busy with life, family, work… you'll see that this just played a small part. it'll get better. #
- @edbrenner @isaiah re:sick I too spent months at a time in the hospital every year until 17… decided it was time for mind over matter… #
- what's the shortcut for deleting messages in Mail.app? #
- All 23 previous SitePoint deals are back today: http://sale.sitepoint.com/day/23 #
- @elixirgraphics DOH! *palm-to-face* in reply to elixirgraphics #
- @girlcarew you need to talk to my wife… she declares herself sick before actually getting sick. in reply to girlcarew #
- @girlcarew … though she does work in public health so she has a good excuse. in reply to girlcarew #
- How do you make your reply's as part of the thread in Mail.app? I don't want to have to open a separate window to see my previous response.. #
- … and I don't want to have to figure it out through increasing quote levels… #
- lady bird by Scott Thompson aka macrojunkie – http://bit.ly/8XXkGD #
- @elixirgraphics I have threading on already but it looks like my reply's are still separated in the sent folder and not part of the thread. in reply to elixirgraphics #
- @_RWT_ happy b-day Gary in reply to _RWT_ #
- Anyone know Alijca Merrifield? I got her Christmas card sent to my house. #
- @elixirgraphics your photographer did an amazing job! And who's that hollywood starlet on your arm?
in reply to elixirgraphics # - @elixirgraphics @starling this is my fav pic of all: http://sh.orti.ca/i/5o in reply to elixirgraphics #
- ok… that's it for me. see you all later. Have a good Christmas if not before then. #
- @_RWT_ did you see your name in the thank you card that Dan Messing made for Dan Jalkut? #
Powered by Twitter Tools
How AppleScript Saved My Address Book
From the time I got my iPhone — over a year and a half ago — I have been trying to force myself to use Apples own native products, like Mail, Address Book, iCal, etc… It was my thinking that this would make life easier, integrating into the whole Mac-iPhone way of life.
The thing is, I haven’t used any of these products since the days of OS X 10.2. For a time I was using ThunderMail (way back in the day) and eventually the whole Google Suite of apps like Gmail and Google Calendar. So a little over 1.5 years back, I started looking into the migration from these web services to the desktop apps that OS X provides.
With apps like BusySync (and ultimately BusyCal which I now use over iCal and in conjunction with Google Calendar), getting my calendar off the web but still having “anywhere” access was easy enough. And I did, for the first time ever, succumb to the .mac/mobileme world so my information is fully mobile and accessible to me in any form I choose. I am all about redundancy when it comes to data.
Since Mail and Gmail now do IMAP — and do it fairly well — getting local with my mail has not been difficult by any stretch, but I have to admit, I just don’t like the way Mail does things. I never have and that’s why I stopped using it so many years ago. I can get used to it though, and I am trying… on and off.
But my real reason why, after the better part of two years, I haven’t managed to fully integrate into the Macisphere way of doing things is none of the above… It has been moving contacts that has been the biggest catch.
I stopped using the Apple suite of apps around 2002-2003, so it goes without saying that the contacts acquired since then is quite extensive. Gmail’s way of collecting those contacts is sort of a drag-net approach — someone sends you an email and Gmail does it’s best to add that person to your contacts list… at all cost, with little regard for their name or whether it’s a duplicate. After this many years Gmail has collected what it thinks are 10,000 unique contacts… uhhh… yeah. And there is no way to manage those contacts in any practical manner.
So with a slew of free tools, exports, imports and lots of crying I was able to cram those 10,000 contacts into Address Book… which promptly rendered Address Book utterly useless. Fortunately Address Book comes with a handy command to look for duplicates (Card > Look for Duplicates…) and then merges them and their relevant data together. Great. After running for the better bit of 5 hours, Address Book was able to cut that down to a smidge over 4,500 contacts. While this made the app a little more useful on my Mac (though still really slow), Contacts on my iPhone was still, more or less useless.
And this is the way I’ve left it for the last 18 months. Defeated, deflated and frustrated.
Enter AppleScript. Why I hadn’t thought of this earlier, I have no idea, but just a few days ago, while writing an AppleScript to send out all my Christmas E-Cards (which invariably makes use of Mail and Address Book) I thought I had better do something about Address Book once and for all.
I knew going into this that Address Book was full of duplicate information, but it was different enough that Address Book wasn’t able to tell. For instance, if a contact has a first name of “John” and a last name of “Reynolds”, Address Book can’t draw the similarity from another contact with a dubious first name of “John Reynolds” and no last name. Nor can it conclude that the contact with the first name “Reynolds” and last name “John” is likely the same as the first contact.
In addition to this mass confusion, in Address Book’s attempt to manage duplicate contacts, it merged nameless email addresses into thousands of other nameless email addresses creating countless, nameless contacts, each with dozens, if not hundreds of emails… sound confusing?
It was time for some bug guns… big scripting, non-discriminating guns.
Before I go any farther, let me start by saying DO NOT TRY THIS AT HOME! YOU WILL CAUSE IRREVERSIBLE CHANGES TO YOUR CONTACTS IN ADDRESS BOOK! Unless you are certain you have this information backed up or stored elsewhere, or unless you are just as desperate as me and don’t care anymore, do not use these scripts!!!
Delete Nameless Entries
So first things first. I want to get rid of all the nameless, kludged together contacts that resulted from Address Book compiling nameless, and therefor what it deemed to be duplicate, contacts. This is what I came up with:
tell application "Address Book"
activate
set thePeople to every person whose first name is missing value and last name is missing value
repeat with i from 1 to count of thePeople
set thePerson to (item i of thePeople)
delete thePerson
save
end repeat
end tell
[get the up-to-date code snippet here]
AppleScript will tell Address Book to find all the contacts with no first or last name and delete them with no questions asked. If this scares you, DON’T USE IT. This cut down my contact list from 4,500+ to to about 2,300+. Good… better… but not great.
Cleanup @ Entries
One thing I can’t stand is a contact with no proper name. You are nothing to me if all I have is your email address. It especially bothers me when a contact uses all or bits of their email address as the first and/or last name, like…
first name: john
middle name: @doe.
last name: com
or…
first name: john@doe.com
So this next script looks for such contacts and indiscriminately wipes them out. If there is any question about whether the person really does have a proper first or last name, it will pause and ask… but for the most part it will just hack and slash with reckless abandon.
tell application "Address Book"
activate
set thePeople to (every person whose first name contains "@" or last name contains "@" or middle name contains "@")
repeat with i from 1 to count of thePeople
set thePerson to (item i of thePeople)
set firstName to (first name of (item i of thePeople) as string)
set lastName to (last name of (item i of thePeople) as string)
set middleName to (middle name of (item i of thePeople) as string)
set theirEmails to (value of email of (item i of thePeople) as string)
set urlList to {"com", "net", "ca", "org", "uk", "us", "fr", "it", "edu", ".com", ".net", ".ca", ".org", ".uk", ".us", ".fr", ".it", ".edu"}
if first name of (item i of thePeople) is missing value or last name of (item i of thePeople) is missing value then
delete thePerson
else if firstName contains "@" and lastName contains "@" then
delete thePerson
else if urlList contains lastName then
delete thePerson
else
display dialog "first name: " & firstName & return & "middle name: " & middleName & return & "last name: " & lastName & return & return & theirEmails buttons {"Cancel", "KEEP", "DELETE"} default button "DELETE" giving up after 30
copy result as list to {the buttonReturned, the gaveUp}
if gaveUp is true then error number -128
if buttonReturned is "Canceled" then error number -128
if buttonReturned is "DELETE" then delete thePerson
end if
save
end repeat
end tell
[get the up-to-date code snippet here]
Detect Name Switch
The next step was to sort out how many contacts were actually duplicates, only with their first and last names reversed. It’s understandable that Address Book would think such entries were unique, but you’d think the error was common enough that it would have such provisions built in and at least ask you to review what it suspects might be duplicates. Since Address Book does nothing of the sort, I had to write an AppleScript that does.
The script is too long and complex show it all here, but basically what happens is AppleScript tells address book to look for contacts whose first and last names match those contacts whose last and first names are the same. It then prompts me with the comparative information and asks me to decide if they are in fact the same. If yes, then it asks me which one, if any, that I want to delete.
This process cut another several hundred more contacts from my list.
[get the up-to-date code snippet here]
Split First Name
Something else I found regularly when going through my contacts is entires where both the first and last name would be in the first name field and the last name field entry left empty. This would also produce a lot of undetectable duplicates as the comparison of first name: John Doe to first name: John, last name: doe would obviously yield two unique contacts.
This script will search for contacts whose first names contain a space and whose last name is not present. Going on the assumption that the first and last name are both contained in the first name (hence the space), the script takes the first word and the last word and uses them for a proper first and last name. Again, it does so rather blindly, so this contact first name: Royal Bank of Canada will become first name: Royal, last Name: Canada. I need not say this again… proceed with caution.
tell application "Address Book"
(*
set first name to first word in first name
set last name to last word in first name
*)
set the thePeople to (every person whose (last name is missing value and first name contains " "))
repeat with i from 1 to count of thePeople
set theirName to (first name of (item i of thePeople))
set firstName to (first word of theirName)
set lastName to (last word of theirName)
set properties of (item i of thePeople) to {first name:firstName, last name:lastName}
set newFirstName to (first name of (item i of thePeople))
set newLastName to (last name of (item i of thePeople))
save
end repeat
end tell
This process, when combined with another duplicate search from the Address Book card menu, managed to chop out another 500 contacts.
[get the up-to-date code snippet here]
And the Winner Is?
After beating Address Book over the head with these scripts various times and after running Address Books own duplicate check after each script run I was able to cut my number of contacts from Gmail’s initial 10,000, down to 4,500+ until finally I managed to walk away from the whole fight with a clean, organized Address Book containing 1,308 cards! Ahhh… victory!
So does this make me a happy user of the Apple office apps? It’s certainly got me closer. Now that I have an Address Book that is usable, I’m now using Mail on both the desktop and iPhone and am making a real effort to get used to them both.
Twitter Updates for 2009-12-23
- RT @AceyTech: Anyone doing RapidWeaver design should be following @_RWT_ and participating in this colossal… http://po.st/ZMX #
- @spellbunny I think I <3 @PatsyLou now. I want to work with you guys… beer… bailey's… in reply to spellbunny #
- UNREAL! Yesterday I started with 4500+ contacts in my barely usable address book. With some AppleScript I've cut that down to 1380! #ftw #
- @PatsyLou your curves, the wet look, your antlers … and green glass that do it for me. You had me at "PFFSSSHHHT, GLUG, GLUG…. ahhhh!" in reply to PatsyLou #
- @isaiah well… you see… because gmail has a really dumb contact list (mine has 10,000 contacts — mostly duplicates)… in reply to isaiah #
- @isaiah … so the first time i performed a sync with gmail I wound up with a lot of crap. AB was smart enough to trim that down to 4500+… in reply to isaiah #
- @isaiah … but it took a couple of big AppleScript hammers to beat it down to within reason. in reply to isaiah #
- @spellbunny @PatsyLou just a couple more and we'll be getting drunk tweets from the office?
# - @spellbunny rofl in reply to spellbunny #
- @isaiah I'm trying (again) to force myself to use Mail… but I'm struggling… in reply to isaiah #
- really thinking WordPress MU would have been the way to go with all these updates… *sigh* #
- @DEVi8 I am mostly trying to force myself to use Apples products because they have the best AppleScript support. in reply to DEVi8 #
- LOVING THIS TRACK! 'Five Long Years' by Eric Clapton. #Rock #
- is tanking @lillowen for the awesome Christmas card and present! tnx yos! #
- Yes please! RT @Brydon: Can K'naan and K-OS please play hillside this year? #
- That's a mighty fine looking lot you follow
RT @elixirgraphics: Working on a little something else… http://thurly.net//ar7 #
Powered by Twitter Tools
