### Shared by Adam Merrifield ###
Category: DinnerCuisine: Italian
This is a delicious pasta dish that the whole family will love.
## Ingredients ##
* 0.4 kg ground turkey
* 284 ml Cream of Mushroom/Broccoli soup
* 1/2 cup white wine
* 1/2 cup cream/milk
* 5 cups rotini (whole wheat)
* 1 red pepper chopped
* 2 tsp minced garlic
* 1 cup Parmesan cheese (fresh grated)
## Directions ##
1. In a non-stick or seasoned cast-iron skillet, brown turkey over medium heat (about 4 minutes).
1. Add minced garlic and continue cooking for another 2 minutes.
1. Add the soup, wine and cream and reduce for about 15 minutes, stirring constantly.
1. Stir in chopped red peppers and continue cooking another 5 minutes.
1. Remove from heat and mix in Parmesan cheese. Let stand for 4 minutes.
1. Mix with cooked rotini and serve.
Search, share, and cook your recipes on Mac OS X with [SousChef](http://acaciatreesoftware.com/souschef/ “SousChef for Mac: Your Cooking Assistant (Acacia Tree Software)”)!
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.
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][a_091223104130] (and ultimately [BusyCal][a_091223104201] 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:
[[get the up-to-date code snippet here][a_091223123541]]
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
first name: [email protected]
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.
[[get the up-to-date code snippet here][a_091223140548]]
## 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][a_091223131712]]
## 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.
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][a_091223143806]]
## 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.
[a_091223104130]: http://www.busymac.com/ “BusyCal – Share Calendars on a LAN and sync with Google Calendar”
[a_091223104201]: http://www.busymac.com/ “BusyCal – Share Calendars on a LAN and sync with Google Calendar”
[a_091223123541]: http://www.codecollector.net/view/669E7C12-D9B6-4DF0-8E7D-D5DDCC101D2F “Code Collector – View Snippet”
[a_091223131712]: http://www.codecollector.net/view/F982AFBA-5105-4132-9EEC-3C7126A31DC2 “Code Collector – View Snippet”
[a_091223140548]: http://www.codecollector.net/view/5EA33012-40A6-4A24-AC6D-F08701E09529 “Code Collector – View Snippet”
[a_091223143806]: http://www.codecollector.net/view/9EA02C2E-98EF-4C46-9A51-47A126EAE7E9 “Code Collector – View Snippet”
There are numerous reasons you might need a unique identifier on something; you upload files with common names to the same ftp site, you use the id attribute for internal links on a blog that might display multiple posts (the chances of repeating yourself are good), you want to sign your emails with a unique, one time id for your own verification… Whatever the case, a unique id could come in handy.
The easiest thing to do is use a timestamp and a shell script can do that easily enough for us. For everyday use, the year, month, day, hour, minutes and seconds should suffice (unless you need multiple unique id’s per second). Here is how the bash script would look:
Entering this string into the Terminal.app would yield a twelve digit number like this:
The first pair of digits is the year, the second pair is the month, the third pair is the day, then the hour, minutes and seconds (all in pairs). Run this script in Terminal.app as many times as you like and you will never get the same number.
So you could enter this into your terminal every time you wanted a unique id… or you could make this shell script work *for* you from anywhere.
## TextMate Snippet ##
TextMate makes running shell scripts dead easy — all you need to do is create your own snippet. To do this:
* open your Bundle editor — `Bundles > Bundle Editor > Show Bundle Editor` ***or*** `⌃⌥⌘B`
* create a new bundle (if you don’t already have your own) from the + icon
* within that bundle create a new snippet from the + icon
* in the edit window, type:
* define a Tab Trigger or Key Equivalent
* leave the scope selector blank to have the snippet apply to all language types
Now you have a snippet that is accessible in any language scope you use TextMate for. This is handy if you write reference links in HTML articles, such as:
Or for reference style links in MarkDown:
Check out our site, [seyDoggy][a_091027194631], for some
really cool tips and tricks.
[a_091027194631]: http://www.seydoggy.com/ “seyDoggy’s really cool site”
### Download ###
Download your fresh copy of “[Unique ID.tmSnippet][a_091027205118]” from seyDoggy.com.
## AppleScript to clipboard ##
Say you’re not a TextMate user but you still want a quick way to run this shell script with as little effort as possible. AppleScript makes quick work of this task with it’s `do shell script` functionality. We need to make an AppleScript that runs the shell script, then copies the results to the clipboard. Then we can paste that result into what ever we’re working with at the time; file renaming, email signing, etc…
Here is how the script looks:
set uniqueID to (do shell script “date +%y%m%d%H%M%S”)
set the clipboard to uniqueID
display alert “\”" & uniqueID & “\”" & “Has been copied to your ¬
clipboard” giving up after 1
### Download ###
Get your fresh copy of “[UniqueID.scpt][a_091027205534]” from CodeCollector.net
[a_091027205118]: http://www.seydoggy.com/downloads/UniqueID.tmSnippet.zip “Download from seyDoggy.com”
[a_091027205534]: http://www.codecollector.net/view/55260B3D-599D-489A-BC7E-C51AF597B2D0 “Download from CodeCollector.net”
Broiled Talapia Parmesan
Shared by DaveT8
- 2 lbs talapia fillet
- 1/2 cup good quality parmesan cheese
- 1/4 cup butter softened
- 3 Tbs mayonnaise
- 2 Tbs fresh squeezed lemon juice
- 1/4 tsp dried basil
- 1/4 tsp black pepper
- 1/8 tsp onion powder
- 1/8 tsp celery salt
- In a bowl combine cheese, butter, mayo, lemon juice.
- Preheat broiler.
- Season fish with herbs and spices.
- Arrange fillet in a single layer on a foil lined broiler or baking pan.
- Broil fish a few inches from heat about 2 to 3 minutes on each side.
- Remove fish from oven and liberally cover with cheese mixture over top of fillets.
- Return fish to broiler and broil several more minutes or until topping is browned and fish flakes easily
- Be careful not to over cook fish.
Search, share, and cook your recipes on Mac OS X with SousChef!
Recently an old iMac G3 of mine made it back home after a lengthy stint at the in-laws (introducing them to computers a few years back). My initial thoughts were to take her to the great recycling depot in the sky, but then I got to thinking. “What could a web designer/developer use a seriously underpowered G3 chip be useful for?”
And you all chant in unison… a web server!
So this is just a document of the stuff I went through to get from point **a** to point **b**. It’s not so much instructional, but if you wish to follow along, by all means, have at it.
## Serve with Mac OS X… maybe not. ##
So I got to fiddling around with this old bubble of a machine and thought initially that I would just try to use the services provided in the Mac OS (the iMac was running 10.4 at the time). This proved to be so painfully slow that I decided to dig up an old copy of OS X 10.2 (it was called Jaguar back then, in case you forgot) and install it. While this was a tad faster, those services that *were* installed were sorely out of date.
Since it was clear that I was going to have to get into the command line to install MySQL and update and configure the PHP that was there, and since the the whole desktop environment was going to be redundant by the time this thing goes into service… why use the Mac OS at all?
## When in Freeville, do as [Linus](http://en.wikipedia.org/wiki/Linus_Torvalds “Linus Torvalds – Wikipedia, the free encyclopedia”) does ##
That’s when I decided that [Ubuntu Server](http://www.ubuntu.com/products/whatIsubuntu/serveredition “Ubuntu Server Edition | Ubuntu”) was the way to go. There are a ton of worthy Linux distro’s out there but I decided to go with Ubuntu because their PowerPC ports are pretty much up to date with with the core development. I could have used Debian but trying to track down the latest stable PowerPC build was like trying to finding a hot date at a Star Trek convention.
I just so happened to have an Ubuntu Server 8.1 iso laying around, so just as a proof of concept, before tying up anymore of Ubuntu’s precious bandwidth, I tried the install out to be sure that all would work on the old PPC box. And it did.
## Fast forward to the Jaunty Jackalope ##
So I got my hands on the latest stable build of Ubuntu Server for PowerPC, [Ubuntu 9.04](http://www.ubuntu.com/ “Ubuntu Home Page | Ubuntu”) (which can be [downloaded here](http://cdimage.ubuntu.com/ports/releases/9.04/release/ “Ubuntu 9.04 (Jaunty Jackalope)”)) and got to work.
The install was pretty straight forward, I just followed the steps as each prompt appeared. All in all it took about an hour on the old beast. One helpful hint: it seems the install will fail repeatedly if you don’t have the machine connected to the internet. I just ended up plugging in to the spare ethernet port of my Mac Pro, but I am assuming any connection would do.
## I have a package for you ##
I wasn’t really sure what packages I was going to need in the end, so I installed most, if not all of them. But at the very least I knew I was going to need a LAMP stack *, ssh and possibly DNS (though unlikely that I would bother to set it up). If you plan to make your own server you might as well take the time to research the options since installing and configuring them at install will save you the hassle later.
## Bong! ##
Once the install was done I was prompted to reboot. So I did. If your a total nerd like me you’ll get excited to hear that familiar Mac “Bong!” yet moments later get nothing but a black screen, white text and a login prompt… I can almost hear echos of [Joshua (WOPR)](http://en.wikipedia.org/wiki/WOPR “WOPR – Wikipedia, the free encyclopedia”) in his computerized voice asking me, “Would you like to play a game?”
With everything done right in the install I was prompted with**:
`ubuntu login: `
I entered my username, in my case “adam”, and hit return:
`ubuntu login: adam`
Entered my password, •••••••••••, and hit return:
Up pops a bunch of info like last login, software details, load and memory usage etc… and the all important command prompt:
## The _root_ of the solution ##
Here is where I am about to do a no-no… if I ever planned to run this machine in the DMZ (beyond the safety of my internal network and out side my router) I would NEVER do this. However, I want to have pure, unadulterated, God-like power over this machine and I do not want to sudo (“superuser do”) it every step of the way.
Those of you familiar with Ubuntu know that they disable root login by default. But this cripples what various apps can do in various directories over ssh — namely ExpanDrive, MacFusion, various FTP clients and from what I can tell some TextMate bundles (though I probably have them configured wrong) — and I don’t want to always have my head stuck in the terminal.
So, to enable root login I had to set a root password (since the install never prompted me for a root password). This is done with:
`adam@ubuntu:~$ sudo passwd root`
I then entered my own password for adam@ubuntu, •••••••••••:
`[sudo] password for adam: `
And the the new root password twice:
`Enter new UNIX password: `
`Retype new UNIX password: `
`passwd: password updated successfully`
Now I am able to switch to root:
`adam@ubuntu:~$ sudo su root`
And after entering the password I just created I am now presented with:
Now with that out of the way I can proceed with causing some real damage…
## More to come ##
In following posts I will talk about my ssh setup, configuring apache and working with my in my new server environment.
## Notes: ##
- * LAMP stands for Linux-Apache-MySQL-PHP/Perl/Python and is a generic acronym for a stack of applications that provide the kind of web services need to run web applications and dynamic web content.
- ** I set my server name up to the default “ubuntu”. Yours may read different.
My second born child shown here on the day she was born (nearly 6 years ago). It’s looking back on images like these that make you realize just how much changes in such a short amount of time. When I think to back to this moment, I was working as a quality technician at a tool and die shop, programming a CMM, I was shooting weddings on weekends, my son still lived in town, I still lived in the first house I ever bought, I was hand coding websites using tables and some css, I was still using film…
I could write a whole book on the stuff my family has been through in just the last half decade. I dare not think of all that’s changed since my son was born 12.5 years ago.
When is an apology *not* an apology? When it comes in the form of a sheepish form letter and omits any explanation as to what went wrong. Late last week flickr/Yahoo! and Rogers seemingly dissolved a long standing relationship that gave Rogers Internet subscribers a free flickr Pro account for as long as they remained Rogers subscribers. Why this agreement is no more is a little unclear as the only source of the news came from [flickr.com](http://www.flickr.com/ “Welcome to Flickr – Photo Sharing”) when I logged into my account and was presented with an AJAXIAN notification bubble informing me that my free Pro account would cease to be free and/or Pro by July 1, 2009. This information was additionally corroborated by my account FAQ page to which this notification directed me.
I have to admit I am fond of flickr and enjoy the service so I opted to renew then and there for another 2 years of service. Upon verbalizing my dismay to these recent events on [Twitter](http://twitter.com/seyDoggy “Twitter: What are you doing?”) I quickly learned that no all Rogers subscribers were reporting the same experience. Some were being told their accounts would expire on November 1st **2011**, nearly a full 2 years and 4 months ***after*** the date which was originally given to me.
So I went back to check my account, and there is was, the same notification bubble now displaying November 2011, ***not*** July 2009! Oh the FAQ still said 2009, but the notice now said 2011. So armed with these discrepancies (and the screen shots to prove them) I sent flickr/Yahoo! a scathing support query:
> This morning I get a notice from you (not Rogers) that my Flickr pro account that I enjoy as a Rogers customer will [no] longer be pro after July 1, 2009. This was confirmed but not elaborated on in the FAQ. After feeling I had no other choice I paid for the renewal. Shortly thereafter, and after hearing contradictory reports on the internet, I noticed the new warning that now says November 1, 2011. However the FAQ still says July 1, 2009.
> This is a fairly sizable blunder on your part and I think it was handled very unprofessionally. As a company who is one of the corner stones on the internet I would expect that you of all companies would know not to publish anything to the net before making sure you’ve got it all right down to the letter.
> I want my money back (or my in progress transaction canceled) if indeed my pro account is still valid until November 1, 2011. I expect a response of confirmation of action.
> Thank you.
> Adam Merrifield
To which I got the ineffectual and less then sympathetic response (pay close attention to the fourth paragraph about FAQ and discrepancies):
> Thank you for contacting Yahoo! Billing.
> I understand that you are contacting us to request a refund for your Flickr Pro account that you recently purchased.
> Any changes to your Flickr account pertaining to your Yahoo! Hi-Speed service package with Rogers are set to take place due to changes made by Rogers. Please contact Rogers regarding further details of this change.
> As per the FAQ found on Flickr.com, the Flickr Pro account included with your Rogers Yahoo! Hi-Speed service will change to a free Flickr account on July 1, 2009. There is not other information from Yahoo! that would support a November 1,  date. I understand that this situation may be frustrating and apologize for the inconvenience.
> Unfortunately, as stated on the order page there are no refunds on pro accounts. If an account has been closed before the pro term is up it cannot be transferred to another account and the unused portion is non-refundable.
> Thank you again for contacting Yahoo! Billing. If we can provide you with any further information, please reply to this email.
> Unnamed Female Support Personnel
> Yahoo! Billing
This just infuriated me! I proceeded to make a spectacle of them and myself by posting about there response [in as many places as I could](http://www.seydoggy.com/2009/05/19/complete-flickr-fail/ “seyDoggy Web and Graphic Design – seyDoggy weblog – my thoughts on the web and the mac”). I sent them a short and to the point letter and supporting screen shot:
> Uhhh… you work there right? And you can’t see what EVERYONE ELSE ON THE INTERNET SEES? See attached and don’t insult the intelligence of your users. Thanks.
> Adam Merrifield
I guess this sent the message in the tone required to get some action on the matter for today I got what I assume to be the last and finalizing letter in response to this whole fiasco:
> Hello Adam,
> Thank you for contacting Yahoo! Billing.
> I understand you have contacted us regarding your Flickr Pro service on your Yahoo! ID: [email protected]
> After reviewing your account we have issued you a full refund for your Flickr order from 05/15/2009 for $47.99. Please allow 7 – 10 business days for the credit to post to your credit card.
> To view your billing history, please visit:
> and sign in to your account. Once you’ve signed in, you will be able to view all billing details regarding this Yahoo! account.
> We apologize for any inconvenience this issue has caused you.
> Thank you again for contacting Yahoo! Billing. If we can provide you with any further information, please reply to this email.
> Unnamed Male Support Personnel
> Yahoo! Customer Care
What is the moral of the story? Don’t take it lying down! $50 is still $50 and I shouldn’t have to pay it because of a Yahoo! PR blunder and neither should you. Did you get burned by this? Does anyone know what the hell is going on yet? The notification still says November 2011 while the FAQ insists it’s July 2009. Will my account go dead in July? Who knows? We’ll fight that battle when the time comes.
[tags]flickr, Yahoo!, Rogers, internet[/tags]
There are so many cases when a developer can feel proud; new product launches, mention in the media, collaboration with other developers and so on… but nothing can quite compare to seeing your work and efforts brilliantly used in a manner that really make you look good. That’s the case for me today when I saw the relaunch of the popular site and RapidWeaver resource, [RapidWeaver Classroom](http://www.rapidweaverclassroom.com/ “RapidWeaver Classroom | Learn RapidWeaver with Screencast Lessons and Video Tutorials”).
Ryan and I have worked closely together in the past. He’s created some tutorial movies for us and we have both been active in cross promoting each others services. Ryan is an absolute wizard when it comes to RapidWeaver usage and his students say his approach is kind, patient and always measured. So when Ryan asked if I could create a custom theme for his new site, I jumped at the opportunity.
Ryan knew exactly what he wanted and being the expert in RapidWeaver that he is, I knew he would have no trouble expressing his needs. We had a working draft in about a days time and we were able to nail down the final version in very little time.
Now that I have seen the final result, I can see why Ryan’s students sing his praises. He is truly a consummate professional in RapidWeaver circles.
[tags]RapidWeaver, Classroom, custom, theme[/tags]
Here’s a great sampling of [#canadianmusicfind](http://search.twitter.com/search?q=canadianmusicfind “canadianmusicfind – Twitter Search”) for April 7th:
* [Neil Young](http://www.neilyoung.com/ “Neil’s Garage”)
* [McKenna Mendelson Mainline](http://www.last.fm/music/McKenna+Mendelson+Mainline “McKenna Mendelson Mainline – Discover music at Last.fm”)
* [Colin James](http://www.colinjames.com/ “:: COLIN JAMES ::”)
* [Barenaked Ladies](http://www.bnlmusic.com/ “BNL :: Barenaked Ladies Official Website”)
* [Avril Lavigne](http://www.avrillavigne.com/ “AVRIL LAVIGNE”)
* [Spirit of the West](http://www.sotw.ca/ “Spirit of the West :: Home”)
* [Big Sugar](http://www.bigsugar.com/ “redirect”)
* [Alanis Morisette](http://www.alanismorissette.com/ “alanis morissette”)