<?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-8087075227712615928</id><updated>2012-02-15T23:09:13.140-08:00</updated><title type='text'>go2 Smedis</title><subtitle type='html'>Random programming tips and ideas</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-4381314832440944205</id><published>2011-03-07T18:24:00.000-08:00</published><updated>2011-03-07T18:24:46.212-08:00</updated><title type='text'>Android becomes #1 in the US</title><content type='html'>The latest statistics from ComScore shows that Android has now overtaken RIM and become #1 in the US, in total number of smartphone subscribers.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-tRN6vAntoxA/TXWRdE2eoyI/AAAAAAAAACk/-x6e0ZaZO00/s1600/MobileMarketShare%2B-%2BUS.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="393" width="585" src="http://2.bp.blogspot.com/-tRN6vAntoxA/TXWRdE2eoyI/AAAAAAAAACk/-x6e0ZaZO00/s400/MobileMarketShare%2B-%2BUS.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;Source: &lt;a href="http://comscore.com/Press_Events/Press_Releases/2011/3/comScore_Reports_January_2011_U.S._Mobile_Subscriber_Market_Share"&gt;comScore&lt;/a&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-4381314832440944205?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/4381314832440944205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2011/03/android-becomes-1-in-us.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/4381314832440944205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/4381314832440944205'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2011/03/android-becomes-1-in-us.html' title='Android becomes #1 in the US'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-tRN6vAntoxA/TXWRdE2eoyI/AAAAAAAAACk/-x6e0ZaZO00/s72-c/MobileMarketShare%2B-%2BUS.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-3013957286271748577</id><published>2011-02-06T13:14:00.000-08:00</published><updated>2011-02-06T13:23:31.160-08:00</updated><title type='text'>Android sells more smartphones than all others combined</title><content type='html'>In the US, more Android smartphones are sold than all others combined.&lt;br /&gt;&lt;br /&gt;These numbers include the Microsoft WP7 launch, which went very poorly. Twice as many people bought the old Windows Mobile (four percent) compared to new WP7 phones (two percent), adding up to a total sale share of 6% for Microsoft.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_nnSI4FUcB64/TU8O7kaPilI/AAAAAAAAACc/24fw78SM-ro/s1600/MobileSales%2B-%2BUS.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="393" width="585" src="http://3.bp.blogspot.com/_nnSI4FUcB64/TU8O7kaPilI/AAAAAAAAACc/24fw78SM-ro/s400/MobileSales%2B-%2BUS.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;Source: NPD&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-3013957286271748577?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/3013957286271748577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2011/02/android-sells-more-smartphones-than-all.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/3013957286271748577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/3013957286271748577'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2011/02/android-sells-more-smartphones-than-all.html' title='Android sells more smartphones than all others combined'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nnSI4FUcB64/TU8O7kaPilI/AAAAAAAAACc/24fw78SM-ro/s72-c/MobileSales%2B-%2BUS.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-385894889069449057</id><published>2011-02-06T13:05:00.000-08:00</published><updated>2011-02-06T13:05:40.314-08:00</updated><title type='text'>Android sells most smartphones in the world</title><content type='html'>In 2010 Q4, Android overtook Nokia and became the best seller in the world.&lt;br /&gt;&lt;br /&gt;Note that this is in unit sales and is only an indication of where the market shares are heading in the future. There are so many people who already have a smartphone and just a few people (relatively speaking) buy new phones each month, so the market shares in absolute terms are changing at a slower pace.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/_nnSI4FUcB64/TU8MyV-l_mI/AAAAAAAAACU/YBIZ2m4ekB4/s1600/MobileSales%2B-%2BGlobal.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="393" width="585" src="http://4.bp.blogspot.com/_nnSI4FUcB64/TU8MyV-l_mI/AAAAAAAAACU/YBIZ2m4ekB4/s400/MobileSales%2B-%2BGlobal.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;Source: Canalys&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-385894889069449057?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/385894889069449057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2011/02/android-sells-most-smartphones-in-world.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/385894889069449057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/385894889069449057'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2011/02/android-sells-most-smartphones-in-world.html' title='Android sells most smartphones in the world'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nnSI4FUcB64/TU8MyV-l_mI/AAAAAAAAACU/YBIZ2m4ekB4/s72-c/MobileSales%2B-%2BGlobal.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-2682114031658080409</id><published>2011-02-06T12:55:00.000-08:00</published><updated>2011-02-06T12:55:16.798-08:00</updated><title type='text'>Android overtakes iPhone</title><content type='html'>In November 2010, Android overtook iPhone in the US market, in total number of smartphone subscribers.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_nnSI4FUcB64/TU8JgCHtVtI/AAAAAAAAACE/30TGh3cjmrM/s1600/MobileMarketShare%2B-%2BMonthly.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="393" width="585" src="http://3.bp.blogspot.com/_nnSI4FUcB64/TU8JgCHtVtI/AAAAAAAAACE/30TGh3cjmrM/s400/MobileMarketShare%2B-%2BMonthly.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;Source: ComScore.com&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-2682114031658080409?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/2682114031658080409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2011/02/android-overtakes-iphone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/2682114031658080409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/2682114031658080409'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2011/02/android-overtakes-iphone.html' title='Android overtakes iPhone'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nnSI4FUcB64/TU8JgCHtVtI/AAAAAAAAACE/30TGh3cjmrM/s72-c/MobileMarketShare%2B-%2BMonthly.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-620903745202848734</id><published>2010-09-22T22:29:00.000-07:00</published><updated>2010-09-22T22:31:55.031-07:00</updated><title type='text'>Smartphone US Market Share</title><content type='html'>&lt;b&gt;Total market share:&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_nnSI4FUcB64/TJrj6HHP1TI/AAAAAAAAABY/uzOqc-kIyVg/s1600/MobileMarketShare.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_nnSI4FUcB64/TJrj6HHP1TI/AAAAAAAAABY/uzOqc-kIyVg/s1600/MobileMarketShare.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Sales:&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_nnSI4FUcB64/TJrj_hBzuII/AAAAAAAAABg/sW8qm-CVsSo/s1600/MobileSales.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_nnSI4FUcB64/TJrj_hBzuII/AAAAAAAAABg/sW8qm-CVsSo/s1600/MobileSales.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Sources: ComScore, NPD&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-620903745202848734?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/620903745202848734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2010/09/smartphone-us-market-share.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/620903745202848734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/620903745202848734'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2010/09/smartphone-us-market-share.html' title='Smartphone US Market Share'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nnSI4FUcB64/TJrj6HHP1TI/AAAAAAAAABY/uzOqc-kIyVg/s72-c/MobileMarketShare.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-1178471903750968522</id><published>2010-09-13T03:18:00.000-07:00</published><updated>2010-09-13T18:02:34.957-07:00</updated><title type='text'>NTouch released on Android Market</title><content type='html'>My first app was just released on the Android Market. It's a very simple app that visualizes multi-touch capabilities (or incapabilities!) of any device that runs Android 1.5 or higher:&amp;nbsp;&lt;a href="http://www.appbrain.com/app/com.smedis.ntouch"&gt;http://www.appbrain.com/app/com.smedis.ntouch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Even in this little app, I learned quite a lot. I learned how to support multiple OS versions in a single APK (set target SDK high, set minSdkVersion low and encapsulate all version-specific code). Unfortunately there aren't any compiler help to spot incompabilities in the version-specific code. The code that was written for the old OS version don't trigger any compile errors/warnings if it tries to use a newer API. If it fails, it will fail at run-time. And there isn't any c-preprocessor to make it easy to compile differently. :/&lt;br /&gt;&lt;br /&gt;Perhaps it's possible to make various test environments with Ant, separating code for Android 1.5 and make sure they compile fine in a pure Android 1.5 environment. Then another separation for code that's for Android 2.1 and test that path separately. Would be very neat. Need some ant XML magic here perhaps...&lt;br /&gt;&lt;br /&gt;NTouch is pretty interesting when you turn on event logging... You'll see the original Droid do some weird things, especially when the second pointer hits. It'll incorrectly report the same position for both touches at that time, and subsequent MOVE events may switch the touch id. (It's possible that this is fixed in Droid's Froyo update...)&lt;br /&gt;&lt;br /&gt;The precision and robustness also depends on whether you hold the device in your hand or not. When the device is lying on a table and isn't "grounded", your touches can generate weird results...&lt;br /&gt;&lt;br /&gt;With event logging turned on, you can also see what happens when the orientation changes. The app is actually shut down and restarted by the OS. However, all current touches are lost in the transition. If you keep a finger on the screen during an orientation change you'll stop receiving any more touch events. You'll have to release the finger and put it back on the screen to start generating touch events again. Seems like an OS issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-1178471903750968522?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/1178471903750968522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2010/09/ntouch-released-on-android-market.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/1178471903750968522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/1178471903750968522'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2010/09/ntouch-released-on-android-market.html' title='NTouch released on Android Market'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-7606307926171459416</id><published>2010-09-10T03:08:00.000-07:00</published><updated>2010-09-10T03:08:15.880-07:00</updated><title type='text'>Smedis.com</title><content type='html'>See the web site at&amp;nbsp;&lt;a href="http://smedis.com/"&gt;http://smedis.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-7606307926171459416?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/7606307926171459416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2010/09/smediscom.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/7606307926171459416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/7606307926171459416'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2010/09/smediscom.html' title='Smedis.com'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-2575438588681770982</id><published>2010-09-04T14:41:00.000-07:00</published><updated>2010-09-04T14:41:06.646-07:00</updated><title type='text'>Swype tip: Editing text</title><content type='html'>Swype has a powerful "hidden feature" that allows you to move around the text cursor, which can be problematic if your phone doesn't have a trackball or keypad. It also allows you to select text and cut/copy/paste. It even has PgUp / PgDown / Home / End buttons and other functionality. To access this feature, swipe your finger from the &lt;b&gt;Info&lt;/b&gt; button to the &lt;b&gt;SYM&lt;/b&gt; button.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_nnSI4FUcB64/TIK81nrE6gI/AAAAAAAAAAc/MvSVwxhIrno/s1600/AKNotepad_Swype_TextEdit.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nnSI4FUcB64/TIK81nrE6gI/AAAAAAAAAAc/MvSVwxhIrno/s320/AKNotepad_Swype_TextEdit.jpg" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_nnSI4FUcB64/TIK85MCGUiI/AAAAAAAAAAk/HjAPKgzUyus/s1600/AKNotepad_Swype_TextEdit2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nnSI4FUcB64/TIK85MCGUiI/AAAAAAAAAAk/HjAPKgzUyus/s320/AKNotepad_Swype_TextEdit2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-2575438588681770982?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/2575438588681770982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2010/09/swype-tip-editing-text.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/2575438588681770982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/2575438588681770982'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2010/09/swype-tip-editing-text.html' title='Swype tip: Editing text'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nnSI4FUcB64/TIK81nrE6gI/AAAAAAAAAAc/MvSVwxhIrno/s72-c/AKNotepad_Swype_TextEdit.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-8835342644424718150</id><published>2010-09-04T14:02:00.000-07:00</published><updated>2010-09-04T14:23:38.581-07:00</updated><title type='text'>Swype tip: How to type double letters</title><content type='html'>The very first text I wrote with Swype was "This is cool" but to my disappointment, it ended up as "This is col". Now that I'm older and more experienced, I've learned how to write double letters with Swype - you move your finger in a little loop over the letter you want doubled.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_nnSI4FUcB64/TIKzUUflp_I/AAAAAAAAAAM/4l7sv3HRD-k/s1600/AKNotepad_Swype_DoubleLetter.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nnSI4FUcB64/TIKzUUflp_I/AAAAAAAAAAM/4l7sv3HRD-k/s320/AKNotepad_Swype_DoubleLetter.jpg" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_nnSI4FUcB64/TIK3r0RLlzI/AAAAAAAAAAU/17cs3Hq02xI/s1600/AKNotepad_Swype_DoubleLetter2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_nnSI4FUcB64/TIK3r0RLlzI/AAAAAAAAAAU/17cs3Hq02xI/s320/AKNotepad_Swype_DoubleLetter2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-8835342644424718150?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/8835342644424718150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2010/09/swype-tip-how-to-type-double-letters.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/8835342644424718150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/8835342644424718150'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2010/09/swype-tip-how-to-type-double-letters.html' title='Swype tip: How to type double letters'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nnSI4FUcB64/TIKzUUflp_I/AAAAAAAAAAM/4l7sv3HRD-k/s72-c/AKNotepad_Swype_DoubleLetter.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-2386788662920406691</id><published>2010-09-04T00:29:00.000-07:00</published><updated>2010-09-04T00:29:23.702-07:00</updated><title type='text'>Installing the Android development tools on multiple machines</title><content type='html'>If you need to install the Android development tools on many machines, you can install everything into a single folder and zip it up. Once you have the .zip file, you don't have to run any installers on the other machines. Just unzip and set up environment variables. To make it even easier and non-intrusive, make a .bat file to set up local environment variables just for when you need it.&lt;br /&gt;&lt;br /&gt;For a full installation, the .zip file would contain the following folders:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;android-ndk-r4b&lt;br /&gt;android-sdk-windows&lt;br /&gt;apache-ant-1.8.1&lt;br /&gt;cygwin&lt;br /&gt;jdk1.6.0_21&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;The .bat file could look something like this:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;@echo off&lt;br /&gt;set JAVA_HOME=D:\Android\jdk1.6.0_21&lt;br /&gt;set ANT_HOME=D:\Android\apache-ant-1.8.1&lt;br /&gt;set ANDROID_HOME=D:\Android\android-sdk-windows&lt;br /&gt;set NDKROOT=D:\Android\android-ndk-r4b&lt;br /&gt;set CYGWIN_HOME=D:\Android\Cygwin&lt;br /&gt;path=%PATH%;%JAVA_HOME%\bin;%ANT_HOME%\bin;%ANDROID_HOME%\tools;%CYGWIN_HOME%\bin&lt;br /&gt;echo Android environment is now set up.&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-2386788662920406691?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/2386788662920406691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2010/09/installing-android-development-tools-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/2386788662920406691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/2386788662920406691'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2010/09/installing-android-development-tools-on.html' title='Installing the Android development tools on multiple machines'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-4410710990048607336</id><published>2010-03-25T13:48:00.000-07:00</published><updated>2010-08-20T19:04:51.866-07:00</updated><title type='text'>DropBox for Android</title><content type='html'>Screenshots and info is now online (&lt;a href="http://blog.dropbox.com/?p=439"&gt;http://blog.dropbox.com/?p=439&lt;/a&gt;).&lt;br /&gt;DropBox is coming to all flavors of Android "in a couple of months". It will allow for offline viewing, editing, streaming MP3 straight from DropBox, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-4410710990048607336?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/4410710990048607336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2010/03/dropbox-for-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/4410710990048607336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/4410710990048607336'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2010/03/dropbox-for-android.html' title='DropBox for Android'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-1252734837632239291</id><published>2010-03-22T21:55:00.000-07:00</published><updated>2010-09-04T14:46:27.650-07:00</updated><title type='text'>Android development</title><content type='html'>Here are a few quick steps to get started. These steps don't include native development (i.e. C/C++) using the NDK.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Download JDK (jdk-6u18-windows-x64.exe)&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Install JDK to C:\Java\jdk1.6.0_18&lt;/li&gt;&lt;li&gt;Install JRE to C:\Program Files\Java\jre6&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Download Ant (apache-ant-1.8.0-bin.zip)&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Unzip to C:\Java\apache-ant-1.8.0&lt;/li&gt;&lt;li&gt;Add C:\Java\apache-ant-1.8.0\bin to PATH env var&lt;/li&gt;&lt;li&gt;Set env var JAVA_HOME=C:\Java\jdk1.6.0_18&lt;/li&gt;&lt;li&gt;Set env var ANT_HOME=C:\Java\apache-ant-1.8.0&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Download Android SDK (android-sdk_r05-windows.zip)&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Unzip to C:\android-sdk-windows&lt;/li&gt;&lt;li&gt;Add C:\android-sdk-windows\tools to PATH env var&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Install Android SDK components&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Run C:\android-sdk-windows\tools\SDK Setup.exe&lt;/li&gt;&lt;li&gt;Install Install Android 2.1, docs, usb driver, Android 2.1 SDK and docs&lt;/li&gt;&lt;li&gt;Add Android Virtual Device (AVD) called "MyVirtualAndroid"&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Install USB driver&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Use Device Manager -&amp;gt; Nexus One -&amp;gt; Update driver&lt;/li&gt;&lt;li&gt;Browse to C:\android-sdk-windows\usb_driver (enable recursive search)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Create Android project&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Open cmd prompt in new empty project folder (e.g. C:\Dev\Android\Hello)&lt;/li&gt;&lt;li&gt;Type "android list targets" and see what id number the Android 2.1 target is (1)&lt;/li&gt;&lt;li&gt;Type "android create project --target 1 --name MyAndroidApp --path . --activity MyAndroidActivity --package com.example.myandroid"&lt;/li&gt;&lt;li&gt;Check that the folder now contains a bunch of new files and sub-folders&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Compile&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;From the project folder, compile with "ant debug" (signed with debug key) or "ant release" (unsigned and will not run on the device until it's been signed)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Run on emulator&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Launch emulator with "emulator -avd MyVirtualAndroid"&lt;/li&gt;&lt;li&gt;Install app with "adb install -r bin\MyAndroidApp-debug.apk"&lt;/li&gt;&lt;ul&gt;&lt;li&gt;May have to run it twice if the daemon wasn't running&lt;/li&gt;&lt;li&gt;You can check if the daemon is running by typing "adb root" or "adb devices"&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Launch app within the emulator (should show up as an app icon)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;b&gt;Run on Android device&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Connect Nexus One via USB cable&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;On the device: Settings -&amp;gt; Applications -&amp;gt; Development -&amp;gt; Enable debugging&lt;/li&gt;&lt;li&gt;Verify connection by typing "adb devices"&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Make sure the attached device is the only one in the list (close the emulator if it's running)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Install app on device: "adb -d install&amp;nbsp;-r&amp;nbsp;bin\MyAndroidApp-debug.apk"&lt;/li&gt;&lt;li&gt;Launch app on device (shows up as a regular app icon)&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;br /&gt;Have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-1252734837632239291?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/1252734837632239291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2010/03/android-development.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/1252734837632239291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/1252734837632239291'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2010/03/android-development.html' title='Android development'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-8976937287653486989</id><published>2009-11-22T23:04:00.000-08:00</published><updated>2009-11-22T23:04:45.979-08:00</updated><title type='text'>Remoting server in c#</title><content type='html'>Create a remoting object (who's methods are RPC) over TCP like this on the server:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;MyRemotingObject LocalRemotingObject = new MyRemotingObject();&lt;br /&gt;LocalRemotingObject.MySetupBeforePublishing();&lt;br /&gt;ChannelServices.RegisterChannel( new TCPChannel( MyPort ), false );&lt;br /&gt;ObjRef LocalRef = RemotingServices.Marshal( LocalRemotingObject, "MyRemotingService" );&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;You can then use LocalRemotingObject like a normal object with straight function calls on the server. Clients use it as normal - with Activator.GetObject() to get a proxy. To destroy the remoting object:&lt;br /&gt;&lt;pre class="brush:csharp"&gt;RemotingServices.Unmarshal( LocalRef );&lt;br /&gt;RemotingServices.Disconnect( LocalRemotingObject);&lt;br /&gt;LocalRemotingObject = null;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Some benefits with this approach (instead of using RegisterWellKnownServiceType):&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Function call performance on the server is optimal.&lt;/li&gt;&lt;li&gt;You control the time of creation/destruction of the server object explicitly.&lt;/li&gt;&lt;li&gt;You can call functions on the LocalRemotingObject before it has been published as a service, without having to worry about clients trying to use the object at the same time. (Like the call to MySetupBeforePublishing above.)&lt;/li&gt;&lt;li&gt;Using these methods, you can shutdown and restart your remoting service at runtime.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-8976937287653486989?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/8976937287653486989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2009/11/remoting-server-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/8976937287653486989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/8976937287653486989'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2009/11/remoting-server-in-c.html' title='Remoting server in c#'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-2406597066272229429</id><published>2009-11-21T19:38:00.000-08:00</published><updated>2009-11-21T20:24:21.063-08:00</updated><title type='text'>Visual Studio: What is "MyApplication.vshost.exe" for?</title><content type='html'>The MyApplication.vshost.exe file is generated by Visual Studio. The IDE uses it for improved F5 performance, partial trust debugging, and design time expression evaluation. You should not include this file when deploying/installing your application. It's not required for just running the stand-alone application since it's only used while working within the Visual Studio IDE.&lt;br /&gt;&lt;br /&gt;You can disable the generation and usage of vshost in the application settings: "Enable the Visual Studio hosting process" under the "Debug" tab. You'd lose the benefits mentioned above, of course.&lt;br /&gt;&lt;br /&gt;More information here: &lt;a href="http://blogs.msdn.com/dtemp/archive/2004/09/09/215764.aspx"&gt; dtemp's WebLog &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-2406597066272229429?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/2406597066272229429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2009/11/visual-studio-what-are.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/2406597066272229429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/2406597066272229429'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2009/11/visual-studio-what-are.html' title='Visual Studio: What is &quot;MyApplication.vshost.exe&quot; for?'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-9147334065307092087</id><published>2009-11-14T14:56:00.000-08:00</published><updated>2009-11-18T21:45:27.179-08:00</updated><title type='text'>Finding child windows in c#</title><content type='html'>If you have a IntPtr window handle (e.g. by using Process.MainWindow), the following helper functions lets you find any of its child windows by class name and/or window title, recursively:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:csharp"&gt;/// &lt;summary&gt;&lt;br /&gt;/// Uses FindWindowEx() to recursively search for a child window with the given class and/or title.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public static IntPtr FindChildWindow( IntPtr hwndParent, string lpszClass, string lpszTitle )&lt;br /&gt;{&lt;br /&gt; return FindChildWindow( hwndParent, IntPtr.Zero, lpszClass, lpszTitle );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[DllImport("user32.dll", SetLastError = true)]&lt;br /&gt;public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Uses FindWindowEx() to recursively search for a child window with the given class and/or title.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public static IntPtr FindChildWindow( IntPtr hwndParent, string lpszClass, string lpszTitle )&lt;br /&gt;{&lt;br /&gt; return FindChildWindow( hwndParent, IntPtr.Zero, lpszClass, lpszTitle );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Uses FindWindowEx() to recursively search for a child window with the given class and/or title,&lt;br /&gt;/// starting after a specified child window.&lt;br /&gt;/// If lpszClass is null, it will match any class name. It's not case-sensitive.&lt;br /&gt;/// If lpszTitle is null, it will match any window title.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;public static IntPtr FindChildWindow( IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszTitle )&lt;br /&gt;{&lt;br /&gt; // Try to find a match.&lt;br /&gt; IntPtr hwnd = FindWindowEx( hwndParent, IntPtr.Zero, lpszClass, lpszTitle );&lt;br /&gt; if ( hwnd == IntPtr.Zero )&lt;br /&gt; {&lt;br /&gt;  // Search inside the children.&lt;br /&gt;  IntPtr hwndChild = FindWindowEx( hwndParent, IntPtr.Zero, null, null );&lt;br /&gt;  while ( hwndChild != IntPtr.Zero &amp;&amp; hwnd == IntPtr.Zero )&lt;br /&gt;  {&lt;br /&gt;   hwnd = FindChildWindow( hwndChild, IntPtr.Zero, lpszClass, lpszTitle );&lt;br /&gt;   if ( hwnd == IntPtr.Zero )&lt;br /&gt;   {&lt;br /&gt;    // If we didn't find it yet, check the next child.&lt;br /&gt;    hwndChild = FindWindowEx( hwndParent, hwndChild, null, null );&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; return hwnd;&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/8087075227712615928-9147334065307092087?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/9147334065307092087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2009/11/finding-child-windows-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/9147334065307092087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/9147334065307092087'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2009/11/finding-child-windows-in-c.html' title='Finding child windows in c#'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8087075227712615928.post-4307033745380714931</id><published>2009-11-13T20:08:00.000-08:00</published><updated>2009-11-14T14:48:42.092-08:00</updated><title type='text'>Blog purpose</title><content type='html'>This blog is about coding tips and ideas I've come across while playing around at home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8087075227712615928-4307033745380714931?l=smedis.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://smedis.blogspot.com/feeds/4307033745380714931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://smedis.blogspot.com/2009/11/testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/4307033745380714931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8087075227712615928/posts/default/4307033745380714931'/><link rel='alternate' type='text/html' href='http://smedis.blogspot.com/2009/11/testing.html' title='Blog purpose'/><author><name>Smedis</name><uri>http://www.blogger.com/profile/08788976093389032703</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
