rapidBLOG

A blog by Manoj Khanna, a techpreneur.

Duplicate Address Book entries search using AppleScript

For quite sometime now I've been struggling with lots of duplicate entries in my Address Book, that was a result of - 
  • Syncs from Treo to BB and then to iPhone. 
  • Syncs from .mac, my trusty companion since 2005 - PB-G4-12", intel Mac and a MacBook from'03. 
  • Syncs of contacts from LinkedIn, Yahoo and GMail on a regular basis. 

Believe it or not, there are so many places you end up creating contacts that after a while it becomes really cumbersome to manage contacts. Finally, as a weekend project I decided to get rid of duplicates - and here's an interested script that I came across - that allowed me to sift through duplicates while not deleting them right away.  Hope this helps everyone out, though you can easily find the script on Mac OS X Hints as well.  Having a built-in feature within Address Book to deal with this issue would certainly help - or better yet within iPhone itself. 

(*REVISED FOR 10.6
Written by © Mark Hunte - 2009*)

tell application "Address Book"
set biglist to {}
set theGroup to "Dupilicate Entries"
if not (exists (group "Dupilicate Entries")) then
make new group with properties {name:"Dupilicate Entries"}
save
end if
set the_names to name of people
repeat with i from 1 to number of items in the_names
set theName to item i of the_names
if theName is not in biglist then
copy theName to end of biglist
else
set counter to (people whose name is theName)
if (count of counter) > 1 then
repeat with i from 1 to number of items in counter
set this_item to item i of counter
add this_item to group theGroup
end repeat
save
end if
end if
end repeat
end tell

Loading mentions Retweet
Posted March 14, 2010
// 0 Comments

Cheating Online - Academic dishonesty

These are some of my recent thoughts on Cheating Online - Academic Dishonesty posted elsewhere as part of my learning to be an online instructor. I felt compelling enough to be shared with the rest of the world. So here it is. 

As part of some of the online learning courses that I've completed in the past - my experience states that, if the instructor and a student have a fair bit of understanding about where they are coming from and where they wanna be at, then, policing and monitoring takes away that "learning" discipline - where the students and instructors are considered to be part of a democracy.

If the course structure and organization is such that - that it makes the student think on their feet rather than their text book then "Cheating Online" will become a rarity as it will lack research & material available to them, and will discourage such a lure behavior.  

The emphasis should be given more to the "learning" aspect rather than the assignment completion. What am I learning today or as part of this group is certainly not well judged by how quickly and efficiently I complete my assignments but what value as a student I bring to a particular course for myself and others to take away as "learning".

Thus, the key facts should be - greater level of interactivity - between students and instructors, opportunity to mentor and be a mentee (within student groups), elimination of text book based assignments, introduction of project based work group exercises, team exercises, focus on independent research and collective analysis, more use of online and social media tools, and the ability to self-measure against the learning plan that student creates with the help of the instructor.

Understanding that certain online policing tools will help in bringing some discipline in assignment submissions, but the whole point of distance education or online learning is to create a unique set of educational framework that is very distinct from the classroom behavior and self-sustains an educational responsibility between the student and the instructor.

I'm not against such tools, but I am for discovering new means of educating students that brings collaboration, self-responsibility and self-realization of "learning" amongst them. 

Loading mentions Retweet
Filed under  //   cheating   distance education   online learning   plagiarism  
Posted March 6, 2010
// 0 Comments

The Future Journalist: Thoughts from Two Generations

This is an interesting article, and a great insight into what we should anticipate from the journalist of tomorrow. With the power of social media and the becoming of the flat world, there's no argument about how well the connections and conduits have to be rooted into the social aspect to understand and provide a meaningful commentary, opinions, and perspectives in the world of tomorrow.

The journalism days of yore and the digital age both have a lot of learning, but the latter needs to learn more from the former in order to learn the pure tricks of the trade. Also the former admonishes the latter against some scenarios that has lead to this debate of new age journalism.

But I yearned for that news paper with my morning coffee everyday; but now no more.

Note:

Here's the link to the article http://bit.ly/cbEvVm.>

Here's the link to the presentation http://bit.ly/cxgyyu

Loading mentions Retweet
Posted February 7, 2010
// 0 Comments

German Cars Vs. Japanese Cars

It's only German cars for me. It's simple, it's not only about the efficiency of the factories, reliability or anything like that - it's also about how the car makes you feel. I've yet to drive a Japanese car that would give me the same feeling of quality and consideration for the needs of the user.

As someone rightly said, a man is nothing without his car.

