<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2212528254138600736</id><updated>2011-11-27T15:48:48.702-08:00</updated><category term='Remembering Numbers'/><category term='Java Mnemonic Generator'/><category term='Boost memory'/><category term='Java Spell Check Utility'/><category term='Kodak KodakGallery Policy Change Move to Picasa Download automatic macro High Quality Original Quality Picture'/><category term='iMacros firefox macros tutorial example web scrapping'/><category term='Mnemonic generator'/><category term='Jazzy'/><title type='text'>Kingsly's BLOG</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kingslytheodar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212528254138600736/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kingslytheodar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kingsly Theodar</name><uri>http://www.blogger.com/profile/11329979095307641449</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_TRMgLMlcGU8/SgKF4Nygk8I/AAAAAAAAAv8/2-0AURcSp3Y/S220/sheep.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2212528254138600736.post-1226512113621575897</id><published>2010-07-06T07:00:00.000-07:00</published><updated>2010-07-13T08:16:33.169-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Boost memory'/><category scheme='http://www.blogger.com/atom/ns#' term='Jazzy'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Spell Check Utility'/><category scheme='http://www.blogger.com/atom/ns#' term='Remembering Numbers'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Mnemonic Generator'/><category scheme='http://www.blogger.com/atom/ns#' term='Mnemonic generator'/><title type='text'>Remembering Numbers with Mnemonics</title><content type='html'>If you are someone who could easily forget numbers then here is some good news for you.  You could use the system below to remember numbers.  For instance to remember that Columbus discovered america in 1492.  You could easily remember that it was discovered in the last millenium and you would aid to remember 492 alone.  How easy is it to remember "Columbus FouND america".  Piece of cake. huh...?  F=4, N=9, D=2.  The catch is that you need to remember the table below, but there is aid to remember the table.  The table below maps each number to two consonants.&lt;br /&gt;&lt;br /&gt;0 Z R ZeRo&lt;br /&gt;1 B C First two consonants&lt;br /&gt;2 D W Duo tWo&lt;br /&gt;3 T J Three, only omitted consonant (other than Y)&lt;br /&gt;4 F Q Four, Quad&lt;br /&gt;5 L V Roman L (50), V(5)&lt;br /&gt;6 S X SiX&lt;br /&gt;7 P M sePteM&lt;br /&gt;8 H K Huiti (HongKong)&lt;br /&gt;9 N G Nine, 9 resembles g&lt;br /&gt;&lt;br /&gt;Big Oh: Exponential &lt;br /&gt;&lt;br /&gt;1 72&lt;br /&gt;2 864&lt;br /&gt;3 10368&lt;br /&gt;4 124416&lt;br /&gt;5 1492992&lt;br /&gt;6 17915904&lt;br /&gt;7 214990848&lt;br /&gt;8 2579890176&lt;br /&gt;9 30958682112&lt;br /&gt;10 3.71504E+11&lt;br /&gt;11 4.45805E+12&lt;br /&gt;&lt;br /&gt;Reference: &lt;a href="http://amzn.com/1905940629"&gt;Boost Your Memory: 52 Brilliant Ideas You Won't Forget by Darren Bridger  Infinite Ideas © 2008&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jazzy.sourceforge.net/"&gt;Jazzy - The Java Open Source Spell Checker&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;A java program to achieve this&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Writing this program made me think about&lt;br /&gt;a) Cartesian product&lt;br /&gt;b) HashSet, TreeSet&lt;br /&gt;c) Generating cartesian product&lt;br /&gt;d) Research about Java spell checker - Jazzy&lt;br /&gt;e) Create a utility to do spell check (using Jazzy)&lt;br /&gt;&lt;br /&gt;Note: Program below needs further tweaking in terms of performance. You are welcome to tweak and post it back to me.&lt;br /&gt;&lt;br /&gt;Algorithm:&lt;br /&gt;Step 1: Get input (Say 492)&lt;br /&gt;Step 2: Generate Lists of lists [[A, E, I, O, U, ], [F, Q], [A, E, I, O, U, ], [N, G], [A, E, I, O, U, ], [D, W], [A, E, I, O, U, ]]&lt;br /&gt; Vowels intertwined with number's consonant-mnemonic&lt;br /&gt;Step 3: Generate cartesian product&lt;br /&gt;Step 4: Check in dictionary and output only which is in dictionary&lt;br /&gt;Step 5: FONDA,FUNDI,FINED,FEND,FIND,FOND,FUND&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.FileNotFoundException;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.HashMap;&lt;br /&gt;import java.util.Iterator;&lt;br /&gt;import java.util.List;&lt;br /&gt;import java.util.Map;&lt;br /&gt;&lt;br /&gt;import com.swabunga.spell.engine.SpellDictionary;&lt;br /&gt;import com.swabunga.spell.engine.SpellDictionaryHashMap;&lt;br /&gt;import com.swabunga.spell.event.SpellCheckEvent;&lt;br /&gt;import com.swabunga.spell.event.SpellCheckListener;&lt;br /&gt;import com.swabunga.spell.event.SpellChecker;&lt;br /&gt;import com.swabunga.spell.event.StringWordTokenizer;&lt;br /&gt;&lt;br /&gt;class SuggestionListener implements SpellCheckListener {&lt;br /&gt;&lt;br /&gt; private boolean wordFound = true;&lt;br /&gt;&lt;br /&gt; public boolean isWordFound() {&lt;br /&gt;  return wordFound;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setWordFound(boolean wordFound) {&lt;br /&gt;  this.wordFound = wordFound;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void spellingError(SpellCheckEvent event) {&lt;br /&gt;  wordFound = false;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* Not thread save, because of suggestionListener's wordFound instance variable&lt;br /&gt;* usage. Haven't thought about a better way.&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;class SpellCheckUtility {&lt;br /&gt; SpellDictionary dictionary = null;&lt;br /&gt; SpellChecker spellChecker = null;&lt;br /&gt; SuggestionListener suggestionListener = null;&lt;br /&gt;&lt;br /&gt; public SpellCheckUtility() {&lt;br /&gt;  try {&lt;br /&gt;   dictionary = new SpellDictionaryHashMap(new File(&lt;br /&gt;     &amp;quot;C:/learn/english_dic/eng_com.dic&amp;quot;));&lt;br /&gt;  } catch (FileNotFoundException e) {&lt;br /&gt;   // TODO Auto-generated catch block&lt;br /&gt;   e.printStackTrace();&lt;br /&gt;  } catch (IOException e) {&lt;br /&gt;   // TODO Auto-generated catch block&lt;br /&gt;   e.printStackTrace();&lt;br /&gt;  }&lt;br /&gt;  spellChecker = new SpellChecker(dictionary);&lt;br /&gt;  suggestionListener = new SuggestionListener();&lt;br /&gt;  spellChecker.addSpellCheckListener(suggestionListener);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; boolean checkValidSpelling(String stringToCheck) {&lt;br /&gt;  if (stringToCheck == null) {&lt;br /&gt;   return false;&lt;br /&gt;  }&lt;br /&gt;  StringWordTokenizer stringWordTokenizer = new StringWordTokenizer(&lt;br /&gt;    stringToCheck);&lt;br /&gt;  spellChecker.checkSpelling(stringWordTokenizer);&lt;br /&gt;  boolean result = suggestionListener.isWordFound();&lt;br /&gt;  suggestionListener.setWordFound(true);&lt;br /&gt;  return result;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Word {&lt;br /&gt;&lt;br /&gt; public Word() {&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public Word(String w) {&lt;br /&gt;  this(w, false);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public Word(String w, boolean inDict) {&lt;br /&gt;  setWord(w);&lt;br /&gt;  setInDictionary(inDict);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getWord() {&lt;br /&gt;  return word;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setWord(String word) {&lt;br /&gt;  this.word = word;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public boolean isInDictionary() {&lt;br /&gt;  return inDictionary;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setInDictionary(boolean inDictionary) {&lt;br /&gt;  this.inDictionary = inDictionary;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private String word;&lt;br /&gt; private boolean inDictionary;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class MnemonicGenerator {&lt;br /&gt;&lt;br /&gt; final static Map&amp;lt;string, list=&amp;quot;&amp;quot;&amp;gt;&amp;lt;string&amp;gt;&amp;gt; numberToCharsMap = new HashMap&amp;lt;string, list=&amp;quot;&amp;quot;&amp;gt;&amp;lt;string&amp;gt;&amp;gt;();&lt;br /&gt; final static List&amp;lt;string&amp;gt; vowelList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt; static {&lt;br /&gt;  init();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; static void init() {&lt;br /&gt;  List&amp;lt;string&amp;gt; zeroList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  zeroList.add(&amp;quot;Z&amp;quot;);&lt;br /&gt;  zeroList.add(&amp;quot;R&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;0&amp;quot;, zeroList);&lt;br /&gt;  List&amp;lt;string&amp;gt; oneList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  oneList.add(&amp;quot;B&amp;quot;);&lt;br /&gt;  oneList.add(&amp;quot;C&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;1&amp;quot;, oneList);&lt;br /&gt;  List&amp;lt;string&amp;gt; twoList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  twoList.add(&amp;quot;D&amp;quot;);&lt;br /&gt;  twoList.add(&amp;quot;W&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;2&amp;quot;, twoList);&lt;br /&gt;  List&amp;lt;string&amp;gt; threeList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  threeList.add(&amp;quot;T&amp;quot;);&lt;br /&gt;  threeList.add(&amp;quot;J&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;3&amp;quot;, threeList);&lt;br /&gt;  List&amp;lt;string&amp;gt; fourList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  fourList.add(&amp;quot;F&amp;quot;);&lt;br /&gt;  fourList.add(&amp;quot;Q&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;4&amp;quot;, fourList);&lt;br /&gt;  List&amp;lt;string&amp;gt; fiveList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  fiveList.add(&amp;quot;L&amp;quot;);&lt;br /&gt;  fiveList.add(&amp;quot;V&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;5&amp;quot;, fiveList);&lt;br /&gt;  List&amp;lt;string&amp;gt; sixList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  sixList.add(&amp;quot;S&amp;quot;);&lt;br /&gt;  sixList.add(&amp;quot;X&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;6&amp;quot;, sixList);&lt;br /&gt;  List&amp;lt;string&amp;gt; sevenList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  sevenList.add(&amp;quot;P&amp;quot;);&lt;br /&gt;  sevenList.add(&amp;quot;M&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;7&amp;quot;, sevenList);&lt;br /&gt;  List&amp;lt;string&amp;gt; eightList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  eightList.add(&amp;quot;H&amp;quot;);&lt;br /&gt;  eightList.add(&amp;quot;K&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;8&amp;quot;, eightList);&lt;br /&gt;  List&amp;lt;string&amp;gt; nineList = new ArrayList&amp;lt;string&amp;gt;();&lt;br /&gt;  nineList.add(&amp;quot;N&amp;quot;);&lt;br /&gt;  nineList.add(&amp;quot;G&amp;quot;);&lt;br /&gt;  numberToCharsMap.put(&amp;quot;9&amp;quot;, nineList);&lt;br /&gt;&lt;br /&gt;  vowelList.add(&amp;quot;A&amp;quot;);&lt;br /&gt;  vowelList.add(&amp;quot;E&amp;quot;);&lt;br /&gt;  vowelList.add(&amp;quot;I&amp;quot;);&lt;br /&gt;  vowelList.add(&amp;quot;O&amp;quot;);&lt;br /&gt;  vowelList.add(&amp;quot;U&amp;quot;);&lt;br /&gt;  vowelList.add(&amp;quot;&amp;quot;);&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; List&amp;lt;word&amp;gt; getWords(int iNumber) {&lt;br /&gt;  return getWords(iNumber, 1);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; List&amp;lt;word&amp;gt; getWords(int iNumber, int noOfVowelsSandwiched) {&lt;br /&gt;  SpellCheckUtility checkUtility = new SpellCheckUtility();&lt;br /&gt;  List&amp;lt;word&amp;gt; wordList = new ArrayList&amp;lt;word&amp;gt;();&lt;br /&gt;  String number = &amp;quot;&amp;quot; + iNumber;&lt;br /&gt;&lt;br /&gt;  ArrayList&amp;lt;list&amp;gt;&amp;lt;string&amp;gt;&amp;gt; listsOfLists = new ArrayList&amp;lt;list&amp;gt;&amp;lt;string&amp;gt;&amp;gt;();&lt;br /&gt;  for (int i = 0; i &amp;lt; length =&amp;quot; number.length();&amp;quot; i =&amp;quot; 0;&amp;quot; currentnumber = &amp;quot;&amp;quot; j =&amp;quot; 0;&amp;quot; arrlength =&amp;quot; listsOfLists.size();&amp;quot; maxlengtharray =&amp;quot; new&amp;quot; i =&amp;quot; 0;&amp;quot;&amp;gt;&amp;lt;string&amp;gt;&amp;gt; iterator = listsOfLists.iterator(); iterator&lt;br /&gt;    .hasNext(); i++) {&lt;br /&gt;   List&amp;lt;string&amp;gt; list = (List&amp;lt;string&amp;gt;) iterator.next();&lt;br /&gt;   maxLengthArray[i] = list.size();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  int[] counterArray = new int[arrLength];&lt;br /&gt;  do {&lt;br /&gt;   StringBuilder sb = new StringBuilder();&lt;br /&gt;   for (int j = 0; j &amp;lt; currentwordstr =&amp;quot; sb.toString();&amp;quot; currindex =&amp;quot; 0;&amp;quot; currindex =&amp;quot;=&amp;quot;&amp;quot; generator =&amp;quot; new&amp;quot;&amp;gt; words = generator.getWords(492, 1);&lt;br /&gt;&lt;br /&gt;  System.out.println(words.size());&lt;br /&gt;  int i = 0;&lt;br /&gt;  for (Iterator&amp;lt;word&amp;gt; iterator = words.iterator(); iterator.hasNext();) {&lt;br /&gt;   Word word = (Word) iterator.next();&lt;br /&gt;   if (word.isInDictionary()) {&lt;br /&gt;    i++;&lt;br /&gt;    System.out.println(word.getWord());&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;  System.out.println(&amp;quot;total=&amp;quot; + i);&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void main2(String[] args) {&lt;br /&gt;  String s1 = &amp;quot;doctor&amp;quot;;&lt;br /&gt;  String s2 = &amp;quot;decter&amp;quot;;&lt;br /&gt;  SpellDictionary dictionary = null;&lt;br /&gt;  try {&lt;br /&gt;   dictionary = new SpellDictionaryHashMap(new File(&lt;br /&gt;     &amp;quot;C:/learn/english_dic/eng_com.dic&amp;quot;));&lt;br /&gt;  } catch (FileNotFoundException e) {&lt;br /&gt;   // TODO Auto-generated catch block&lt;br /&gt;   e.printStackTrace();&lt;br /&gt;  } catch (IOException e) {&lt;br /&gt;   // TODO Auto-generated catch block&lt;br /&gt;   e.printStackTrace();&lt;br /&gt;  }&lt;br /&gt;  SpellChecker spellChecker = new SpellChecker(dictionary);&lt;br /&gt;  SuggestionListener suggestionListener = new SuggestionListener();&lt;br /&gt;  spellChecker.addSpellCheckListener(suggestionListener);&lt;br /&gt;  spellChecker.checkSpelling(new StringWordTokenizer(s1));&lt;br /&gt;  if (!suggestionListener.isWordFound()) {&lt;br /&gt;   System.out.println(&amp;quot;Word not found &amp;quot; + s1);&lt;br /&gt;  } else {&lt;br /&gt;   System.out.println(&amp;quot;Word found &amp;quot; + s1);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public static void main3(String[] args) {&lt;br /&gt;  SpellCheckUtility checkUtility = new SpellCheckUtility();&lt;br /&gt;  System.out.println(checkUtility.checkValidSpelling(&amp;quot;UWKCC&amp;quot;));&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2212528254138600736-1226512113621575897?l=kingslytheodar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kingslytheodar.blogspot.com/feeds/1226512113621575897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kingslytheodar.blogspot.com/2010/07/remembering-numbers-with-mnemonics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212528254138600736/posts/default/1226512113621575897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212528254138600736/posts/default/1226512113621575897'/><link rel='alternate' type='text/html' href='http://kingslytheodar.blogspot.com/2010/07/remembering-numbers-with-mnemonics.html' title='Remembering Numbers with Mnemonics'/><author><name>Kingsly Theodar</name><uri>http://www.blogger.com/profile/11329979095307641449</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_TRMgLMlcGU8/SgKF4Nygk8I/AAAAAAAAAv8/2-0AURcSp3Y/S220/sheep.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212528254138600736.post-6380302516491615676</id><published>2009-05-07T00:18:00.000-07:00</published><updated>2009-05-11T10:57:18.665-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iMacros firefox macros tutorial example web scrapping'/><title type='text'>How did I write my own macros for web scrapping from KodakGallery.com?</title><content type='html'>I remember the following always, "Give a man a fish, he will not be hungry for the moment.  Teach a man how to fish, he will never be hungry".&lt;br /&gt;&lt;br /&gt;So in this blog we will see how to write macros using firefox using an example.  The example is how to write a macro which you could use to shift all your photos in original quality from KodakGallery to Local drive/disk.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Items needed:&lt;/span&gt;&lt;br /&gt;1. Firefox 3.0 or above (&lt;a href="http://www.mozilla.com/firefox/"&gt;http://www.mozilla.com/firefox/&lt;/a&gt;)&lt;br /&gt;2. iMacros for firefox (&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3863"&gt;https://addons.mozilla.org/en-US/firefox/addon/3863&lt;/a&gt;, Click "Install now" and then select the add-on from the dialog box and click "Install now" button. Restart firefox, once.)&lt;br /&gt;3. MeasureIt (Goto &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/539"&gt;https://addons.mozilla.org/en-US/firefox/addon/539&lt;/a&gt;, Click "Install now" and then select the add-on from the dialog box and click "Install now" button. Restart firefox, once.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;For the Do-It-Yourself folks:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here are the detailed steps you should follow,&lt;br /&gt;1. Open a new firefox window.&lt;br /&gt;2. Visit "http://www.kodakgallery.com/"&lt;br /&gt;3. Click SignIn&lt;br /&gt;4. Enter your E-mail address/mobile number and password and click "Sign-in"&lt;br /&gt;5. Click "My Photos"&lt;br /&gt;6. Click on one of the albums from which you need to download all the photos.&lt;br /&gt;7. Click on the first image in the album&lt;br /&gt;8. Click on the "iOpus iMacros" button, located beneath the menu bar. You should see a "iMacros" frame.&lt;br /&gt;&lt;br /&gt;9. Click "Edit" tab in "iMacros" frame&lt;br /&gt;&lt;br /&gt;10. Click "Options" button in "Edit" tab&lt;br /&gt;&lt;br /&gt;11. Click "Paths" tab in the "Options dialog&lt;br /&gt;&lt;br /&gt;12. Change Folder Downloads, to any folder you wish. Click "Apply" after the folder changes&lt;br /&gt;13. Click "Rec" (Record) tab&lt;br /&gt;14. Click "Click Mode" button in the "Rec" , select "Use X/Y position" radio button and click "Ok"&lt;br /&gt;(Buckle up. We are ready to record the macro. :-) )&lt;br /&gt;15. Click "Record" in the "Rec" tab. Now we are in the recording mode.&lt;br /&gt;16. Context click (Right click for windows users) on "DownloadDownload high-resolution " link, select "Save link as", select the folder in which you need to save the JPG (same folder which you selected in Step 12) and click "Save"&lt;br /&gt;17. Click on the "next" navigation button&lt;br /&gt;18. Click "Stop" button in the "Rec" tab of iMacros frame&lt;br /&gt;19. Now click MeasureIt tool in the bottom-left part of the browser's status bar. You should see a layer of brightness painted over the browser view panel.&lt;br /&gt;20. Now you have to measure the width and height of the "Download" link. To do that, click on the link and drag your mouse towards top-left and make a note of the width and height. For me it was height=525 and width=568. I guess this value might vary based on your resolution.&lt;br /&gt;21. Click "Edit" tab (by default our current macro named "#current.iim" would be preselected in the List box of the iMacros frame, if not, select it)&lt;br /&gt;22. Click "Edit Macro" button of the "Edit" tab&lt;br /&gt;23. Now the macro would have been opened with a file editor (for me it opened in Notepad).&lt;br /&gt;24.&lt;br /&gt;a) Delete the line that looks like "URL GOTO=http://www.kodakgallery.com/PhotoView.jsp?..."&lt;br /&gt;b) Look for a line "CLICK X=undefined Y=undefined CONTENT=EVENT:SAVETARGETAS". Change it to "CLICK X=525Y=568CONTENT=EVENT:SAVETARGETAS"&lt;br /&gt;25. Save the file and closer the file editor.&lt;br /&gt;26. Now goto "Play" tab&lt;br /&gt;27. Enter the number of photos you are yet to download in the "Max" textbox (it should be N-1, where N is the total number of photos in your album, considering you have already downloaded one)&lt;br /&gt;28. Click "Play (Loop)"&lt;br /&gt;&lt;br /&gt;That's it folks.  Now you know how to write a iMacros yourself.  Happy web scrapping.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2212528254138600736-6380302516491615676?l=kingslytheodar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kingslytheodar.blogspot.com/feeds/6380302516491615676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kingslytheodar.blogspot.com/2009/05/how-did-i-do-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212528254138600736/posts/default/6380302516491615676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212528254138600736/posts/default/6380302516491615676'/><link rel='alternate' type='text/html' href='http://kingslytheodar.blogspot.com/2009/05/how-did-i-do-it.html' title='How did I write my own macros for web scrapping from KodakGallery.com?'/><author><name>Kingsly Theodar</name><uri>http://www.blogger.com/profile/11329979095307641449</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_TRMgLMlcGU8/SgKF4Nygk8I/AAAAAAAAAv8/2-0AURcSp3Y/S220/sheep.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2212528254138600736.post-7223976012865687839</id><published>2009-05-06T20:49:00.000-07:00</published><updated>2009-05-11T18:34:15.286-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kodak KodakGallery Policy Change Move to Picasa Download automatic macro High Quality Original Quality Picture'/><title type='text'>Transfer High Quality Pictures from Kodak to Picasa</title><content type='html'>In this post, I'll let you know on how to automate the transfer of your photos (in original quality) from &lt;a href="http://www.kodakgallery.com/Welcome.jsp"&gt;Kodak &lt;/a&gt;to &lt;a href="http://picasaweb.google.com/"&gt;Picasa&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;&lt;br /&gt;Lately each of us would have heard that&lt;a href="http://www.kodakgallery.com/PrivacyStatement.jsp"&gt; Kodak has changed its policies &lt;/a&gt;and has mandated to make atleast a &lt;a href="http://www.kodakgallery.com/PrivacyStatement.jsp"&gt;minimum purchase&lt;/a&gt; every year so that they would maintain your photos in their system. Some of us (including me) would have thought, why should not I move my photos from &lt;/span&gt;&lt;a href="http://www.kodakgallery.com/Welcome.jsp"&gt;Kodak &lt;/a&gt;to &lt;a href="http://picasaweb.google.com/"&gt;Picasa&lt;/a&gt;&lt;span style="font-family:Georgia;"&gt; (which is free as of now). Yes, you could do that in an semi-automated way, by following the steps below. I thought of fully automating it, but the global meltdown has showered a few other important problems on me, which I have to work0ut now!&lt;br /&gt;&lt;br /&gt;Okay. Let us get our hand's dirty now. You would need the following, which are all available for free and if you are computer enthusiast you might already have it!&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Items needed:&lt;/u&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;1. Firefox 3.0 or above (&lt;a href="http://www.mozilla.com/firefox/"&gt;http://www.mozilla.com/firefox/&lt;/a&gt;)&lt;br /&gt;2. iMacros for firefox (&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/3863"&gt;https://addons.mozilla.org/en-US/firefox/addon/3863&lt;/a&gt;, Click "Install now" and then select the add-on from the dialog box and click "Install now" button. Restart firefox, once.) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;&lt;br /&gt;&lt;span style="font-size:0;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Georgia;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Basic Strategy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;1. Get all the photos in a album from Kodak to a directory in your local computer, using macro&lt;br /&gt;2. Upload all the photos to Picasa&lt;br /&gt;3. Repeat the above steps for all your albums&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;br /&gt;&lt;span style="font-family:Georgia;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Setup steps&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="FONT-WEIGHT: bold; FONT-STYLE: italic"&gt;Note: If these steps do not work. Then follow the steps that is mentioned in the youtube video below.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9IN9yvKlcc0&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9IN9yvKlcc0&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;br /&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;1. Create a file as detailed below (Note: My earlier approach of choosing file based on resolution won't work, as there is another factor [zoom], which could change the cartesian co-ordinates under consideration!. If you don't understand the note, just ignore it, it is written for the sake of the people who post the valuable comments, which made me rethink the whole approach. Thanks anonymous commentors. :-) )&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;Save the snippet 1 below as "C:\FromKodak\macro1.txt" using notepad.&lt;br /&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-size:78%;"&gt;&lt;blockquote&gt;Snippet 1:&lt;br /&gt;&lt;span style="font-size:0;"&gt;&lt;span style="font-size:78%;"&gt;VERSION BUILD=6210326 RECORDER=FX&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;TAB T=1&lt;br /&gt;&lt;span style="font-size:100%;"&gt;ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}} WAIT=YES&lt;br /&gt;CLICK X&lt;strong&gt;&lt;em&gt;=[##Number1##]&lt;/em&gt;&lt;/strong&gt; Y=&lt;strong&gt;&lt;em&gt;[##Number2##] &lt;/em&gt;&lt;/strong&gt;CONTENT=EVENT:SAVETARGETAS&lt;br /&gt;CLICK X=&lt;strong&gt;&lt;em&gt;[##Number3##]&lt;/em&gt;&lt;/strong&gt; Y=&lt;strong&gt;&lt;em&gt;[##Number4##]&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-size:78%;"&gt;&lt;/p&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;[##Number##] will be substituted with numbers based on the steps mentioned below.&lt;br /&gt;a. Click "Click Mode" button in the "Rec" , select "Use X/Y position" radio button and click "Ok"&lt;br /&gt;b. Open a new firefox window and visit "&lt;a href="http://www.kodakgallery.com/"&gt;http://www.kodakgallery.com/&lt;/a&gt;"&lt;br /&gt;c. Enter your E-mail address/mobile number and click "Sign-in"&lt;br /&gt;d. Click "My Photos"&lt;br /&gt;e. Select the album from which you need to download all pictures. You will see picture list in the album&lt;br /&gt;f. Click on the first picture in the picture list&lt;br /&gt;g. Goto "Rec" tab and click "Record. Now we are in the recording mode.&lt;br /&gt;h. Click on "Download high-resolution " link&lt;br /&gt;i. Click on the "next" navigation button&lt;br /&gt;j. Click "Stop" button in the "Rec" tab of iMacros frame&lt;br /&gt;j. Goto "Edit" tab and click "Edit Macro" button. You would see something like this in new iMacros editor window (Say MacroEditWindow).&lt;br /&gt;...&lt;br /&gt;CLICK X=&lt;strong&gt;&lt;em&gt;&lt;span style="font-size:180%;"&gt;704&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; Y=&lt;strong&gt;&lt;em&gt;&lt;span style="font-size:180%;"&gt;569&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;...&lt;br /&gt;CLICK X=&lt;strong&gt;&lt;em&gt;&lt;span style="font-size:180%;"&gt;987&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; Y=&lt;strong&gt;&lt;em&gt;&lt;span style="font-size:180%;"&gt;159&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;Now substitute the above four numbers in "c:\FromKodak\macro1.txt". You would get&lt;/p&gt;&lt;blockquote&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;Snippet 2: &lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;VERSION BUILD=6210326 RECORDER=FX &lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;TAB T=1 &lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;ONDOWNLOAD FOLDER=* FILE=+_{{!NOW:yyyymmdd_hhnnss}} WAIT=YES &lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;CLICK X=&lt;em&gt;&lt;strong&gt;&lt;span style="font-size:180%;"&gt;704&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt; Y=&lt;em&gt;&lt;strong&gt;&lt;span style="font-size:180%;"&gt;569&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt; CONTENT=EVENT:SAVETARGETAS &lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;CLICK X=&lt;strong&gt;&lt;em&gt;&lt;span style="font-size:180%;"&gt;987&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; Y=&lt;strong&gt;&lt;em&gt;&lt;span style="font-size:180%;"&gt;159&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;2. Substitute the existing macro in "MacroEditWindow", with content of "Snippet 2".&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;3. Click "Save &amp;amp; Close"&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;Now we have created a macro which now can download pictures in an album automatically. Now with just one click you could download all pictures in an album. So if you have 5 albums and each album has 200 pictures (totally 1000 pictures), you just click 5 times, viola your pictures will be in your local drive/disk. Look into steps below for running the macro once for each of the albums.&lt;/p&gt;Look into YouTube video below for more clarity.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9IN9yvKlcc0&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9IN9yvKlcc0&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="FONT-WEIGHT: bold; LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;Download all pictures in an album to your Computer in three easy steps&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="FONT-WEIGHT: bold; LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;1. From logged in KodakGallery.com site opened in Firefox browser, click on the album you wish to download from the album list (How do I do this)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN-LEFT: 0.5in; LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;a. Open a new firefox window. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN-LEFT: 0.5in; LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;b. Visit "&lt;a href="http://www.kodakgallery.com/"&gt;http://www.kodakgallery.com/&lt;/a&gt;" &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN-LEFT: 0.5in; LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;c. Click SignIn &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="MARGIN-LEFT: 0.5in; LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;d. Enter your E-mail address/mobile number and password and click "Sign-in"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;2. Click on the first picture in the picture list of the album you are interested in.&lt;br /&gt;3. Enter the number of photos you are yet to download in the "Max" textbox and click "Play (Loop)" button.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;strong&gt;Where are my saved photos?&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;1. Click "Options" button in "Edit" tab &lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;2. Click "Paths" tab in the "Options dialog &lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;3. Look into "Folder Downloads" textbox value. That is the folder where-in you have all your files.&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;strong&gt;&lt;u&gt;Tip&lt;/u&gt;&lt;/strong&gt;: After everytime the macro is run, create a new folder and move all the harvested photos into the new folder. This way you could keep your photos organized by folders. Without doing this, all your album photos will be in a single folder and it might be a headache later to sort them out.&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;Now that you have got all the files in your local drive/disk, you could move it to Picasa as usual.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Lesson learnt:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Georgia;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="LINE-HEIGHT: 21.6pt"&gt;&lt;span style="font-family:Georgia;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Georgia;font-size:100%;"&gt;The lesson learnt from KodakGallery policy change is that, use online services just to share media files and information. Things that are closer to your heart, should be closer to you. I mean, have back-ups on optical disks and you will not be worried, about the policy changes.&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;Any issues or do you want to share something? - post as comment&lt;/span&gt;&lt;br /&gt;Feel free to reach me, &lt;/span&gt;if things does not work, or you would like to know how to do write the macro and retrieve the photos from KodakGallery yourself, post your requests through comments.&lt;br /&gt;&lt;span style="font-family:Georgia;font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Georgia;font-size:100%;"&gt;&lt;/span&gt;&lt;span style="font-family:Georgia;font-size:100%;"&gt;&lt;/span&gt;&lt;span style="font-family:Georgia;font-size:100%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2212528254138600736-7223976012865687839?l=kingslytheodar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kingslytheodar.blogspot.com/feeds/7223976012865687839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://kingslytheodar.blogspot.com/2009/05/first-post.html#comment-form' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2212528254138600736/posts/default/7223976012865687839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2212528254138600736/posts/default/7223976012865687839'/><link rel='alternate' type='text/html' href='http://kingslytheodar.blogspot.com/2009/05/first-post.html' title='Transfer High Quality Pictures from Kodak to Picasa'/><author><name>Kingsly Theodar</name><uri>http://www.blogger.com/profile/11329979095307641449</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://1.bp.blogspot.com/_TRMgLMlcGU8/SgKF4Nygk8I/AAAAAAAAAv8/2-0AURcSp3Y/S220/sheep.jpg'/></author><thr:total>18</thr:total></entry></feed>