With the recent advent of Toyota's glitch in Camry and now Prius, the Japanese should learn a thing or two about safety and reliability from the Germans. Not everything cheap and eco-friendly is the best. Lessons in lean manufacturing and Kaizen are great theories, cutting costs and bringing affordable cars to people is a great effort but not at the costs of peoples lives who trust Japanese cars and drive them.

I respect how reliable Japanese products are but still prefer German cars! I think I contradicted myself here, what I wanted to say instead that I respect the way Japanese make their products but automobiles might not be their best strength to date.  

The reason I like German cars because of a certain thoroughness to their design and their consideration for the user's aesthetic in a way that Japanese cars don't quite fit the bill. I often find that Japanese build their cars with ruthless efficiency, and they most often miss out on small features like air conditioning air flow adjustment for each vent, illuminated door courtesy lights, and air vents for the rear passengers in the back of the center console/tunnel. I feel Japanese design is purely functional and that's it, while German design is functional, reliable, built to last, different and has a look of it's own.

And it was the Germans who invented the automobile. The idea of reliability and quality isn't some that had to do particularly with autos, but with German products in general. The Germans often set standards where the other cars are judged. Germans have been undoubted kings of reliability and have always come ahead of anyone else, in terms of Engineering innovation. And that's why they've earned greater respect, than any other motoring industry around the world.

I respect how Japanese products are built but prefer German cars over reliability, safety, engineering and aesthetics. Its just those little things, that make German cars for car enthusiasts, IMO.

And finally, on the recent Toyota's debacle - German cars don't have throttle pedals that get stuck, here's an interesting video I'd like to share:

Loading mentions Retweet
Filed under  //   cars   german engineering   germany   japan   toyota  
Posted February 4, 2010
// 0 Comments

Common Twitter Terms '@, #, RT, ...'

Well I've been searching for definitions on now commonly used Twitter symbols and terms a while ago, and thought of them again so decided to post them here for easy reference.

The @ symbol
@ symbol is used as a public reply to or mention of another person on Twitter. In more simpler words, by putting an @ before a person's username>> you reply to something that they said or you mention that person in your tweet.

To find out where you got mentioned or replied to, log into your Twitter account, on the right hand side of your home page you can click to find when others within the Twitter-O-sphere used @your_username to mention you or replied to your posts.

Some examples,

@khannamanoj hi, what r u in town for?
or
@khannamanoj I'm at myname @ someurl dot com.
The hashtag (#)
# (the hashtag) is used to designate a topic, and topics can be created by anyone. So if I was Twittering on SaaS and Strategy , my Tweet will look something like:
Why You Need A Software As A Service (SaaS) Strategy -- http://bit.ly/6i7tvG via #SaaS #strategy #technology #management
The hashtag (#) allows other users to search for the topic “strategy”, "SaaS", etc. If you want to be tracked via a hash tag, then you can follow follow http://twitter.com/hashtags. You can also search for hashtagged real-time post on http://www.hashtags.org - it shows all of the posts that have been tagged with hashtagged keywords. For my example above, see the screenshot from hashtags.org for #saas & #strategy, and see where my post lies within the Twitter-O-sphere realm:

Some other sites and tools for hashtag and @ search include, http://www.hashtweeps.com/, http://hootsuite.com, and then there are several iPhone apps and such - the one I use currently is Twitterrific. In any case, you can find more with Google.com.

RT (retweets)
RT or retweets occurs when you re-tweet someone else’s Tweet, and essentially you're giving credit to the original source. For example, if you take the Tweet above about SaaS strategy and wanted to re-tweet it, you would Tweet:

RT @khannamanoj Why You Need A Software As A Service (SaaS) Strategy -- http://bit.ly/6i7tvG via #SaaS #strategy #technology
Happy Twittering!!

Loading mentions Retweet
Filed under  //   hashtag   tweets   twitter   twitter knowledge   twitter symbols  
Posted January 15, 2010
// 0 Comments

Argh F%@$!^$ Delta!

It was a tough vacation going out and coming in, but the rest in between (without Delta) was just heavenly. I am beyond belief that how such a large airline employ so many incompetent, irresponsible and incapable workforce. From Atlanta to Calgary, no one in Delta customer service is either knowledgeable and nor helping. This is the second time around Delta lost our checked-in bags on the same trip. After waiting at the customs for few hours past the midnight hour, and that too after a gruesome 10 hour in-flight-and-transit journey we finally gave up and came back with filled delayed-bags-forms at the customs (courtesy Customs and Air Canada rep as Delta folks were missing-in-the-F-action). It is our third day without any bags in our site or at our doorsteps, and no follow-up and courtesy call from Delta's reps yet of what happened and what is going to happen next. Is Delta doing this on purpose or is it in its business nature well embedded in? In any case, someone's gotta give at Delta on this, and yes, some price we paid for the trip to make it this memorable. I hope someone 's listening at F%@$!^$ Delta!!

Loading mentions Retweet
Posted January 4, 2010
// 0 Comments

Some Customer Service at Delta Airlines & Calgary Airport


While flying anywhere the most important thing to anyone is the customer service. And that is the moral of my short story which I am sharing here. Since I have a lot of time to burn and do not have anything better to do on a Christmas Eve except sitting at the airport killing time and writing this for general public knowledge.

So I am flying to my destination X, and charting the flight from Calgary. I reach 1 hr 15 mins prior to my departure time at the check-in counter of Delta, and find that the kiosk says "Flight is closed". So I ask gently the check-in concierge about checking in - and the first response "Sir, you have missed your flight". What!?? WTF??? Missed my %@&%#&# flight?!?!?!? And that's the only response I get from that person, and there's no try for help from her side (you'd imagine that if all computers are on the same network then how freaking difficult it is to print one boarding pass!??) - rather I get a mean responsive grin with this-dude-missed-his-flight attitude and hey-I-made-him-miss-his-flight-sucker win giggle. Am I surprised? Am I shocked? Am I pissed? Am I about to tell her - if-I-was-your-boss-you'd-already-be-fired-message.

You bet! All in a same breath.

So I request, and again I request, and again as a gentle customer I ask her in a polite way - you-must-not-be-serious-just-please-print-my-boarding-pass or something like that. But instead I'm handed over Delta's customer service number. Not getting too annoyed or lack for a better term ANGRY, I quietly step away from the counter and call Delta customer service. I call into three different reps, and spend on average 20 mins with each of them to find out my options. One rep wasn't even trying to search through what's available and suggested that I should look for a ticket in January 2010. You're serious!! To my shock and applaud-in-disgust and the-most-daunting-frustration-of-the-year she was literary telling me that I should cancel my vacation and now plan something in 2010. Wow! How encouraging - and apparently everyone within North America was flying Delta and no other possible options were available anyway. And one rep even accused me that I was calling her a liar and she hung up on me. So if you are telling me NO for every word (within in few seconds) I am asking you, then should I expect that you are doing every possible search within in your system in microseconds!!! Wow - Delta must be running some great super computing power machines within there data centers.

So I take my chances, and call the fourth time and this time I explain that rep loud and clear that what has happened in past hour, and how I expect him to resolute my situation. I want no BS and no games, and I want him to book me on the next flight out of Calgary so I don't miss my connecting flight to my final destination. After spending whopping 47 mins, the 4th rep comes back to me with a possible solution where I've to shell out $Z in order to make that happen. So I take that option because I am desperate, and there's no other cheaper option available.

Now, if that counter-lady was little-well educated in customer service by Delta personnel, was solution oriented and pro-customer-friendly and had some embedded courtesy and politeness through company culture then this plethora of frustration, haggling and name-calling wouldn't have had happened. But it did happen, and it did say a lot about the company and its culture weaved through its employees. It's a pathetic situation for a customer facing company, and it's shameful for people who inoculate and breed that culture.

Also, this will teach me a lesson to be at the check-in before two hours, or better yet do online check-in. But that's no excuse for all the customer service at Delta which needs to be desperately fixed and taken care of. I hope they hire right set of people to bring betterment and improvement in their customer service.

Loading mentions Retweet
Filed under  //   Calgary   Delta Airlines   Flight   Travel  
Posted December 24, 2009
// 0 Comments

Book Review: Growing Software


A little while ago I was contacted by No Starch Press and was asked whether I would be interested in reviewing a new book on IT management - Growing Software - Proven Strategies for Managing Software Engineers by Louis Testa. And since the topic was interesting enough for me to read through, I decided to give it a read and a feedback. So here it is.

First off, these are all my own personal opinions and observations about the book. I like the fact that the book is very well organized. It starts off with the understanding that a manager needs to first understand its development team, without the team there is no game that can be played. Then it dives into the tangibility and viability of that game for which everyone is working towards, that is the software product. Then it details on how to deal with the organizational framework typically the management above the manager. And then finally the processes and the working relationship of various objectives within a product development. The section about looking into the future is a classical example which most authors end up having, but as far as the life-cycle goes the changes today are so evident and quick that it becomes almost obsolete to have this into the book itself. I find that certain topics from this last section could have been easily absorbed in earlier parts of the book.

The "Additional reading" section at the end of each chapter is somewhat helpful, and adds to a very interesting reading list - that is if you have enough time to read and research. Short stories, live examples and trivia's shared throughout also add to a reader's reading excitement.

As far as the imparted knowledge on understanding the team and management within the book is concerned, in my opinion, the author's thoughts are limited with his experience. In a generic sense, it would have been more valuable to focus on the management of engineers rather than making engineers learn about the management. That I believe was not the subject of the book. It is a simple oversight.

Providing a detailed description on product management is a nice addition to the book, which typically is not found in depth and detail in other books with similar subject matter. Good coverage is provided for the "Release Management" chapter.

I find a little too less emphasis on the collaborative framework, and for the teams working in an agile environment. Engaging the customer, and executives through that approach is somewhat an overlook in the "Outside of Engineering" chapter. Although, the author talks about the customer satisfaction, meetings, closing the deal (not necessarily for IT teams if your end client is not a purchasing customer), and support etc. but they seem to be too far and wide to be able to precept the product for collaborative product development.

The processes section is long, and has far more traditional approaches to manage a software team. Author suggests data collection throughout the various stages of the project, which is very normal, but doesn't reflect in-depth as to using what tools today will make a difference and how those tools can be helpful and effective in managing an engineering team. Review of existing software development processes such as waterfall, iterative, spiral, agile, etc. is not very in-depth. And everyone knows about the importance of quality assurance, and for someone who's novice in this side of the world then this chapter might be really helpful to them.

"Planning the future" section, the last section, is a small addition which I think the author decided to add at the very end of his book writing. As I said earlier that some of these chapters are already covered in the previous sections or should have been covered under those sections. But this section offers an interesting insight into author's perspective in setting the direction, which is a very small interesting read.

Overall, if you are a project lead or development lead for a small group or a small software firm then this would be an interesting read for you. You might take away some really applicable learning examples and possibly be able to map out some of the processes mentioned within the book.

Loading mentions Retweet
Filed under  //   book review   growing software   louis testa   no starch press  
Posted November 7, 2009
// 0 Comments

Digital Books Vs. Traditional Printed Books

While running this morning I switched to NPR and heard a very interesting argument about the life of books beyond the print medium that is in the form of eBooks, Kindle, Sony Reader, iTouch or iPhone format. I am not surprised by the growing trend in electronics and the expanding availability of various media in trendy formats. Though the review was about the latest Kindle from Amazon, and since I live way up north that device has not made its mark in snow country yet. But I care less, as I use my mighty iPhone and 2005 PowerBookG4 to do all my digital reading. Not sure if Kindle is something I'd want or for that matter any eBook reader. While companies do these crazy innovations and spent tonnes loads of money into they forget the customers convenience and affordability. Why would someone in sane mind buy a $250+ device, when they can download less than $10 worth of eBook app on their already invested $300 iPhone? It is beyond my reach to argue that, and more importantly mere waste of time to even talk about it any further than this. Enough said.

Now, the human life as we know is evolving and will continue to evolve around the industrialization of its race. It has been a growing trend past 200 years, and the next few hundred years are not going to be any different in sophistication and astonishment that will continue to awe the older generation over new ones.

Coming back to books, I agree with the thought that I aspire an actual printed book over the electronic format or an audio book. But when it comes to convenience, it is no argument that the ease of carrying 100+ title in the palm of your hands is more convenient than carrying a trunk load of printed books. In fast paced organic life today, convenience and comfort play a very strong hand. Keeping all the drama out of normal day routine, the accessibility to information is such a winning factor. Imagine searching for a selected phrase in a printed book of 300+ pages, and worst still you don't even remember which book. Now imagine, that with e-version. Life is easy with bits and bytes, ain't it!

For the record, I still love listening to my collections of EPs and LPs in my spare time over the trendy iTouch/iPhone, though I can't live without my iPhone. Such an "Hippocratic" statement, but, true.

Loading mentions Retweet
Filed under  //   books   eBook   iPhone   iTouch   Kindle  
Posted November 1, 2009
// 0 Comments

7 Must Read Productivity Steps to Finally Getting Things Done

7 Must Read Productivity Steps to Finally Getting Things Done

Posted using ShareThis

Loading mentions Retweet
Posted November 1, 2009
// 0 Comments