<?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-4752570885156867532</id><updated>2011-11-27T15:23:51.046-08:00</updated><category term='Прогрммирование'/><category term='Разное'/><category term='Интернет'/><title type='text'>Разное о программировании и очевидно бабках</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default?start-index=101&amp;max-results=100'/><author><name>HodzaNassredin</name><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>305</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4752570885156867532.post-4867573824439591769</id><published>2011-05-30T01:50:00.001-07:00</published><updated>2011-05-30T01:50:07.829-07:00</updated><title type='text'>Moss site creation error: Provisioning did not succeed. Failed to create the 'Workflow Tasks' library in CreateApprovalTaskList</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;Moss site creation error: Provisioning did not succeed. Failed to create the 'Workflow Tasks' library in CreateApprovalTaskList&lt;/p&gt;  &lt;p&gt;Solution: check that owstimer service is running and has enought rights.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-4867573824439591769?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/4867573824439591769/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=4867573824439591769' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4867573824439591769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4867573824439591769'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2011/05/moss-site-creation-error-provisioning.html' title='Moss site creation error: Provisioning did not succeed. Failed to create the &amp;#39;Workflow Tasks&amp;#39; library in CreateApprovalTaskList'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-6195917330284835876</id><published>2011-03-24T15:06:00.001-07:00</published><updated>2011-03-24T15:06:50.670-07:00</updated><title type='text'>Как победить все грабли запуска Django 1.3 на windows 7 x64</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;1. Ставим python 2.7&lt;/p&gt;  &lt;p&gt;2. Запускаем regedit как администратор.&lt;/p&gt;  &lt;p&gt;3. Копируем все&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&lt;span class="pln"&gt;из HKEY_LOCAL_MACHINE&lt;/span&gt;&lt;span class="pun"&gt;\&lt;/span&gt;&lt;span class="pln"&gt;SOFTWARE&lt;/span&gt;&lt;span class="pun"&gt;\&lt;/span&gt;&lt;span class="typ"&gt;Python&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&lt;span class="pln"&gt;в &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span class="pln"&gt;HKEY_LOCAL_MACHINE&lt;/span&gt;&lt;span class="pun"&gt;\&lt;/span&gt;&lt;span class="pln"&gt;SOFTWARE&lt;/span&gt;&lt;span class="pun"&gt;\&lt;/span&gt;&lt;span class="typ"&gt;Wow6432Node&lt;/span&gt;&lt;span class="pun"&gt;\&lt;/span&gt;&lt;span class="typ"&gt;Python&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="pln"&gt;4. Удаляем все разделы содержащее кириллические символы в названии из HKEY_CLASSES_ROOT\MIME\Database\Content Type&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="pln"&gt;5. Устанавливаем &lt;/span&gt;&lt;a&gt;PIL-1.1.7.win-amd64-py2.7.&amp;zwnj;exe &lt;/a&gt;&lt;span class="pln"&gt;отсюда &lt;a href="http://www.lfd.uci.edu/~gohlke/pythonlibs/"&gt;http://www.lfd.uci.edu/~gohlke/pythonlibs/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="pln"&gt;6/ Устанавливаем джангу.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="pln"&gt;оргазмируем&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-6195917330284835876?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/6195917330284835876/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=6195917330284835876' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6195917330284835876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6195917330284835876'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2011/03/django-13-windows-7-x64.html' title='Как победить все грабли запуска Django 1.3 на windows 7 x64'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8855672227461214669</id><published>2011-02-08T07:49:00.001-08:00</published><updated>2011-02-08T07:49:05.152-08:00</updated><title type='text'>cryptocipher install fix</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;cabal install cryptocipher&lt;br /&gt;Resolving dependencies...&lt;br /&gt;Configuring cryptocipher-0.2.3...&lt;br /&gt;Preprocessing library cryptocipher-0.2.3...&lt;br /&gt;Preprocessing executables for cryptocipher-0.2.3...&lt;br /&gt;Building cryptocipher-0.2.3...&lt;br /&gt;[1 of 8] Compiling Number.Serialize ( Number/Serialize.hs, dist/build/Number/Serialize.o )&lt;br /&gt;[2 of 8] Compiling Number.Generate&amp;nbsp; ( Number/Generate.hs, dist/build/Number/Generate.o )&lt;br /&gt;[3 of 8] Compiling Number.ModArithmetic ( Number/ModArithmetic.hs, dist/build/Number/ModArithmetic.o )&lt;br /&gt;[4 of 8] Compiling Crypto.Cipher.DSA ( Crypto/Cipher/DSA.hs, dist/build/Crypto/Cipher/DSA.o )&lt;br /&gt;[5 of 8] Compiling Crypto.Cipher.RSA ( Crypto/Cipher/RSA.hs, dist/build/Crypto/Cipher/RSA.o )&lt;p /&gt;Crypto/Cipher/RSA.hs:103:35:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; No instance for (Control.Monad.Error.Class.Error Error)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arising from a use of `&amp;gt;&amp;gt;=' at Crypto/Cipher/RSA.hs:103:35-56&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Possible fix:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; add an instance declaration for&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Control.Monad.Error.Class.Error Error)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; In the expression: dp pk c &amp;gt;&amp;gt;= unpadPKCS1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; In the definition of `decrypt':&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; decrypt pk c&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | B.length c /= (private_sz pk) = Left MessageSizeIncorrect&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | otherwise = dp pk c &amp;gt;&amp;gt;= unpadPKCS1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dp = if private_p pk /= 0 &amp;amp;&amp;amp; private_q pk /= 0 then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dpFast&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dpSlow&lt;br /&gt;cabal: Error: some packages failed to install:&lt;br /&gt;cryptocipher-0.2.3 failed during the building phase. The exception was:&lt;br /&gt;ExitFailure 1&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;FIX: cabal install mtl&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8855672227461214669?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8855672227461214669/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8855672227461214669' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8855672227461214669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8855672227461214669'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2011/02/cryptocipher-install-fix.html' title='cryptocipher install fix'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-4652450662030499252</id><published>2011-02-07T11:12:00.001-08:00</published><updated>2011-02-07T11:12:36.279-08:00</updated><title type='text'>spent a day with C(after 6 years break) and GTK writing fuzzy go to file plugin prototype for geany text editor</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2011-02-07/pcmbcoFbegljfGFhDGuvBndwdvurArzliateluotEjjtbBfwdgudJJmxdAFD/geany_fuzz.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2011-02-07/pcmbcoFbegljfGFhDGuvBndwdvurArzliateluotEjjtbBfwdgudJJmxdAFD/geany_fuzz.png.scaled500.png" width="500" height="320"/&gt;&lt;/a&gt; You can find it here &lt;a href="https://github.com/hodzanassredin/geany-fuzzy-goto-file-plugin"&gt;https://github.com/hodzanassredin/geany-fuzzy-goto-file-plugin&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-4652450662030499252?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/4652450662030499252/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=4652450662030499252' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4652450662030499252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4652450662030499252'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2011/02/spent-day-with-cafter-6-years-break-and.html' title='spent a day with C(after 6 years break) and GTK writing fuzzy go to file plugin prototype for geany text editor'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-1437373391854599929</id><published>2011-02-05T09:16:00.001-08:00</published><updated>2011-02-05T09:16:15.121-08:00</updated><title type='text'>содержимое моей почты после начала масс фоллоу</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2011-02-05/lIvdhefCyGdHoxfBeimdnyerEnzgAEqxEgGgnkJACEdsuaFqaJvIyvHcoCye/followers.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2011-02-05/lIvdhefCyGdHoxfBeimdnyerEnzgAEqxEgGgnkJACEdsuaFqaJvIyvHcoCye/followers.png.scaled500.png" width="500" height="385"/&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-1437373391854599929?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/1437373391854599929/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=1437373391854599929' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1437373391854599929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1437373391854599929'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2011/02/blog-post.html' title='содержимое моей почты после начала масс фоллоу'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-2647275230829223855</id><published>2011-01-20T00:25:00.001-08:00</published><updated>2011-01-20T00:25:24.480-08:00</updated><title type='text'>Замена TextMate для Ubuntu в 4 строки</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;  &lt;p&gt;sudo apt-get install gedit-plugins&lt;/p&gt;  &lt;p&gt;sudo apt-add-repository ppa:ubuntu-on-rails/ppa&lt;/p&gt;  &lt;p&gt;sudo apt-get update&lt;/p&gt;  &lt;p&gt;sudo apt-get install gedit-gmate&lt;/p&gt;  &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Долгое время пытался найти замену TextMate и использовать для работы vim и emacs но к сожалению так и не смог избавится от мысли что копаюсь в антиквариате. Gedit сейчас выступает моей основной ide.&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-2647275230829223855?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/2647275230829223855/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=2647275230829223855' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2647275230829223855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2647275230829223855'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2011/01/textmate-ubuntu-4.html' title='Замена TextMate для Ubuntu в 4 строки'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8480851366935582480</id><published>2011-01-13T08:36:00.001-08:00</published><updated>2011-01-13T08:36:31.779-08:00</updated><title type='text'>Ubuntu+Mono version of Redis(c# + ServiceStack) vs file(protocol buffer) vs memory list benchmark</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2011-01-13/FEkEgbHDxuCfbsGAvebcntpvzwzGIcDhCEzdooeqvCmucckdIyynxHlbuwGe/RedisBenchUbuntuMono.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-13/FEkEgbHDxuCfbsGAvebcntpvzwzGIcDhCEzdooeqvCmucckdIyynxHlbuwGe/RedisBenchUbuntuMono.png.scaled500.png" width="500" height="313"/&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8480851366935582480?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8480851366935582480/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8480851366935582480' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8480851366935582480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8480851366935582480'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2011/01/ubuntumono-version-of-redisc.html' title='Ubuntu+Mono version of Redis(c# + ServiceStack) vs file(protocol buffer) vs memory list benchmark'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-3026689300493107104</id><published>2011-01-12T05:13:00.001-08:00</published><updated>2011-01-12T05:13:21.352-08:00</updated><title type='text'>Redis(c# + ServiceStack) vs file(protocol buffer) vs memory list benchmark</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2011-01-12/hlxpkebGAdDcBpuBiHDjtlqyceqilerdFfjiJqAHhpEdmpfwqwugnuDsxjqF/RedisBench.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-12/hlxpkebGAdDcBpuBiHDjtlqyceqilerdFfjiJqAHhpEdmpfwqwugnuDsxjqF/RedisBench.png.scaled500.png" width="500" height="316"/&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-3026689300493107104?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/3026689300493107104/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=3026689300493107104' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3026689300493107104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3026689300493107104'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2011/01/redisc-servicestack-vs-fileprotocol.html' title='Redis(c# + ServiceStack) vs file(protocol buffer) vs memory list benchmark'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-3658090339762327968</id><published>2011-01-02T17:37:00.001-08:00</published><updated>2011-01-02T17:37:19.668-08:00</updated><title type='text'>Хехе свои старые фоты нашел типа охуенный дайвер</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/CpFigwkpDskAqiBHICvnahtzvtbqoHBEhbppfJrhlsoADmgcdbnrreqGfpBr/P8123733.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/CpFigwkpDskAqiBHICvnahtzvtbqoHBEhbppfJrhlsoADmgcdbnrreqGfpBr/P8123733.jpg.scaled500.jpg" width="500" height="375"/&gt;&lt;/a&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/HjjFnutFFnsuHyfgufEduwDkuhbqArrgxrurkwnHeyceluGfeexEioEbFfqI/P8123734.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/HjjFnutFFnsuHyfgufEduwDkuhbqArrgxrurkwnHeyceluGfeexEioEbFfqI/P8123734.jpg.scaled500.jpg" width="500" height="375"/&gt;&lt;/a&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/wJDJpeCrkdznBmmhqjsvHfEjlCzFvHgqCGAwbzExFJsukBEAiJBwCranmiaA/P8123736.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/wJDJpeCrkdznBmmhqjsvHfEjlCzFvHgqCGAwbzExFJsukBEAiJBwCranmiaA/P8123736.jpg.scaled500.jpg" width="500" height="375"/&gt;&lt;/a&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/gymydImtgJFBjjaGHeCEkrjJAcyzGcgaHrFrutrlDuvsezGmwGpqpwpvhojo/P8123738.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/gymydImtgJFBjjaGHeCEkrjJAcyzGcgaHrFrutrlDuvsezGmwGpqpwpvhojo/P8123738.jpg.scaled500.jpg" width="500" height="375"/&gt;&lt;/a&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/jkdHHHBsvlwFpFIrwJkIrIkzryGveworFFfspGcypqnvdrhyuHBjusgJcvpr/P8123742.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-02/jkdHHHBsvlwFpFIrwJkIrIkzryGveworFFfspGcypqnvdrhyuHBjusgJcvpr/P8123742.jpg.scaled500.jpg" width="500" height="375"/&gt;&lt;/a&gt; &lt;div&gt;&lt;a href='http://hodzanassredin.posterous.com/38276569'&gt;See the full gallery on posterous&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-3658090339762327968?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/3658090339762327968/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=3658090339762327968' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3658090339762327968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3658090339762327968'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2011/01/blog-post.html' title='Хехе свои старые фоты нашел типа охуенный дайвер'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-2057717342452107239</id><published>2010-12-27T06:26:00.001-08:00</published><updated>2010-12-27T06:26:37.031-08:00</updated><title type='text'>Открыл купальный сезон в преддверии НГ 2011</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-12-27/ojyFmbdgokjrnkCwgigfqfEvubCBCdDdmwijljxzFiJzjgrbJiDaBdplsllo/x_0574017e.jpg.scaled500.jpg" width="453" height="604"/&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-2057717342452107239?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/2057717342452107239/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=2057717342452107239' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2057717342452107239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2057717342452107239'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/12/2011.html' title='Открыл купальный сезон в преддверии НГ 2011'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-5059276272287666772</id><published>2010-12-02T11:11:00.001-08:00</published><updated>2010-12-02T11:11:21.935-08:00</updated><title type='text'>Moonlight говорите?</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-12-02/gfAukltaBgjvxxveazlFzaorcDDBEBmBhhcxzvyneurrGDtqwpauGvFGyEBv/Screenshot.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-12-02/gfAukltaBgjvxxveazlFzaorcDDBEBmBhhcxzvyneurrGDtqwpauGvFGyEBv/Screenshot.png.scaled500.png" width="500" height="349"/&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-5059276272287666772?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/5059276272287666772/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=5059276272287666772' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5059276272287666772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5059276272287666772'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/12/moonlight.html' title='Moonlight говорите?'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-1759261333201242014</id><published>2010-11-23T12:19:00.001-08:00</published><updated>2010-11-23T12:19:54.258-08:00</updated><title type='text'>Facebook Alternative Diaspora Launches Their Private Alpha With Some Bet Hedging</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="post_header snap_nopreview"&gt;&lt;a href="http://techcrunch.com/2010/11/23/diaspora-alpha/" title="Facebook Alternative Diaspora Launches Their Private Alpha With Some Bet&amp;nbsp;Hedging" rel="bookmark"&gt;Facebook Alternative Diaspora Launches Their Private Alpha With Some Bet&amp;nbsp;Hedging&lt;/a&gt;&lt;/div&gt;  				&lt;div class="post_subheader snap_nopreview" style="padding-bottom: 8px;"&gt;  										&lt;div class="post_subheader_right snap_nopreview"&gt;  							&lt;ul&gt;  										&lt;li style=""&gt;  			&lt;span class="db-wrapper db-clear db-compact"&gt;&lt;span&gt;&lt;span class="db-container"&gt;&lt;span class="db-body db-compact"&gt;&lt;span class="db-count"&gt;9&lt;/span&gt;&lt;span class="db-copy"&gt;diggs&lt;/span&gt;&lt;a class="db-anchor"&gt;digg&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;			  		&lt;/li&gt;  		&lt;li style=""&gt;  			&lt;iframe scrolling="no" title="Twitter For Websites: Tweet Button" class="twitter-share-button twitter-count-horizontal" src="http://platform0.twitter.com/widgets/tweet_button.html?_=1290543077149&amp;amp;count=horizontal&amp;amp;counturl=http%3A%2F%2Ftechcrunch.com%2F2010%2F11%2F23%2Fdiaspora-alpha%2F&amp;amp;lang=en&amp;amp;related=parislemon%3AAuthor%20of%20the%20post&amp;amp;text=Facebook%20Alternative%20Diaspora%20Launches%20Their%20Private%20Alpha%20With%20Some%20Bet%C2%A0Hedging&amp;amp;url=http%3A%2F%2Ftcrn.ch%2FexG7vY&amp;amp;via=techcrunch" frameborder="0" style="height: 20px;"&gt;&lt;/iframe&gt;  		&lt;/li&gt;  		&lt;li class="google-buzz-button"&gt;  			&lt;a href="http://www.google.com/buzz/post" title="Post on Google Buzz" class="google-buzz-button" style="text-decoration: none;"&gt;&lt;span class="buzz-counter-long"&gt;5&lt;/span&gt;&lt;/a&gt;  		&lt;/li&gt;		  		&lt;li class="snap_nopreview fb-like-button"&gt;  				&lt;iframe scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http://techcrunch.com/2010/11/23/diaspora-alpha/&amp;amp;layout=button_count&amp;amp;show_faces=false&amp;amp;width=80;&amp;amp;action=like&amp;amp;font&amp;amp;colorscheme=light&amp;amp;height=25" frameborder="0" style="border: medium none; overflow: hidden; height: 25px;"&gt;&lt;/iframe&gt;  				&lt;/li&gt;  																		  								&lt;/ul&gt;&lt;p&gt;  								&lt;li class="excerpt_subheader_right_comments snap_nopreview" style=""&gt;  									&lt;a href="http://techcrunch.com/2010/11/23/diaspora-alpha/#disqus_thread" rel="nofollow"&gt;54 Comments&lt;/a&gt;  								&lt;/li&gt;  															  						&lt;/p&gt;&lt;/div&gt;  								&lt;div class="post_subheader_left"&gt;  					&lt;a href="http://techcrunch.com/author/tcparislemon/" title="Posts by MG Siegler" rel="nofollow"&gt;MG Siegler&lt;/a&gt;   					&lt;p&gt;  					1 hour ago														&lt;/p&gt;&lt;/div&gt;  			&lt;/div&gt;  			&lt;div class="entry"&gt;  				&lt;p&gt;&lt;img class="alignright size-full wp-image-247539" title="Screen shot 2010-11-23 at 10.44.25 AM" src="http://tctechcrunch.files.wordpress.com/2010/11/screen-shot-2010-11-23-at-10-44-25-am.png?w=289&amp;amp;h=41" height="41" alt="" width="289" /&gt;We’ve been tracking the progress of &lt;a href="http://joindiaspora.com"&gt;Diaspora&lt;/a&gt;, the open-source Facebook alternative, since &lt;a href="http://techcrunch.com/2010/05/12/diaspora-open-facebook-project/"&gt;before the project even started&lt;/a&gt;. That’s because the idea got so much buzz on the crowdsourced micro-funding site &lt;a href="http://www.kickstarter.com/"&gt;Kickstarter&lt;/a&gt;, that they were able to turn a goal of raising $10,000 in 39 days into &lt;a href="http://techcrunch.com/2010/06/02/diaspora-project/"&gt;$200,000 from 6,500 backers&lt;/a&gt; in the same timeframe. But with such high expectations, you have to deliver. And many expressed doubts that the small team of college students could do that.&lt;/p&gt;  &lt;p&gt;After the money came in, the team sequestered themselves for the Summer to work on the project. Despite some hiccups, they were able to &lt;a href="http://techcrunch.com/2010/09/15/diaspora-revealed/"&gt;unveil the source&lt;/a&gt; of the project in September to mixed reviews. Meanwhile, a user-facing alpha launch was promised for October. That came and went, and they &lt;a href="http://techcrunch.com/2010/10/29/diaspora-public-alpha/"&gt;pushed&lt;/a&gt; the launch to Thanksgiving. Well, we’re two days away from turkey day, and Diaspora has delivered this time.&lt;/p&gt;  &lt;p&gt;As the company &lt;a href="http://blog.joindiaspora.com/2010/11/23/private-alpha-released.html"&gt;notes&lt;/a&gt; on their blog, the first batch of private alpha invites are going out today. They note that each week they’ll be adding more people to the test, starting with those who contributed to the service’s funding.&lt;/p&gt;  &lt;p&gt;Says the team:&lt;/p&gt;  &lt;blockquote class="posterous_medium_quote"&gt;&lt;p&gt;We are proud of where Diaspora is right now. In less than five months, we’ve gone from nothing to a great starting point from which the community can keep working. We’ve spent a lot of time thinking about how people can share in a private way, and still do all the things people love to do on social networks. We hope you’ll find it fun to use and a great way to keep in touch with all the people in your life.&lt;/p&gt;&lt;/blockquote&gt;  &lt;p&gt;Interestingly&amp;nbsp;enough, it sounds as if Diaspora is heavily predicated on lists, which they call “aspects”. This is interesting because Facebook is going in the opposite direction, as CEO &lt;a href="http://www.crunchbase.com/person/mark-zuckerberg"&gt;Mark Zuckerberg&lt;/a&gt; has made it clear that people on their service &lt;a href="http://techcrunch.com/2010/08/26/facebook-friend-lists/"&gt;don’t want to make lists&lt;/a&gt;. In fact, their entire new Groups project is a way to make it so you don’t have to make lists. “&lt;em&gt;We think that aspects are a simple, straightforward, lightweight way to make it really clear who is receiving your posts and who you are receiving posts from&lt;/em&gt;,” writes Diaspora.&lt;/p&gt;  &lt;p&gt;But the service is also quick to hedge their bets. “&lt;em&gt;It isn’t perfect, but the best way to improve is to get it into your hands and listen closely to your response&lt;/em&gt;,” they note about the aspects idea. They then go on to list five things they know they could do better, including: security, better APIs, better documentation, easier upgrades, and cleaner code. Yeah, that’s quite a few major things.&lt;/p&gt;  &lt;p&gt;“&lt;em&gt;Our work is nowhere close to done. To us, that is the best part. There are always more things to improve, more tricks to learn, and more awesome features to add&lt;/em&gt;,” they conclude.&lt;/p&gt;  &lt;p&gt;As you can see in the alpha site graphic below, they’re smartly playing towards some of the things people complain about the most with regard to Facebook: choice, ownership, simplicity.&lt;/p&gt;  &lt;p&gt;&lt;img class="alignnone size-full wp-image-247544" title="d" src="http://tctechcrunch.files.wordpress.com/2010/11/d3.png?w=630&amp;amp;h=300" height="300" alt="" /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://techcrunch.com/2010/11/23/diaspora-alpha/"&gt;techcrunch.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-1759261333201242014?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/1759261333201242014/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=1759261333201242014' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1759261333201242014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1759261333201242014'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/facebook-alternative-diaspora-launches.html' title='Facebook Alternative Diaspora Launches Their Private Alpha With Some Bet Hedging'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-3193307011529347237</id><published>2010-11-22T00:25:00.001-08:00</published><updated>2010-11-22T00:25:36.564-08:00</updated><title type='text'>Facebook Vies To Become Your Homepage – And Why That’s A Big Deal</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="post_header snap_nopreview"&gt;&lt;a href="http://techcrunch.com/2010/11/21/facebook-homepage/" title="Facebook Vies To Become Your Homepage – And Why That’s A Big&amp;nbsp;Deal" rel="bookmark"&gt;Facebook Vies To Become Your Homepage – And Why That’s A Big&amp;nbsp;Deal&lt;/a&gt;&lt;/div&gt;  				&lt;div class="post_subheader snap_nopreview" style="padding-bottom: 8px;"&gt;  										&lt;div class="post_subheader_right snap_nopreview"&gt;  							&lt;ul&gt;  										&lt;li style=""&gt;  			&lt;span class="db-wrapper db-clear db-compact"&gt;&lt;span&gt;&lt;span class="db-container"&gt;&lt;span class="db-body db-compact"&gt;&lt;span class="db-count"&gt;8&lt;/span&gt;&lt;span class="db-copy"&gt;diggs&lt;/span&gt;&lt;a class="db-anchor"&gt;digg&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;			  		&lt;/li&gt;  		&lt;li style=""&gt;  			&lt;iframe scrolling="no" class="twitter-share-button twitter-count-horizontal" title="Twitter For Websites: Tweet Button" src="http://platform0.twitter.com/widgets/tweet_button.html?_=1290413771670&amp;amp;count=horizontal&amp;amp;counturl=http%3A%2F%2Ftechcrunch.com%2F2010%2F11%2F21%2Ffacebook-homepage%2F&amp;amp;lang=en&amp;amp;related=robinwauters%3AAuthor%20of%20the%20post&amp;amp;text=Facebook%20Vies%20To%20Become%20Your%20Homepage%20%E2%80%93%20And%20Why%20That%E2%80%99s%20A%20Big%C2%A0Deal&amp;amp;url=http%3A%2F%2Ftcrn.ch%2Fd2VnVp&amp;amp;via=techcrunch" frameborder="0" style="height: 20px;"&gt;&lt;/iframe&gt;  		&lt;/li&gt;  		&lt;li class="google-buzz-button"&gt;  			&lt;a href="http://www.google.com/buzz/post" title="Post on Google Buzz" class="google-buzz-button" style="text-decoration: none;"&gt;&lt;span class="buzz-counter-long"&gt;19&lt;/span&gt;&lt;/a&gt;  		&lt;/li&gt;		  		&lt;li class="snap_nopreview fb-like-button"&gt;  				&lt;iframe scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http://techcrunch.com/2010/11/21/facebook-homepage/&amp;amp;layout=button_count&amp;amp;show_faces=false&amp;amp;width=80;&amp;amp;action=like&amp;amp;font&amp;amp;colorscheme=light&amp;amp;height=25" frameborder="0" style="border: none; overflow: hidden; height: 25px;"&gt;&lt;/iframe&gt;  				&lt;/li&gt;  																		  								&lt;/ul&gt;&lt;p&gt;  								&lt;li class="excerpt_subheader_right_comments snap_nopreview" style=""&gt;  									&lt;a href="http://techcrunch.com/2010/11/21/facebook-homepage/#disqus_thread" rel="nofollow"&gt;125 Comments&lt;/a&gt;  								&lt;/li&gt;  															  						&lt;/p&gt;&lt;/div&gt;  								&lt;div class="post_subheader_left"&gt;  					&lt;a href="http://techcrunch.com/author/tcrobinw/" title="Posts by Robin Wauters" rel="nofollow"&gt;Robin Wauters&lt;/a&gt;   					&lt;p&gt;  					14 hours ago														&lt;/p&gt;&lt;/div&gt;  			&lt;/div&gt;  			&lt;div class="entry"&gt;  				&lt;p&gt;&lt;img src="http://tctechcrunch.files.wordpress.com/2010/11/facebook-home.png" /&gt;&lt;/p&gt;  &lt;p&gt;It’s a very old trick, and arguably a mighty effective one. Ask people to set your website as their homepage, and it will become their entry point to the Web, the very first thing they’ll see when they open their browser. &lt;a href="http://venturebeat.com/2010/11/18/facebook-homepage/"&gt;Venturebeat&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.52/t.gif" style="" /&gt;&lt;/a&gt; noticed that Facebook started prompting visitors to set the site as their homepage before the weekend, by means of a bar at the top that actually shows some pictures and names of your Facebook friends.&lt;/p&gt;  &lt;p&gt;Others have &lt;a href="http://www.neontommy.com/news/2010/11/facebook-wants-become-your-homepage-pop-moment-you-open-your-browser"&gt;reported&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.52/t.gif" style="" /&gt;&lt;/a&gt; to see the bar popping up as well, and reader &lt;a href="http://www.crunchbase.com/person/ryan-merket"&gt;Ryan Merket&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.52/t.gif" style="" /&gt;&lt;/a&gt; from &lt;a href="http://appbistro.com/"&gt;Appbistro&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.52/t.gif" style="" /&gt;&lt;/a&gt; just checked in to tell us that he’s seen it as well. You can see two other pop-up messages below, and you’ll notice that they differ from the one embedded above.&lt;/p&gt;  &lt;p&gt;From the looks of it, Facebook is A/B testing this with a small subset of users, and trying out a variety of messages and pop-up layouts to figure out which one yields the best results.&lt;/p&gt;  &lt;p&gt;This is undeniably a significant move, particularly when it will roll out to the site’s roughly 500 million active users in full. Keep in mind that &lt;a href="http://google.com"&gt;Google&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.52/t.gif" style="" /&gt;&lt;/a&gt; and other search engines benefit greatly from being a genuine starting point to the rest of the Web, which is why so many people select such services to come up as soon as they open their Web browser.&lt;/p&gt;  &lt;p&gt;Being people’s homepage is good for branding, great for ‘stickiness’ and phenomenal for traffic.&lt;/p&gt;  &lt;p&gt;But for many people, social networking sites are slowly taking over at least part of the role of search engines, which is mainly to retrieve information. When you can tap your entire social graph for answers to your queries, sites like Facebook have the ability to push aside search engines like Google as the first site that springs to mind when people think about surfing the WWW to find information, &lt;a href="http://techcrunch.com/2010/11/21/talking-to-people-so-over/"&gt;connect to other people&lt;/a&gt;, &lt;a href="http://techcrunch.com/2010/11/15/facebook-350m-people-using-messaging-more-than-4b-messages-sent-daily/"&gt;communicate with friends&lt;/a&gt;, and so on.&lt;/p&gt;  &lt;p&gt;I can easily see why more and more people would eventually switch to Facebook as their homepage of choice, and actively prompting them to do so might be just what some Facebook users need to actually configure their browsers to do just that.&lt;/p&gt;  &lt;p&gt;Come to think of it, I’m wondering why Facebook hasn’t been doing this forever.&lt;/p&gt;  &lt;p&gt;Facebook’s traffic is still very much not going &lt;a href="http://weblogs.hitwise.com/heather-dougherty/2010/11/facebookcom_generates_nearly_1_1.html"&gt;anywhere but up&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.52/t.gif" style="" /&gt;&lt;/a&gt;, but the social network could still see a massive bump in total pageviews and time spent on the site if they can convince even just a tiny percentage of their total user base to set Facebook.com as their homepage.&lt;/p&gt;  &lt;p&gt;That said, you’ve set TechCrunch as your homepage, right?&lt;/p&gt;  &lt;p&gt;&lt;img src="http://tctechcrunch.files.wordpress.com/2010/11/facebook-home-2.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://tctechcrunch.files.wordpress.com/2010/11/facebook-home-1.png" /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://techcrunch.com/2010/11/21/facebook-homepage/"&gt;techcrunch.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-3193307011529347237?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/3193307011529347237/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=3193307011529347237' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3193307011529347237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3193307011529347237'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/facebook-vies-to-become-your-homepage.html' title='Facebook Vies To Become Your Homepage – And Why That’s A Big Deal'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-7151482823650859338</id><published>2010-11-22T00:23:00.001-08:00</published><updated>2010-11-22T00:23:21.215-08:00</updated><title type='text'>Facebook Removing Gmail From List Of Third Party Email Providers</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="post_header snap_nopreview"&gt;&lt;a href="http://techcrunch.com/2010/11/20/facebook-google-2/" title="Facebook Removing Gmail From List Of Third Party Email&amp;nbsp;Providers" rel="bookmark"&gt;Facebook Removing Gmail From List Of Third Party Email&amp;nbsp;Providers&lt;/a&gt;&lt;/div&gt;  				&lt;div class="post_subheader snap_nopreview" style="padding-bottom: 8px;"&gt;  										&lt;div class="post_subheader_right snap_nopreview"&gt;  							&lt;ul&gt;  										&lt;li style=""&gt;  			&lt;span class="db-wrapper db-clear db-compact"&gt;&lt;span&gt;&lt;span class="db-container"&gt;&lt;span class="db-body db-compact"&gt;&lt;span class="db-count"&gt;7&lt;/span&gt;&lt;span class="db-copy"&gt;diggs&lt;/span&gt;&lt;a class="db-anchor"&gt;digg&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;			  		&lt;/li&gt;  		&lt;li style=""&gt;  			&lt;iframe scrolling="no" class="twitter-share-button twitter-count-horizontal" title="Twitter For Websites: Tweet Button" src="http://platform0.twitter.com/widgets/tweet_button.html?_=1290413813935&amp;amp;count=horizontal&amp;amp;counturl=http%3A%2F%2Ftechcrunch.com%2F2010%2F11%2F20%2Ffacebook-google-2%2F&amp;amp;lang=en&amp;amp;related=alexia%3AAuthor%20of%20the%20post&amp;amp;text=Facebook%20Removing%20Gmail%20From%20List%20Of%20Third%20Party%20Email%C2%A0Providers&amp;amp;url=http%3A%2F%2Ftcrn.ch%2FazWmfM&amp;amp;via=techcrunch" frameborder="0" style="height: 20px;"&gt;&lt;/iframe&gt;  		&lt;/li&gt;  		&lt;li class="google-buzz-button"&gt;  			&lt;a href="http://www.google.com/buzz/post" title="Post on Google Buzz" class="google-buzz-button" style="text-decoration: none;"&gt;&lt;span class="buzz-counter-long"&gt;&lt;span class="google-buzz-100"&gt;124&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;  		&lt;/li&gt;		  		&lt;li class="snap_nopreview fb-like-button"&gt;  				&lt;iframe scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http://techcrunch.com/2010/11/20/facebook-google-2/&amp;amp;layout=button_count&amp;amp;show_faces=false&amp;amp;width=80;&amp;amp;action=like&amp;amp;font&amp;amp;colorscheme=light&amp;amp;height=25" frameborder="0" style="border: none; overflow: hidden; height: 25px;"&gt;&lt;/iframe&gt;  				&lt;/li&gt;  																		  								&lt;/ul&gt;&lt;p&gt;  								&lt;li class="excerpt_subheader_right_comments snap_nopreview" style=""&gt;  									&lt;a href="http://techcrunch.com/2010/11/20/facebook-google-2/#disqus_thread" rel="nofollow"&gt;120 Comments&lt;/a&gt;  								&lt;/li&gt;  															  						&lt;/p&gt;&lt;/div&gt;  								&lt;div class="post_subheader_left"&gt;  					&lt;a href="http://techcrunch.com/author/atsotsis/" title="Posts by Alexia Tsotsis" rel="nofollow"&gt;Alexia Tsotsis&lt;/a&gt;   					&lt;p&gt;  					Nov 20, 2010														&lt;/p&gt;&lt;/div&gt;  			&lt;/div&gt;  			&lt;div class="entry"&gt;  				&lt;p&gt;&lt;img src="http://tctechcrunch.files.wordpress.com/2010/11/screen-shot-2010-11-20-at-4-19-04-pm1.png" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;Something is up on the &lt;a href="http://techcrunch.com/2010/11/04/facebook-google-contacts/"&gt;Facebook vs. Google data reciprocity front&lt;/a&gt;. It looks like Facebook is removing Gmail from the list of third party email providers on &amp;nbsp;&lt;a href="http://www.facebook.com/find-friends/"&gt;“Find Friends”&lt;/a&gt;, whereas we were seeing direct link downloads to Gmail contacts still offered &lt;a href="http://techcrunch.com/2010/11/17/google-no-longer-claims-facebook-will-trap-users-or-do-they/"&gt;as an option&lt;/a&gt; just a couple of days ago.&lt;/p&gt;  &lt;p&gt;It gets stranger. Some new users who sign up with their Gmail accounts can still see the option to add friends from Gmail, but when I tried to import contacts I got the below &lt;em&gt;“Everyone on this contact list is already on Facebook or has already been invited”&lt;/em&gt; message. In other words it didn’t work.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://tctechcrunch.files.wordpress.com/2010/11/screen-shot-2010-11-20-at-3-54-58-pm1.png"&gt;&lt;img class="alignleft size-full wp-image-246634" title="Screen shot 2010-11-20 at 3.54.58 PM" src="http://tctechcrunch.files.wordpress.com/2010/11/screen-shot-2010-11-20-at-3-54-58-pm1.png?w=620&amp;amp;h=250" height="250" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Signing up with a non-Gmail account eliminates the option entirely even though you still have the capability to manually download and upload your contact files. This seems to be the latest development in the ongoing Facebook vs. Google &lt;a href="http://www.youtube.com/watch?v=hf_XpLOYfog"&gt;slap fight&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.52/t.gif" style="" /&gt;&lt;/a&gt;, even though it’s not exactly clear who slapped whom.&lt;/p&gt;  &lt;p&gt;Here’s our ongoing tally:&lt;/p&gt;  &lt;ol&gt;  &lt;li&gt;&lt;a href="http://techcrunch.com/2010/11/04/facebook-google-contacts/"&gt;Google To Facebook: You Can’t Import Our User Data Without Reciprocity&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://techcrunch.com/2010/11/05/data-protectionism-begins-in-earnest/"&gt;Data Protectionism Begins In Earnest&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://techcrunch.com/2010/11/08/facebook-finds-a-new-way-to-liberate-your-gmail-contact-data/"&gt;Facebook Finds A New Way To Liberate Your Gmail Contact Data&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://techcrunch.com/2010/11/09/googles-response-to-facebooks-response-to-googles-facebook-api-ban/"&gt;Google’s Response To Facebook’s Response To Google’s Facebook API Ban&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://techcrunch.com/2010/11/10/google-gets-feisty-kicks-data-portability-fight-with-facebook-up-a-notch/"&gt;Google Gets Feisty, Kicks Data Portability Fight With Facebook Up A&amp;nbsp;Notch&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://techcrunch.com/2010/11/17/google-no-longer-claims-facebook-will-trap-users-or-do-they/"&gt;Google No Longer Claims Facebook Will “Trap” Users. Or Do&amp;nbsp;They?&lt;/a&gt;&lt;/li&gt;  &lt;/ol&gt;  &lt;p&gt;I’ve contacted both Facebook and Google for more information and will update this post when they respond. For the record, Mark Zuckerberg called Gmail Priority Inbox &lt;em&gt;&lt;a href="http://techcrunch.com/2010/11/18/mark-zuckerberg/"&gt;“pretty cool”&lt;/a&gt;&lt;/em&gt; onstage at Web 2.0 Summit after Facebook announced their own &lt;a href="http://techcrunch.com/2010/11/15/facebook-messaging/"&gt;email product&lt;/a&gt; last week.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Word from Google is that nothing has changed from its side. &lt;a href="http://www.twitter.com/atul"&gt;Atul Arora&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.52/t.gif" style="" /&gt;&lt;/a&gt; also points out that the Gmail contact import button is now gone from Facebook property &lt;a href="http://www.friendfeed.com"&gt;Friendfeed&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.52/t.gif" style="" /&gt;&lt;/a&gt; as well.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Before …&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://tctechcrunch.files.wordpress.com/2010/11/screen-shot-2010-11-20-at-5-24-35-pm.png" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;After.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://tctechcrunch.files.wordpress.com/2010/11/screen-shot-2010-11-20-at-5-24-24-pm.png" alt="" /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://techcrunch.com/2010/11/20/facebook-google-2/"&gt;techcrunch.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-7151482823650859338?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/7151482823650859338/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=7151482823650859338' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7151482823650859338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7151482823650859338'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/facebook-removing-gmail-from-list-of.html' title='Facebook Removing Gmail From List Of Third Party Email Providers'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-7501991585463406582</id><published>2010-11-18T01:41:00.001-08:00</published><updated>2010-11-18T01:41:33.518-08:00</updated><title type='text'>Kinect прикрутили к роботу клево</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h4 class="post_title"&gt;Kinect sensor bolted to an iRobot Create, starts looking for trouble&lt;/h4&gt;  		  		&lt;div class="post_info"&gt;  			&lt;div class="post_byline"&gt;  				&lt;span class="caption"&gt;By &lt;a href="http://www.engadget.com/editor/paul-miller"&gt;Paul Miller&lt;/a&gt; &lt;a href="http://www.engadget.com/editor/paul-miller/rss.xml"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/writer_rss.gif" border="0" /&gt;&lt;/a&gt; posted &lt;span class="post_time"&gt;Nov 17th 2010 9:38PM&lt;/span&gt;&lt;/span&gt;  			&lt;/div&gt;  			  			&lt;div class="post_content_types"&gt;  				&lt;p&gt;    &lt;/p&gt;&lt;div class="post_icon"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/post_icon_video.gif" /&gt;&lt;/div&gt;  					  				&lt;p&gt;			  			&lt;/p&gt;&lt;/div&gt;                             			  			&lt;p&gt;  		  		&lt;/p&gt;&lt;/div&gt;    		  		         		&lt;div class="post_body"&gt;  			  			&lt;div style="text-align: center;"&gt;&lt;a href="http://www.engadget.com/2010/11/17/kinect-sensor-bolted-to-an-irobot-create-starts-looking-for-tro/"&gt;&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/11/kinect-irobot-1.jpg" border="1" alt="" style="display: none;" /&gt;&lt;/a&gt;&lt;p /&gt;&lt;/div&gt;  While there have already been a lot of great &lt;a href="http://www.engadget.com/tag/kinect,hack"&gt;proof-of-concepts for the Kinect&lt;/a&gt;, what we're really excited for are the actual applications that will come from it. On the top of our list? Robots. The &lt;a href="http://www.engadget.com/tag/mit,@robots"&gt;Personal Robots Group at MIT&lt;/a&gt; has put a battery-powered Kinect sensor on top of the &lt;a href="http://www.engadget.com/tag/iRobotCreate/"&gt;iRobot Create&lt;/a&gt; platform, and is beaming the camera and depth sensor data to a remote computer for processing into a 3D map -- which in turn can be used for navigation by the bot. They're also using the data for human recognition, which allows for controlling the bot using natural gestures. Looking to do something similar with your own robot? Well, the &lt;a href="http://www.engadget.com/tag/ros"&gt;ROS folks&lt;/a&gt; have a Kinect driver in the works that will presumably allow you to feed all that great Kinect data into ROS's already impressive libraries for machine vision. Tie in the Kinect's multi-array microphones, accelerometer, and tilt motor and you've got a highly aware, semi-anthropomorphic "three-eyed" robot just waiting to happen. We hope it will be friends with us. Video of the ROS experimentation is after the break. &lt;p&gt;    &lt;/p&gt;&lt;p&gt;    			&lt;/p&gt;&lt;p&gt;  		  		&lt;/p&gt;&lt;/div&gt;      		  	&lt;div class="post_footer"&gt;   		  		&lt;div class="post_footer_left"&gt;    &lt;table class="spanks"&gt;&lt;tr&gt;&lt;td valign="bottom"&gt;  			&lt;p&gt;   			&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;div class="post_source img_label"&gt;&lt;img class="img_label" src="http://www.blogsmithmedia.com/www.engadget.com/media/post_label_source.gif" alt="source" /&gt;&lt;span class="caption"&gt;&lt;a href="http://www.youtube.com/watch?v=dRPEns8MS2o"&gt;squadbot (YouTube)&lt;/a&gt;, &lt;a href="http://www.ros.org/news/2010/11/kinect-drivers-for-ros-coming-together.html"&gt;ROS.org&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;    	    &lt;/div&gt;   	                 &lt;div class="post_footer_right"&gt;                                   		&lt;div class="post_comment_icon post_footer_right_div"&gt;&lt;div class="post_num_comments"&gt;&lt;a href="http://www.engadget.com/2010/11/17/kinect-sensor-bolted-to-an-irobot-create-starts-looking-for-tro#disqus_thread"&gt;85&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;    				&lt;div class="post_comment_tail"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/post_icon_comment_tail.gif" /&gt;&lt;/div&gt;    				&lt;div class="post_comment sprite post_footer_right_div"&gt;&lt;a href="http://www.engadget.com/2010/11/17/kinect-sensor-bolted-to-an-irobot-create-starts-looking-for-tro/#comments"&gt;&lt;span&gt;Leave A Comment&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;        &lt;div class="footer-share-twitter floatR"&gt;&lt;iframe scrolling="no" title="Twitter For Websites: Tweet Button" class="twitter-share-button twitter-count-horizontal" src="http://platform0.twitter.com/widgets/tweet_button.html?_=1290073132205&amp;amp;count=horizontal&amp;amp;lang=en&amp;amp;text=Kinect%20sensor%20bolted%20to%20an%20iRobot%20Create%2C%20starts%20looking%20for%20trouble&amp;amp;url=http%3A%2F%2Fwww.engadget.com%2F2010%2F11%2F17%2Fkinect-sensor-bolted-to-an-irobot-create-starts-looking-for-tro%2F&amp;amp;via=engadget" frameborder="0" style="height: 20px;"&gt;&lt;/iframe&gt;&lt;/div&gt;    		 &lt;/div&gt;   	  		  		&lt;p&gt;    		&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.engadget.com/2010/11/17/kinect-sensor-bolted-to-an-irobot-create-starts-looking-for-tro/"&gt;engadget.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-7501991585463406582?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/7501991585463406582/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=7501991585463406582' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7501991585463406582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7501991585463406582'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/kinect.html' title='Kinect прикрутили к роботу клево'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-134950900654965902</id><published>2010-11-15T09:36:00.001-08:00</published><updated>2010-11-15T09:36:08.850-08:00</updated><title type='text'>Benchmarks 2: snap,happstack,yesod,manos,nginx,go http lib.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;all haskell compiled with threaded and run with +RTS -A4M -N4 -qg0 -qb -g1&lt;/p&gt;  &lt;p&gt;tested with&amp;nbsp;&lt;span style="font-family: Liberation Mono, monospace; font-size: 8.68056px; line-height: 29px;"&gt;httperf --hog --num-conns 1000 --num-calls 1000 --burst-length 20 --port 3000 --rate 1000 --uri=/pong&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;snap (from cabal)7038.1 req/s&lt;/p&gt;  &lt;p&gt;happstack (from darcs) 2715.3 req/s&lt;/p&gt;  &lt;p&gt;yesod (from cabal) simple = error&lt;/p&gt;  &lt;p&gt;yesod (from cabal) dev = error&lt;/p&gt;  &lt;p&gt;yesod (from cabal) wai snap = 1322.2 req/s&lt;/p&gt;  &lt;p&gt;manos(mono 2.8) = error&lt;/p&gt;  &lt;p&gt;go = 3693.8 req/s(186 errors)&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;nginx static = 14993.4 req/s(112 errors timeout)&lt;/p&gt;  &lt;p&gt;snap static = 4701.2 req/s&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-134950900654965902?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/134950900654965902/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=134950900654965902' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/134950900654965902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/134950900654965902'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/benchmarks-2-snaphappstackyesodmanosngi.html' title='Benchmarks 2: snap,happstack,yesod,manos,nginx,go http lib.'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-7495790728494072932</id><published>2010-11-12T01:40:00.001-08:00</published><updated>2010-11-12T01:40:10.585-08:00</updated><title type='text'>“Flash Is Great.” — Anonymous Flash Developer</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="post_header snap_nopreview"&gt;&lt;a href="http://techcrunch.com/2010/11/11/flasher-on-the-loose/" title="“Flash Is Great.” — Anonymous Flash&amp;nbsp;Developer" rel="bookmark"&gt;“Flash Is Great.” — Anonymous Flash&amp;nbsp;Developer&lt;/a&gt;&lt;/div&gt;  				&lt;div class="post_subheader snap_nopreview" style="padding-bottom: 8px;"&gt;  										&lt;div class="post_subheader_right snap_nopreview"&gt;  							&lt;ul&gt;  										&lt;li style=""&gt;  			&lt;span class="db-wrapper db-clear db-compact"&gt;&lt;span&gt;&lt;span class="db-container"&gt;&lt;span class="db-body db-compact"&gt;&lt;span class="db-count"&gt;15&lt;/span&gt;&lt;span class="db-copy"&gt;diggs&lt;/span&gt;&lt;a class="db-anchor"&gt;digg&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;			  		&lt;/li&gt;  		&lt;li style=""&gt;  			&lt;iframe scrolling="no" title="Twitter For Websites: Tweet Button" class="twitter-share-button twitter-count-horizontal" src="http://platform0.twitter.com/widgets/tweet_button.html?_=1289553982402&amp;amp;count=horizontal&amp;amp;counturl=http%3A%2F%2Ftechcrunch.com%2F2010%2F11%2F11%2Fflasher-on-the-loose%2F&amp;amp;lang=en&amp;amp;related=parislemon%3AAuthor%20of%20the%20post&amp;amp;text=%E2%80%9CFlash%20Is%20Great.%E2%80%9D%20%E2%80%94%20Anonymous%20Flash%C2%A0Developer&amp;amp;url=http%3A%2F%2Ftcrn.ch%2FcoL65i&amp;amp;via=techcrunch" frameborder="0" style="height: 20px;"&gt;&lt;/iframe&gt;  		&lt;/li&gt;  		&lt;li class="google-buzz-button"&gt;  			&lt;a href="http://www.google.com/buzz/post" title="Post on Google Buzz" class="google-buzz-button" style="text-decoration: none;"&gt;&lt;span class="buzz-counter-long"&gt;24&lt;/span&gt;&lt;/a&gt;  		&lt;/li&gt;		  		&lt;li class="snap_nopreview fb-like-button"&gt;  				&lt;iframe scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http://techcrunch.com/2010/11/11/flasher-on-the-loose/&amp;amp;layout=button_count&amp;amp;show_faces=false&amp;amp;width=80;&amp;amp;action=like&amp;amp;font&amp;amp;colorscheme=light&amp;amp;height=25" frameborder="0" style="border: medium none; overflow: hidden; height: 25px;"&gt;&lt;/iframe&gt;  				&lt;/li&gt;  																		  								&lt;/ul&gt;&lt;p&gt;  								&lt;li class="excerpt_subheader_right_comments snap_nopreview" style=""&gt;  									&lt;a href="http://techcrunch.com/2010/11/11/flasher-on-the-loose/#disqus_thread" rel="nofollow"&gt;153 Comments&lt;/a&gt;  								&lt;/li&gt;  															  						&lt;/p&gt;&lt;/div&gt;  								&lt;div class="post_subheader_left"&gt;  					&lt;a href="http://techcrunch.com/author/tcparislemon/" title="Posts by MG Siegler" rel="nofollow"&gt;MG Siegler&lt;/a&gt;   					&lt;p&gt;  					8 hours ago														&lt;/p&gt;&lt;/div&gt;  			&lt;/div&gt;  			&lt;div class="entry"&gt;  				&lt;p&gt;&lt;img class="alignnone size-full wp-image-243254" title="f" src="http://tctechcrunch.files.wordpress.com/2010/11/f1.png?w=630&amp;amp;h=355" height="355" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;I used to think that &lt;a href="http://techcrunch.com/2010/05/30/android-fanboys/"&gt;Android fanboys&lt;/a&gt; worked themselves into the biggest tizzy when you suggest their favorite device of the week may not be the absolute bee’s knees. I was wrong. Flash fanboys are much &lt;a href="http://techcrunch.com/2010/11/08/adobe-flash-macbook-air/"&gt;worse&lt;/a&gt;. They’re worse not only because they go absolutely ape-shit if you disrespect their platform, but also because at the end of the day at least Android fans have a leg to stand on. At least their object of love is ultimately pretty good and has a bright future. Flash? Yeah…&lt;/p&gt;  &lt;p&gt;Adobe’s CTO paints a rosy picture of the platform. But that’s his job. The reality is what many of us see with our own eyes: Flash is a massive pain point in our day to day computing. If it’s not crashing our browsers left and right, it’s causing our computers to cook our thighs (or &lt;a href="http://www.crunchgear.com/2010/11/08/research-confirms-what-we-all-suspected-laptops-are-spermicidal/"&gt;worse&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt;). If it’s not draining our batteries 33 percent faster, it’s opening gaping security holes.&lt;/p&gt;  &lt;p&gt;Let’s look at just the most recent headlines. Yesterday, Apple&amp;nbsp;&lt;a href="http://support.apple.com/kb/HT4435"&gt;released&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt; the latest OS X update, 10.6.5. A huge portion of the update was dedicated to security updates. Of those, a full &lt;em&gt;42 percent&lt;/em&gt; were &lt;a href="http://stock.ly/content/details/6253"&gt;security patches&amp;nbsp;related&amp;nbsp;to Flash&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt;. &amp;nbsp;Should anyone be surprised that Apple has decided to no longer bundle it with OS X?&lt;/p&gt;  &lt;p&gt;Meanwhile, Flash is now fully baked into Google’s Chrome browser. If you read the update notes or bug reports on the various channels, you’ll see that a massive number are related to Flash.&lt;/p&gt;  &lt;p&gt;What about Flash on other devices? It’s the killer feature of the new Samsung Galaxy Tab, right? &lt;a href="http://www.businessinsider.com/adobe-flash-for-samsungs-google-tab-is-an-embarrassing-disaster-2010-11?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed:+typepad/alleyinsider/silicon_alley_insider+%28Silicon+Alley+Insider%29"&gt;Wrong&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt;. Even the most glowing reviews of the new tablet rip its Flash support.&lt;/p&gt;  &lt;p&gt;Meanwhile, on the smartphone side of things, Adobe just released an update for Flash for Android likely ahead of the 2.3 roll-out. Does it fix any of the performance issues? Nope. I’m using it right now. Playback is still jittery as hell.&lt;/p&gt;  &lt;p&gt;So you’ll forgive me if when Kevin Lynch announces all these &lt;a href="http://gigaom.com/video/kevin-lynch-actually-your-macbooks-battery-will-be-fine/"&gt;great-sounding things&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt; about Flash that are just around the corner, I’m highly skeptical. How long have we been promised Flash on mobile devices? 5 years? It’s still not where it needs to be. Hell, it’s not where it needs to be on the desktop.&lt;/p&gt;  &lt;p&gt;The fact of the matter is that if everything was peachy keen in the state of Flash, Adobe wouldn’t have anything to worry about. Apple could go on the &lt;a href="http://techcrunch.com/2010/04/29/steve-jobs-apple-adobe-flash/"&gt;offensive&lt;/a&gt; against them, but it wouldn’t matter. Nothing would change. But &lt;a href="http://techcrunch.com/2010/05/01/h-264-66-percent-web-video/"&gt;things are changing&lt;/a&gt;. And Adobe is &lt;a href="http://techcrunch.com/2010/05/13/adobe-ad-apple/"&gt;scared to death&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;But all of these reports across various sectors must be wrong. Flash is just great. People are screaming about how wonderful it is. It’s a pure coincidence that they all happen to be Flash developers.&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://techcrunch.com/2010/11/11/flasher-on-the-loose/"&gt;techcrunch.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-7495790728494072932?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/7495790728494072932/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=7495790728494072932' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7495790728494072932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7495790728494072932'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/flash-is-great-anonymous-flash.html' title='“Flash Is Great.” — Anonymous Flash Developer'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8306469011228716196</id><published>2010-11-12T01:17:00.001-08:00</published><updated>2010-11-12T01:17:06.466-08:00</updated><title type='text'>Exclusive: Samsung 'flagship' phone with Gingerbread and huge display coming in early 2011 (update) -- Engadget</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h4 class="post_title"&gt;Exclusive: Samsung 'flagship' phone with Gingerbread and huge display coming in early 2011 (update)&lt;/h4&gt;  		  		&lt;div class="post_info"&gt;  			&lt;div class="post_byline"&gt;  				&lt;span class="caption"&gt;By &lt;a href="http://www.engadget.com/editor/chris-ziegler"&gt;Chris Ziegler&lt;/a&gt; &lt;a href="http://www.engadget.com/editor/chris-ziegler/rss.xml"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/writer_rss.gif" border="0" /&gt;&lt;/a&gt; posted &lt;span class="post_time"&gt;Nov 11th 2010 9:13PM&lt;/span&gt;&lt;/span&gt;  			&lt;/div&gt;  			  			&lt;div class="post_content_types"&gt;  				&lt;div class="post_category"&gt;   					           &lt;div class="post_breakingnews sprite"&gt;&lt;a href="http://www.engadget.com/breaking/#latest"&gt;&lt;span&gt;Breaking News&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;  &lt;div class="post_exclusive sprite"&gt;&lt;a href="http://www.engadget.com/tag/exclusive"&gt;&lt;span&gt;Exclusive&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;    				&lt;/div&gt;    &lt;div class="post_icon"&gt;&lt;a href="http://www.engadget.com/galleries/"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/post_icon_photo.gif" /&gt;&lt;/a&gt;&lt;/div&gt;       					  				&lt;p&gt;			  			&lt;/p&gt;&lt;/div&gt;                             			  			&lt;p&gt;  		  		&lt;/p&gt;&lt;/div&gt;    		  		         		&lt;div class="post_body"&gt;  			  			&lt;div style="text-align: center;"&gt;&lt;a href="http://www.engadget.com/2010/11/11/exclusive-samsung-flagship-phone-with-gingerbread-and-huge-di/"&gt;&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/11/samsung-flagship-deck-2-sm-2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;  Okay, so you're not feeling Samsung's &lt;a href="http://www.engadget.com/tag/NexusS/"&gt;Nexus S&lt;/a&gt;. We'd say that's a little premature, but still, we get it. We understand. How about &lt;em&gt;this&lt;/em&gt;, then? Is this more to your liking? We've just been tipped with a few morsels on what should become Samsung's flagship Android device early next year -- February, to be specific, suggesting we could see an unveiling at &lt;a href="http://www.engadget.com/tag/MWC/"&gt;MWC&lt;/a&gt; -- and it's looking promising. Different parts of the slide deck describe it as having either a 4.3- or 4.5-inch "sAMOLED2" display, presumably standing for "Super AMOLED 2" and implying that Sammy's made some advancements over the screens we've been seeing on the &lt;a href="http://www.engadget.com/tag/GalaxyS/"&gt;Galaxy S&lt;/a&gt; series this year. It'll naturally have Android &lt;a href="http://www.engadget.com/tag/Gingerbread/"&gt;Gingerbread&lt;/a&gt; and be equipped with an 8 megapixel camera capable of 1080p video capture, 14.4Mbps HSPA, Bluetooth 3.0, a 1.2GHz core of some sort, and 16GB of storage onboard. The deck describes it as having an "ultra sleek design," and judging from the side shot, we'd tend to agree. So who's holding out for this?&lt;p&gt;    &lt;strong&gt;Update: &lt;/strong&gt; We're confident that the above slide comes from Samsung, but one of the pictures therein is most definitely &lt;em&gt;not&lt;/em&gt; of a new Samsung phone -- but rather a &lt;a href="http://www.usbgeek.com/prod_detail.php?prod_id=0608"&gt;VoIP handset by Apiotek&lt;/a&gt; from several years ago. Considering the image in question pops up right away in a Google Image search for "ultra slim phone," we're inclined to think Samsung got a little hasty putting together the PowerPoint this time round. [Thanks, Nathan H.] &lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.engadget.com/2010/11/11/exclusive-samsung-flagship-phone-with-gingerbread-and-huge-di/"&gt;engadget.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8306469011228716196?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8306469011228716196/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8306469011228716196' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8306469011228716196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8306469011228716196'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/exclusive-samsung-phone-with.html' title='Exclusive: Samsung &amp;#39;flagship&amp;#39; phone with Gingerbread and huge display coming in early 2011 (update) -- Engadget'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-4433576973799513616</id><published>2010-11-11T03:24:00.001-08:00</published><updated>2010-11-11T03:24:45.311-08:00</updated><title type='text'>Написал выполнение взаимной рекурсии без рекурсии на c#(trampoline из clojure)</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;Вчера мне при попытках разобраться с вложенной рекурсией посоветовали посмотреть на функцию trampoline в clojure. Для лучшего понимания я ее переписал на c#. Определение trampoline в clojure здесь (&lt;span style="font-size: 7.52315px;"&gt;&lt;a href="http://pramode.net/clojure/2010/05/08/clojure-trampoline/"&gt;http://pramode.net/clojure/2010/05/08/clojure-trampoline/&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: 7.52315px;"&gt;).&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;using System;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;namespace Trampoline&lt;/p&gt;  &lt;p&gt;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;class Program&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static void Main()&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//Console.WriteLine(FunA(100000));//stack overflow&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine(Trampoline(FunAT(100000)));&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.ReadLine();&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static long FunA(long n)&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return n == 0 ? 0 : FunB(n - 1);&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static long FunB(long n)&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return n == 0 ? 0 : FunA(n - 1);&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static object FunAT(long n)&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (n == 0) return 0;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Func&amp;lt;object&amp;gt;(() =&amp;gt; FunBT(n - 1));&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static object FunBT(long n)&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (n == 0) return 0;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Func&amp;lt;object&amp;gt;(() =&amp;gt; FunAT(n - 1));&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static long Trampoline(dynamic result)&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (true)&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (result is Func&amp;lt;object&amp;gt;)&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;result = result.Invoke();&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return result;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;А теперь надо подумать поможет ли мне это с вложенной рекурсией по типу функции Аккермана.&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-4433576973799513616?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/4433576973799513616/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=4433576973799513616' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4433576973799513616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4433576973799513616'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/ctrampoline-clojure.html' title='Написал выполнение взаимной рекурсии без рекурсии на c#(trampoline из clojure)'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-9011455065867185588</id><published>2010-11-10T04:50:00.001-08:00</published><updated>2010-11-10T04:50:29.083-08:00</updated><title type='text'>Сравнение Erlang и Clojure в несколько строк.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;Erlang: The Movie &amp;nbsp;&amp;lt;=&amp;gt; Clojure: The Podcast &amp;nbsp;:-)&lt;/p&gt;  &lt;p&gt;Erlang распределенный, Clojure нет.&lt;/p&gt;  &lt;p&gt;Агент в ерланг это легковесный поток, над потоками стоит шедулер.&lt;/p&gt;  &lt;p&gt;Агент в кложа это объект и вы асинхронно можете посылать сообщение (функцию) этому объекту. Каждый объект имеет очередь и&amp;nbsp;по очереди&amp;nbsp;обрабатывает сообщения. Не надо путать агентов с потоками. Агент это просто объект и вы можете иметь миллионы в памяти безо всякой нагрузки. Обработка сообщений агентов распределяется по пулу потоков. Шедулера нет.&lt;/p&gt;  &lt;p&gt;Короче говоря если вы посылаете агенту сообщение с бесконечным циклом, то тред в котором он будет выполнятся&amp;nbsp;заблокируется. В ерланг оно понятно таких проблем нет.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-9011455065867185588?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/9011455065867185588/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=9011455065867185588' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/9011455065867185588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/9011455065867185588'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/erlang-clojure.html' title='Сравнение Erlang и Clojure в несколько строк.'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-4532179152402573459</id><published>2010-11-09T05:45:00.001-08:00</published><updated>2010-11-09T05:45:43.986-08:00</updated><title type='text'>iPad в России: где купить и сколько стоит?</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="entrytitle"&gt;&lt;h2&gt;&lt;a href="http://www.iphones.ru/iNotes/97017"&gt;iPad в России: где купить и сколько стоит?&lt;/a&gt;&lt;/h2&gt;     			&lt;div class="efir"&gt;&lt;small&gt;&lt;span class="by"&gt;9.11.2010  | &lt;a href="http://www.iphones.ru/iNotes/category/news" title="View all posts in Новости" rel="category tag"&gt;Новости&lt;/a&gt; | by &lt;a href="http://www.iphones.ru/iNotes/author/ngoryainov/" title="Posts by Никита Горяинов"&gt;Никита Горяинов&lt;/a&gt; &lt;/span&gt;     			 |   			  			  			  			&lt;/small&gt;&lt;div class="rc5"&gt;&lt;small&gt;&lt;a href="http://twitter.com/home?status=iPad%20%D0%B2%20%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8:%20%D0%B3%D0%B4%D0%B5%20%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C%20%D0%B8%20%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%81%D1%82%D0%BE%D0%B8%D1%82?%20%E2%80%93%20http://www.iphones.ru/iNotes/97017" class="ret" target="_blank"&gt;RETWEET&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;&lt;small&gt;&lt;br /&gt;          &lt;/small&gt;&lt;/div&gt;    		&lt;/div&gt;  		&lt;div class="entrybody"&gt;  			&lt;p&gt;&lt;img title="iPad в России (Re-Store Image 2)" class="alignnone size-full wp-image-97158" src="http://www.iphones.ru/wp-content/uploads/2010/11/iPad-%D0%B2-%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8-Re-Store-Image-2.jpg" height="320" alt="" /&gt;&lt;br /&gt;  &lt;small&gt;re:Store ©&lt;/small&gt;&lt;/p&gt;  &lt;p&gt;Сегодня, &lt;strong&gt;9 ноября в 19:00&lt;/strong&gt; по московскому времени, в России начинаются долгожданные продажи легендарного планшетника от Apple. Скептики курят в сторонке, пока iМаньяки готовятся стать первыми владельцами РСТ-таблеток по вкусной цене. &lt;strong&gt;У кого, где и почём&lt;/strong&gt; сегодня можно купить правильный «русский» iPad — в нашем &lt;span&gt;&lt;/span&gt;эксклюзивном материале.&lt;/p&gt;  &lt;p&gt;&lt;img title="Кто продаёт iPad в России 9 ноября" class="alignnone size-full wp-image-97090" src="http://www.iphones.ru/wp-content/uploads/2010/11/%D0%9A%D1%82%D0%BE-%D0%BF%D1%80%D0%BE%D0%B4%D0%B0%D1%91%D1%82-iPad-%D0%B2-%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8-9-%D0%BD%D0%BE%D1%8F%D0%B1%D1%80%D1%8F.png" height="125" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;Как и ожидалось, первыми среди равных выступили &lt;a href="http://www.mvideo.ru/news/?id=356" class="dot" rel="nofollow" target="_blank"&gt;&lt;strong&gt;«МВидео»&lt;/strong&gt;&lt;/a&gt;, &lt;a href="http://www.re-store.ru/promo/ipad/" class="dot" rel="nofollow" target="_blank"&gt;&lt;strong&gt;«Re:Store»&lt;/strong&gt;&lt;/a&gt; и &lt;a href="http://www.digital.ru/news/2010/11/1851.html" class="dot" rel="nofollow" target="_blank"&gt;&lt;strong&gt;«Белый Ветер Цифровой»&lt;/strong&gt;&lt;/a&gt;. Все три ритейлера запланировали торжественные мероприятия на 7 часов вечера. Выбираем по вкусу, предпочтениям и ближайшему месту расположения.&lt;/p&gt;  &lt;p&gt;&lt;img title="Где купить iPad в России 9 ноября" class="alignnone size-full wp-image-97088" src="http://www.iphones.ru/wp-content/uploads/2010/11/%D0%93%D0%B4%D0%B5-%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C-iPad-%D0%B2-%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8-9-%D0%BD%D0%BE%D1%8F%D0%B1%D1%80%D1%8F.jpg" height="125" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="MВидео" class="alignnone size-full wp-image-97045" src="http://www.iphones.ru/wp-content/uploads/2010/11/M%D0%92%D0%B8%D0%B4%D0%B5%D0%BE.png" height="79" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;«&lt;strong&gt;МВидео&lt;/strong&gt;» предлагают заглянуть на огонёк за «таблеткой» в целый ворох магазинов в Москве и Санкт-Петербурге. Приятный сюрприз «в красном» так же поджидает жителей Ростова-на-Дону и Волгограда:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Москва:&lt;/strong&gt;&lt;br /&gt;  — Олимпийская деревня, Мичуринский проспект, д.3, корп.1, ТРЦ «ФЕСТИВАЛЬ»&lt;br /&gt;  — ул. Красная Пресня, д. 23Б, стр. 1&lt;br /&gt;  — ул. Садовая-Спасская, д. 3, стр. 3&lt;br /&gt;  — ул. Зеленодольская, д. 40, ТЦ «Будапешт», 3 этаж&lt;br /&gt;  — Славянский б-р, дом 13, стр. 1&lt;br /&gt;  — Проспект Мира, дом 91, корпус 1&lt;br /&gt;  — Ленинградское шоссе, дом 16, ТЦ «Метрополис»&lt;br /&gt;  — МО, г. Химки, Микрорайон 8, стр. 1, ТРК «МЕГА»&lt;br /&gt;  — ул. Генерала Белова, дом 35&lt;br /&gt;  — ул. Народного ополчения, дом 28, к. 1&lt;br /&gt;  — МО, Люберецкий район, г. Котельники, 1-й Покровский проезд, д. 5, ТЦ «МЕГА Белая Дача»&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Санкт-Петербург:&lt;/strong&gt;&lt;br /&gt;  — Московский проспект, д. 44&lt;br /&gt;  — ул. Пражская, д.48/50, ТРК «Южный полюс»&lt;br /&gt;  — пересечение КАД и проспекта Энгельса, ТРЦ «МЕГА-Парнас»&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ростов-на-Дону:&lt;/strong&gt;&lt;br /&gt;  — ул. Красноармейская, д.157&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Волгоград:&lt;/strong&gt;&lt;br /&gt;  — пр-т им. В.И. Ленина, д. 65К, ТЦ «Стройград»&lt;/p&gt;  &lt;p&gt;&lt;img title="Re-Store" class="alignnone size-full wp-image-97038" src="http://www.iphones.ru/wp-content/uploads/2010/11/Re-Store.jpg" height="79" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;В стороне от столь ожидаемого события не остались и &lt;strong&gt;Re:Store&lt;/strong&gt;. Специальные мероприятия, посвященные старту продаж, пройдут в двух таких разных, но столицах одной страны по адресам:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Москва:&lt;/strong&gt;&lt;br /&gt;  — 1-я Тверская-Ямская, д. 28&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Санкт-Петербург:&lt;/strong&gt;&lt;br /&gt;  — ТРК «Сенная», Ефимова, д.3&lt;/p&gt;  &lt;p&gt;&lt;img title="Белый Ветер" class="alignnone size-full wp-image-97053" src="http://www.iphones.ru/wp-content/uploads/2010/11/%D0%91%D0%B5%D0%BB%D1%8B%D0%B9-%D0%92%D0%B5%D1%82%D0%B5%D1%80.png" height="79" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;«Белый Ветер Цифровой»&lt;/strong&gt; так же проводит праздничную церемонию в Москве по случаю старта продаж iPad. Желающие проходят на &lt;strong&gt;Тверскую улицу, д. 19А&lt;/strong&gt;. Приобрести планшет так же можно в следующих магазинах БВЦ:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Москва, торговые центры:&lt;/strong&gt;&lt;br /&gt;  — «Горбушкин двор»&lt;br /&gt;  — «Европейский»&lt;br /&gt;  — «Черемушки»&lt;br /&gt;  — «Щука»&lt;br /&gt;  — «Мега Теплый Стан»&lt;br /&gt;  — «Мега Химки»&lt;br /&gt;  — «Мега Белая дача»&lt;br /&gt;  — «Пражский пассаж»&lt;/p&gt;  &lt;p&gt;Магазины «БВЦ» &lt;strong&gt;рядом с метро&lt;/strong&gt;:&lt;br /&gt;  — Октябрьское поле,&lt;br /&gt;  — Маяковская,&lt;br /&gt;  — Лубянка,&lt;br /&gt;  — Пушкинская&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Санкт-Петербург&lt;/strong&gt;, торговые центры:&lt;br /&gt;  — «Мега Дыбенко»,&lt;br /&gt;  — «Мега Парнас»,&lt;br /&gt;  — «Рамстор Удельный парк»&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Казань:&lt;/strong&gt;&lt;br /&gt;  — ТЦ «Кольцо»&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Нижний Новгород:&lt;/strong&gt;&lt;br /&gt;  — ТЦ «Фантастика»&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ярославль:&lt;/strong&gt;&lt;br /&gt;  — ТЦ «Вернисаж»&lt;/p&gt;  &lt;p&gt;&lt;img title="Сколько стоит iPad в России" class="alignnone size-full wp-image-97092" src="http://www.iphones.ru/wp-content/uploads/2010/11/%D0%A1%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%81%D1%82%D0%BE%D0%B8%D1%82-iPad-%D0%B2-%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8.png" height="125" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;Все три сети рапортуют о наличии у них &lt;strong&gt;всех&lt;/strong&gt; шести моделей планшета. Сколько стоит каждая? За шесть часов до старта продаж, «МВидео» поделились с редакцией &lt;em&gt;iPhones.ru&lt;/em&gt; официальными &lt;strong&gt;ценами&lt;/strong&gt; на каждую модель:&lt;/p&gt;  &lt;li&gt;&lt;strong&gt;iPad WI-FI 16Gb&lt;/strong&gt; — 19 990 руб.; &lt;/li&gt;  &lt;li&gt;&lt;strong&gt;iPad WI-FI 32Gb&lt;/strong&gt; — 23 990 руб.;&lt;/li&gt;  &lt;li&gt;&lt;strong&gt;iPad WI-FI 64Gb&lt;/strong&gt; — 27 990 руб.;&lt;/li&gt;  &lt;li&gt;&lt;strong&gt;iPad WI-FI &lt;em&gt;+3G&lt;/em&gt; 16Gb&lt;/strong&gt; — 24 990 руб.;&lt;/li&gt;  &lt;li&gt;&lt;strong&gt;iPad WI-FI &lt;em&gt;+3G&lt;/em&gt; 32Gb&lt;/strong&gt; — 28 990 руб.;&lt;/li&gt;  &lt;li&gt;&lt;strong&gt;iPad WI-FI &lt;em&gt;+3G&lt;/em&gt; 64Gb&lt;/strong&gt; — 32 990 руб.&lt;/li&gt;  &lt;p&gt;Желаем всем российским iМаньякам поменьше очередей, побольше айпэдов и, конечно, приятных покупок. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Фотографии и отчёты&lt;/strong&gt; с события национального i-масштаба принимаются от читателей &lt;strong&gt;с 18:00&lt;/strong&gt; по МСК в секции комментариев. &lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.iphones.ru/iNotes/97017#more-97017"&gt;iphones.ru&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-4532179152402573459?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/4532179152402573459/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=4532179152402573459' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4532179152402573459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4532179152402573459'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/ipad.html' title='iPad в России: где купить и сколько стоит?'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8522605799450022619</id><published>2010-11-09T01:41:00.001-08:00</published><updated>2010-11-09T01:41:22.576-08:00</updated><title type='text'>Clojure введения на великом и могучем</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;iframe src="http://player.vimeo.com/video/11413473?portrait=0" frameborder="0" height="283" width="500"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lisperati.planvita.com/"&gt;http://lisperati.planvita.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://alexott.net/ru/clojure/clojure-intro/index.html"&gt;http://alexott.net/ru/clojure/clojure-intro/index.html&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8522605799450022619?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8522605799450022619/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8522605799450022619' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8522605799450022619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8522605799450022619'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/clojure.html' title='Clojure введения на великом и могучем'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-575803006590491401</id><published>2010-11-09T00:49:00.001-08:00</published><updated>2010-11-09T00:49:09.376-08:00</updated><title type='text'>Хм а clojure вполне себе работает на Dot Net.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-11-09/nDxAnmIEaFDrutskbcomAlfjktfIpmvqEwAACBDtdhhAkEEjdceiteBJHHrp/clojure.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-11-09/nDxAnmIEaFDrutskbcomAlfjktfIpmvqEwAACBDtdhhAkEEjdceiteBJHHrp/clojure.png.scaled500.png" width="500" height="375"/&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-575803006590491401?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/575803006590491401/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=575803006590491401' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/575803006590491401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/575803006590491401'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/clojure-dot-net.html' title='Хм а clojure вполне себе работает на Dot Net.'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-3200046894374189278</id><published>2010-11-08T23:50:00.001-08:00</published><updated>2010-11-08T23:50:20.952-08:00</updated><title type='text'>Думаете какой телефон на Windows Phone 7 купить? Вот вам табличка.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h5&gt;US handsets:&lt;/h5&gt;  &lt;br /&gt;  &lt;table&gt;    &lt;tr&gt;  &lt;td&gt;&lt;a href="http://www.engadget.com/2010/10/22/samsung-focus-review/"&gt;&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/11/07-focus-card-1.jpg" border="1" height="518" alt="" width="302" /&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td&gt;&lt;a href="http://www.engadget.com/2010/10/20/htc-surround-review/"&gt;&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/11/03-surround-card-1.jpg" border="1" height="519" alt="" width="302" /&gt;&lt;/a&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;a href="http://www.engadget.com/2010/10/20/htc-hd7-review/"&gt;&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/11/04-hd7-card-1.jpg" border="1" height="519" alt="" width="302" /&gt;&lt;/a&gt;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt;  &lt;br /&gt;  &lt;h5&gt;International only:&lt;/h5&gt;  &lt;br /&gt;  &lt;table&gt;    &lt;tr&gt;  &lt;td&gt;&lt;a href="http://www.engadget.com/2010/10/20/samsung-omnia-7-review/"&gt;&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/11/02-omnia-card-1.jpg" border="1" height="518" alt="" width="302" /&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td&gt;&lt;a href="http://www.engadget.com/2010/10/22/lg-optimus-7-review/"&gt;&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/11/06-optimus-card-1.jpg" border="1" height="518" alt="" width="302" /&gt;&lt;/a&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;a href="http://www.engadget.com/2010/10/29/htc-trophy-review/"&gt; &lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/11/08-trophy-card-1.jpg" border="1" height="518" alt="" width="302" /&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td&gt;&lt;a href="http://www.engadget.com/2010/10/21/htc-7-mozart-review/"&gt; &lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/11/05-mozart-card-1.jpg" border="1" height="518" alt="" width="302" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.engadget.com/2010/11/08/windows-phone-7-in-review-the-good-the-bad-and-the-surround/"&gt;engadget.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-3200046894374189278?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/3200046894374189278/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=3200046894374189278' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3200046894374189278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3200046894374189278'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/windows-phone-7.html' title='Думаете какой телефон на Windows Phone 7 купить? Вот вам табличка.'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-163988613512119359</id><published>2010-11-08T07:25:00.001-08:00</published><updated>2010-11-08T07:25:24.843-08:00</updated><title type='text'>Еженедельный подкаст от HodzaNassredin номер 1 http://hwp.rpod.ru/184140.html звук кстати все еще не ахти</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-163988613512119359?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/163988613512119359/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=163988613512119359' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/163988613512119359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/163988613512119359'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/hodzanassredin-1-httphwprpodru184140htm.html' title='Еженедельный подкаст от HodzaNassredin номер 1 http://hwp.rpod.ru/184140.html звук кстати все еще не ахти'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-7939326081662993294</id><published>2010-11-08T01:28:00.001-08:00</published><updated>2010-11-08T01:28:18.428-08:00</updated><title type='text'>Супер. Вы хотите основать ваш веб стартап?</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object height="417" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/u6gZ4vk_Tw4&amp;hl=en&amp;fs=1" /&gt;&lt;param name="wmode" value="window" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed allowfullscreen="true" src="http://www.youtube.com/v/u6gZ4vk_Tw4&amp;hl=en&amp;fs=1" wmode="window" allowscriptaccess="always" type="application/x-shockwave-flash" height="417" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.youtube.com/watch?v=u6gZ4vk_Tw4&amp;amp;feature=player_embedded"&gt;youtube.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-7939326081662993294?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/7939326081662993294/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=7939326081662993294' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7939326081662993294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7939326081662993294'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/blog-post_4264.html' title='Супер. Вы хотите основать ваш веб стартап?'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8181611247785430842</id><published>2010-11-08T01:11:00.001-08:00</published><updated>2010-11-08T01:11:12.809-08:00</updated><title type='text'>Building the Simple Enterprise</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Editor’s note&lt;/strong&gt;: Guest author &lt;a href="http://www.crunchbase.com/person/aaron-levie"&gt;Aaron Levie&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt; is the founder and CEO of &lt;a href="http://www.box.net/"&gt;Box.net&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;In the enterprise, simplicity simply doesn’t sell. Complexity, on the other hand, justifies costly software licenses and a swat team of consultants and systems integrators. It explains why updates are available every three years instead of being pushed weekly. And it even serves as an easy – but ultimately blameless – scapegoat for failed deployments and lagging user adoption. After all, the problems faced by today’s enterprises are incredibly challenging, and complex problems require equally complex solutions, right?&lt;/p&gt;  &lt;p&gt;Wrong. This mindset needs to change – in fact, in order to survive, enterprise software must become simpler. Consumers are bringing new technology and expectations into the workplace where, more often than not, they’re forced to work with and around legacy platforms that disable rather than enable productivity.  Simplicity will become the most important factor in business technology’s success, and to get there it can no longer be a dirty word in the enterprise. But it’s going to require some serious effort on the part of vendors and buyers alike.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;We don’t want complexity, but don’t know how to value simplicity &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;While I deeply respect and admire the many innovations brought about by legacy solutions, the current state of technology in the enterprise kind of sucks. There’s a reason why a Google search returns more than 2 million results for “&lt;a href="http://www.google.com/search?q=i+hate+lotus&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:en-US:official&amp;amp;client=firefox-a"&gt;I hate Lotus&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt;.” Complexity is the culprit, and it takes many forms: tedious processes for common tasks like HR and expense reports, inability to collaborate beyond the firewall without IT intervention, and information silos without any security rationale. Not to mention the bad UI, error messages, upgrade failures, and downtime that users and IT departments contend with on a daily basis. And while no one explicitly desires cumbersome technology, we keep buying it because we’ve built a strong correlation between the number of features a solution has and the likelihood it will solve our problem. That, and you won’t get fired. While building or adopting the most feature-rich service looks great on paper, in practice it means that customers have signed themselves up for technology that can never be upgraded, unhappy end-users, and (paradoxically) inertia to move off tools that required so much time to implement and experts to maintain.  &lt;/p&gt;  &lt;p&gt;This bias isn’t limited to technology buyers or builders – the analysts I speak with often focus more on feature comparisons and product matrices than end-user experience and customer success. But that is changing, slowly. Gartner analyst Brian Prentice recently argued that &lt;a href="http://blogs.gartner.com/brian_prentice/2010/08/24/simplicity-is-not-overrated-its-misunderstood/"&gt;simplicity is misunderstood&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt; and needs to be defined by the relevance and usefulness of features rather than the absence of features. But, we still have a long way to go before product comparisons focus more on customer success than feature parity. Gmail would never win a battle with Exchange on sheer volume of features, but the features that remain translate to better end-user adoption and satisfaction. &lt;/p&gt;  &lt;p&gt;CIOs and IT administrators may be wary of out-of-the-box simple solutions, but they’re certainly not happy with the complexity of current solutions. A recent &lt;a href="http://www.cio.com/article/564613/5_Reasons_Businesses_Still_Hate_Enterprise_Software"&gt;Forrester report&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt; on CRM deployments, for instance, found that “inflexibility” and “difficult upgrades” were cited as significant problems by over 75% of CIO respondents. Ouch. And IT adminstrators can’t even spend their way out of technology headaches – you will often see negative returns on overspending to solve IT problems. Out of the tens of thousands of IT buyers we talk to, the biggest benefit of moving to the cloud is the reduced support time and hassles, not just the reduction in cost.  The need is certainly there for simpler solutions, but we need to prioritize and value simpler technology.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://tctechcrunch.files.wordpress.com/2010/11/dilbert-software.jpeg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Building simple software takes vision and discipline&lt;/b&gt;&lt;br /&gt;  Mark Twain (or Ben Franklin, depending on your source) said, “If I had more time, I would have written a shorter letter.” This, in essence, is the challenge with simplicity. Building simple technology is not easy; it inherently takes much more work to reduce complex problems into simple solutions for people.  Building products that suck is far easier, as David Barrett of Expensify pointed out in his &lt;a href="http://techcrunch.com/2010/11/06/why-products-suck-and-how-to-make-them-suck-less/"&gt;post yesterday&lt;/a&gt;. Simplicity requires that you have user experience drive product management and solve problems with exceptional design. And it also means you sometimes have to say no.&lt;/p&gt;  &lt;p&gt;It’s really, really hard to say no to customers. They want the world from your product, and they deserve it (really, they do). But letting customer feature requests or analyst reports exhaustively drive your product roadmap can be incredibly damaging. It’s not that they want something useless or that they’re wrong in their demands; it’s that they’re not seeing the underlying fabric of your product. And this is why it’s so crucial to have a vision: if you don’t know where your product is heading in a fundamental way, your customers or competitors will take you in too many directions. As &lt;a href="http://blog.rypple.com/2010/09/3-reasons-enterprise-software-doesnt-have-to-suck/"&gt;Rypple co-CEO Daniel Debow points out&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt;, traditional enterprise software sucks because vendors relinquish control of product roadmaps to close deals: “Buyers may not realize it, but the many hours they spend crafting the perfect RFP are really spent designing the software that comes out the other end.” Build for all your potential customers’ potential problems and before you know it, you’ll become the more complex competitor that you’ve trying to disrupt. The majority of software and services tend to forget this as soon as they go from focusing on user experience (market fit) to scale.  &lt;/p&gt;  &lt;p&gt;There will always be a few really complex problems that require complex solutions. But for the vast majority (read: 95%) of use cases, simplicity will suffice. Where complexity is necessary – whether it’s to build a specific workflow, integration, or solution for a particular vertical – solve it through customization. Abstract the core areas of your product from the parts that can be modified by a developer or customer, making sure the core and default use is still simple. The best products in the world can do as much or as little as customers want without you having to think twice. The economic upside of this is obvious, of course, as you’ll now have a rich ecosystem of integrators, value-added resellers, and professional service firms that can participate in your success.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;You can’t change market expectations, but you can create new markets  &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;So how does Box make enterprise content management simple? We don’t, really. We redefine it. If Box tried to compete based on the laundry list of functionalities that have come to define ECM, we’d quickly lose to SharePoint, which has a sufficiently filled-out offering and deep penetration. An existing market has certain expectations because of the companies that have come before you, and you can’t just build to meet these standards, nor should you set out to change them immediately. Instead, find the dimensions where you can make things materially simpler, and build a solution that gives users more power with fewer features. Start with a department and end-users, solve their problem, and expand.&lt;/p&gt;  &lt;p&gt;Or look at the problems your product is already solving, and expand into entirely new, under-served markets. For instance, there’s an explosion of demand for business software in the mid-market. Companies in the 50-1,000 employee range are large enough to have challenging and interesting problems, and for years they’ve either lacked the technology to address them, or they’ve had to buy into more expensive solutions than their needs require. Bring your software to new organizations and new markets, and if you build the best product, it will grow. It’s far easier to maintain simplicity by finding the groups that have the problem you already solve really well, than by trying to reach legacy markets by building new features.&lt;/p&gt;  &lt;p&gt;Take MySQL, who redefined the database market by offering a simpler database for every developer in the world. They now own a huge chunk of the market without having to compete with Oracle in the process.  GoodData, Zendesk, Assistly and Workday have all leveraged the cloud to build simpler solutions in markets dominated by big, clunky, overly comprehensive systems.  Salesforce.com, with a $15B market-cap, has shown how to build a very large enterprise by selling a little to a lot of customers: an average Salesforce.com customer only has an &lt;a href="http://www.destinationcrm.com/Articles/CRM-News/Daily-News/Oracle-CRM-On-Demand-Takes-Aim-at-Salesforce.com-52408.aspx"&gt;estimated 15-20&lt;img class="snap_preview_icon" src="http://i.ixnp.com/images/v6.51/t.gif" style="" /&gt;&lt;/a&gt; seats on the service.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://tctechcrunch.files.wordpress.com/2010/11/dilbert070202.png" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;How to build a simpler enterprise:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;If you’re in IT&lt;/b&gt;: Look throughout your organization and find the areas where employees spend a disproportionate amount of time or run into problems on a specific set of tasks.  Enabling technologies in these areas will pay huge dividends for your organization.  Pilot tools with employees, or find out what they’re already using before implementing something site-wide — more likely than not, a simpler solution has already been adopted.  Consider the intangible value of implementing simpler technologies: less support, less maintenance, less headache, more productivity.  Demand simplicity from your vendors.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;If you’re building software&lt;/b&gt;: Invest disproportionately in design, usability and engineering.  Create transparent feedback loops to make sure your product is being successful.  Building great, usable technology is not subjective.  Constantly test what you’re building on users and gather data consistently.  Reduce features sets, allow for customization, and stick to your vision.  Sell based on the complexity of the problem and the simplicity of the solution.  &lt;/p&gt;  &lt;p&gt;&lt;b&gt;If you’re a business manager or end-user&lt;/b&gt;: Talk to your IT department. Explain why your existing technology isn’t meeting your needs, and offer to pilot new technologies. Use your IT organization as a source of knowledge and innovation rather than just a support center, and they’re far more likely to implement user friendly, innovative technologies. &lt;/p&gt;  &lt;p&gt;Simplicity will be incredibly beneficial, and it will also be incredibly disruptive. The losers will be the technology providers who are either too lazy or too overextended to settle on a vision; the winners will be workforces that are empowered by usable technology and the vendors that serve them.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Photo credit: Getty&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://techcrunch.com/2010/11/07/building-the-simple-enterprise/"&gt;techcrunch.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8181611247785430842?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8181611247785430842/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8181611247785430842' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8181611247785430842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8181611247785430842'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/building-simple-enterprise.html' title='Building the Simple Enterprise'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-6642266537646907136</id><published>2010-11-08T00:59:00.001-08:00</published><updated>2010-11-08T00:59:44.920-08:00</updated><title type='text'>Балмер продает акции. Капитан уходит первым ? ;-)</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="post_header snap_nopreview"&gt;&lt;a href="http://techcrunch.com/2010/11/05/ballmer-stock-sale/" title="That’s Ballmer With A “B” — For&amp;nbsp;“Billions”" rel="bookmark"&gt;That’s Ballmer With A “B” — For&amp;nbsp;“Billions”&lt;/a&gt;&lt;/div&gt;  				&lt;div class="post_subheader snap_nopreview" style="padding-bottom: 8px;"&gt;  										&lt;div class="post_subheader_right snap_nopreview"&gt;  							&lt;ul&gt;  										&lt;li style=""&gt;  			&lt;span class="db-wrapper db-clear db-compact"&gt;&lt;span&gt;&lt;span class="db-container"&gt;&lt;span class="db-body db-compact"&gt;&lt;span class="db-count"&gt;20&lt;/span&gt;&lt;span class="db-copy"&gt;diggs&lt;/span&gt;&lt;a class="db-anchor"&gt;digg&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;			  		&lt;/li&gt;  		&lt;li style=""&gt;  			&lt;a href="http://twitter.com/share" class="twitter-share-button"&gt;Tweet&lt;/a&gt;  		&lt;/li&gt;  		&lt;li class="google-buzz-button"&gt;  			&lt;a href="http://www.google.com/buzz/post" title="Post on Google Buzz" class="google-buzz-button"&gt;&lt;/a&gt;  		&lt;/li&gt;		  		&lt;li class="snap_nopreview fb-like-button"&gt;  				&lt;iframe scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http://techcrunch.com/2010/11/05/ballmer-stock-sale/&amp;amp;layout=button_count&amp;amp;show_faces=false&amp;amp;width=80;&amp;amp;action=like&amp;amp;font&amp;amp;colorscheme=light&amp;amp;height=25" frameborder="0" style="border: none; overflow: hidden; height: 25px;"&gt;&lt;/iframe&gt;  				&lt;/li&gt;  																		  								&lt;/ul&gt;&lt;p&gt;  								&lt;li class="excerpt_subheader_right_comments snap_nopreview" style=""&gt;  									&lt;a href="http://techcrunch.com/2010/11/05/ballmer-stock-sale#comments" rel="nofollow"&gt;&lt;span class="dsq-postid" rel="240936 &amp;lt;a href="&gt;View Comments  								&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;  															  						&lt;/p&gt;&lt;/div&gt;  								&lt;div class="post_subheader_left"&gt;  					&lt;a href="http://techcrunch.com/author/tcparislemon/" title="Posts by MG Siegler" rel="nofollow"&gt;MG Siegler&lt;/a&gt;   					&lt;p&gt;  					Nov 5, 2010														&lt;/p&gt;&lt;/div&gt;  			&lt;/div&gt;  			&lt;div class="entry"&gt;  				&lt;p&gt;&lt;img class="alignright size-full wp-image-240947" title="Screen shot 2010-11-05 at 7.25.51 PM" src="http://tctechcrunch.files.wordpress.com/2010/11/screen-shot-2010-11-05-at-7-25-51-pm.png?w=293&amp;amp;h=345" height="345" alt="" width="293" /&gt;Well, &lt;a href="http://www.crunchbase.com/person/steve-ballmer"&gt;Steve Ballmer&lt;/a&gt; certainly had a productive week.&lt;/p&gt;  &lt;p&gt;Over the past three days, the Microsoft CEO has sold 49.3 million shares of his company stock, &lt;a href="http://www.reuters.com/article/idUSTRE6A501K20101106"&gt;Reuters reports&lt;/a&gt;. With the share price hovering around $27, the sale has made him about $1.3 billion. Not bad for three days.&lt;/p&gt;  &lt;p&gt;And he’s not done yet. Ballmer apparently intends to sell as much as 75 million of his shares in total by the end of the year. At the current prices, that would earn him about $2 billion, all told.&lt;/p&gt;  &lt;p&gt;Microsoft and Ballmer are both quick to say that people shouldn’t read too much into the massive stock sale. He called the move a “personal financial matter,” in a statement. But that won’t stop most from doing just that. As The Next Web &lt;a href="http://thenextweb.com/microsoft/2010/11/06/ballmer-sells-off-1-3-billion-of-his-microsoft-shares/"&gt;wonders&lt;/a&gt;, why is Ballmer selling these shares right now with two buzz-worthy products, Kinect and Windows Phone, just hitting the market in time for the holiday shopping season? Does he not think they’ll help propel the company’s stock price?&lt;/p&gt;  &lt;p&gt;Truth is, despite their huge financial success, not much has helped moved the company’s &lt;a href="http://www.google.com/finance?client=ob&amp;amp;q=NASDAQ:MSFT"&gt;stock&lt;/a&gt; price over the past decade. In November of 2000, the share price was in the $30s. The highest it has gotten in that span is just about $37-a-share almost exactly three years ago. The price has gone as low as $15-a-share, but that was during the most recent economic collapse. Microsoft did split the stock in February of 2003.&lt;/p&gt;  &lt;p&gt;Compare that stock performance to rival &lt;a href="http://www.google.com/finance?q=apple"&gt;Apple&lt;/a&gt;, which has gone from around $7-a-share a decade ago, to $317-a-share today.&lt;/p&gt;  &lt;p&gt;Others will wonder if this means Ballmer is on his way out as CEO. Again, despite the bottom-line success, there have been no shortage of calls for his ouster, partially because of the success rivals like Apple and Google have had during his tenure.&amp;nbsp;”&lt;em&gt;I am excited about our new products and the potential for our technology to change people’s lives, and I remain fully committed to Microsoft and its success&lt;/em&gt;,” was Ballmer’s statement on the matter.&lt;/p&gt;  &lt;p&gt;But one important thing to consider is the &lt;a href="http://www.cnbc.com/id/40014147"&gt;up-in-the-air issue&lt;/a&gt; of the capital gains tax. The&amp;nbsp;likelihood&amp;nbsp;is that it’s going to stay largely the same but go up a bit next year, but it &lt;em&gt;could&lt;/em&gt; go far higher as the Bush-era tax cuts are set to expire at the end of this year. And when you’re talking gains in the billions of dollars range, that’s a lot of money Ballmer could lose if he’s not smart about his investments.&lt;/p&gt;  &lt;p&gt;This news also comes just a month after it was &lt;a href="http://www.reuters.com/article/idUSN3029570720100930"&gt;revealed&lt;/a&gt; that Ballmer earned only 50 percent of his yearly bonus in Microsoft’s last fiscal year. Despite &lt;a href="http://techcrunch.com/2010/10/28/microsoft-beats-the-street-net-income-up-51-percent-office-revenue-up-15-percent/"&gt;huge numbers&lt;/a&gt; for the year, Microsoft performance in mobile and tablets — or lack thereof — knocked his million-plus bonus down to about $670,000. But that’s chump change compared to what we’re talking about here, obviously.&lt;/p&gt;  &lt;p&gt;And despite the massive sale, Ballmer will remain the second largest shareholder in the company behind only &lt;a href="http://www.crunchbase.com/person/bill-gates"&gt;Bill Gates&lt;/a&gt;. He currently owns a little over 4 percent of Microsoft, compared to Gates’ 7 percent. That means on paper, Ballmer has been worth about $10 billion. And now he’s converting a nice chunk of that to cheddar. Ballmer. Baller.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;[photo: flickr/&lt;a href="http://www.flickr.com/photos/orcmid/5083259228/"&gt;orcnid&lt;/a&gt;]&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://techcrunch.com/2010/11/05/ballmer-stock-sale/"&gt;techcrunch.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-6642266537646907136?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/6642266537646907136/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=6642266537646907136' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6642266537646907136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6642266537646907136'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/blog-post_08.html' title='Балмер продает акции. Капитан уходит первым ? ;-)'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-9074010034791202184</id><published>2010-11-08T00:21:00.001-08:00</published><updated>2010-11-08T00:21:16.854-08:00</updated><title type='text'>Жесть The Fascinating Story of the Twins Who Share Brains, Thoughts, and Senses</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h1&gt;&lt;a href="http://gizmodo.com/5682758/the-fascinating-story-of-the-twins-who-share-brains-thoughts-and-senses"&gt;The Fascinating Story of the Twins Who Share Brains, Thoughts, and Senses&lt;/a&gt;&lt;/h1&gt;    		  		  		&lt;p&gt;&lt;a href="http://cache.gawkerassets.com/assets/images/4/2010/11/twins_wide.jpg" rel="lytebox"&gt;&lt;img class="left image500 image_0 v10_bigpic" src="http://cache.gawkerassets.com/assets/images/4/2010/11/500x_twins_wide.jpg" alt="The Fascinating Story of the Twins Who Share Brains, Thoughts, and Senses" width="500" /&gt;&lt;/a&gt;This is one of the most surprising and awesome tales ever told in the history of medicine. These twins are Tatiana and Krista Hogan. Their brains and sensory systems are networked together, but they have separate personalities. Their story defies belief.&lt;/p&gt;  &lt;p&gt;So much, in fact, that Tatiana and Krista Hogan shouldn't be alive at all. Their chances of surviving the pregnancy, birth and first months of life were almost zero. Surprisingly, they turned four on October 25, and they are still healthy and happy, as you can see in the photo above.&lt;/p&gt;  &lt;p&gt;They play Nintendo Wii games against each other, they fight for toys and they share food and physiological functions. But they also share their senses. For example, one can pick an object out of her field of view, while the twin looks at the object.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;object height="301" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="500" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" style="float: left; margin-right: 1em; margin-bottom: 1em;"&gt;&lt;param name="movie" value="http://www.viddler.com/simple/505b390c/" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="flashVars" value="fake=1" /&gt;&lt;param name="wmode" value="transparent" /&gt;&lt;embed name="viddler_505b390c" src="http://www.viddler.com/simple/505b390c/" pluginspage="http://www.adobe.com/go/getflashplayer" allowfullscreen="true" type="application/x-shockwave-flash" allowscriptaccess="always" height="301" flashvars="fake=1" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;p&gt;  &lt;img class="left image340 image_1 embeddedVideoThumbnail v10_medium" src="http://cache.gawkerassets.com/assets/images/4/2010/11/340x_explore_gizmodo_videos_351.jpg" alt="The Fascinating Story of the Twins Who Share Brains, Thoughts, and Senses" width="340" style="display: none;" /&gt;&lt;/p&gt;  &lt;p&gt;Most importantly, however, they can share each other &lt;i&gt;thoughts&lt;/i&gt;, like their grandmother—Louise McKay—describes:&lt;/p&gt;  &lt;blockquote class="posterous_short_quote"&gt;  &lt;p&gt;They share thoughts, too. Nobody will be saying anything, and Tati will just pipe up and say, ‘Stop that!' And she'll smack her sister.&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;Scientists are nothing short of absolutely amazed. Here you have two kids, completely different from each other, with their own distinct personality, but with connected brains and sensory systems. Dr. Douglas Cochrane—neurosurgeon at Vancouver's Children's Hospital—has tested their networking abilities:&lt;/p&gt;  &lt;blockquote class="posterous_short_quote"&gt;  &lt;p&gt;Their brains are recording signals from the other twin's visual field. One might be seeing what the other one is seeing.&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;Nobody can possibly imagine how this may work and feel for them. And since they haven't developed their full verbal skills yet, scientists can't ask them about it. I don't know if they will have a lot of answers for them, however. If they ask me how I see or smell things, there is no way that I could accurately describe it. These actions &lt;i&gt;just happen&lt;/i&gt;. Like you and me, they have no other point of reference. Their life is the only one they know. For them, sharing thoughts and senses is the only way things could be.&lt;/p&gt;  &lt;p&gt;But whatever the implications for science and philosophy are, their mother is just happy and grateful for every day with them. She also believes they're here for a reason but, "we just don't know the reason yet."&lt;/p&gt;  &lt;p&gt;I don't know what that reason could be, but the mere fact that they are alive, happy, loving and being loved, is enough for me. [&lt;a href="http://www2.macleans.ca/2010/11/02/a-piece-of-their-mind/print/"&gt;Macleans&lt;/a&gt;]&lt;/p&gt;								    	  	&lt;p class="contactinfo"&gt;  			Send an email to Jesus Diaz, the author of this post, at &lt;a href="http://gizmodo.com/5682758/the-fascinating-story-of-the-twins-who-share-brains-thoughts-and-senses?skyline=true&amp;amp;s=i/mailto:jesus@gizmodo.com?subject=http://gizmodo.com/5682758/the-fascinating-story-of-the-twins-who-share-brains-thoughts-and-senses"&gt;jesus@gizmodo.com&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://gizmodo.com/5682758/the-fascinating-story-of-the-twins-who-share-brains-thoughts-and-senses?skyline=true&amp;amp;s=i"&gt;gizmodo.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-9074010034791202184?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/9074010034791202184/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=9074010034791202184' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/9074010034791202184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/9074010034791202184'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/fascinating-story-of-twins-who-share.html' title='Жесть The Fascinating Story of the Twins Who Share Brains, Thoughts, and Senses'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-1353772631200927658</id><published>2010-11-08T00:13:00.001-08:00</published><updated>2010-11-08T00:13:42.321-08:00</updated><title type='text'>RockMelt - Your Browser. Re-Imagined.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object height="300" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/bAPKPhoTqFY&amp;hl=en&amp;fs=1&amp;hd=1" /&gt;&lt;param name="wmode" value="window" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed allowfullscreen="true" src="http://www.youtube.com/v/bAPKPhoTqFY&amp;hl=en&amp;fs=1&amp;hd=1" wmode="window" allowscriptaccess="always" type="application/x-shockwave-flash" height="300" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.youtube.com/watch?v=bAPKPhoTqFY"&gt;youtube.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-1353772631200927658?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/1353772631200927658/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=1353772631200927658' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1353772631200927658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1353772631200927658'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/rockmelt-your-browser-re-imagined.html' title='RockMelt - Your Browser. Re-Imagined.'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-679023867780524014</id><published>2010-11-05T06:19:00.001-07:00</published><updated>2010-11-05T06:19:15.081-07:00</updated><title type='text'>Сделал простенькие бенчьмарки manos, happstack, asp.net mvc</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;Не стоит принимать эти тесты всерьез&amp;nbsp;расслабьтесь. )))&lt;/p&gt;  &lt;p&gt;Полигон виртуальная машина ubuntu 10.10 .&lt;/p&gt;  &lt;p&gt;Все приложения собирали простой html и внедряли в него строку Hello World.&lt;/p&gt;  &lt;p&gt;Отклик приложения замерял jMeter и просто в Firebug.&lt;/p&gt;  &lt;p&gt;1. Скорость ответа без нагрузки в Firebug:&lt;/p&gt;  &lt;p&gt;a. Manos trunk: 1ms&lt;/p&gt;  &lt;p&gt;b. asp.net mvc(mono-xsp2): 6ms&lt;/p&gt;  &lt;p&gt;c happstack trunk (не компилировал а запускал через runhaskell) 1ms&lt;/p&gt;  &lt;p&gt;2. Нагрузка 50 тредов по 50 запросов в секунду:&lt;/p&gt;  &lt;p&gt;a. максимум 500 запросов в секунду в файрбаг среднее время ответа 30ms&lt;/p&gt;  &lt;p&gt;b. максимум 477 запросов в секунду в файрбаг среднее время ответа 50 ms&lt;/p&gt;  &lt;p&gt;c. максимум&amp;nbsp;750 запросов в секунду в файрбаг среднее время ответа 20ms&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;Удивило столь малое преимущество manos над mvc, учитывая то что mvc под xsp не самый быстрый вариант.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-679023867780524014?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/679023867780524014/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=679023867780524014' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/679023867780524014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/679023867780524014'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/manos-happstack-aspnet-mvc.html' title='Сделал простенькие бенчьмарки manos, happstack, asp.net mvc'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8820931091359050084</id><published>2010-11-05T03:59:00.001-07:00</published><updated>2010-11-05T03:59:00.364-07:00</updated><title type='text'>собрал trunk happstack под ubuntu 10.10 главное запускайте build-install-all.sh а не build-install-test-all.sh</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8820931091359050084?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8820931091359050084/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8820931091359050084' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8820931091359050084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8820931091359050084'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/trunk-happstack-ubuntu-1010-build.html' title='собрал trunk happstack под ubuntu 10.10 главное запускайте build-install-all.sh а не build-install-test-all.sh'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-6593950841910152302</id><published>2010-11-02T01:04:00.001-07:00</published><updated>2010-11-02T01:04:10.927-07:00</updated><title type='text'>Ну вот на гизмодо нашли обяснение человеку с сотовым из фильма чаплина, а жаль.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object height="301" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" style="margin-right: 1em; margin-bottom: 1em; float: left;" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="500"&gt;&lt;param name="_cx" value="13229" /&gt;&lt;param name="_cy" value="7963" /&gt;&lt;param name="FlashVars" value="" /&gt;&lt;param name="Movie" value="http://www.viddler.com/simple/24d7f8db/" /&gt;&lt;param name="Src" value="http://www.viddler.com/simple/24d7f8db/" /&gt;&lt;param name="WMode" value="Transparent" /&gt;&lt;param name="Play" value="0" /&gt;&lt;param name="Loop" value="-1" /&gt;&lt;param name="Quality" value="High" /&gt;&lt;param name="SAlign" value="LT" /&gt;&lt;param name="Menu" value="-1" /&gt;&lt;param name="Base" value="" /&gt;&lt;param name="AllowScriptAccess" value="always" /&gt;&lt;param name="Scale" value="NoScale" /&gt;&lt;param name="DeviceFont" value="0" /&gt;&lt;param name="EmbedMovie" value="0" /&gt;&lt;param name="BGColor" value="" /&gt;&lt;param name="SWRemote" value="" /&gt;&lt;param name="MovieData" value="" /&gt;&lt;param name="SeamlessTabbing" value="1" /&gt;&lt;param name="Profile" value="0" /&gt;&lt;param name="ProfileAddress" value="" /&gt;&lt;param name="ProfilePort" value="0" /&gt;&lt;param name="AllowNetworking" value="all" /&gt;&lt;param name="AllowFullScreen" value="true" /&gt;&lt;param name="movie" value="http://www.viddler.com/simple/24d7f8db/" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="flashVars" value="fake=1" /&gt;&lt;param name="wmode" value="transparent" /&gt;&lt;embed name="viddler_24d7f8db" pluginspage="http://www.adobe.com/go/getflashplayer" src="http://www.viddler.com/simple/24d7f8db/" allowfullscreen="true" type="application/x-shockwave-flash" allowscriptaccess="always" height="301" flashvars="fake=1" width="500" /&gt;&lt;/object&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://tv.gawker.com/5672973/is-there-a-time+traveling-cell-phone-user-in-charlie-chaplins-1928-film"&gt;tv.gawker.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;Irish filmmaker George Clarke, the dude in the clip above who was really into the idea of the lady being a time traveler, apparently didn't talk to many hearing experts—a few have suggested that the object the lady is holding is likely an ear trumpet, essentially old-time analog hearing aid.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-6593950841910152302?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/6593950841910152302/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=6593950841910152302' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6593950841910152302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6593950841910152302'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/11/blog-post.html' title='Ну вот на гизмодо нашли обяснение человеку с сотовым из фильма чаплина, а жаль.'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-2111062473509643677</id><published>2010-10-30T06:07:00.001-07:00</published><updated>2010-10-30T06:07:08.674-07:00</updated><title type='text'>iPhone / iPad. Новости и советы</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="entrytitle"&gt;&lt;h2&gt;&lt;a href="http://www.iphones.ru/iNotes/95209"&gt;Большинство видео в сети дружит с HTML5&lt;/a&gt;&lt;/h2&gt;     			&lt;div class="efir"&gt;&lt;small&gt;&lt;span class="by"&gt;30.10.2010  | &lt;a href="http://www.iphones.ru/iNotes/category/news" title="View all posts in Новости" rel="category tag"&gt;Новости&lt;/a&gt; | by &lt;a href="http://www.iphones.ru/iNotes/author/frogzard/" title="Posts by FrogZard"&gt;FrogZard&lt;/a&gt; &lt;/span&gt;     			 |   			  			  			  			&lt;/small&gt;&lt;div class="rc5"&gt;&lt;a href="http://twitter.com/home?status=Большинство видео в сети дружит с HTML5 – &amp;lt;a href="&gt;RETWEET&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;          &lt;/div&gt;    		&lt;/div&gt;  		&lt;div class="entrybody"&gt;  			&lt;p&gt;&lt;img title="HTML5 Video" class="alignnone size-full wp-image-95213" src="http://www.iphones.ru/wp-content/uploads/2010/10/h264-oct-2010.jpg" height="347" alt="" width="467" /&gt;&lt;/p&gt;  &lt;p&gt;Если верить свежим исследованиям, проведенным компанией &lt;a href="http://blog.mefeedia.com/html5-oct-2010" class="dot" rel="nofollow" target="_blank"&gt;Mefeedia&lt;/a&gt;, то большинство видео в интернете, а именно &lt;strong&gt;54%&lt;/strong&gt;, доступно для просмотра с мобильных устройств. Мы видим, что с мая текущего года количество роликов с поддержкой HTML5 выросло более, чем в &lt;strong&gt;2 раза&lt;/strong&gt;, а с января аж в &lt;strong&gt;5 раз&lt;/strong&gt;! Именно с этого месяца зафиксирован самый активный скачок. Современные ресурсы предпочитают выкладывать видео файлы в двух вариантах, которые переключаются автоматически в зависимости от устройства, ведь &lt;strong&gt;Flash&lt;/strong&gt; анимация до сих пор остается доминирующей на стационарных компьютерах. Если рынок мобильных устройств будет процветать также активно, как и сейчас, то мне кажется, что через годик любое видео можно будет смотреть непосредственно с наших мобильных телефонов. [&lt;a href="http://blog.mefeedia.com/html5-oct-2010" class="dot" rel="nofollow" target="_blank"&gt;Mefeedia&lt;/a&gt;]&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.iphones.ru/"&gt;iphones.ru&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-2111062473509643677?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/2111062473509643677/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=2111062473509643677' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2111062473509643677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2111062473509643677'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/iphone-ipad.html' title='iPhone / iPad. Новости и советы'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-2851871264050279372</id><published>2010-10-29T12:29:00.001-07:00</published><updated>2010-10-29T12:29:06.053-07:00</updated><title type='text'>On November 3, Windows Phone 7 app submission will be open to all registered Windows Phone Marketplace developers.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-2851871264050279372?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/2851871264050279372/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=2851871264050279372' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2851871264050279372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2851871264050279372'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/on-november-3-windows-phone-7-app.html' title='On November 3, Windows Phone 7 app submission will be open to all registered Windows Phone Marketplace developers.'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-1138011278800835769</id><published>2010-10-29T05:37:00.001-07:00</published><updated>2010-10-29T05:37:20.673-07:00</updated><title type='text'>Async CTP KNOWN ISSUES</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;strong&gt;KNOWN ISSUES&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;  &lt;li&gt;&lt;strong&gt;Asynchrony does &lt;em&gt;NOT&lt;/em&gt; imply background thread&lt;/strong&gt;. Merely sticking  the "Async" modifier will not make a method run on the background thread. That  is correct and by design. If you want to run code on a background thread, use  TaskEx.Run(). Please read the overview for an explanation of asynchrony. &lt;/li&gt;  &lt;li&gt;&lt;strong&gt;Debugging&lt;/strong&gt; is not yet implemented.  &lt;ol&gt;  &lt;li&gt;Exceptions: please go to Tools &amp;gt; Options &amp;gt; Debugging and disable "Just  My Code". (Otherwise, you'll be warned about unhandled exceptions even when they  are handled). &lt;/li&gt;  &lt;li&gt;Stepping - Pressing "F10" on an Await statement doesnТt currently do what it  should. &lt;/li&gt;  &lt;li&gt;Local variables - in VB, local variables in async+iterator methods don't  currently show up in VB's watch window and you can't inspect them. &lt;/li&gt;  &lt;/ol&gt; &lt;/li&gt;  &lt;li&gt;&lt;strong&gt;Framework extensions&lt;/strong&gt; &lt;ol&gt;  &lt;li&gt;&lt;strong&gt;Await TaskEx.Delay&lt;/strong&gt;(ms) is the async equivalent of Thread.Sleep(ms).  If you forget the "await" keyword here, it will create a task that delays, but  your own function will carry on immediately Ц usually not the intention! &lt;/li&gt;  &lt;li&gt;&lt;strong&gt;Await WebClient.DownloadStringTaskAsync&lt;/strong&gt;(uri) is the async equivalent  of WebClient.DownloadStringAsync(uri) &lt;/li&gt;  &lt;li&gt;TaskEx - this CTP uses System.Threading.Tasks.TaskEx for its additions to  the normal System.Threading.Tasks.Task. That's because we didnТt want to modify  existing framework DLLs for the CTP. TaskEx will not be their permanent home. &lt;/li&gt;  &lt;/ol&gt; &lt;/li&gt;  &lt;li&gt;&lt;strong&gt;Language issues&lt;/strong&gt; - there are several corners of the async feature that  are not yet implemented in VB or C#.  &lt;ol&gt;  &lt;li&gt;All the new keywords will be contextual keywords so as to avoid  backwards-compatibility breaks. But in the current CTP, they're currently  reserved keywords. &lt;/li&gt;  &lt;li&gt;In edge cases it gets the wrong order of evaluation. For instance, "f() +  await g()" will evaluate g() before f(). In particular, for a given statement,  it evaluates all "await" subexpressions prior to the rest of the statement. &lt;/li&gt;  &lt;li&gt;Overload resolution is not yet implemented for async or iterator lambdas.  For instance, if there are two overloads f(Action) and f(Func&amp;lt;Task&amp;gt;) and  you invoke it with "f(async delegate {})" then it should pick the latter but  currently picks the former. &lt;/li&gt;  &lt;li&gt;Generic method inference is not yet implemented for async or iterator  lambdas. For instance, if there a method g&amp;lt;T&amp;gt;(Func&amp;lt;T&amp;gt;) and you  invoke it with "f(async delegate {return 5;})", then it should infer T=integer  but currently doesn't &lt;/li&gt;  &lt;li&gt;Async expression lambdas are not yet implemented in the current CTP &lt;/li&gt;  &lt;li&gt;Late-bound await expressions are not yet implemented in the current CTP &lt;/li&gt;  &lt;/ol&gt;&lt;/li&gt;  &lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-1138011278800835769?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/1138011278800835769/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=1138011278800835769' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1138011278800835769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1138011278800835769'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/async-ctp-known-issues.html' title='Async CTP KNOWN ISSUES'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-3422853566145914862</id><published>2010-10-29T03:29:00.001-07:00</published><updated>2010-10-29T03:29:15.900-07:00</updated><title type='text'>Наконецто IE по f12 может форматировать минифайед скрипт</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h4&gt;&lt;b&gt;F12 Developer Tools and Formatting Minified Script&lt;/b&gt;&lt;/h4&gt;  &lt;p&gt;To make the F12 Developer Tools even more convenient, we’ve added a feature in Platform Preview 6. Many developers &lt;a href="http://en.wikipedia.org/wiki/Minify"&gt;minify their JavaScript&lt;/a&gt; to save bandwidth and speed up their sites, but minified code is painful to read and debug.&amp;nbsp; With IE9’s built-in JavaScript formatting, you can keep your code minified while still having easy-to-read code in the debugger:&lt;/p&gt; &lt;img title="IE9 PPB6 Developer tools, one of the script menu options is &amp;quot;Format JavaScript&amp;quot;" src="http://ieblog.members.winisp.net/images/Dean_PPB6_5.png" alt="IE9 PPB6 Developer tools, one of the script menu options is &amp;quot;Format JavaScript&amp;quot;" /&gt;&lt;p&gt; &lt;img title="IE9 PPB6 Developer Tools, script has been formated" src="http://ieblog.members.winisp.net/images/Dean_PPB6_6.png" alt="IE9 PPB6 Developer Tools, script has been formated" /&gt;&lt;/p&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://blogs.msdn.com/b/ie/archive/2010/10/28/html5-using-the-whole-pc-sixth-ie9-platform-preview-available-for-developers.aspx"&gt;blogs.msdn.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-3422853566145914862?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/3422853566145914862/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=3422853566145914862' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3422853566145914862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3422853566145914862'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/ie-f12.html' title='Наконецто IE по f12 может форматировать минифайед скрипт'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-3271395642663414338</id><published>2010-10-29T00:36:00.001-07:00</published><updated>2010-10-29T00:36:26.947-07:00</updated><title type='text'>wFace – windows phone 7 facebook integration part 1</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="breadcrumb"&gt;&lt;h2&gt;&lt;span&gt;wFace – windows phone 7 facebook integration part 1&lt;/span&gt;  &lt;/h2&gt;  &lt;/div&gt;    &lt;p&gt;Published: &lt;span&gt;31 Aug 2010&lt;/span&gt;&lt;br /&gt;  By: &lt;span&gt;&lt;a href="http://dotnetslackers.com/community/members/ManniAT.aspx"&gt;Manfred Pohler&lt;/a&gt;&lt;/span&gt;  &lt;span&gt;&lt;/span&gt;  &lt;/p&gt;  &lt;p&gt;&lt;span&gt;This article shows how to use the Facebook graph_API (&lt;a href="http://developers.facebook.com/docs/API)"&gt;http://developers.facebook.com/docs/API)&lt;/a&gt; in a windows phone 7 (wp7) Silverlight application. All used tools are free software - for downloads take a look at the links at the end of this document.&lt;/span&gt;&lt;/p&gt;      		&lt;div class="KonaBody"&gt;  &lt;p&gt;&lt;/p&gt;&lt;table&gt;  	  		&lt;th&gt;Contents&lt;span class="toctoggle"&gt; [&lt;a&gt;hide&lt;/a&gt;]&lt;/span&gt;&lt;/th&gt;  	  		&lt;tr&gt;  			&lt;td&gt;&lt;ul&gt;  				&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s1-the-idea-behind"&gt;1 The Idea behind  &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;  					&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s2-the-sample--and-whats-missing"&gt;1.1 The sample - and what’s missing  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s3-prerequisites"&gt;1.2     Prerequisites  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s4-the-project"&gt;1.3 The “project”  &lt;/a&gt;&lt;/li&gt;  				&lt;/ul&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s5-facebook-integration--a-closer-look"&gt;2 Facebook integration - a closer look  &lt;/a&gt;&lt;/li&gt;&lt;ul&gt;  					&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s6-the-facebook-application"&gt;2.1 The Facebook application  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s7-authentication"&gt;2.2 Authentication      &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s8-creating-your-facebook-application"&gt;2.3 Creating your Facebook application  &lt;/a&gt;&lt;/li&gt;  				&lt;/ul&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s9-create-the-wp7-application-in-visual-studio-2010-express"&gt;3 Create the wp7 application in Visual Studio 2010 (Express)       &lt;/a&gt;&lt;/li&gt;&lt;ul&gt;  					&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s10-create-a-new-project"&gt;3.1 Create a new project  &lt;/a&gt;&lt;/li&gt;  				&lt;/ul&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s11-authentication--a-deeper-look"&gt;4 Authentication - a deeper look   &lt;/a&gt;&lt;/li&gt;&lt;ul&gt;  					&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s12-how-it-works"&gt;4.1 How it works  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s13-our-desktop-application-login-page"&gt;4.2 Our “desktop     application” login page  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s14-the-last-step"&gt;4.3 The last step  &lt;/a&gt;&lt;/li&gt;  				&lt;/ul&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s15-our-start-page"&gt;5 Our start page  &lt;/a&gt;&lt;/li&gt;&lt;ul&gt;  					&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s16-silverlight-differences-to-other-platforms"&gt;5.1 Silverlight differences to other platforms  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s17-%0A%0Athe-navigation-framework"&gt;5.2 The navigation framework  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s18-screen-orientation"&gt;5.3 Screen orientation  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s19-basic-layout"&gt;5.4 Basic     layout  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s20-time-to-code"&gt;5.5 Time to code  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s21-understanding-navigation"&gt;5.6 Understanding navigation  &lt;/a&gt;&lt;/li&gt;  				&lt;/ul&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s22-the-login-page"&gt;6 The Login Page  &lt;/a&gt;&lt;/li&gt;&lt;ul&gt;  					&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s23-the-best-things-come-in-threes"&gt;6.1 The best things come in threes  &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s24-urls-uris-and-more"&gt;6.2     URLs URIs and more  &lt;/a&gt;&lt;/li&gt;  				&lt;/ul&gt;&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#s25-resources"&gt;7 Resources  &lt;/a&gt;&lt;/li&gt;  			&lt;/td&gt;  		&lt;/tr&gt;  	  &lt;/table&gt;    &lt;div class="gray box"&gt;  	&lt;h4 align="center"&gt;The wFace – windows phone 7 facebook integration Series&lt;/h4&gt;  	&lt;div class="list"&gt;  	&lt;p&gt;This article series shows how to use the Facebook graph_API (&lt;a href="http://developers.facebook.com/docs/API)"&gt;http://developers.facebook.com/docs/API)&lt;/a&gt; in a windows phone 7     (wp7) Silverlight application. All used tools are free software - for downloads take a look at the links at the end of this     document.&lt;/p&gt;  	&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx"&gt;Part1&lt;/a&gt;&lt;/li&gt;  	&lt;li&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-2.aspx"&gt;Part2&lt;/a&gt;&lt;/li&gt;  	&lt;/div&gt;  &lt;/div&gt;    &lt;a name="s1-the-idea-behind"&gt;&lt;/a&gt;&lt;h3&gt;  	The Idea behind&lt;/h3&gt;  &lt;p&gt;This article shows how to use the Facebook graph_API (&lt;a href="http://developers.facebook.com/docs/api" rel="nofollow"&gt;http://developers.facebook.com/docs/API&lt;/a&gt;) in a     windows phone 7 (wp7) Silverlight application. All used tools are free software - for downloads take a look at the links at the end of this document.&lt;/p&gt;&lt;p&gt;We made a .NET iPhone     application using MonoTouch. The thing is a Rock Paper Scissors game (&lt;a href="http://iphone.pp-p.net/Products/RPS.aspx" rel="nofollow"&gt;RPS&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;A well known game I would     say. The special thing about our implementation is a tight Facebook integration.We hold a game server to store high-scores and allow internet playing. Instead of handling user     management ourselves we use Facebook to do this.&lt;/p&gt;&lt;p&gt;Further we post results (new rank reached, game won / lost) on the user's Facebook wall.&lt;/p&gt;&lt;p&gt;Since the code is .NET it     looks as if a port from iPhone to wp7 is an easy task. But there are some problems and differences between the two platforms. A part of the problems may disappear after wp7     (beta at the moment) reaches RTM.&lt;/p&gt;&lt;a name="s2-the-sample--and-whats-missing"&gt;&lt;/a&gt;&lt;h4&gt;  	The sample - and what’s missing&lt;/h4&gt;  &lt;p&gt;This sample consists of two parts. In part one I'll cover authentication. Part2 will be about data retrieval posting data to Facebook.&lt;/p&gt;&lt;p&gt;Missing things:&lt;/p&gt;&lt;ul&gt;  	&lt;li&gt;UIX. I'll use simple stiles to focus on content. The nature of Silverlight projects allows you to make the things looking cool without the need to "recode"     anything.&lt;/li&gt;  	&lt;li&gt;Excessive Error handling. In a real world application there would be "error pages" which provide meaningful user information. In this project we just show the plain     error messages. &lt;/li&gt;    &lt;/ul&gt;&lt;a name="s3-prerequisites"&gt;&lt;/a&gt;&lt;h4&gt;  	Prerequisites&lt;/h4&gt;  &lt;p&gt;To build / run the project you'll need:&lt;/p&gt;&lt;ul&gt;  	&lt;li&gt;The Windows phone developer tools (free)&lt;a href="http://developer.windowsphone.com/" rel="nofollow"&gt;http://developer.windowsphone.com/&lt;/a&gt; &lt;/li&gt;  	&lt;li&gt;A Facebook account&lt;/li&gt;  	&lt;li&gt;A Facebook application. You can create an application here: &lt;a href="http://www.facebook.com/developers/" rel="nofollow"&gt;http://www.facebook.com/developers/&lt;/a&gt; .     I'll explain later how to setup an application.&lt;/li&gt;  	&lt;li&gt;Some experiences with Silverlight and .NET development. I'll only focus wp7 specific Silverlight topics. There are tons of good Silverlight articles on the web to     get the basics.&lt;/li&gt;    &lt;/ul&gt;&lt;a name="s4-the-project"&gt;&lt;/a&gt;&lt;h4&gt;  	The “project”&lt;/h4&gt;  &lt;p&gt;Our project will have 2 screens, one "Main Screen" and a "Login Screen". In wp7 such screens are (there are other options to) "Pages".&lt;/p&gt;&lt;a name="s5-facebook-integration--    a-closer-look"&gt;&lt;/a&gt;&lt;h3&gt;  	Facebook integration - a closer look&lt;/h3&gt;  &lt;a name="s6-the-facebook-application"&gt;&lt;/a&gt;&lt;h4&gt;  	The Facebook application&lt;/h4&gt;  &lt;p&gt;A Facebook application is a piece of information which interacts with the user. There are different types of application but they share some common information.&lt;/p&gt;&lt;p&gt;First     of all (and primarily important for us) imagine a Facebook application as a kind of contract between you (the developer) and the user (Facebook account owner). You identify     yourself via properties of the application and further (via code) you ask for permissions.&lt;/p&gt;&lt;p&gt;In our case we want to several things:&lt;/p&gt;&lt;ul&gt;  	&lt;li&gt;We want to get some information from the users profile&lt;/li&gt;  	&lt;li&gt;We want to post in the name of the user&lt;/li&gt;    &lt;/ul&gt;&lt;a name="s7-authentication"&gt;&lt;/a&gt;&lt;h4&gt;  	Authentication&lt;/h4&gt;  &lt;p&gt;The steps (from the user's perspective) look like this.&lt;/p&gt;&lt;ul&gt;  	&lt;li&gt;Our application sends the users to the Facebook login page. Assume the users enters valid credentials there.&lt;/li&gt;  	&lt;li&gt;The user is redirected to the "application permissions" page &lt;a href="http://developers.facebook.com/docs/authentication/" rel="nofollow"&gt;http://developers.facebook.com/docs/authentication/&lt;/a&gt; &lt;/li&gt;  	&lt;li&gt;The user is redirected to a special page. At this point we get some kind of credentials for further use. This is a "token" which we further use to make calls to the     Facebook API.&lt;/li&gt;    &lt;/ul&gt;&lt;a name="s8-creating-your-facebook-application"&gt;&lt;/a&gt;&lt;h4&gt;  	Creating your Facebook application&lt;/h4&gt;  &lt;p&gt;To create your first Facebook application login with your Facebook account and visit  &lt;a href="http://www.facebook.com/developers/" rel="nofollow"&gt;http://www.facebook.com/developers/&lt;/a&gt; - this is an application and you see a dialog as explained in paragraph 2 above.&lt;/p&gt;&lt;h4&gt;  	Figure 1: Developer Application Permissions  &lt;/h4&gt;&lt;p&gt;&lt;img title="Developer Application Permissions" src="http://dotnetslackers.com/images/articleimages/wface--windows-phone-7-facebook-integration-part-1-1.png" height="294" alt="Developer Application     Permissions" /&gt;&lt;/p&gt;&lt;p&gt;After you allow the application access to your Facebook account you'll be redirected to the developers home page. Near the top     (right side in main content) is a button "+Set up new application". Click this to create a new application.&lt;/p&gt;&lt;h4&gt;  	Figure 2: Create application part 1  &lt;/h4&gt;&lt;p&gt;&lt;img title="Create application part 1" src="http://dotnetslackers.com/images/articleimages/wface--windows-phone-7-facebook-integration-part-1-2.png" height="180" alt="Create application part 1" /&gt;&lt;/p&gt;&lt;p&gt;Enter a unique Name and click "Create Application". An error may occur - ignore it (if it is not "Name not allowed") and follow the next steps.&lt;/p&gt;&lt;p&gt;Go     back to &lt;a href="http://www.facebook.com/developers/" rel="nofollow"&gt;http://www.facebook.com/developers/&lt;/a&gt; and notice that below the "+Set up new application" button is a list     of your applications. Click on your newly created application and make a note of the two fields "Application ID" and "Application Secret". You need these two values later in     your wp7 application.&lt;/p&gt;&lt;h4&gt;  	Figure 3: Application Settings  &lt;/h4&gt;&lt;p&gt;&lt;img title="Application Settings" src="http://dotnetslackers.com/images/articleimages/wface--windows-phone-7-facebook-integration-part-1-3.png" height="412" alt="Application Settings" /&gt;&lt;/p&gt;&lt;p&gt;IMPORTANT: those two values are confidential! Do not post them like I do here. I'll use this application for the article and delete it later. So again:     please do never publish these values!&lt;/p&gt;&lt;div class="gray box"&gt;  	&lt;b&gt;NOTE&lt;/b&gt;&lt;p&gt;Do not change the application settings (unless you know how the things work) - the default is perfect to use it in this sample.&lt;/p&gt;  &lt;/div&gt;&lt;a name="s9-create-the-wp7-application-in-visual-studio-2010-express"&gt;&lt;/a&gt;&lt;h3&gt;  	Create the wp7 application in Visual Studio 2010 (Express) &lt;/h3&gt;  &lt;a name="s10-create-a-new-project"&gt;&lt;/a&gt;&lt;h4&gt;  	Create a new project&lt;/h4&gt;  &lt;p&gt;Don't worry - later I'll explain in more details what's going on behind the scenes. But at the moment just follow this guide. Select "File/New Project" from the menu to get     the following dialog:&lt;/p&gt;&lt;h4&gt;  	Figure 4: New Project Dialog  &lt;/h4&gt;&lt;p&gt;&lt;img title="New Project Dialog" src="http://dotnetslackers.com/images/articleimages/wface--windows-phone-7-facebook-integration-part-1-4.png" height="401" alt="New Project Dialog" /&gt;&lt;/p&gt;&lt;p&gt;In this case we use a simple "Windows Phone Application". Select a directory and give the thing a meaningful name. In the next step you should see a XAML file and a     preview of your application.&lt;/p&gt;&lt;a name="s11-authentication--a-deeper-look"&gt;&lt;/a&gt;&lt;h3&gt;  	Authentication - a deeper look &lt;/h3&gt;  &lt;a name="s12-how-it-works"&gt;&lt;/a&gt;&lt;h4&gt;  	How it works&lt;/h4&gt;  &lt;p&gt;Facebook uses OAuth 2.0 -the details are described here &lt;a href="http://developers.facebook.com/docs/authentication/" rel="nofollow"&gt;http://developers.facebook.com/docs/authentication/.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Normally we would use "Desktop authentication" &lt;a href="http://developers.facebook.com/docs/authentication/desktop" rel="nofollow"&gt;http://developers.facebook.com/docs/authentication/desktop&lt;/a&gt; but due to a bug in the wp7 beta     bits we have to take a different approach.&lt;/p&gt;&lt;p&gt;In simple words the things work like this: we provide the user a webpage (the page comes from Facebook) and there he enters his     credentials. We'll never get access to the credential values. Further we pass our "Application ID" (see above) to this page and last not least we inform the page about the     access we need.&lt;/p&gt;&lt;p&gt;The user enters his credential and Facebook redirects him to a page where the user must allow our application to access the properties / operations. There     are a lot of possible values for allowance. You can find them on this page: &lt;a href="http://developers.facebook.com/docs/authentication/permissions" rel="nofollow"&gt;http://developers.facebook.com/docs/authentication/permissions&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;You may notice a "publish_stream" value which is important for us to post on the users     wall. And we (just to show "extended profile permissions") will also ask for "home_town".&lt;/p&gt;&lt;p&gt;After this we will get an "access_token" which has to be passed to every API call     we make.&lt;/p&gt;&lt;a name="s13-our-desktop-application-login-page"&gt;&lt;/a&gt;&lt;h4&gt;  	Our “desktop application” login page&lt;/h4&gt;  &lt;p&gt;From what we have learned on the desktop authentication page we need the following URL to provide the user with the appropriate login page:&lt;/p&gt;&lt;p&gt;The base URL including our     "Application ID"&lt;/p&gt;&lt;p&gt;&lt;code&gt;https://graph.facebook.com/oauth/authorize?client_id=10181612...&lt;/code&gt;&lt;/p&gt;&lt;p&gt;next the "special redirect     url"&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;amp;redirect_uri=http://www.facebook.com/connect/login_success.html&lt;/code&gt;&lt;/p&gt;&lt;p&gt;followed by the application type (determines how login works)    &lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;amp;type=user_agent&lt;/code&gt;&lt;/p&gt;&lt;p&gt;further the layout of the page (touch or wap) is OK for devices&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;amp;display=touch&lt;/code&gt;&lt;/p&gt;&lt;p&gt;and finally the privileges we     need&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;amp;scope=publish_stream,user_hometownFacebook&lt;/code&gt;&lt;/p&gt;&lt;a name="s14-the-last-step"&gt;&lt;/a&gt;&lt;h4&gt;  	The last step&lt;/h4&gt;  &lt;p&gt;After everything was ok we will be redirected to success page and retrieve the access token     http&lt;code&gt;://www.facebook.com/connect/login_success.html#access_token=...&amp;amp;expires_in=... &lt;/code&gt; This kind of information (parameter) passing is known as "fragment".&lt;/p&gt;&lt;div class="gray box"&gt;  	&lt;b&gt;Bug in wp7 beta&lt;/b&gt;&lt;p&gt;Unfortunately there is a bug in the wp7 beta which suppresses this value. Here are the details:&lt;/p&gt;&lt;p&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/b13d9acc-ddfa-4235-8de8-3ebb440b7fa2" rel="nofollow"&gt;http://social.msdn.microsoft.com/Forums/en-    US/windowsphone7series/thread/b13d9acc-ddfa-4235-8de8-3ebb440b7fa2&lt;/a&gt; &lt;/p&gt;  &lt;/div&gt;&lt;p&gt;So we have to take a different approach. This is a bit more complicated - but in general it is the same approach. We need to use the "Web application authentication" as     described here: &lt;a href="http://developers.facebook.com/docs/authentication/" rel="nofollow"&gt;http://developers.facebook.com/docs/authentication/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;It is almost the same     as the "desktop authentication" except of 3 differences.&lt;/p&gt;&lt;ul&gt;  	&lt;li&gt;We do not set the type to "user_agent". No problem at all - we just don't pass the type parameter&lt;/li&gt;  	&lt;li&gt;We have to pass our "application secret". This is the real problem - normally we would never give a user access to this value. With web application it doesn't matter     - the value never leaves our web server. But for client applications we have to "ship" this value inside our application.&lt;/li&gt;  	&lt;li&gt;We have to make an extra call to get the "access token". We will do this in a very simple manner - no problem at all&lt;/li&gt;    &lt;/ul&gt;&lt;p&gt;Anyhow - this is a workaround so I hope with the wp7 RTM we'll no longer have a need for this.I also use the "special desktop authentication return URL" - it works also     in our case.I'll include the "bug free" code in this sample - so if the bug is gone you'll already have to uncomment it.&lt;/p&gt;&lt;a name="s15-our-start-page"&gt;&lt;/a&gt;&lt;h3&gt;  	Our start page&lt;/h3&gt;  &lt;a name="s16-silverlight-differences-to-other-platforms"&gt;&lt;/a&gt;&lt;h4&gt;  	Silverlight differences to other platforms&lt;/h4&gt;  &lt;p&gt;Wp7 Silverlight is some kind of Silverlight 3.0 with extra controls and some (a lot?) missing features compared to the "full version".&lt;/p&gt;&lt;p&gt;We have special support for the     application lifetime (state storage, extra events), access to hardware features (GPS, accelerator, Phone, ...) and the control set is different.&lt;/p&gt;&lt;p&gt;Important for our case -     we have a "PhoneApplicationPage" and a navigation framework.&lt;/p&gt;&lt;p&gt;Both things are already included in the template - so we just have to use them. The most basic controls (Grid,     Button, Text..., StackPanel, Image, ...) do also exist; so we don't take too much care about it and simply start coding our project.&lt;/p&gt;&lt;a name="s17-the-navigation-    framework"&gt;&lt;/a&gt;&lt;h4&gt;  	The navigation framework&lt;/h4&gt;  &lt;p&gt;This framework provides us with the ability to navigate through our pages. The typical behavior is to open a page via a control (Button, List element ...) and leave it with     the "Back Button" - a piece of hardware which every windows phone 7 device provides.&lt;/p&gt;&lt;a name="s18-screen-orientation"&gt;&lt;/a&gt;&lt;h4&gt;  	Screen orientation&lt;/h4&gt;  &lt;p&gt;In general there are three possible orientations (unfortunately "reverse portrait" which exists on the iPhone is missing) - portrait, landscape left and landscape     right.&lt;/p&gt;&lt;p&gt;In our sample we'll only use landscape but the idea behind supporting different orientations is either a "fluid layout" or some "rearrange code".&lt;/p&gt;&lt;a name="s19-    basic-layout"&gt;&lt;/a&gt;&lt;h4&gt;  	Basic layout&lt;/h4&gt;  &lt;p&gt;"Metro Style applications" should have a common look and feel. On part of it is the information provided on top of a page. It consists of an application title and a page     title. Both elements do already exist in the template so (if you want) simply change these values.&lt;/p&gt;&lt;p&gt;Notice there is a grid "LayoutRoot" which holds a StackPanel (the     titles) and a second grid "ContentGrid" where we'll place our content.&lt;/p&gt;&lt;a name="s20-time-to-code"&gt;&lt;/a&gt;&lt;h4&gt;  	Time to code&lt;/h4&gt;  &lt;p&gt;You can simply copy and paste the following XAML to your application. BUT - notice that you'll not have the used event handlers in your code behind (this results in XAML     errors). Either ignore them (we'll add the handlers soon) or got into XAML - delete the name of the handler, type a blank and intellisense will ask you to create a handler for     you.&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar     "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Grid&lt;/code&gt; &lt;code class="color1"&gt;x:Name&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"ContentGrid"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Row&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"1"&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Grid.RowDefinitions&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;RowDefinition&lt;/code&gt; &lt;code class="color1"&gt;Height&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Auto"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;RowDefinition&lt;/code&gt; &lt;code class="color1"&gt;Height&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"*"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;RowDefinition&lt;/code&gt; &lt;code class="color1"&gt;Height&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Auto"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;/&lt;/code&gt;&lt;code class="keyword"&gt;Grid.RowDefinitions&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Grid&lt;/code&gt; &lt;code class="color1"&gt;x:Name&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"fbUserGrid"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Row&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"0"&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Grid.ColumnDefinitions&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;ColumnDefinition&lt;/code&gt; &lt;code class="color1"&gt;Width&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"105"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;ColumnDefinition&lt;/code&gt; &lt;code class="color1"&gt;Width&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"*"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;/&lt;/code&gt;&lt;code class="keyword"&gt;Grid.ColumnDefinitions&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;12.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Grid.RowDefinitions&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;13.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;RowDefinition&lt;/code&gt; &lt;code class="color1"&gt;Height&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Auto"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;14.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;RowDefinition&lt;/code&gt; &lt;code class="color1"&gt;Height&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"60"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;15.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;RowDefinition&lt;/code&gt; &lt;code class="color1"&gt;Height&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Auto"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;16.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;RowDefinition&lt;/code&gt; &lt;code class="color1"&gt;Height&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Auto"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;17.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;/&lt;/code&gt;&lt;code class="keyword"&gt;Grid.RowDefinitions&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;18.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;TextBlock&lt;/code&gt; &lt;code class="color1"&gt;Text&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"User Data"&lt;/code&gt; &lt;code class="color1"&gt;Grid.ColumnSpan&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"2"&lt;/code&gt; &lt;code class="color1"&gt;TextAlignment&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Center"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;19.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Image&lt;/code&gt; &lt;code class="color1"&gt;Source&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"{Binding Path=PictureLink}"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Row&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"1"&lt;/code&gt;&amp;nbsp; &lt;code class="color1"&gt;Stretch&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"None"&lt;/code&gt; &lt;code class="color1"&gt;VerticalAlignment&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Center"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;20.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;TextBlock&lt;/code&gt; &lt;code class="color1"&gt;Text&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"{Binding Path=Name}"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Row&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"1"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Column&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"1"&lt;/code&gt; &lt;code class="color1"&gt;VerticalAlignment&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Center"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;21.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;TextBlock&lt;/code&gt; &lt;code class="color1"&gt;Text&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Gender"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Row&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"2"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;22.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;TextBlock&lt;/code&gt; &lt;code class="color1"&gt;Text&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"{Binding Path=Gender}"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Row&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"2"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Column&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"1"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;23.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;TextBlock&lt;/code&gt; &lt;code class="color1"&gt;Text&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Hometown"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Row&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"3"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;24.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;TextBlock&lt;/code&gt; &lt;code class="color1"&gt;Text&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"{Binding Path=HomeTown.Name}"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Row&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"3"&lt;/code&gt; &lt;code class="color1"&gt;Grid.Column&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"1"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;25.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;/&lt;/code&gt;&lt;code class="keyword"&gt;Grid&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;26.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;StackPanel&lt;/code&gt; &lt;code class="color1"&gt;Grid.Row&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"2"&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;27.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Button&lt;/code&gt; &lt;code class="color1"&gt;x:Name&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"btnLogin"&lt;/code&gt; &lt;code class="color1"&gt;Click&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"btnLogin_Click"&lt;/code&gt; &lt;code class="color1"&gt;Content&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Login to facebook"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;28.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Button&lt;/code&gt; &lt;code class="color1"&gt;x:Name&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"btnGetUserData"&lt;/code&gt; &lt;code class="color1"&gt;Click&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"btnGetUserData_Click"&lt;/code&gt; &lt;code class="color1"&gt;Content&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Load User Data"&lt;/code&gt; &lt;code class="color1"&gt;IsEnabled&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"False"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;29.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Button&lt;/code&gt; &lt;code class="color1"&gt;x:Name&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"btnPostToWall"&lt;/code&gt; &lt;code class="color1"&gt;Click&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"btnPostToWall_Click"&lt;/code&gt; &lt;code class="color1"&gt;Content&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Post to wall"&lt;/code&gt; &lt;code class="color1"&gt;IsEnabled&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"False"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;30.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;Button&lt;/code&gt; &lt;code class="color1"&gt;x:Name&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"btnShowFriends"&lt;/code&gt; &lt;code class="color1"&gt;Click&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"btnShowFriends_Click"&lt;/code&gt; &lt;code class="color1"&gt;Content&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Show Friends"&lt;/code&gt; &lt;code class="color1"&gt;IsEnabled&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"False"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;31.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;TextBlock&lt;/code&gt; &lt;code class="color1"&gt;x:Name&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"txtStatus"&lt;/code&gt; &lt;code class="color1"&gt;Text&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Login to enable facebook funtions"&lt;/code&gt; &lt;code class="color1"&gt;Style&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"{StaticResource PhoneTextNormalStyle}"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;32.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;&lt;/code&gt;&lt;code class="keyword"&gt;TextBlock&lt;/code&gt; &lt;code class="color1"&gt;Height&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"80"&lt;/code&gt; &lt;code class="color1"&gt;TextWrapping&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"Wrap"&lt;/code&gt; &lt;code class="color1"&gt;x:Name&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"txtError"&lt;/code&gt; &lt;code class="color1"&gt;Text&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"OK"&lt;/code&gt; &lt;code class="color1"&gt;Style&lt;/code&gt;&lt;code class="plain"&gt;=&lt;/code&gt;&lt;code class="string"&gt;"{StaticResource PhoneTextAccentStyle}"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;33.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;/&lt;/code&gt;&lt;code class="keyword"&gt;StackPanel&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;34.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;/&lt;/code&gt;&lt;code class="keyword"&gt;Grid&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h4&gt;  	Figure 5: Layout provided by this xaml  &lt;/h4&gt;&lt;p&gt;&lt;img title="Layout provided by this xaml" src="http://dotnetslackers.com/images/articleimages/wface--windows-phone-7-facebook-integration-part-1-5.png" height="648" alt="Layout provided by this xaml" width="348" /&gt;&lt;/p&gt;&lt;p&gt;The buttons "Load User Data", "Post to wall" and "Show friends" will be handled in part 2 of this article series. Here we'll focus on     Login.&lt;/p&gt;&lt;p&gt;Navigate to the top of your XAML (place the cursor there) and via "Properties / Events" add a page loaded event handler.&lt;/p&gt;&lt;p&gt;So after all we have layout the     loaded event handler and our button handlers. This is the code:&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;PhoneApplicationPage_Loaded(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, RoutedEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;btnLogin_Click(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, RoutedEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;btnGetUserData_Click(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, RoutedEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;btnPostToWall_Click(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, RoutedEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;btnShowFriends_Click(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, RoutedEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Our approach is to load the "Login page" which shall (after a successful login) provide us with the "access_token" we need for further calls to the Facebook     API.&lt;/p&gt;&lt;a name="s21-understanding-navigation"&gt;&lt;/a&gt;&lt;h4&gt;  	Understanding navigation&lt;/h4&gt;  &lt;p&gt;Although you can provide your own navigation framework we'll use the built in one. This works by removing the current page and loading the page we are navigating to.&lt;/p&gt;&lt;p&gt;Or     in other words - every page is created from scratch when we navigate to it. This is also true for the calling page. So navigating to PGLogin.xaml and coming back to the main     page after login means:&lt;/p&gt;&lt;ul&gt;  	&lt;li&gt;MasterPage is destroyed&lt;/li&gt;  	&lt;li&gt;PGLogin is created (&lt;code&gt;loaded &lt;/code&gt; event)&lt;/li&gt;  	&lt;li&gt;PGLogin is destroyed&lt;/li&gt;  	&lt;li&gt;MasterPage is created (&lt;code&gt;loaded &lt;/code&gt; event)&lt;/li&gt;    &lt;/ul&gt;&lt;p&gt;The problem now - how to pass parameters to / from PGLogin. The navigation framework works pretty much like HTML navigation, so we can pass "Query strings" and retrieve     them in a special event: &lt;code&gt;OnNavigatedTo&lt;/code&gt;&lt;/p&gt;&lt;div class="gray box"&gt;  	&lt;b&gt;Controls are not loaded in OnNavigatedTo&lt;/b&gt;&lt;p&gt;Be aware that controls are not fully loaded in this handler. So for an example a "webBrowser.Navigate" will fail with     an exception "must be fully loaded before you navigate..."&lt;/p&gt;  &lt;/div&gt;&lt;p&gt;In our case we'll take a different approach - we'll keep the shared information (access_token) in a global static variable. The best place for this is App.xaml.cs (the     code behind App.xaml).&lt;/p&gt;&lt;p&gt;Select App.xaml in the Solution Explorer, right click it an choose View Code (F7). Add the following code;&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;1.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="preprocessor"&gt;#region AccessToken&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;2.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;static&lt;/code&gt; &lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;m_strAccessToken;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;3.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;public&lt;/code&gt; &lt;code class="keyword"&gt;static&lt;/code&gt; &lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;AccessToken {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;4.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;get&lt;/code&gt; &lt;code class="plain"&gt;{ &lt;/code&gt;&lt;code class="keyword"&gt;return&lt;/code&gt; &lt;code class="plain"&gt;m_strAccessToken; }&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;5.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;set&lt;/code&gt; &lt;code class="plain"&gt;{ m_strAccessToken = value; }&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;6.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;7.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="preprocessor"&gt;#endregion&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Save and close the file.&lt;/p&gt;&lt;p&gt;Next let us navigate to our Login page - I assume you named it (like shown above) PGLogin.xaml.In MainPage.xaml.cs change the login     button handler to:&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;1.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;btnLogin_Click(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, RoutedEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;2.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;NavigationService.Navigate(&lt;/code&gt;&lt;code class="keyword"&gt;new&lt;/code&gt; &lt;code class="plain"&gt;Uri(&lt;/code&gt;&lt;code class="string"&gt;"/PGLogin.xaml"&lt;/code&gt;&lt;code class="plain"&gt;, UriKind.Relative));&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;3.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;What are we doing here? We use the Navigation service and tell it to navigate to our login page. We don't care about coming back - you remember - this is done via     the "Back Button" on our windows phone 7 device.&lt;/p&gt;&lt;p&gt;Before we first run the application we will simulate a login. This has two reasons - first it is time to see something     going on - second this will show how we can intercept the "Back Button navigation".The reason for doing this could (for an example) be a data entry form where we detect changed     data, and ask if the user wants to save the changed data before he leaves the page.&lt;/p&gt;&lt;p&gt;Open PGLogin.xaml - place the cursor on top of the xaml and via "Properties / Events"     add a handler for the BackKeyPressEvent. Add the following code to the handler.&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;1.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;PhoneApplicationPage_BackKeyPress(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, System.ComponentModel.CancelEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;2.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;App.AccessToken = &lt;/code&gt;&lt;code class="string"&gt;"TOKEN_SET"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;3.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;The only thing left is some kind of "Logged in signal" on our main page.Did you notice the text (second line from the bottom) on our Main page? "Login to     enable..."&lt;/p&gt;&lt;p&gt;So let's enable the buttons. Change the page loaded event handler to:&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;1.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;PhoneApplicationPage_Loaded(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, RoutedEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;2.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;bool&lt;/code&gt; &lt;code class="plain"&gt;bWeAreLoggedIn = !&lt;/code&gt;&lt;code class="keyword"&gt;string&lt;/code&gt;&lt;code class="plain"&gt;.IsNullOrEmpty(App.AccessToken);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;3.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;btnLogin.IsEnabled=!bWeAreLoggedIn; &lt;/code&gt;&lt;code class="comments"&gt;//reverse logic&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;4.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;btnGetUserData.IsEnabled = bWeAreLoggedIn;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;5.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;btnPostToWall.IsEnabled = bWeAreLoggedIn;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;6.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;btnShowFriends.IsEnabled = bWeAreLoggedIn;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;7.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;txtStatus.Text=bWeAreLoggedIn ? &lt;/code&gt;&lt;code class="string"&gt;"Use the above buttons to access facebook"&lt;/code&gt; &lt;code class="plain"&gt;: &lt;/code&gt;&lt;code class="string"&gt;"Login to enable facebook funtions"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;8.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Run your application and check if the things work like expected. They should, if you didn't make a copy and paste error.&lt;/p&gt;&lt;a name="s22-the-login-page"&gt;&lt;/a&gt;&lt;h3&gt;  	The Login Page&lt;/h3&gt;  &lt;a name="s23-the-best-things-come-in-threes"&gt;&lt;/a&gt;&lt;h4&gt;  	The best things come in threes&lt;/h4&gt;  &lt;p&gt;As on the main page we'll add 2 informational controls on the bottom of the page. And as real content we need a WebBrowser Control. Replace you PGLogin Content grid with the     following markup:&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;Grid x:Name=&lt;/code&gt;&lt;code class="string"&gt;"ContentGrid"&lt;/code&gt; &lt;code class="plain"&gt;Grid.Row=&lt;/code&gt;&lt;code class="string"&gt;"1"&lt;/code&gt;&lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;Grid.RowDefinitions&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;RowDefinition Height=&lt;/code&gt;&lt;code class="string"&gt;"*"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;RowDefinition Height=&lt;/code&gt;&lt;code class="string"&gt;"Auto"&lt;/code&gt;&lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;/Grid.RowDefinitions&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;phone:WebBrowser x:Name=&lt;/code&gt;&lt;code class="string"&gt;"wbLogin"&lt;/code&gt; &lt;code class="plain"&gt;IsScriptEnabled=&lt;/code&gt;&lt;code class="string"&gt;"True"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;StackPanel Grid.Row=&lt;/code&gt;&lt;code class="string"&gt;"1"&lt;/code&gt; &lt;code class="plain"&gt;&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;TextBlock x:Name=&lt;/code&gt;&lt;code class="string"&gt;"txtStatus"&lt;/code&gt; &lt;code class="plain"&gt;Text=&lt;/code&gt;&lt;code class="string"&gt;"Loading login page"&lt;/code&gt; &lt;code class="plain"&gt;Style=&lt;/code&gt;&lt;code class="string"&gt;"{StaticResource PhoneTextNormalStyle}"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;TextBlock Height=&lt;/code&gt;&lt;code class="string"&gt;"80"&lt;/code&gt; &lt;code class="plain"&gt;TextWrapping=&lt;/code&gt;&lt;code class="string"&gt;"Wrap"&lt;/code&gt; &lt;code class="plain"&gt;x:Name=&lt;/code&gt;&lt;code class="string"&gt;"txtError"&lt;/code&gt; &lt;code class="plain"&gt;Text=&lt;/code&gt;&lt;code class="string"&gt;"OK"&lt;/code&gt; &lt;code class="plain"&gt;Style=&lt;/code&gt;&lt;code class="string"&gt;"{StaticResource PhoneTextAccentStyle}"&lt;/code&gt; &lt;code class="plain"&gt;/&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;/StackPanel&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;lt;/Grid&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="gray box"&gt;  	&lt;b&gt;Remove the BackKeyPress handler from PGLogin.xaml&lt;/b&gt;&lt;p&gt;This is important else it would override our access_token.&lt;/p&gt;  &lt;/div&gt;&lt;p&gt;Notice that I set &lt;code&gt;IsScriptEnabled &lt;/code&gt; to &lt;code&gt;true &lt;/code&gt; on the WebBrowser control. The Facebook pages use a lot of scripts and by default scripting is     disabled. So in order to have functional pages we need to enable it.&lt;/p&gt;&lt;a name="s24-urls-uris-and-more"&gt;&lt;/a&gt;&lt;h4&gt;  	URLs URIs and more&lt;/h4&gt;  &lt;p&gt;The whole Facebook API access is done via "web links". Silverlight wants to have URIs instead of URLs (strings). And we'll need a lot of them. So I decided to create a helper     class which provides those URIs.Since we'll need other helper classes for part 2 of this article series I first add a folder to the solution, so the things are better organized.     Right click you project in Solution Explorer and add a folder call "HelperClasses".&lt;/p&gt;&lt;p&gt;Next right click this folder, choose "Add / Class" and add FBUris to the project. The     project should now look like this:&lt;/p&gt;&lt;h4&gt;  	Figure 6: Project tree  &lt;/h4&gt;&lt;p&gt;&lt;img title="Project tree" src="http://dotnetslackers.com/images/articleimages/wface--windows-phone-7-facebook-integration-part-1-6.png" height="277" alt="Project tree" width="256" /&gt;&lt;/p&gt;&lt;p&gt;Our     FBUris class will provide us with well formatted URIs. I decided to make the class static.&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar    "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;public&lt;/code&gt; &lt;code class="keyword"&gt;static&lt;/code&gt; &lt;code class="keyword"&gt;class&lt;/code&gt; &lt;code class="plain"&gt;FBUris {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="preprocessor"&gt;#region AppID&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;static&lt;/code&gt; &lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;m_strAppID = &lt;/code&gt;&lt;code class="string"&gt;"101816123213455"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="preprocessor"&gt;#endregion&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="preprocessor"&gt;#region AppSecret - only needed because of the fragment bug&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;static&lt;/code&gt; &lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;m_strAppSecret = &lt;/code&gt;&lt;code class="string"&gt;"a96c7b28c49664b12a5fe8a1555388b3"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="preprocessor"&gt;#endregion&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="comments"&gt;//the correct url - but not working due to the WebBrowser fragment bug&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="comments"&gt;//private static string m_strLoginURL = "&lt;a href="https://graph.facebook.com/oauth/authorize?client_id="&gt;https://graph.facebook.com/oauth/authorize?client_id=&lt;/a&gt;{0}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;amp;redirect_uri=http:&lt;/code&gt;&lt;code class="comments"&gt;//www.facebook.com/connect/login_success.html&amp;amp;type=user_agent&amp;amp;display=touch&amp;amp;scope=publish_stream,user_hometown";&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;12.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;static&lt;/code&gt; &lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;m_strLoginURL = "https:&lt;/code&gt;&lt;code class="comments"&gt;//graph.facebook.com/oauth/authorize?client_id={0}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;13.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;14.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;amp;redirect_uri=http:&lt;/code&gt;&lt;code class="comments"&gt;//www.facebook.com/connect/login_success.html&amp;amp;display=touch&amp;amp;scope=publish_stream,user_hometown";&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;15.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;static&lt;/code&gt; &lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;m_strGetAccessTokenURL = "https:&lt;/code&gt;&lt;code class="comments"&gt;//graph.facebook.com/oauth/access_token?client_id={0}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;16.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;17.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;&amp;amp;redirect_uri=http:&lt;/code&gt;&lt;code class="comments"&gt;//www.facebook.com/connect/login_success.html&amp;amp;client_secret={1}&amp;amp;code={2}";&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;18.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;public&lt;/code&gt; &lt;code class="keyword"&gt;static&lt;/code&gt; &lt;code class="plain"&gt;Uri GetLoginUri() {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;19.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;return&lt;/code&gt; &lt;code class="plain"&gt;(&lt;/code&gt;&lt;code class="keyword"&gt;new&lt;/code&gt; &lt;code class="plain"&gt;Uri(&lt;/code&gt;&lt;code class="keyword"&gt;string&lt;/code&gt;&lt;code class="plain"&gt;.Format(m_strLoginURL, m_strAppID), UriKind.Absolute));&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;20.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;21.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;public&lt;/code&gt; &lt;code class="keyword"&gt;static&lt;/code&gt; &lt;code class="plain"&gt;Uri GetTokenLoadUri(&lt;/code&gt;&lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;strCode) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;22.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;return&lt;/code&gt; &lt;code class="plain"&gt;(&lt;/code&gt;&lt;code class="keyword"&gt;new&lt;/code&gt; &lt;code class="plain"&gt;Uri(&lt;/code&gt;&lt;code class="keyword"&gt;string&lt;/code&gt;&lt;code class="plain"&gt;.Format(m_strGetAccessTokenURL, m_strAppID, m_strAppSecret, strCode), UriKind.Absolute));&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;23.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;24.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="gray box"&gt;  	&lt;b&gt;Please ensure that you use your own application Id and application secret&lt;/b&gt;&lt;p&gt;The used values are no longer valid - I deleted the application.&lt;/p&gt;  &lt;/div&gt;&lt;p&gt;Don't take too much care about the &lt;code&gt;TokenLoadUri &lt;/code&gt; and &lt;code&gt;GetAccessTokenURL &lt;/code&gt; - I told you above, that we need a third step to retrieve the     &lt;code&gt;access_token &lt;/code&gt; since we have to use "web authenticate". I'll explain this later when it takes place in our code. Notice also that I provided the "not bugged" URL as     comment.&lt;/p&gt;&lt;p&gt;The rest is pretty simple - the changing parts of our URLs are marked as "string format placeholders" {x} so that we can pass these values as     parameters.&lt;/p&gt;&lt;p&gt;Now that we have got our "navigation addresses" (URIs) easily use them in our code. The first thing we want to do is to load the Facebook login page into our     WebBrowser control. A good place to do this is the PageLoaded event handler. Add a Loaded event handler to PGLogin and change it to:&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;1.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;PhoneApplicationPage_Loaded(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, RoutedEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;2.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;wbLogin.Navigate(FBUris.GetLoginUri());&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;3.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;When you run the application our login page should look like this:&lt;/p&gt;&lt;h4&gt;  	Figure 7: Empty login form  &lt;/h4&gt;&lt;p&gt;&lt;img title="Empty login form" src="http://dotnetslackers.com/images/articleimages/wface--windows-phone-7-facebook-integration-part-1-7.png" height="542" alt="Empty login form" width="330" /&gt;&lt;/p&gt;&lt;p&gt;After entering your credentials, click login and you'll be redirected to the "application permissions" page:&lt;/p&gt;&lt;h4&gt;  	Figure 8: Application asking for permissions  &lt;/h4&gt;&lt;p&gt;&lt;img title="Application asking for permissions" src="http://dotnetslackers.com/images/articleimages/wface--windows-phone-7-facebook-integration-part-1-8.png" height="369" alt="Application asking for     permissions" width="369" /&gt;&lt;/p&gt;&lt;p&gt;Scroll down (drag content) and you'll find the "allow / Don't allow" buttons. Don't press a button now - just close your     application.&lt;/p&gt;&lt;p&gt;You see, it was pretty easy to get this going - now comes the (a bit) harder part. In a "bug free" situation the things are easier - but we have to do a bit     more.&lt;/p&gt;&lt;p&gt;Reading the Facebook documentation (in this case for Web-Login) we learn that &lt;/p&gt;&lt;p&gt;&lt;i&gt;If the user authorizes your application, we redirect the user back to the     redirect URI you specified with a verification string in the argument code, which can be exchanged for an oauth access token.Exchange it for an access token by fetching     &lt;a href="https://graph.facebook.com/oauth/access_token.Pass"&gt;https://graph.facebook.com/oauth/access_token.Pass&lt;/a&gt; the exact same redirect_uri as in the previous step:…&lt;/i&gt;&lt;/p&gt;&lt;p&gt;So (for a web application) this means to place the "redirect     URL" to a page at your site where you check and use the parameter sent to the page. But we have no web server - we have a windows phone browser control.&lt;/p&gt;&lt;p&gt;No problem at all     - remember we set a (stolen from desktop authentication) special URL. All we have to check is when the user (the browser via redirections) reaches this page. Then we should find     the "code" in the URL of that page. Our "special page" was &lt;a href="http://www.facebook.com/connect/login_success.html" rel="nofollow"&gt;http://www.facebook.com/connect/login_success.html&lt;/a&gt; and it should have a "code" parameter set. So the final URL would look something like: &lt;a href="http://www.facebook.com/connect/login_success.html?code" rel="nofollow"&gt;http://www.facebook.com/connect/login_success.html?code&lt;/a&gt;=... &lt;/p&gt;&lt;p&gt;Fortunately there is an     event when the WebBrowser control loaded a page. Goto XAML of PGLogin, locate the WebBrowser Control and inside the tag type &lt;code&gt;LoadCompleted&lt;/code&gt;= - which brings up     intellisense and allows you to add an event handler. The &lt;code&gt;LoadCompleted &lt;/code&gt; event fires when the WebBrowser finished loading a page.&lt;/p&gt;&lt;p&gt;This event handler has a     parameter of the type "System.Windows.Navigation.NavigationEventArgs". This class has a property called Uri - which represents the address (and parameters) of the page the     browser loaded.&lt;/p&gt;&lt;div class="gray box"&gt;  	&lt;b&gt;Bug free version&lt;/b&gt;&lt;p&gt;Here we would get &lt;a href="http://www.facebook.com/connect/login_success.html" rel="nofollow"&gt;http://www.facebook.com/connect/login_success.html#access_token&lt;/a&gt;=...&lt;/p&gt;&lt;p&gt;We could simply use the "Fragment" property of the Uri to check for the presences of     such an address.&lt;/p&gt;&lt;p&gt;If it is there we parse the fragment - and get our access_token - done.&lt;/p&gt;  &lt;/div&gt;&lt;p&gt;To get the "bugged" version going we simply check if we reach an address that starts with the expected value and behind this the "code" can be found. So the handler     should look like this:&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;1.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;wbLogin_LoadCompleted(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, System.Windows.Navigation.NavigationEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;2.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;strLoweredAddress = e.Uri.OriginalString.ToLower();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;3.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;if&lt;/code&gt;&lt;code class="plain"&gt;(strLoweredAddress.StartsWith(&lt;/code&gt;&lt;code class="string"&gt;"&lt;a href="http://www.facebook.com/connect/login_success.html?code="&gt;http://www.facebook.com/connect/login_success.html?code=&lt;/a&gt;"&lt;/code&gt;&lt;code class="plain"&gt;)) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;4.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;txtStatus.Text = &lt;/code&gt;&lt;code class="string"&gt;"We got the code"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;5.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;txtError.Text = e.Uri.OriginalString.Substring(56);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;6.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;return&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;7.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;8.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;For the first step we just display a message that we got the code - and in the last line (blue one) of our form we display the code itself. There is no need to     lower the URL - but I prefer this. Maybe Facebook decides to forward to  the same URL with different casing...&lt;/p&gt;&lt;div class="gray box"&gt;  	&lt;b&gt;Web authentication get’s a code and has to change this to an access token&lt;/b&gt;&lt;p&gt;As I told above there is an extra step to obtain an access_token needed with     workaround. This is how it works.&lt;/p&gt;  &lt;/div&gt;&lt;p&gt;The code is no help at all for us. For web applications to retrieve the (needed) access_token it requires an extra step which must provide the applications secret and     the (just received) code.&lt;/p&gt;&lt;p&gt;In the class FBUris we already have a method which builds this request for us. The URL looks like this:&lt;/p&gt;&lt;p&gt;First again a URL where we pass our     application ID&lt;/p&gt;&lt;p&gt;&lt;code&gt;https://graph.facebook.com/oauth/access_token?client_id={0}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;then we must provide the exactly same URL as in the call before as     redirect&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;amp;redirect_uri=http://www.facebook.com/connect/login_success.html&lt;/code&gt;&lt;/p&gt;&lt;p&gt;further we must provide our application secret&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;amp;client_secret={1}    &lt;/code&gt;&lt;/p&gt;&lt;p&gt;the last parameter is the code we got from the previous call&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;amp;code={2}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Again we change our &lt;code&gt;LoadCompleted &lt;/code&gt; handler now     to:&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;1.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;wbLogin_LoadCompleted(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, System.Windows.Navigation.NavigationEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;2.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;strLoweredAddress = e.Uri.OriginalString.ToLower();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;3.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;if&lt;/code&gt;&lt;code class="plain"&gt;(strLoweredAddress.StartsWith(&lt;/code&gt;&lt;code class="string"&gt;"&lt;a href="http://www.facebook.com/connect/login_success.html?code="&gt;http://www.facebook.com/connect/login_success.html?code=&lt;/a&gt;"&lt;/code&gt;&lt;code class="plain"&gt;)) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;4.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;txtStatus.Text = &lt;/code&gt;&lt;code class="string"&gt;"Trying to retrieve access token"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;5.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;wbLogin.Navigate(FBUris.GetTokenLoadUri(e.Uri.OriginalString.Substring(56)));&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;6.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;return&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;7.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;8.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;This means we load a different page and this will also redirect to &lt;a href="http://.../connect/login_success.htm" rel="nofollow"&gt;http://.../connect/login_success.htm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Instead of sending the &lt;code&gt;access_token &lt;/code&gt; as a parameter this value is passed as content of the page. So we     could also use a web request to do this. But since the browser is already there we'll use this guy to do the job.&lt;/p&gt;&lt;p&gt;So again we check for this page - but this time without     the parameter &lt;code&gt;?code=…&lt;/code&gt;&lt;/p&gt;&lt;p&gt;When we find it we access the page content and parse it for the access_token. The content of the page looks something like     &lt;code&gt;&amp;lt;HTML&amp;gt;&amp;lt;BODY&amp;gt;&amp;lt;PRE&amp;gt;access_token=….&amp;lt;/PRE&amp;gt;&amp;lt;/BODY…&lt;/code&gt;&lt;/p&gt;  &lt;div class="syntaxhighlighter "&gt;&lt;div class="bar      "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;wbLogin_LoadCompleted(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, System.Windows.Navigation.NavigationEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;strLoweredAddress = e.Uri.OriginalString.ToLower();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;if&lt;/code&gt;&lt;code class="plain"&gt;(strLoweredAddress.StartsWith(&lt;/code&gt;&lt;code class="string"&gt;"&lt;a href="http://www.facebook.com/connect/login_success.html?code="&gt;http://www.facebook.com/connect/login_success.html?code=&lt;/a&gt;"&lt;/code&gt;&lt;code class="plain"&gt;)) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;txtStatus.Text = &lt;/code&gt;&lt;code class="string"&gt;"Trying to retrieve access token"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;wbLogin.Navigate(FBUris.GetTokenLoadUri(e.Uri.OriginalString.Substring(56)));&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;return&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;strTest = wbLogin.SaveToString();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;if&lt;/code&gt;&lt;code class="plain"&gt;(strTest.Contains(&lt;/code&gt;&lt;code class="string"&gt;"access_token"&lt;/code&gt;&lt;code class="plain"&gt;)) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;int&lt;/code&gt; &lt;code class="plain"&gt;nPos = strTest.IndexOf(&lt;/code&gt;&lt;code class="string"&gt;"access_token"&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;string&lt;/code&gt; &lt;code class="plain"&gt;strPart = strTest.Substring(nPos + 13);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;12.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;nPos = strPart.IndexOf(&lt;/code&gt;&lt;code class="string"&gt;"&amp;lt;/PRE&amp;gt;"&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;13.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;strPart = strPart.Substring(0, nPos);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;14.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;App.AccessToken = strPart;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;15.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="comments"&gt;//automaticall leave the page after login success&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;16.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="comments"&gt;//NavigationService.GoBack();&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;17.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;txtStatus.Text = &lt;/code&gt;&lt;code class="string"&gt;"Authenticated - use back to see results"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;18.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;txtError.Text = &lt;/code&gt;&lt;code class="string"&gt;"OK"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;19.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;return&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;20.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;21.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;The final code has a commented option. In fact it could be a good idea to just bring the user away from this page to where he came from     (&lt;code&gt;NavigationServices.GoBack&lt;/code&gt;()). So PGLogin would act like a login dialog which closes when the login is done.&lt;/p&gt;&lt;p&gt;Let's make a change in the MainPage &lt;code&gt;Loaded     &lt;/code&gt; event handler. It will display the access_token instead of "OK".&lt;/p&gt;&lt;div class="syntaxhighlighter "&gt;&lt;div class="bar                      "&gt;&lt;div class="toolbar"&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#viewSource" class="item viewSource" title="view source" style="height: 16px;"&gt;view source&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#printSource" class="item printSource" title="print" style="height: 16px;"&gt;print&lt;/a&gt;&lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx#about" class="item about" title="?" style="height: 16px;"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;private&lt;/code&gt; &lt;code class="keyword"&gt;void&lt;/code&gt; &lt;code class="plain"&gt;PhoneApplicationPage_Loaded(&lt;/code&gt;&lt;code class="keyword"&gt;object&lt;/code&gt; &lt;code class="plain"&gt;sender, RoutedEventArgs e) {&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="keyword"&gt;bool&lt;/code&gt; &lt;code class="plain"&gt;bWeAreLoggedIn = !&lt;/code&gt;&lt;code class="keyword"&gt;string&lt;/code&gt;&lt;code class="plain"&gt;.IsNullOrEmpty(App.AccessToken);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;btnLogin.IsEnabled = !bWeAreLoggedIn;&amp;nbsp;&amp;nbsp; &lt;/code&gt;&lt;code class="comments"&gt;//reverse logic&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;btnGetUserData.IsEnabled = bWeAreLoggedIn;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;btnPostToWall.IsEnabled = bWeAreLoggedIn;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;btnShowFriends.IsEnabled = bWeAreLoggedIn;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;txtStatus.Text = bWeAreLoggedIn ? &lt;/code&gt;&lt;code class="string"&gt;"Use the above buttons to access facebook"&lt;/code&gt; &lt;code class="plain"&gt;: &lt;/code&gt;&lt;code class="string"&gt;"Login to enable facebook funtions"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;txtError.Text = bWeAreLoggedIn ? App.AccessToken : &lt;/code&gt;&lt;code class="string"&gt;"OK"&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style=""&gt;&lt;code class="plain"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;This ends part one of the article series. In part two we will retrieve and send data using the Facebook API.&lt;/p&gt;&lt;a name="s25-resources"&gt;&lt;/a&gt;&lt;h3&gt;  	Resources&lt;/h3&gt;  &lt;ul&gt;  	&lt;li&gt;&lt;a href="http://www.facebook.com/developers/" rel="nofollow"&gt;Facebook developer page&lt;/a&gt;&lt;/li&gt;  	&lt;li&gt;&lt;a href="http://developers.facebook.com/docs/" rel="nofollow"&gt;Facebook developer documentation&lt;/a&gt; &lt;/li&gt;  	&lt;li&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/b13d9acc-ddfa-4235-8de8-3ebb440b7fa2" rel="nofollow"&gt;The WebBrowser Control     Fragment Bug&lt;/a&gt; &lt;/li&gt;  	&lt;li&gt;&lt;a href="http://developer.windowsphone.com/windows-phone-7/" rel="nofollow"&gt;Windows mobile 7 developer home page&lt;/a&gt; &lt;/li&gt;  	&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c8496c2a-54d9-4b11-9491-a1bfaf32f2e3&amp;amp;displaylang=en" rel="nofollow"&gt;Windows phone 7 developer     tools download (includes VS express, and Blend)&lt;/a&gt;&lt;/li&gt;  	&lt;li&gt;&lt;a href="http://manniat.pp-p.net/blog/" rel="nofollow"&gt;Visit my blog&lt;/a&gt;&lt;/li&gt;  	&lt;li&gt;&lt;a href="http://twitter.com/ManniAT" rel="nofollow"&gt;Follow me on twitter&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://dotnetslackers.com/articles/net/wFace-windows-phone-7-facebook-integration-part-1.aspx"&gt;dotnetslackers.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-3271395642663414338?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/3271395642663414338/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=3271395642663414338' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3271395642663414338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3271395642663414338'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/wface-windows-phone-7-facebook.html' title='wFace – windows phone 7 facebook integration part 1'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-947311767309955454</id><published>2010-10-28T12:40:00.001-07:00</published><updated>2010-10-28T12:40:36.751-07:00</updated><title type='text'>What’s Next in C#? Get Ready for Async!</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h3 class="post-name"&gt;What’s Next in C#? Get Ready for Async!&lt;/h3&gt;  	  &lt;div class="post-author"&gt;  &lt;span class="avatar"&gt;&lt;a href="http://blogs.msdn.com/members/alrusina/"&gt;&lt;img src="http://blogs.msdn.com/resized-image.ashx/__size/32x32/__key/CommunityServer-Components-Avatars/00-00-22-13-93/4TFKVGB7IVW1.jpg" height="27" alt="" style="border-width: 0px;" width="19" /&gt;&lt;/a&gt;&lt;/span&gt;    &lt;span class="user-name"&gt;&lt;a href="http://blogs.msdn.com/members/alrusina/" class="internal-link view-user-profile"&gt;&lt;span&gt;&lt;/span&gt;Alexandra Rusina&lt;/a&gt;&lt;/span&gt;    &lt;/div&gt;  &lt;div class="post-date"&gt;  &lt;span class="value"&gt;  28 Oct 2010 10:19 AM  &lt;/span&gt;  &lt;/div&gt;  &lt;div class="post-attributes"&gt;  &lt;p&gt;  &lt;/p&gt;&lt;ul class="attribute-list"&gt;  &lt;li class="attribute-item post-reply-count"&gt;  &lt;span class="attribute-name"&gt;Comments&lt;/span&gt;  &lt;span class="attribute-value"&gt;&lt;a href="http://blogs.msdn.com/b/csharpfaq/archive/2010/10/28/async.aspx#comments" class="internal-link view-replies"&gt;&lt;span&gt;&lt;/span&gt;0&lt;/a&gt;&lt;/span&gt;  &lt;/li&gt;  &lt;/ul&gt;  &lt;p&gt;  &lt;/p&gt;&lt;/div&gt;  &lt;div class="post-content user-defined-markup"&gt;&lt;p&gt;Today we announced the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/async.aspx"&gt;Visual Studio Async CTP&lt;/a&gt;, which shows one of the major features we plan to include in a future release of C# and Visual Basic. This feature makes development of asynchronous applications--which include everything from desktop applications with responsive UI to sophisticated web applications--much easier.&lt;/p&gt;  &lt;p&gt;The future release will introduce two new keywords to the C# language: &lt;b&gt;await&lt;/b&gt; and &lt;b&gt;async&lt;/b&gt;. The &lt;b&gt;await&lt;/b&gt; keyword is used to mark asynchronous calls, so that you don’t need to create callback functions anymore and can write code in the same way as if it were synchronous. The compiler will do all of the heavy lifting for you. The &lt;b&gt;async&lt;/b&gt; keyword must be presented in the signature of the method that makes asynchronous calls. Briefly, you can use the &lt;b&gt;await&lt;/b&gt; keyword only if the &lt;b&gt;async&lt;/b&gt; keyword is in the method signature. The same is true for lambda expressions.&lt;/p&gt;  &lt;p&gt;This post presents just a short description of the feature. I strongly recommend that you visit the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/async.aspx"&gt;Visual Studio Async CTP&lt;/a&gt; page to learn more of the details and get tons of useful resources, including the language spec and cool samples.&lt;/p&gt;  &lt;p&gt;Although we have plenty of examples and resources available, it’s never enough. So I’m giving you one more demonstration of how much easier it might be to create asynchronous programs with a future version of the C# and Visual Basic languages.&lt;/p&gt;  &lt;p&gt;First, some preparatory steps to make the example work:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Download the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/async.aspx"&gt;Visual Studio Async CTP&lt;/a&gt; and install it. &lt;/li&gt;    &lt;li&gt;Open &lt;a href="http://www.microsoft.com/visualstudio/en-us/download"&gt;Visual Studio 2010&lt;/a&gt; and create a new &lt;a href="http://www.silverlight.net/getstarted/"&gt;Silverlight 4&lt;/a&gt; project (To make things easier later, name it &lt;b&gt;FacebookAsync&lt;/b&gt;.) &lt;/li&gt;    &lt;li&gt;Add a reference to &lt;b&gt;AsyncCtpLibrary_Silverlight.dll&lt;/b&gt;. It should be in &lt;b&gt;My Documents/Microsoft Visual Studio Async CTP/Samples&lt;/b&gt;. &lt;/li&gt;    &lt;li&gt;Add a reference to the &lt;b&gt;System.Json&lt;/b&gt; library, because it’s used in the example. This is a standard Silverlight library. &lt;/li&gt;    &lt;li&gt;Go to the properties of the web project and, on the &lt;b&gt;Web&lt;/b&gt; page, check what port it uses for the &lt;b&gt;Visual Studio Development Server&lt;/b&gt;. My sample application uses the port &lt;b&gt;50750&lt;/b&gt;, so it might be easier for you to use the same one. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://developers.facebook.com/setup/"&gt;Register your application on Facebook&lt;/a&gt;. You will get an application ID (which is the same as a client ID) and a secret key. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The FacebookAsync application I want to show you downloads a list of friends from Facebook and displays their names and Facebook IDs. It has a button and a &lt;b&gt;DataGrid&lt;/b&gt; control that autogenerates columns. Here is its XAML.&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px;"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: Courier New, Courier, Monospace; font-size: 10pt;"&gt; &lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;UserControl&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;Class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="FacebookAsync.MainPage"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff0000;"&gt; xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff0000;"&gt; xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff0000;"&gt; xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;d&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/expression/blend/2008"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff0000;"&gt; xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;mc&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.openxmlformats.org/markup-compatibility/2006"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff0000;"&gt; mc&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;Ignorable&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="d"&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff0000;"&gt; d&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;DesignHeight&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="445"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; d&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;DesignWidth&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="514"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; xmlns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;sdk&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"&amp;gt;&lt;/span&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; x&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="LayoutRoot"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Background&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="White"&amp;gt;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;sdk&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;:&lt;/span&gt;&lt;span style="color: #a31515;"&gt;DataGrid&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; AutoGenerateColumns&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="True"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Height&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="282"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Left"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Margin&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="20,69,0,0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="searchResultsGrid"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Top"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Width&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="390" /&amp;gt;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Button&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Content&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Get list of friends from Facebook"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Height&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="23"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; HorizontalAlignment&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Left"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Margin&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="25,21,0,0"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Name&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="button1"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; VerticalAlignment&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Top"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Width&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="206"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; Click&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="button1_Click" /&amp;gt;&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;Grid&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515;"&gt;UserControl&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;To get a list of friends, an application needs to perform several steps (according to &lt;a href="http://developers.facebook.com/docs/api"&gt;Facebook Graph API&lt;/a&gt;), including making two asynchronous calls: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;You need to redirect from the application page to the Facebook authorization page and provide a client ID, a secret key, and a return URL as parameters of the URL. The user should authorize the application. (In debugging mode the user is probably you, so you should have your own Facebook account.) &lt;/li&gt;    &lt;li&gt;If the user authorizes the application, the Facebook API redirects to a return URL, which your application provides. Facebook also adds an authorization code into its redirect URL as a parameter. No asynchronous calls are made yet, because this is done by simply navigating between pages. &lt;/li&gt;    &lt;li&gt;The application should exchange the authorization code to an access token by using the GET request. Remember that Silverlight doesn’t have a synchronous API, so you have to make an asynchronous call. &lt;/li&gt;    &lt;li&gt;After the application gets a token, it makes a new GET request to the Facebook API to get a list of friends for the current user. Once again, this call should be asynchronous. &lt;/li&gt;    &lt;li&gt;The application parses the response from Facebook and displays it on the page. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The full code of the version that doesn’t use the new &lt;b&gt;async&lt;/b&gt; feature might look like this.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px;"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: Courier New, Courier, Monospace; font-size: 10pt;"&gt; &lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;partial&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;MainPage&lt;/span&gt; : &lt;span style="color: #2b91af;"&gt;UserControl&lt;/span&gt;&lt;br /&gt; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// Remember to change to your application URL.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; redirect_uri = &lt;span style="color: #a31515;"&gt;@"http://localhost:50750/FacebookAsyncTestPage.aspx"&lt;/span&gt;;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// Get these values by authorizing your application on Facebook.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; client_id = &lt;span style="color: #a31515;"&gt;"Your Application ID"&lt;/span&gt;;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; client_secret = &lt;span style="color: #a31515;"&gt;"Your Secret Key"&lt;/span&gt;;&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// This collection will contain the list of friends.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;ObservableCollection&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;FacebookFriend&lt;/span&gt;&amp;gt; searchResults =&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;ObservableCollection&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af;"&gt;FacebookFriend&lt;/span&gt;&amp;gt;();&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; MainPage()&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitializeComponent();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;searchResultsGrid.ItemsSource = searchResults;&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// Check whether it was a redirect from the Facebook authorization page.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt; (&lt;span style="color: #2b91af;"&gt;HtmlPage&lt;/span&gt;.Document.DocumentUri.Query.Contains(&lt;span style="color: #a31515;"&gt;"?code="&lt;/span&gt;))&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetFriends();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; button1_Click(&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af;"&gt;RoutedEventArgs&lt;/span&gt; e)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// Navigating to a Facebook authorization page. &lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// No asynchronous calls are necessary.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; facebookAuthUri =&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;@"https://graph.facebook.com/oauth/authorize?"&lt;/span&gt;);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;facebookAuthUri.Append(&lt;span style="color: #a31515;"&gt;"client_id="&lt;/span&gt;).Append(client_id)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Append(&lt;span style="color: #a31515;"&gt;@"&amp;amp;redirect_uri="&lt;/span&gt;).Append(redirect_uri);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;HtmlPage&lt;/span&gt;.Window.Navigate(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookAuthUri.ToString()));&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; GetFriends()&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; code = &lt;span style="color: #2b91af;"&gt;HtmlPage&lt;/span&gt;.Document.DocumentUri.Query.TrimStart(&lt;span style="color: #a31515;"&gt;'?'&lt;/span&gt;);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; facebookUri =&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(&lt;span style="color: #a31515;"&gt;@"https://graph.facebook.com/oauth/access_token?"&lt;/span&gt;);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;facebookUri.Append(&lt;span style="color: #a31515;"&gt;"client_id="&lt;/span&gt;).Append(client_id)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Append(&lt;span style="color: #a31515;"&gt;@"&amp;amp;redirect_uri="&lt;/span&gt;).Append(redirect_uri)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Append(&lt;span style="color: #a31515;"&gt;@"&amp;amp;client_secret="&lt;/span&gt;).Append(client_secret)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Append(&lt;span style="color: #a31515;"&gt;'&amp;amp;'&lt;/span&gt;).Append(code);&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// First asynchronous call, to get an access token.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt; proxy = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt;();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy.DownloadStringCompleted +=&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;DownloadStringCompletedEventHandler&lt;/span&gt;(OnDownloadCompleted_Token);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy.DownloadStringAsync(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookUri.ToString()));&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// Processing results of the first asynchronous call.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; OnDownloadCompleted_Token(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af;"&gt;DownloadStringCompletedEventArgs&lt;/span&gt; e)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// Second asynchronous call, to get a list of friends.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt; proxy = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt;();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy.DownloadStringCompleted +=&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;DownloadStringCompletedEventHandler&lt;/span&gt;(OnDownloadCompleted_Friends);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; facebookFriendsUri = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;@"https://graph.facebook.com/me/friends?fields=id,name&amp;amp;"&lt;/span&gt;);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;facebookFriendsUri.Append((&lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;)e.Result);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy.DownloadStringAsync(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookFriendsUri.ToString()));&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// Processing results of the second asynchronous call.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; OnDownloadCompleted_Friends(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af;"&gt;DownloadStringCompletedEventArgs&lt;/span&gt; e)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;JsonObject&lt;/span&gt; jsonObject = (&lt;span style="color: #2b91af;"&gt;JsonObject&lt;/span&gt;)&lt;span style="color: #2b91af;"&gt;JsonValue&lt;/span&gt;.Parse((&lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;)e.Result);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;JsonArray&lt;/span&gt; jsonArray = (&lt;span style="color: #2b91af;"&gt;JsonArray&lt;/span&gt;)jsonObject[&lt;span style="color: #a31515;"&gt;"data"&lt;/span&gt;];&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; friend &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; jsonArray)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;searchResults.Add(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;FacebookFriend&lt;/span&gt;() { &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Name = friend[&lt;span style="color: #a31515;"&gt;"name"&lt;/span&gt;], ID = friend[&lt;span style="color: #a31515;"&gt;"id"&lt;/span&gt;] });&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt; }&lt;/p&gt;&lt;p&gt;  &lt;span style="color: #008000;"&gt;// Items displayed in the data grid.&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;FacebookFriend&lt;/span&gt;&lt;br /&gt; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; Name { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; ID { &lt;span style="color: #0000ff;"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff;"&gt;set&lt;/span&gt;; }&lt;br /&gt; }&lt;/p&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;This is what you typically see when you have to deal with asynchronous applications: lots of callbacks, and overall the code is rather hard to read, although I spent some time on beautifying it. Now, let’s see how much easier it might be with the new &lt;b&gt;async&lt;/b&gt; feature.&lt;/p&gt;  &lt;p&gt;XAML will not change. The same is true for the &lt;b&gt;FacebookFriend&lt;/b&gt; class, the button’s event handler, and all the properties in the &lt;b&gt;MainPage&lt;/b&gt; class.&lt;/p&gt;  &lt;p&gt;The changes start, unsurprisingly, in the &lt;b&gt;GetFriends&lt;/b&gt; method. I’m going to make asynchronous calls by using the &lt;b&gt;await&lt;/b&gt; keyword. But to enable this, I have to add the &lt;b&gt;async&lt;/b&gt; keyword to the method signature.&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px;"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: Courier New, Courier, Monospace; font-size: 10pt;"&gt; &lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;async&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; GetFriends()&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Now I can start changing the code within the method. Let’s take a look at the existing code:&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px;"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: Courier New, Courier, Monospace; font-size: 10pt;"&gt; &lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #008000;"&gt;// First asynchronous call, to get an access token.&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt; proxy = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt;();&lt;br /&gt; proxy.DownloadStringCompleted +=&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;DownloadStringCompletedEventHandler&lt;/span&gt;(OnDownloadCompleted_Token);&lt;br /&gt; proxy.DownloadStringAsync(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookUri.ToString()));&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Instead of making a callback, you can get the result string by using the &lt;b&gt;await&lt;/b&gt; keyword.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px;"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: Courier New, Courier, Monospace; font-size: 10pt;"&gt; &lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #008000;"&gt;// First asynchronous call, to get an access token.&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt; proxy = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt;();&lt;br /&gt; &lt;span style="color: #2b91af;"&gt;String&lt;/span&gt; token = &lt;span style="color: #0000ff;"&gt;await&lt;/span&gt; proxy.DownloadStringTaskAsync(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookUri.ToString()));&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Note that I used a different method here: &lt;b&gt;DownloadStringTaskAsync.&lt;/b&gt; This method doesn’t exist in Silverlight today; it’s a part of the CTP release only. In addition to new keywords in the C# and Visual Basic languages, future versions of the .NET Framework and Silverlight need to implement the Task-based Asynchronous Pattern (TAP). The details about this pattern are also included into the CTP release; look for “The Task-based Asynchronous Pattern” document.&lt;/p&gt;  &lt;p&gt;According to this pattern, asynchronous methods should follow a certain naming convention: They should have the “Async” postfix (or “TaskAsync” if a method with the “Async” postfix already exists in the given API, as with the &lt;b&gt;WebClient&lt;/b&gt; class). Such methods return instances of the &lt;a href="http://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx"&gt;Task&lt;/a&gt; or &lt;a href="http://msdn.microsoft.com/en-us/library/dd321424.aspx"&gt;Task&amp;lt;TResult&amp;gt;&lt;/a&gt; class from the Task Parallel Library. But once again, the compiler does some work for you when you use the &lt;b&gt;await&lt;/b&gt; keyword. In my example, the type of the &lt;b&gt;token&lt;/b&gt; variable is not &lt;b&gt;Task&amp;lt;String&amp;gt;&lt;/b&gt;, but just &lt;b&gt;String&lt;/b&gt;; no extra work such as conversion or type casting is necessary.&lt;/p&gt;  &lt;p&gt;And now you can simply continue writing your application logic in the same method! Everything I had in the &lt;b&gt;OnDownloadCompleted_Token&lt;/b&gt; method can be moved to the &lt;b&gt;GetFriends&lt;/b&gt; method. I don’t even need to create a new &lt;b&gt;WebClient&lt;/b&gt;, since I already have one. &lt;/p&gt;  &lt;p&gt;So, the code &lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px;"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: Courier New, Courier, Monospace; font-size: 10pt;"&gt; &lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #008000;"&gt;// Second asynchronous call, to get a list of friends.&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt; proxy = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt;();&lt;br /&gt; proxy.DownloadStringCompleted +=&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;DownloadStringCompletedEventHandler&lt;/span&gt;(OnDownloadCompleted_Friends);&lt;br /&gt; &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; facebookFriendsUri = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;@"https://graph.facebook.com/me/friends?fields=id,name&amp;amp;"&lt;/span&gt;);&lt;br /&gt; facebookFriendsUri.Append((&lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;)e.Result);&lt;br /&gt; proxy.DownloadStringAsync(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookFriendsUri.ToString()));&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;from the &lt;b&gt;OnDownloadCompleted_Token()&lt;/b&gt; method can be replaced with the following code (once again, using the new &lt;b&gt;await&lt;/b&gt; keyword) and moved to the &lt;b&gt;GetFriends&lt;/b&gt; method.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px;"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: Courier New, Courier, Monospace; font-size: 10pt;"&gt; &lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #008000;"&gt;// Second asynchronous call, to get a list of friends.&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; facebookFriendsUri = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;@"https://graph.facebook.com/me/friends?fields=id,name&amp;amp;"&lt;/span&gt;);&lt;br /&gt; facebookFriendsUri.Append(token);&lt;br /&gt; &lt;span style="color: #2b91af;"&gt;String&lt;/span&gt; friends = &lt;span style="color: #0000ff;"&gt;await&lt;/span&gt; proxy.DownloadStringTaskAsync(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookFriendsUri.ToString()));&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;After that I can simply delete the &lt;b&gt;OnDownloadCompleted_Token &lt;/b&gt;method. In fact, I can make everything even shorter. I don’t need to create the &lt;b&gt;token&lt;/b&gt; variable, because I can use the &lt;b&gt;await&lt;/b&gt; keyword right in the method call, like this:&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px;"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: Courier New, Courier, Monospace; font-size: 10pt;"&gt; &lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; facebookFriendsUri = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;@"https://graph.facebook.com/me/friends?fields=id,name&amp;amp;"&lt;/span&gt;);&lt;br /&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt; proxy = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt;();&lt;br /&gt; &lt;span style="color: #008000;"&gt;// First asynchronous call, to get an access token.&lt;/span&gt;&lt;br /&gt; facebookFriendsUri.Append(&lt;span style="color: #0000ff;"&gt;await&lt;/span&gt; proxy.DownloadStringTaskAsync(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookUri.ToString())));&lt;br /&gt; &lt;span style="color: #008000;"&gt;// Second asynchronous call, to get a list of friends.&lt;/span&gt;&lt;br /&gt; &lt;span style="color: #2b91af;"&gt;String&lt;/span&gt; friends = &lt;span style="color: #0000ff;"&gt;await&lt;/span&gt; proxy.DownloadStringTaskAsync(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookFriendsUri.ToString()));&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;The last step is to simply move the code from the &lt;b&gt;OnDownloadCompleted_Friends&lt;/b&gt; method to the &lt;b&gt;GetFriends&lt;/b&gt; method and delete the &lt;b&gt;OnDownloadCompleted_Friends&lt;/b&gt; method.&lt;/p&gt;  &lt;p&gt;Here’s what the final version of the &lt;b&gt;GetFriends&lt;/b&gt; method looks like:&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px;"&gt; &lt;div style="border: #000080 1px solid; color: #000; font-family: Courier New, Courier, Monospace; font-size: 10pt;"&gt; &lt;div style="background-color: #ffffff; overflow: auto; padding: 2px 5px;"&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;async&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;void&lt;/span&gt; GetFriends()&lt;br /&gt; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; code = &lt;span style="color: #2b91af;"&gt;HtmlPage&lt;/span&gt;.Document.DocumentUri.Query.TrimStart(&lt;span style="color: #a31515;"&gt;'?'&lt;/span&gt;);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; facebookUri = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;@"https://graph.facebook.com/oauth/access_token?"&lt;/span&gt;);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;facebookUri.Append(&lt;span style="color: #a31515;"&gt;"client_id="&lt;/span&gt;).Append(client_id)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Append(&lt;span style="color: #a31515;"&gt;@"&amp;amp;redirect_uri="&lt;/span&gt;).Append(redirect_uri)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Append(&lt;span style="color: #a31515;"&gt;@"&amp;amp;client_secret="&lt;/span&gt;).Append(client_secret)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.Append(&lt;span style="color: #a31515;"&gt;'&amp;amp;'&lt;/span&gt;).Append(code);&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; facebookFriendsUri = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;StringBuilder&lt;/span&gt;(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #a31515;"&gt;@"https://graph.facebook.com/me/friends?fields=id,name&amp;amp;"&lt;/span&gt;);&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt; proxy = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;WebClient&lt;/span&gt;();&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// First asynchronous call, to get an access token.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;facebookFriendsUri.Append(&lt;span style="color: #0000ff;"&gt;await&lt;/span&gt; proxy.DownloadStringTaskAsync(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookUri.ToString())));&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008000;"&gt;// Second asynchronous call, to get a list of friends.&lt;/span&gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;String&lt;/span&gt; friends = &lt;span style="color: #0000ff;"&gt;await&lt;/span&gt; proxy.DownloadStringTaskAsync(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;Uri&lt;/span&gt;(facebookFriendsUri.ToString()));&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;JsonObject&lt;/span&gt; jsonObject = (&lt;span style="color: #2b91af;"&gt;JsonObject&lt;/span&gt;)&lt;span style="color: #2b91af;"&gt;JsonValue&lt;/span&gt;.Parse(friends);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;JsonArray&lt;/span&gt; jsonArray = (&lt;span style="color: #2b91af;"&gt;JsonArray&lt;/span&gt;)jsonObject[&lt;span style="color: #a31515;"&gt;"data"&lt;/span&gt;];&lt;/p&gt;&lt;p&gt;  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000ff;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; friend &lt;span style="color: #0000ff;"&gt;in&lt;/span&gt; jsonArray)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;searchResults.Add(&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;FacebookFriend&lt;/span&gt;() { &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Name = friend[&lt;span style="color: #a31515;"&gt;"name"&lt;/span&gt;], ID = friend[&lt;span style="color: #a31515;"&gt;"id"&lt;/span&gt;] });&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt; }&lt;/p&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;  &lt;p&gt;Instead of three methods I have just one, and it’s much more straightforward and easier to read. It simply has less code to begin with. I hope that I gave you just enough information to encourage you to explore more on your own and read more about the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/async.aspx"&gt;Visual Studio Async CTP&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://blogs.msdn.com/b/csharpfaq/archive/2010/10/28/async.aspx"&gt;blogs.msdn.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-947311767309955454?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/947311767309955454/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=947311767309955454' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/947311767309955454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/947311767309955454'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/whats-next-in-c-get-ready-for-async.html' title='What’s Next in C#? Get Ready for Async!'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-3754809521116719427</id><published>2010-10-27T23:43:00.001-07:00</published><updated>2010-10-27T23:43:40.903-07:00</updated><title type='text'>#pdc http://player.microsoftpdc.com/ старт трансляции в 20.00 мск</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-3754809521116719427?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/3754809521116719427/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=3754809521116719427' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3754809521116719427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3754809521116719427'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/pdc-httpplayermicrosoftpdccom-2000.html' title='#pdc http://player.microsoftpdc.com/ старт трансляции в 20.00 мск'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-1874624387923915640</id><published>2010-10-27T11:58:00.001-07:00</published><updated>2010-10-27T11:58:03.835-07:00</updated><title type='text'>10 Ways to Fix Windows Phone</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h1&gt;&lt;a href="http://gizmodo.com/5673838/10-ways-windows-phone-is-broken"&gt;10 Ways to Fix Windows Phone&lt;/a&gt;&lt;/h1&gt;    		  		  		&lt;p&gt;&lt;a href="http://cache.gawkerassets.com/assets/images/4/2010/10/windowsphonebroken.png" rel="lytebox"&gt;&lt;img class="left image500 image_0 v10_bigpic" src="http://cache.gawkerassets.com/assets/images/4/2010/10/500x_windowsphonebroken.jpg" height="350" alt="10 Ways to Fix Windows Phone" width="500" /&gt;&lt;/a&gt;&lt;a href="http://gizmodo.com/tag/windowsphone/" class="autolink" title="Click here to read more posts tagged #windowsphone"&gt;Windows Phone&lt;/a&gt; 7 &lt;a href="http://gizmodo.com/5668738/windows-phone-7-review"&gt;could be amazing&lt;/a&gt;. It's not, yet. Right now, it's a good start. This is what's broken, and what Microsoft has to do to make it truly awesome.&lt;/p&gt;		&lt;h1&gt;1. Multitasking for third-party apps—or at least fix the damn resume time&lt;/h1&gt;  &lt;p&gt;&lt;a href="http://gizmodo.com/tag/windowsphone7/" class="autolink" title="Click here to read more posts tagged #windowsphone7"&gt;Windows Phone 7&lt;/a&gt; doesn't have multitasking for third-party apps, even though every other major smartphone OS out there does. That's already borderline unacceptable for some people, but what made it nearly tolerable on the iPhone was relatively quick app launches, persistently saved data and fast resumes. So far, the bag is mixed. If you lock the phone and &lt;i&gt;immediately&lt;/i&gt; unlock it, with most apps right now, you'll be hit by a Windows Phone "resuming..." screen, and then you'll often have to wait for the whole goddamn app to reload, whether it's Twitter or a game that took you a minute to get going in the first place (&lt;i&gt;Rocket Riot&lt;/i&gt;, I'm looking at you).&lt;/p&gt;  &lt;p&gt;The most obvious, best solution is to get multitasking for third-party apps onto the phone as fast as possible, using a model &lt;a href="http://gizmodo.com/5512656/iphone-multitasking-will-let-you-run-apps-simultaneously"&gt;like iOS 4's limited multitasking&lt;/a&gt;. In the meantime, app load times need to get faster, and resuming apps needs to take less time than my grandfather's funeral. This &lt;i&gt;is&lt;/i&gt; possible, and it's in app developers' hands to fix it. "It's primarily an implementation thing," says Windows Phone's Greg Sullivan, though he's quick to say the blame "is still on us" for not providing the right guidance for developers on how to come back from "tombstoning," which is Microsoft's fun word for app going dormant.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cache.gawkerassets.com/assets/images/4/2010/10/windowsphone7.jpg" rel="lytebox"&gt;&lt;img class="left image500 image_1 v10_bigpic" src="http://cache.gawkerassets.com/assets/images/4/2010/10/500x_windowsphone7.jpg" height="333" alt="10 Ways to Fix Windows Phone" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;2. Make &lt;a href="http://gizmodo.com/tag/xboxlive/" class="autolink" title="Click here to read more posts tagged #xboxlive"&gt;Xbox live&lt;/a&gt; awesomer&lt;/h1&gt;  &lt;p&gt;Earning Xbox Live achievements on the toilet? Awesome. Being able to play online multiplayer games with my other Xbox Live friends &lt;i&gt;and&lt;/i&gt; earning achievements while on the toilet? That would be even awesomer. Right now, Windows Phone's link to Xbox Live is only medium satisfying, but the potential for amazing things is eyeball-explodingly obvious. Full-on Xbox Live multiplayer. Xbox Live Arcade games that you start playing on your Xbox and then pick up waiting in line at Starbucks, like &lt;i&gt;Castlevania: Symphony of the Night&lt;/i&gt;. Earning items in a &lt;i&gt;Fable&lt;/i&gt; Windows Phone game to use in &lt;i&gt;Fable IV&lt;/i&gt;. Truly ubiquitous Xbox gaming, so even the most atrophied addicts can leave the house and still get their game on. Windows Phone should be the portable Xbox. (And it should be a remote for your Xbox too.)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cache.gawkerassets.com/assets/images/4/2010/10/windowsphone7_6.jpg" rel="lytebox"&gt;&lt;img class="left image500 image_2 v10_medium" src="http://cache.gawkerassets.com/assets/images/4/2010/10/500x_windowsphone7_6.jpg" height="337" alt="10 Ways to Fix Windows Phone" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;3. Embrace the Zune cloud&lt;/h1&gt;  &lt;p&gt;ZunePass is thoroughly excellent. You can listen to basically everything in Zune's catalog as much as you want. And with Windows Phone 7, you can stream all of that over the air. But it's clear that the Zune app for WP7 wasn't really designed with "jukebox in the sky" as a primary function. You can't create playlists for streaming on the fly. You can't queue up a long list of stuff to stream from multiple artists or albums without great difficulty. (The "add to Now Playing" is awkward, and one wrong tap on a song can nuke the list.) There's no real history for streamed songs, beyond your most recent song. You can't mix local and streaming content. You can't download ZunePass songs over the air. (&lt;strong&gt;Update&lt;/strong&gt;: You can download OTA, but it's hidden by a long-press gesture that sometimes doesn't show the option on the first try.) The navigation in general for streaming content is tricker than for music that's stored directly on your phone.&lt;/p&gt;  &lt;p&gt;Make Zune the amazing streaming app and service it should be, and &lt;i&gt;really&lt;/i&gt; worth that $15 a month subscription, on top of the $30/month data fees and $5 a month for Xbox Live. Oh, and a built-in Shazam-like service that would auto-download songs would be baller.&lt;/p&gt;  &lt;h1&gt;4. Make Zune, Xbox Live and Windows Phone more integrated&lt;/h1&gt;  &lt;p&gt;If you buy a Windows Phone app on your phone, it's tacked onto your phone bill by default. If you buy it from the Zune desktop client, it's charged to the same credit card as your Zune account. Same with Xbox Live games on Windows Phone. Xbox Live and ZunePass are two totally different subscriptions. But you can buy things using Microsoft points on your actual Xbox or in the Zune desktop app (and the points are shared between your Zune and Xbox account). Theoretically, this is all tied together by your Live account. So why is it a disjointed mess than makes the iTunes ID look like a model of efficiency?&lt;/p&gt;  &lt;p&gt;Ditch the Microsoft points. Use real money for all of the services. Offer a single Xbox Live/Zune subscription at a discount that rewards your most loyal customers. And hey, it might bring in some &lt;i&gt;new&lt;/i&gt; subscribers too. Tie everything together with a bow.&lt;/p&gt;  &lt;h1&gt;5. Fix the Marketplace&lt;/h1&gt;  &lt;p&gt;Even with just 1,000 apps, the Marketplace can be frustrating to navigate. It houses three sorta separate but sorta unified storefronts—Zune for music and videos, games (the distinction between Xbox Live and non-Xbox Live games is muddy), and the overall &lt;a href="http://gizmodo.com/tag/appmarketplace/" class="autolink" title="Click here to read more posts tagged #appmarketplace"&gt;App Marketplace&lt;/a&gt;. Sometimes you're whisked away to a different store, and sometimes you're not. It's conceptually messy.&lt;/p&gt;  &lt;p&gt;It's harder than it should be to find apps on the phone right now, even with just 1,000. How's it going to be when there's 10,000?&lt;/p&gt;  &lt;h1&gt;6. A non-stupid YouTube app&lt;/h1&gt;  &lt;p&gt;Here's how watching YouTube currently works on Windows Phone: You touch the YouTube app tile. It launches Internet Explorer, which goes to YouTube's mobile site. You find the video you want. (Which won't be there half the time.) You touch it. The phone's video player opens, which is in fact part of the Zune music + videos hub.&lt;/p&gt;  &lt;p&gt;This. Is. Stupid.&lt;/p&gt;  &lt;p&gt;And you're pretty much hosed on services like Vimeo, at least until Flash 10.1 saunters its way over.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cache.gawkerassets.com/assets/images/4/2010/10/windowslivephone.jpg" rel="lytebox"&gt;&lt;img class="left image500 image_3 v10_medium" src="http://cache.gawkerassets.com/assets/images/4/2010/10/500x_windowslivephone.jpg" height="383" alt="10 Ways to Fix Windows Phone" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;7. Re-organize Live.com&lt;/h1&gt;  &lt;p&gt;Windows Phone does a lot of things really right when it comes to blending the cloud and local storage. Photos are instantly uploaded to SkyDrive or Facebook. Contacts sync in from Facebook or Google. Free find-your-phone service. But the desktop side of things, Live.com, is still kinda gross. It needs to be clean. Sleek. It should feel like Windows Phone. (&lt;a href="http://gizmodo.com/5547676/how-a-silly-phone-for-teens-reveals-microsofts-plan-for-us-all"&gt;Or Kin&lt;/a&gt;.)&lt;/p&gt;  &lt;h1&gt;8. Integrate Twitter and Flickr too&lt;/h1&gt;  &lt;p&gt;The native Twitter app is really good, when it's not taking 10 years to resume. And while having contacts pulled in from Facebook is a nice start, the People Hub should go all the way with full Twitter, Flickr and other services integrated into the core.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cache.gawkerassets.com/assets/images/4/2010/10/windowphonefocus_26.jpg" rel="lytebox"&gt;&lt;img class="left image500 image_4 v10_medium" src="http://cache.gawkerassets.com/assets/images/4/2010/10/500x_windowphonefocus_26.jpg" height="288" alt="10 Ways to Fix Windows Phone" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;9. Universal search and app organization&lt;/h1&gt;  &lt;p&gt;It's kind of incredible that the maker of the second biggest search engine in the US—and who has search tucked into the phone all over the place—doesn't have universal search to dig up apps, emails, texts or whatever.&lt;/p&gt;  &lt;p&gt;A simple scrolling list of apps is okay when you've got like 12. Not when you've got 50. Or 80. Either let us organize them by category, or use alphabetical jumps, like the Zune application.&lt;/p&gt;  &lt;h1&gt;10. Update. A lot. And quickly.&lt;/h1&gt;  &lt;p&gt;Do you remember how truly shitty Android was two years ago, when it launched? Can you believe Android 2.2 is what it looks like now? Especially when you compare how much iPhone evolved in the same period? (A lot, but Android's gone way further, since it had to come from waaaaayyyyyy behind.) Guess what? Windows Phone is the one lagging now. It's the one missing stuff that iPhone, Android, WebOS, even BlackBerry and Symbian have. So Microsoft needs to play like Google. Fast, constant updates, every couple of months until it's caught up or surpassed everybody else. You've got the resources. Use them. (I'd bet $20 there were far fewer people working on Android than on Windows Phone.) Don't blow this.&lt;/p&gt;  &lt;p&gt;Don't get me wrong. Windows Phone is great. It's fresh, and it's really joyful to use, which is 50 percent of phone to me. But I know it could be, and should be, so much better.&lt;/p&gt;						    	  	&lt;p class="contactinfo"&gt;  			Send an email to matt buchanan, the author of this post, at &lt;a href="http://gizmodo.com/5673838/10-ways-windows-phone-is-broken?skyline=true&amp;amp;s=i/mailto:matt@gizmodo.com?subject=http://gizmodo.com/5673838/10-ways-windows-phone-is-broken"&gt;matt@gizmodo.com&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://gizmodo.com/5673838/10-ways-windows-phone-is-broken?skyline=true&amp;amp;s=i"&gt;gizmodo.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-1874624387923915640?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/1874624387923915640/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=1874624387923915640' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1874624387923915640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1874624387923915640'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/10-ways-to-fix-windows-phone.html' title='10 Ways to Fix Windows Phone'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-1265784566982699757</id><published>2010-10-27T04:21:00.001-07:00</published><updated>2010-10-27T04:21:30.247-07:00</updated><title type='text'>Самое класное в windows phone это возможность писать на f#</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-10-27/GDrwIjxjsIjavhjtGJsaqbvicohAwfjkEwepGCxsGjemJHvtxEeCjGAouApC/ScreenClip.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-10-27/GDrwIjxjsIjavhjtGJsaqbvicohAwfjkEwepGCxsGjemJHvtxEeCjGAouApC/ScreenClip.png.scaled500.png" width="500" height="269"/&gt;&lt;/a&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-1265784566982699757?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/1265784566982699757/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=1265784566982699757' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1265784566982699757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/1265784566982699757'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/windows-phone-f.html' title='Самое класное в windows phone это возможность писать на f#'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-5889456553311522483</id><published>2010-10-26T02:46:00.001-07:00</published><updated>2010-10-26T02:46:28.173-07:00</updated><title type='text'>Adobe confirms Flash Player 10.1 is coming to BlackBerry, Windows Phone 7 and more</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;  		  						   			      	      	       &lt;div class="filed_under"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/article_label_fileunder.gif" /&gt;    &lt;a href="http://www.engadget.com/topics/software"&gt;Software&lt;/a&gt;,                                                            &lt;a href="http://mobile.engadget.com/topics/software"&gt;Mobile Software&lt;/a&gt;&lt;/div&gt;      		&lt;h4 class="post_title"&gt;Adobe confirms Flash Player 10.1 is coming to BlackBerry, Windows Phone 7 and more&lt;/h4&gt;  		  		&lt;div class="post_info"&gt;  			&lt;div class="post_byline"&gt;  				&lt;span class="caption"&gt;By &lt;a href="http://www.engadget.com/editor/donald-melanson"&gt;Donald Melanson&lt;/a&gt; &lt;a href="http://www.engadget.com/editor/donald-melanson/rss.xml"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/writer_rss.gif" border="0" /&gt;&lt;/a&gt; posted &lt;span class="post_time"&gt;Oct 25th 2010 5:31PM&lt;/span&gt;&lt;/span&gt;  			&lt;/div&gt;  			  			&lt;div class="post_content_types"&gt;  				&lt;p&gt;    &lt;/p&gt;&lt;div class="post_icon"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/post_icon_pr.gif" /&gt;&lt;/div&gt;     					  				&lt;p&gt;			  			&lt;/p&gt;&lt;/div&gt;                             			  			&lt;p&gt;  		  		&lt;/p&gt;&lt;/div&gt;    		  		         		&lt;div class="post_body"&gt;  			  			&lt;div style="text-align: center;"&gt;&lt;a href="http://www.engadget.com/2010/10/25/adobe-confirms-flash-player-10-1-is-coming-to-blackberry-window/"&gt;&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/06/10x0606oub05flash.jpg" border="1" align="left" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;  We've already known that Adobe would be bringing Flash Player 10.1 to &lt;a href="http://www.engadget.com/2010/02/25/adobe-taking-a-pass-on-flash-10-1-for-winmo-6-5-will-go-straigh/"&gt;Windows Phone 7&lt;/a&gt;, but the company has just now made that fully official at its currently-happening &lt;a href="http://www.engadget.com/tag/max,adobe"&gt;MAX conference&lt;/a&gt; (alongside its &lt;a href="http://www.engadget.com/2010/10/25/adobe-announces-air-2-5-for-tvs-tablets-and-phones-launches-ad/"&gt;Air 2.5 announcement&lt;/a&gt;), and it's also confirmed exactly which other mobile platforms the plug-in will be headed to. That includes WebOS 2.0, which we've already seen &lt;a href="http://www.engadget.com/2010/10/19/webos-2-0-review/"&gt;first hand&lt;/a&gt;, along with BlackBerry OS, Symbian, MeeGo and, last but not least, the LiMo platform -- those will all of course join Android 2.2, which already supports the plug-in. Unfortunately, there's still no timeline for a release on each platform, with Adobe only saying that Flash 10.1 is "expected" to hit each mobile OS. Head on past the break for the relevant snippet from Adobe's press release. &lt;blockquote&gt;  &lt;p&gt;&lt;b&gt;Flash Player 10.1&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Already one of the top free apps on Android Market, with more than  50,000 users giving it a 4.5-out-of-5 star rating, Flash Player 10.1  brings rich Flash based content to mobile devices inside the browser.  The runtime is now certified on close to a dozen Android devices and  will become available on dozens more over the coming weeks and months.  Adobe also announced that Flash Player 10.1 was downloaded more than 2  million times from Android Market. In addition to Android Market, the  runtime is distributed directly by device manufacturers and operators  via pre-installs and operating system upgrades. Flash Player 10.1 is  available on Android and Google TV today, with BlackBerry platform, HP  webOS 2.0, future versions of Windows® Phone, LiMo, MeeGo, and Symbian  OS also expected to support Flash Player 10.1. For a list of devices  supported today, visit &lt;a href="http://cts.businesswire.com/ct/CT?id=smartlink&amp;amp;url=http%3A%2F%2Fwww.adobe.com%2Fflashplatform%2Fsupported_devices%2Fsmartphones.html&amp;amp;esheet=6480709&amp;amp;lan=en-US&amp;amp;anchor=Adobe+Flash+Player+10.1+certified+devices&amp;amp;index=4&amp;amp;md5=47a40540ff5cbc00a9a91666257cabc1" target="_blank"&gt;Adobe  Flash Player 10.1 certified devices&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.engadget.com/2010/10/25/adobe-confirms-flash-player-10-1-is-coming-to-blackberry-window/"&gt;engadget.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-5889456553311522483?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/5889456553311522483/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=5889456553311522483' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5889456553311522483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5889456553311522483'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/adobe-confirms-flash-player-101-is.html' title='Adobe confirms Flash Player 10.1 is coming to BlackBerry, Windows Phone 7 and more'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-6916020009024037396</id><published>2010-10-26T00:43:00.001-07:00</published><updated>2010-10-26T00:43:38.239-07:00</updated><title type='text'>#WP7 Microsoft выпускает Windows Phone 7 Connector for Mac(бывший zune connector) все еще бета</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h3 class=""&gt;&lt;a href="http://deepapple.com/news/38501.html"&gt;Microsoft выпускает Windows Phone 7 Connector for Mac&lt;/a&gt;&lt;/h3&gt;  			26.10, &amp;nbsp;&amp;nbsp;11:29  			&lt;div class="contents"&gt;  				&lt;div class="teaser"&gt;&lt;img src="http://deepapple.com/i/news/2010-10-b/WinPho7-connector-for-Mac-news350.jpg" /&gt;&lt;/div&gt;  				&lt;div class="description"&gt;&lt;p&gt;Как явствует из заголовка этой новости, текущее портфолио разработчиков из Microsoft Macintosh Business Unit выросло ровно на одну строчку (ну или расширилось ровно на один пункт) — с оглядкой на стартовавшие недавно продажи гаджетов на платформе Windows Phone 7 редмондская корпорация озаботилась выпуском специальной утилиты под Mac OS X. Новая программа носит традиционно длинное для Мак-продуктов Microsoft &lt;strong&gt;Windows Phone 7 Connector for Mac&lt;/strong&gt; и на данный момент времени доступна исключительно в виде бета-версии:&lt;/p&gt;    &lt;p&gt;&lt;a href="http://download.microsoft.com/download/F/B/F/FBF0928F-26A2-483E-A985-5CD1B90C0D9E/WP7C_std_enu_1.0.0_101014.3_ship_regular.dmg"&gt;http://download.microsoft.com...101014.3_ship_regular.dmg&lt;/a&gt;&lt;br /&gt;  &lt;small&gt;(5,0 Mb, система 10.5 и выше).&lt;/small&gt;&lt;/p&gt;    &lt;p&gt;Возможности новой утилиты формально сводятся к официальной аннотации на полторы строчки — «Синхронизация вашей любимой музыки, фильмов, фото и подкастов из iTunes и iPhoto с Windows Phone 7», — однако в сети можно отыскать отчетливые указания на то, что музыкальную часть «макинтошного» медиаконтента можно синхронизировать и с медиаплеерами Zune — роскошь, до недавнего времени на Маках совершенно непозволительная. Однозначного подтверждения подобного подарка судьбы мы еще не отыскали, поэтому на всякий случай предупреждаем: за что купили, за то и продаем.&lt;/p&gt;    &lt;p&gt;А теперь — немногочисленные слайды:&lt;/p&gt;    &lt;p align="center"&gt;&lt;a href="http://deepapple.com/i/news/2010-10-b/WinPho7-connector-for-Mac-nr1-large.jpg"&gt;&lt;img src="http://deepapple.com/i/news/2010-10-b/WinPho7-connector-for-Mac-nr1.jpg" style="border: 1px solid black;" /&gt;&lt;/a&gt;&lt;br /&gt;  &lt;small&gt;Основное окно утилиты. Выглядит как «тунец», но сильно попроще.&lt;/small&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;a href="http://deepapple.com/i/news/2010-10-b/WinPho7-connector-for-Mac-nr2-large.jpg"&gt;&lt;img src="http://deepapple.com/i/news/2010-10-b/WinPho7-connector-for-Mac-nr2.jpg" style="border: 1px solid black;" /&gt;&lt;/a&gt;&lt;br /&gt;  &lt;small&gt;Настройки «коннектора».&lt;/small&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;a href="http://deepapple.com/i/news/2010-10-b/WinPho7-connector-for-Mac-nr3-large.jpg"&gt;&lt;img src="http://deepapple.com/i/news/2010-10-b/WinPho7-connector-for-Mac-nr3v2.jpg" style="border: 1px solid black;" /&gt;&lt;/a&gt;&lt;br /&gt;  &lt;small&gt;Раздел «Фото и видео». Привет из iPhoto!&lt;/small&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;img src="http://deepapple.com/i/news/2010-10-b/WinPho7-connector-for-Mac-nr4.jpg" style="border: 1px solid black;" /&gt;&lt;br /&gt;  &lt;small&gt;Бонусом к утилите идет расширение для менюбара Mac OS X. Лого Windows на экране Мака&lt;br /&gt; смотрится как ересь и богохульство.&lt;/small&gt;&lt;/p&gt;    &lt;p&gt;    &lt;iframe scrolling="no" src="http://api.tweetmeme.com/button.js?url=http%3A//deepapple.com/news/38501.html&amp;amp;style=compact&amp;amp;b=1" frameborder="0" height="20" width="90"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;/div&gt;  			&lt;/div&gt;  			&lt;div class="additions"&gt;&lt;span class="source"&gt;&lt;b&gt;Источник: &lt;/b&gt;&lt;a href="http://www.microsoft.com/downloads/"&gt;Microsoft Download Center&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://deepapple.com/news/38501.html"&gt;deepapple.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-6916020009024037396?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/6916020009024037396/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=6916020009024037396' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6916020009024037396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6916020009024037396'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/wp7-microsoft-windows-phone-7-connector.html' title='#WP7 Microsoft выпускает Windows Phone 7 Connector for Mac(бывший zune connector) все еще бета'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-6056932599263903197</id><published>2010-10-25T23:31:00.001-07:00</published><updated>2010-10-25T23:31:48.006-07:00</updated><title type='text'>#wp7 не знал что у мс есть альтернатива для iAd</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;table class="PageTemplate_two-one"&gt;  &lt;tr&gt;  &lt;td class="column1" valign="top"&gt;  &lt;div&gt;  &lt;div class="PageHeaderContainer"&gt;  &lt;h1 class="PageHeaderTitle"&gt;Monetize your Windows Phone 7 Apps&lt;/h1&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;div class="SectionTemplate_STANDARD"&gt;  &lt;div class="STANDARD"&gt;  &lt;h2 class="STANDARD"&gt;Download the Microsoft Advertising SDK for Windows Phone 7&lt;/h2&gt;  &lt;p&gt;  &lt;/p&gt;&lt;div&gt;&lt;br /&gt;  &lt;span class="Header1"&gt;Register your Apps with Microsoft Advertising’s solution for Windows Phone 7 Publishers and App Developers&lt;/span&gt;&lt;br /&gt;  &lt;table&gt;    &lt;tr&gt;  &lt;td rowspan="3"&gt;&lt;img src="http://advertising.microsoft.com/mobile-apps/../WWImages/en-us/ForPublishers/140x250_Misc_Mobile-Apps.jpg" height="250" alt="Download the Microsoft Mobile Advertising SDK" width="140" style="vertical-align: middle;" /&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left; vertical-align: top;"&gt;&lt;strong&gt;Make More Money&lt;/strong&gt; &lt;br /&gt;  Introducing Microsoft Advertising Exchange for Mobile, the industry’s first real-time, bidded ad exchange in mobile – leverage superior ad targeting, multiple purchase models and leading resellers including Microsoft’s sales force and large-scale adCenter marketplace. &lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td style="text-align: left; vertical-align: top;"&gt;&lt;strong&gt;Quick and Hassle Free&lt;/strong&gt;&amp;nbsp;&lt;br /&gt;  Microsoft’s simple Ad Control, self-serve developer sign-up, reporting and automated payout ensures a seamless ad monetization experience for developers.&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td style="text-align: left; vertical-align: top;"&gt;&lt;strong&gt;See What’s Working&lt;/strong&gt;&amp;nbsp;&lt;br /&gt;  Actionable reporting helps developers optimize for best user experience and advertising yield.&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;span class="Header1"&gt;Get started in three easy steps&lt;/span&gt;&amp;nbsp;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;table&gt;    &lt;tr&gt;  &lt;td&gt;&lt;img src="http://advertising.microsoft.com/mobile-apps/../wwimages/en-us/forpublishers/Circle_1.png" height="40" alt="Download the SDK" width="40" style="vertical-align: middle;" /&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&lt;strong&gt;Download the Ad Control SDK.&lt;/strong&gt; Download the&amp;nbsp;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=198440" class="com/fwlink/" target="_blank"&gt;Ad SDK&lt;/a&gt; to build your app and run ads in test mode that requires no on-boarding to try out the Microsoft Advertising SDK for Windows Phone&amp;nbsp;7.&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;img src="http://advertising.microsoft.com/mobile-apps/../WWImages/en-us/ForPublishers/Circle_2.png" height="40" alt="Sign Up for pubCenter Mobile" width="40" style="vertical-align: middle;" /&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&lt;strong&gt;Register your mobile app&lt;/strong&gt;.&amp;nbsp;&lt;a href="https://pubcenter.microsoft.com" class="com" target="_blank"&gt;Sign up&lt;/a&gt; and register your Windows Phone 7 apps using Microsoft Advertising’s solution for Windows Phone 7 publishers and app developers.&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;img src="http://advertising.microsoft.com/mobile-apps/../WWImages/en-us/ForPublishers/Circle_3.png" height="40" alt="Implement and Submit" width="40" style="vertical-align: middle;" /&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&lt;strong&gt;Implement and Submit.&lt;/strong&gt; Set the Application Id and Ad Unit Id properties in the Ad Control and submit your ad-enabled app to the Windows Phone marketplace. &lt;strong&gt;Microsoft will begin accepting applications from the developer community for the Windows Phone Marketplace in early October.&lt;/strong&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt;  &lt;p&gt;    &lt;span class="SubHeader1"&gt;Helpful Links:&lt;/span&gt;&amp;nbsp;  &lt;/p&gt;&lt;ul&gt;  &lt;li&gt;&lt;a href="http://advertising.microsoft.com/mobile-apps/../WWDocs/User/en-us/ForPublishers/Ads-in-Windows-Phone-7-Apps-FAQs.pdf" class="pdf" target="_blank"&gt;Frequently Asked Questions&lt;/a&gt;&amp;nbsp; &lt;/li&gt;  &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=198440" class="com/fwlink/" target="_blank"&gt;Download&lt;/a&gt; the free Microsoft Advertising SDK for Windows Phone 7. &lt;/li&gt;  &lt;li&gt;Register your U.S. Windows Phone 7 app on &lt;a href="https://pubcenter.microsoft.com" class="com" target="_blank"&gt;https://pubcenter.microsoft.com&lt;/a&gt;. Please&amp;nbsp;&lt;a href="http://advertising.microsoft.com/mobile-apps/mailto:ad-pub@microsoft.com" class="com"&gt;email&lt;/a&gt; &lt;strong&gt;or&lt;/strong&gt;&amp;nbsp;&lt;a href="http://community.microsoftadvertising.com/forums/t/67160.aspx" class="aspx" target="_blank"&gt;visit this community and ask questions&lt;/a&gt; &lt;strong&gt;once you have registered&lt;/strong&gt;. &lt;/li&gt;  &lt;li&gt;Read the September 16 Microsoft Advertising SDK for Windows Phone 7 launch announcements on&amp;nbsp;&lt;a href="http://community.microsoftadvertising.com/blogs/advertising/archive/2010/09/16/launched-mobile-advertising-sdk-for-windows-phone-7-apps-amp-rtb-exchange.aspx" class="aspx" target="_blank"&gt;Microsoft Advertising&lt;/a&gt; and&amp;nbsp;&lt;a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/09/16/windows-phone-developer-tools-are-final.aspx" class="aspx" target="_blank"&gt;Windows Phone Developer&lt;/a&gt; blog posts &lt;/li&gt;  &lt;li&gt;Read the September 29 Microsoft Advertising’s solution for Windows Phone 7 publishers and developers announcement blog on &lt;a href="http://community.microsoftadvertising.com/blogs/pubcenter/archive/2010/09/29/register-windows-phone-7-apps-microsoft-advertising-publishers-app-developers.aspx" class="aspx" target="_blank"&gt;Microsoft Advertising&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://advertising.microsoft.com/mobile-apps"&gt;advertising.microsoft.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-6056932599263903197?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/6056932599263903197/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=6056932599263903197' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6056932599263903197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6056932599263903197'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/wp7-iad.html' title='#wp7 не знал что у мс есть альтернатива для iAd'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-5174188192088456286</id><published>2010-10-25T23:30:00.001-07:00</published><updated>2010-10-25T23:30:19.849-07:00</updated><title type='text'>Event : Firestarter Silverlight agenda</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h2&gt;Firestarter Live Agenda&lt;/h2&gt;    &lt;table class="tbl_common tbl_firestarter"&gt;    &lt;tr&gt;  &lt;th&gt;Time  &lt;/th&gt;&lt;th class="presenter"&gt;Presenter  &lt;/th&gt;&lt;th&gt;Session Details  &lt;/th&gt;&lt;/tr&gt;      &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;8:00 am&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;  &lt;img src="http://www.silverlight.net/content/general/events/scottgu.jpg" height="24" alt="Scott Guthrie" width="24" style="vertical-align: middle;" /&gt;  &amp;nbsp;&lt;a href="http://weblogs.asp.net/scottgu/"&gt;Scott Guthrie&lt;/a&gt;&lt;/td&gt;  &lt;td&gt;Silverlight Firestarter Keynote&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;9:00 am&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/yavorg.jpg" height="24" alt="Yavor Georgiev" style="vertical-align: middle;" width="24" /&gt;  &amp;nbsp;Yavor Georgiev /&lt;img src="http://www.silverlight.net/content/general/events/jliberty.jpg" height="24" alt="Jesse Liberty" style="vertical-align: middle;" width="24" /&gt;  &amp;nbsp;&lt;a href="http://jesseliberty.com/"&gt;Jesse Liberty&lt;/a&gt;&lt;/td&gt;  &lt;td&gt;Building Compelling Apps with WCF Using REST and LINQ for Silverlight and WP7&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;10:00 am&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/break.jpg" height="24" alt="" width="24" style="vertical-align: middle;" /&gt;&lt;/td&gt;  &lt;td&gt;15 minute break&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;10:15 am&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/dan_wahlin.jpg" height="24" alt="Dan Wahlin" width="24" style="vertical-align: middle;" /&gt;  &amp;nbsp;Dan Wahlin&lt;/td&gt;  &lt;td&gt;Building Feature Rich Business Apps Today with RIA Services&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;11:15 am&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/jopapa.jpg" height="24" alt="John Papa" width="24" style="vertical-align: middle;" /&gt;  &amp;nbsp;&lt;a href="http://johnpapa.net"&gt;John Papa&lt;/a&gt;&lt;/td&gt;  &lt;td&gt;MVVM: Why and How? Tips and Patterns using MVVM and Service Patterns with Silverlight and WP7&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;12:15 pm&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/lunch.jpg" height="24" alt="" width="24" style="vertical-align: middle;" /&gt;&lt;/td&gt;  &lt;td&gt;Lunch break&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;1:00 pm&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/scottgu.jpg" height="24" alt="" width="24" style="vertical-align: middle;" /&gt;&lt;/td&gt;  &lt;td&gt;Silverlight Today and Tomorrow (Special Guest Panel)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;1:30 pm&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/timheuer.jpg" height="24" alt="Tim Heuer" width="24" style="vertical-align: middle;" /&gt;  &amp;nbsp;&lt;a href="http://timheuer.com"&gt;Tim Heuer&lt;/a&gt;&lt;/td&gt;  &lt;td&gt;Building Real World Silverlight Apps&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;2:30 pm&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/break.jpg" height="24" alt="" width="24" style="vertical-align: middle;" /&gt;&lt;/td&gt;  &lt;td&gt;15 minute break&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;2:45 pm&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/pair.jpg" height="24" alt="Scott Guthrie" width="24" style="float: left;" /&gt;  &amp;nbsp; Mike Cook &amp;amp;&lt;br /&gt;  &amp;nbsp; Jossef Goldberg&lt;/td&gt;  &lt;td&gt;Tune Your Application: Profiling and Performance Tips&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;3:45 pm&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/jaimer.jpg" height="24" alt="Jaime Rodriguez" width="24" style="vertical-align: middle;" /&gt;  &amp;nbsp;&lt;a href="http://blogs.msdn.com/b/jaimer/"&gt;Jaime Rodriguez&lt;/a&gt;&lt;/td&gt;  &lt;td&gt;Killer Performance Tips for Silverlight Windows Phone 7&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;strong&gt;5:00 pm&lt;/strong&gt;&lt;/td&gt;  &lt;td&gt;&lt;img src="http://www.silverlight.net/content/general/events/party.jpg" height="24" alt="" width="24" style="vertical-align: middle;" /&gt;&lt;/td&gt;  &lt;td&gt;After Party!&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.silverlight.net/news/events/firestarter/"&gt;silverlight.net&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-5174188192088456286?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/5174188192088456286/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=5174188192088456286' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5174188192088456286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5174188192088456286'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/event-firestarter-silverlight-agenda.html' title='Event : Firestarter Silverlight agenda'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8113941141708502268</id><published>2010-10-25T23:29:00.001-07:00</published><updated>2010-10-25T23:29:06.641-07:00</updated><title type='text'>MVVM Light Toolkit</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h1&gt;roject Description&lt;/h1&gt;  The MVVM Light Toolkit is a set of components helping people to get started in the Model - View - ViewModel pattern in Silverlight and WPF. It is a light and pragmatic framework that contains only the essential components needed.&lt;br /&gt;  &lt;h1&gt;Get started&lt;/h1&gt;  More information about the MVVM Light Toolkit can be found on &lt;a href="http://www.galasoft.ch/mvvm/getstarted" class="externalLink"&gt;http://www.galasoft.ch/mvvm/getstarted&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;  &lt;h1&gt;Donate&lt;/h1&gt;  If you are so enclined, you can &lt;a href="http://www.galasoft.ch/mvvm/donate" class="externalLink"&gt;donate to MVVM Light Toolkit&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Or, if you prefer, you can pay me a beer next time we're in the same vicinity. Really, it is OK too :)&lt;br /&gt;  &lt;h1&gt;Latest news:&lt;/h1&gt;  &lt;div class="rss"&gt;&lt;div class="accentbar"&gt;&lt;span class="left"&gt;&amp;nbsp;&lt;/span&gt;MVVM News Feed&lt;span class="right"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="entry"&gt;&lt;div class="title"&gt;&lt;a href="http://blog.galasoft.ch/archive/2010/07/22/mvvm-light-hotfix-for-windows-phone-7-developer-tools-beta.aspx"&gt;MVVM Light Hotfix for Windows Phone 7 developer tools beta&lt;/a&gt;&lt;/div&gt;&lt;div class="moreinfo"&gt;&lt;span class="date"&gt;Thursday, July 22, 2010&lt;/span&gt; &amp;nbsp;|&amp;nbsp; &lt;span class="source"&gt;From &lt;a href="http://blog.galasoft.ch/category/10201.aspx/rss" target="_blank"&gt;MVVM&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/WindowsLiveWriter/MVVMLightHotfixforWindowsPhone7developer_8F5D/4084199726_d1cc8527aa_o%5B1%5D_2.png" rel="lightbox"&gt;&lt;img title="4084199726_d1cc8527aa_o[1]" src="http://geekswithblogs.net/images/geekswithblogs_net/lbugnion/WindowsLiveWriter/MVVMLightHotfixforWindowsPhone7developer_8F5D/4084199726_d1cc8527aa_o%5B1%5D_thumb.png" border="0" height="210" alt="4084199726_d1cc8527aa_o[1]" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px;" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This is a hotfix to correct the issues with the MVVM Light templates for Windows Phone 7.&lt;/p&gt;  &lt;h2&gt;Who is it for?&lt;/h2&gt;  &lt;p&gt;Use this hotfix if (and only if):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You have &lt;a href="http://www.galasoft.ch/mvvm/installing/manually/" target="_blank"&gt;MVVM Light Toolkit V3 SP1&lt;/a&gt; installed. &lt;/li&gt;    &lt;li&gt;You are using the new developer tools beta for Windows Phone 7. &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Why a hotfix?&lt;/h2&gt;  &lt;p&gt;The hotifx is needed because of changes in the Microsoft Windows Phone 7 assemblies (regrouping of classes in different namespaces and/or different assemblies) as well as some other changes (manifest structure, etc). The MVVM Light assemblies do not need any update however, and continue to work as expected with the new release.&lt;/p&gt;  &lt;h2&gt;How to install?&lt;/h2&gt;  &lt;p&gt;The installation process is described at &lt;a href="http://www.galasoft.ch/mvvm/installing/hotfix20100719/"&gt;http://www.galasoft.ch/mvvm/installing/hotfix20100719/&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;Note about Blend:&lt;/h2&gt;  &lt;p&gt;At the moment, Blend for Windows Phone beta seems unable to load custom template. I have a pending question with Microsoft to try and clear this up. Right now, the workaround is to create the MVVM Light application for Windows Phone 7 in Visual Studio, and then to open it in Blend for Windows Phone beta.&lt;/p&gt;  &lt;p&gt;Happy coding!&lt;/p&gt;  &lt;p&gt;Laurent&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;div style=""&gt;   &lt;div style="vertical-align: middle;"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" alt="GalaSoft Laurent Bugnion" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style=""&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt;       &lt;br /&gt;&lt;iframe scrolling="no" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.galasoft.ch/archive/2010/07/22/mvvm-light-hotfix-for-windows-phone-7-developer-tools-beta.aspx&amp;amp;layout=standard&amp;amp;show_faces=true&amp;amp;width=450&amp;amp;action=like&amp;amp;colorscheme=light" frameborder="0" style=""&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://mvvmlight.codeplex.com/"&gt;mvvmlight.codeplex.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8113941141708502268?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8113941141708502268/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8113941141708502268' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8113941141708502268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8113941141708502268'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/mvvm-light-toolkit.html' title='MVVM Light Toolkit'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-798400242369454746</id><published>2010-10-25T12:52:00.001-07:00</published><updated>2010-10-25T12:52:03.171-07:00</updated><title type='text'>#EngadgetShow - 014:как всегда прекрасен посмеялся от души</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h4 class="post_title"&gt;The Engadget Show - 014: Aaron Woodman, Windows Phone 7, Google TV, Macbook Airs, Palm Pre 2, Halloween Costumes, and more!&lt;/h4&gt;  		  		&lt;div class="post_info"&gt;  			&lt;div class="post_byline"&gt;  				&lt;span class="caption"&gt;By &lt;a href="http://www.engadget.com/editor/chad-mumm"&gt;Chad Mumm&lt;/a&gt; &lt;a href="http://www.engadget.com/editor/chad-mumm/rss.xml"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/writer_rss.gif" border="0" height="10" width="11" /&gt;&lt;/a&gt; posted &lt;span class="post_time"&gt;Oct 25th 2010 1:43PM&lt;/span&gt;&lt;/span&gt;  			&lt;/div&gt;  			  			&lt;div class="post_content_types"&gt;  				&lt;div class="post_category"&gt;   					  &lt;div class="post_feature sprite"&gt;&lt;a href="http://www.engadget.com/features/#latest"&gt;&lt;span&gt;Feature&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;               				&lt;/div&gt;      					  				&lt;p&gt;			  			&lt;/p&gt;&lt;/div&gt;                             			  			&lt;p&gt;  		  		&lt;/p&gt;&lt;/div&gt;    		  		         		&lt;div class="post_body"&gt;  			  			&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/08/eng-show-teaser-12-rm-eng.jpg" border="1" height="200" alt="" style="display: none;" width="400" /&gt;  &lt;div style="text-align: center;"&gt;&lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google/"&gt; &lt;img src="http://www.blogcdn.com/www.engadget.com/media/2009/09/show_front_sm.jpg" border="0" height="338" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;  Get ready humans, because we have an all new, amazing Engadget Show fresh out of the box. For your viewing pleasure, Josh sits down with Microsoft director &lt;strong&gt;Aaron Woodman&lt;/strong&gt; to chat &lt;strong&gt;Windows Phone 7&lt;/strong&gt; and demo nearly all of the new devices, including the &lt;strong&gt;Dell Venue Pro&lt;/strong&gt;. Next up, &lt;strong&gt;Darren Murph&lt;/strong&gt; joins the round table for a bunch of demos, including the new &lt;strong&gt;Macbook Airs&lt;/strong&gt;, &lt;strong&gt;Palm Pre 2&lt;/strong&gt;, and more &lt;strong&gt;Windows Phone 7&lt;/strong&gt;. Nilay leads a thorough demo of &lt;strong&gt;Google TV&lt;/strong&gt; via the &lt;strong&gt;Logitech Revue&lt;/strong&gt; and Engadget editors Ben Drawbaugh and Tim Stevens make some unbelievable cameos. We've got highlights from the &lt;strong&gt;New York Reader Meetup&lt;/strong&gt;, plus a &lt;strong&gt;Halloween costume contest&lt;/strong&gt; that quickly gets out of hand. To round it all out, &lt;a href="http://www.myspace.com/kriskeyser"&gt;Kris Keyser&lt;/a&gt; brings the jams with a rocking set of chiptunes music with visuals from &lt;a href="http://www.myspace.com/johnnybeverly1989"&gt;noteNdo&lt;/a&gt;. What are you waiting for? Watch it now! Hit up the &lt;strong&gt;new video stream&lt;/strong&gt; after the break, now with &lt;strong&gt;convenient chapter markers&lt;/strong&gt;! &lt;p&gt;    &lt;strong&gt;Hosts:&lt;/strong&gt; Joshua Topolsky, Nilay Patel, Paul Miller&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;Special guests:&lt;/span&gt; Aaron Woodman, Darren Murph, Ben Drawbaugh, Tim Stevens, Tim Stevens' dog Bowser&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;Produced and Directed by:&lt;/span&gt; &lt;a href="http://twitter.com/chadmumm"&gt;Chad Mumm&lt;/a&gt;&lt;br /&gt;  &lt;strong&gt;Executive Producer:&lt;/strong&gt; Joshua Fruhlinger&lt;br /&gt;  &lt;strong&gt;Edited&lt;/strong&gt; &lt;strong&gt;by:&lt;/strong&gt; Danny Madden&lt;br /&gt;  &lt;strong&gt;Music by:&lt;/strong&gt; &lt;a href="http://www.myspace.com/kriskeyser"&gt;Kris Keyser&lt;/a&gt;&lt;br /&gt;  &lt;strong&gt;Visuals by: &lt;/strong&gt;&lt;a href="http://www.myspace.com/johnnybeverly1989"&gt;&lt;span style="text-decoration: underline;"&gt;noteNdo&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;  &lt;strong&gt;Opening titles by:&lt;/strong&gt; &lt;a href="http://jnantiec.com/"&gt;Julien Nantiec&lt;/a&gt;&lt;/p&gt;&lt;p&gt;    &lt;strong&gt;Taped live at&lt;/strong&gt; &lt;a href="http://thetimescenter.com/"&gt;The Times Center&lt;/a&gt;&lt;/p&gt;&lt;p&gt;    &lt;strong&gt;Download the Show: &lt;/strong&gt;&lt;a href="http://www.engadget.com/castfire_videos/445055/engadget_show_2010-10-25-012855.2500.mp4" target="_blank"&gt;The Engadget Show - 014&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt;(HD) / &lt;a href="http://www.engadget.com/castfire_videos/445055/engadget_show_2010-10-25-012855.900.mp4" target="_blank"&gt;The Engadget Show - 014&lt;/a&gt; (iPod / iPhone / Zune formatted) / &lt;a href="http://www.engadget.com/castfire_videos/445055/engadget_show_2010-10-25-012855.500.mp4"&gt;The Engadget Show - 014&lt;/a&gt; (Small)&lt;/p&gt;&lt;p&gt;    &lt;strong&gt;Subscribe to the Show:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;    [&lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=333047486"&gt;iTunes&lt;/a&gt;] Subscribe to the Show directly in iTunes (M4V).&lt;br /&gt;  [&lt;a href="http://social.zune.net/my/ContentRedirect.ashx?mid=72550ef0-14eb-47f5-8a2f-90eb5e08caa0&amp;amp;mtype=Podcast&amp;amp;CampaignID=1&amp;amp;affiliateID="&gt;Zune&lt;/a&gt;] Subscribe to the Show directly in the Zune Marketplace (M4V).&lt;br /&gt;  [&lt;a href="http://www.engadget.com/engadgetshow.xml"&gt;RSS M4V&lt;/a&gt;] Add the Engadget Show feed (M4V) to your RSS aggregator and have it delivered automatically.  &lt;object height="314" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="500"&gt;&lt;param name="movie" value="http://www.viddler.com/player/8ce986a9/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed name="viddler_8ce986a9" src="http://www.viddler.com/player/8ce986a9/" allowfullscreen="true" type="application/x-shockwave-flash" allowscriptaccess="always" height="314" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;  Jump to:&lt;br /&gt;  1. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;Interview with Microsoft's Aaron Woodman&lt;/a&gt;&lt;br /&gt;  2. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;Dell Venue Pro hands-on!&lt;/a&gt;&lt;br /&gt;  3. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;Highlights from the Engadget Reader Meetup, NYC&lt;/a&gt;&lt;br /&gt;  4. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;Josh, Paul, Nilay, and Darren round table discussion&lt;/a&gt;&lt;br /&gt;  5. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;More Windows Phone 7 device analysis&lt;/a&gt;&lt;br /&gt;  6. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;Palm Pre 2 and WebOS 2.0 demo&lt;/a&gt;&lt;br /&gt;  7. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;New Macbook Airs demoed&lt;/a&gt;&lt;br /&gt;  8. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;Nilay leads a Google TV hands-on with the Logitech Revue&lt;/a&gt;&lt;br /&gt;  9. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;Things get meta... really, really meta.&lt;/a&gt;&lt;br /&gt;  10.&lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;Halloween audience costume contest!&lt;/a&gt;&lt;br /&gt;  11. &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google#viddler_8ce986a9"&gt;Live music from Kris Keyser with visuals by noteNdo&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.engadget.com/2010/10/25/the-engadget-show-014-aaron-woodman-windows-phone-7-google/"&gt;engadget.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-798400242369454746?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/798400242369454746/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=798400242369454746' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/798400242369454746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/798400242369454746'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/engadgetshow-014.html' title='#EngadgetShow - 014:как всегда прекрасен посмеялся от души'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8518511818817513461</id><published>2010-10-25T00:50:00.001-07:00</published><updated>2010-10-25T00:50:55.567-07:00</updated><title type='text'>Беспокоитесь о земле?  Дядя Джордж шутит</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object height="417" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/MXTBotdauPo&amp;hl=en&amp;fs=1" /&gt;&lt;param name="wmode" value="window" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed allowfullscreen="true" src="http://www.youtube.com/v/MXTBotdauPo&amp;hl=en&amp;fs=1" wmode="window" allowscriptaccess="always" type="application/x-shockwave-flash" height="417" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.youtube.com/watch?v=MXTBotdauPo"&gt;youtube.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8518511818817513461?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8518511818817513461/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8518511818817513461' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8518511818817513461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8518511818817513461'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_25.html' title='Беспокоитесь о земле?  Дядя Джордж шутит'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-262789039826582323</id><published>2010-10-25T00:36:00.001-07:00</published><updated>2010-10-25T00:36:25.686-07:00</updated><title type='text'>Требуется c# программист зп по рез собесед примерно 70 т.р. белая чистая</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-262789039826582323?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/262789039826582323/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=262789039826582323' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/262789039826582323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/262789039826582323'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/c-70.html' title='Требуется c# программист зп по рез собесед примерно 70 т.р. белая чистая'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-4261638573250756340</id><published>2010-10-24T14:25:00.001-07:00</published><updated>2010-10-24T14:25:06.539-07:00</updated><title type='text'>Hodza Nassredin's weekly podcast 0 http://hwp.rpod.ru/181877.html</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-4261638573250756340?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/4261638573250756340/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=4261638573250756340' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4261638573250756340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4261638573250756340'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/hodza-nassredin-weekly-podcast-0.html' title='Hodza Nassredin&amp;#39;s weekly podcast 0 http://hwp.rpod.ru/181877.html'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-4183067978459001094</id><published>2010-10-24T08:51:00.001-07:00</published><updated>2010-10-24T08:51:57.554-07:00</updated><title type='text'>Балмер ссука жжот</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h4 class="post_title"&gt;Ballmer: next release of Windows will be Microsoft's 'riskiest product bet' (video)&lt;/h4&gt;  		  		&lt;div class="post_info"&gt;  			&lt;div class="post_byline"&gt;  				&lt;span class="caption"&gt;By &lt;a href="http://www.engadget.com/editor/vlad-savov"&gt;Vlad Savov&lt;/a&gt; &lt;a href="http://www.engadget.com/editor/vlad-savov/rss.xml"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/writer_rss.gif" border="0" height="10" width="11" /&gt;&lt;/a&gt; posted &lt;span class="post_time"&gt;Oct 23rd 2010 11:01AM&lt;/span&gt;&lt;/span&gt;  			&lt;/div&gt;  			  			&lt;p&gt;                             			  			&lt;/p&gt;&lt;p&gt;  		  		&lt;/p&gt;&lt;/div&gt;    		  		         		&lt;div class="post_body"&gt;  			  			&lt;div style="text-align: center;"&gt;&lt;a href="http://www.engadget.com/2010/10/23/ballmer-next-release-of-windows-will-be-microsofts-riskiest-p/"&gt;&lt;img src="http://www.blogcdn.com/www.engadget.com/media/2010/10/10x1023ibu34t5fnlljuds.jpg" border="1" height="325" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;  Windows 7 might be a massive &lt;a href="http://www.engadget.com/2010/10/21/windows-7-moves-240-million-copies-in-its-first-year/"&gt;commercial success&lt;/a&gt; and an undeniably &lt;a href="http://www.engadget.com/2009/08/12/windows-7-review/"&gt;rock solid&lt;/a&gt; piece of software, but Microsoft is apparently unwilling to rest on those soft and cozy laurels. Asked about the riskiest product bet the Redmond crew is currently developing, its fearless leader Steve Ballmer took no time in answering "the next release of Windows." His interviewers sadly failed to probe any deeper on the subject, but it might be notable that Steve calls it the &lt;a href="http://www.engadget.com/2010/02/10/microsoft-employee-raves-about-windows-next-in-a-blog-post-bl/"&gt;&lt;em&gt;next&lt;/em&gt;&lt;/a&gt; release rather than simply Windows 8, while the idea of it being risky also ties in with previous indications that Microsoft is aiming for a &lt;a href="http://www.engadget.com/2010/06/28/early-windows-8-features-to-include-startup-performance-boost-v/"&gt;revolutionary leap&lt;/a&gt; between iterations. We'll have to just be patient and wait for more on that, though if you'd like a peek at Steve dodging question on tablets and the potential for Windows Phone 7 appearing on them, you need only jump past the break for the video.&lt;p&gt;    &lt;strong&gt;Update:&lt;/strong&gt; It's also worth noting that Ballmer may not have been talking about revolutionary leaps as much as he's referencing the past issues the company has had when it's issued a major OS update (hello, Vista). The idea that making any big change to the operating system most of the world runs would invite a certain amount of high risk makes sense to us.&lt;br type="_moz" /&gt; &lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;  &lt;object height="395" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/iI47b3a9cEI?fs=1&amp;amp;hl=en_US" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed src="http://www.youtube.com/v/iI47b3a9cEI?fs=1&amp;amp;hl=en_US" allowfullscreen="true" type="application/x-shockwave-flash" allowscriptaccess="always" height="395" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;    &lt;object height="301" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/BKB8XEXm3Oo?fs=1&amp;amp;hl=en_US" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed src="http://www.youtube.com/v/BKB8XEXm3Oo?fs=1&amp;amp;hl=en_US" allowfullscreen="true" type="application/x-shockwave-flash" allowscriptaccess="always" height="301" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;/div&gt;    			&lt;p&gt;  		  		&lt;/p&gt;&lt;/div&gt;      		  	&lt;div class="post_footer"&gt;   		  		&lt;div class="post_footer_left"&gt;    &lt;table class="spanks"&gt;&lt;tr&gt;&lt;td valign="bottom"&gt;  			&lt;div class="post_via "&gt; &lt;img class="img_label" src="http://www.blogsmithmedia.com/www.engadget.com/media/post_label_VIA.gif" height="9" alt="" width="17" /&gt;&lt;span class="caption"&gt;&lt;a href="http://gizmodo.com/5671359/microsoft-ceo-ballmer-the-companys-riskiest-product-bet-is-the-next-version-of-windows"&gt;Gizmodo&lt;/a&gt;, &lt;a href="http://www.zdnet.com/blog/microsoft/ballmer-riskiest-product-bet-by-microsoft-is-the-next-release-of-windows/7786"&gt;ZDNet&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;   			&lt;p&gt;  &lt;/p&gt;&lt;div class="post_source img_label"&gt;&lt;img class="img_label" src="http://www.blogsmithmedia.com/www.engadget.com/media/post_label_source.gif" height="9" alt="source" width="40" /&gt;&lt;span class="caption"&gt;&lt;a href="http://www.youtube.com/watch?v=iI47b3a9cEI"&gt;Gartnervideo (YouTube)&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;    	    &lt;/div&gt;   	                 &lt;div class="post_footer_right"&gt;                                   		&lt;div class="post_comment_icon post_footer_right_div"&gt;&lt;div class="post_num_comments"&gt;&lt;a href="http://www.engadget.com/2010/10/23/ballmer-next-release-of-windows-will-be-microsofts-riskiest-p#disqus_thread"&gt;581&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;    				&lt;div class="post_comment_tail"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/post_icon_comment_tail.gif" height="7" width="8" /&gt;&lt;/div&gt;    				&lt;div class="post_comment sprite post_footer_right_div"&gt;&lt;a href="http://www.engadget.com/2010/10/23/ballmer-next-release-of-windows-will-be-microsofts-riskiest-p/#comments"&gt;&lt;span&gt;Leave A Comment&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;        &lt;div class="footer-share-twitter floatR"&gt;&lt;iframe scrolling="no" class="twitter-share-button twitter-count-horizontal" title="Twitter For Websites: Tweet Button" src="http://platform0.twitter.com/widgets/tweet_button.html?_=1287934952745&amp;amp;count=horizontal&amp;amp;lang=en&amp;amp;text=Ballmer%3A%20next%20release%20of%20Windows%20will%20be%20Microsoft's%20'riskiest%20product%20bet'%20(video)&amp;amp;url=http%3A%2F%2Fwww.engadget.com%2F2010%2F10%2F23%2Fballmer-next-release-of-windows-will-be-microsofts-riskiest-p%2F&amp;amp;via=engadget" frameborder="0" style="height: 20px;"&gt;&lt;/iframe&gt;&lt;/div&gt;    		 &lt;/div&gt;   	  		  		&lt;p&gt;    		&lt;/p&gt;&lt;p /&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.engadget.com/2010/10/23/ballmer-next-release-of-windows-will-be-microsofts-riskiest-p/"&gt;engadget.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-4183067978459001094?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/4183067978459001094/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=4183067978459001094' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4183067978459001094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4183067978459001094'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_24.html' title='Балмер ссука жжот'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-4781591012902620531</id><published>2010-10-24T06:08:00.001-07:00</published><updated>2010-10-24T06:08:16.899-07:00</updated><title type='text'>http://rome.adobe.com стоит взглянуть</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-4781591012902620531?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/4781591012902620531/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=4781591012902620531' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4781591012902620531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4781591012902620531'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/httpromeadobecom.html' title='http://rome.adobe.com стоит взглянуть'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8301561779744937904</id><published>2010-10-23T10:44:00.001-07:00</published><updated>2010-10-23T10:44:34.395-07:00</updated><title type='text'>Наблюдение за миром с легким оттенком фрустрации.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;Смотрю я на отношения ведущих IT компаний и мне, все больше, это напоминает безумную семейку, где каждый тянет одеяло на себя, смешанную с бегами и тотализатором. Какой то адский месс технологий и политики. И что то мне все меньше это нравится.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8301561779744937904?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8301561779744937904/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8301561779744937904' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8301561779744937904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8301561779744937904'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_23.html' title='Наблюдение за миром с легким оттенком фрустрации.'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-6565621330980977972</id><published>2010-10-23T03:43:00.001-07:00</published><updated>2010-10-23T03:43:40.521-07:00</updated><title type='text'>Не знаете как написать регексп все ответы тут http://regexlib.com</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-6565621330980977972?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/6565621330980977972/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=6565621330980977972' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6565621330980977972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6565621330980977972'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/httpregexlibcom.html' title='Не знаете как написать регексп все ответы тут http://regexlib.com'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-7349017036920607937</id><published>2010-10-22T09:12:00.001-07:00</published><updated>2010-10-22T09:12:42.521-07:00</updated><title type='text'>Интересненько</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h2 class="entry-title single-entry-title"&gt;&lt;span title="http://habrahabr.ru/blogs/i_am_advertising/106656/" class="topic"&gt;Один проект и много ошибок&lt;/span&gt;  					  				  				  				  				  				  				  			&lt;/h2&gt;    			    &lt;div class="content"&gt;  	&lt;img src="http://habrastorage.org/storage/fc6402ea/c28242d4/363d72d9/da4e1088.jpg" align="left" height="178" alt="GosNomer" width="443" /&gt;&lt;br /&gt;  Привет, %username%. Я хочу вкратце рассказать о нашем проекте &lt;a href="http://gosnomer.org"&gt;GosNomer&lt;/a&gt;, о том, что он из себя представляет и главное об ошибках и разачарованиях с ним связанных. &lt;p&gt;    Итак, общая задумка такого сервиса отнюдь не нова, и мы никогда не претендовали на авторство идеи, суть которой заключается в составляемой пользователями базы по номерам хороших и плохих водителей. Нововведения, которыми мы решили дополнить эту идею, заключались в том, чтобы сделать ее использования максимально удобным для пользователя. А именно не только до неприличия облегчить интерфейс самого сайта, но и прийти на мобильные устройства и в социальные сети (что, кстати, как оказалось, было не лучшей мыслью). То, что получилось у нас в итоге, вы можете увидеть сами, поэтому я, пожалуй, расскажу о проблемах и разочарованиях, собственно их можно поделить на две группы:&lt;br /&gt;  &lt;a name="habracut"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;    &lt;/p&gt;&lt;h4&gt;Одобрение приложений.&lt;/h4&gt;&lt;br /&gt;  Кроме самого сайта было решено сделать клиент для iOS, Android и Symbian (которая пока все никак не выйдет в релиз) и адаптировать веб к vkontakte.ru и my.mail.ru. Разрабатывать что-то для одноклассников мы отказались наотрез, когда прочитали их правила для разработчиков, а в фейсбуке, к сожалению, пока не так много наших соотечественников, а приложение не имеет никакого смысла в других странах мира. &lt;br /&gt;  Процесс одобрения приложений в общем сложности затянулся на полтора месяца. Конечно, мы такого не ожидали. Благо для Android приложение появилось в маркете спустя несколько минут, после принятия решения о релизе.&lt;p&gt;    &lt;/p&gt;&lt;h5&gt;my.mail.ru&lt;/h5&gt;&lt;br /&gt;  Самым шустрым, что тоже было удивлением, оказался Mail, в обещанный сутки наше приложение оказалось в каталоге, и даже получило заветный пакет бесплатной рекламы на неделю (тут подробно описано, что для этого надо сделать &lt;a href="http://api.mail.ru/apps/ads/"&gt;api.mail.ru/apps/ads/&lt;/a&gt; ). И судя по всему, мэйл пока расположен давать этот рекламный пакет большинству разработчиков. Так что тут только положительные впечатления о команде проекта, но вот аудитория… (об этом чуть позже)&lt;p&gt;    &lt;/p&gt;&lt;h5&gt;vkontakte.ru&lt;/h5&gt;&lt;br /&gt;  Тут все прошло не совсем гладко, пару раз приложение разворачивали. Причинами на то послужило использование методов API «которые вроде как есть, но уже вот и нет». В принципе это не удивило, так как эта соц сеть давно славится своим отношением к разработчикам, и мы уже не понаслышке это знаем, чего только стоила ситуация с отменой методов возврата голосов из приложения. Еще довольно большое проблемой является то, что если ваше приложение не проходит модерацию с первого захода, то когда его все таки одобрят, оно будет совсем не в начале списка «новых приложени», что конечно сильно сократит аудиторию, особенно если средст для вложения в рекламу не предвидится. В общем сложности в течении полутора недель приложение оказалось в каталоге.&lt;p&gt;    &lt;/p&gt;&lt;h5&gt;App Store&lt;/h5&gt;&lt;br /&gt;  &lt;i&gt;Сейчас должен заиграть имперский марш из «Звездных войн»&lt;/i&gt; Цензоры яблочного магазина убили не мало нервных клеток. Приложения разворачивалось в общей сложности три раза, и если первый раз я полностью соглашусь с ними (В Info.plist был объявлен лишний ключ), то остальные два заслуживают отдельного рассказа. Второй раз приложение развернули из-за того, что мы справедливо решили, что такому сервису просто необходимо возможность добавления и просмотра фотографий нарушителей и вежливыйх водителей, точнее их госномеров, но Apple с нами не согласился и при телефонном звонке попросил убрать возможность добавления фотографий особенно «плохих водителей», но вот и хороших тоже не совсем комильфо. Немного удивившись и сделав все, как и просили мы получили третий отказ, и заключался он в том, что в описании приложения было указано заветное «и фотографией», а в приложении этого уже не было. Вывод — плюс полторы недели простоя за невнимательность. Итого 1 сентября старт эпопеи, 14 октября финиш. &lt;p&gt;    &lt;/p&gt;&lt;h4&gt;Аудитория&lt;/h4&gt;&lt;br /&gt;  Возьму на себя смелость проранжировать аудиторию приложений по адекватности. И, что неудивительно, пользователи мобильных приложений гораздо адекватней, да простит меня читатель за такие клейма, нежели жители социальных сетей. Честно говоря, мы были готовы к обливанию нечистотами и возможно даже подставным комментариям, готовы были к спаму, но то что мы увидели, не поддавалось никакому объяснению. Самый топ комментариев из социальных сетей составляло «Это самой крутой номер» «О%%%ый водитель» и, внимание, «ВОТ ТАкоЙ НОМЕР ХАЧУ СЕБЕ». Орфография авторская. Вначале пытались чистить базу от подобного, потом поняли, что бесполезно и другого можно и не ждать. С появление в приложении пользователей с мобильных платформ стало чуть полегче в плане содержательности, но тем не менее, полезность такого сервиса в данный момент сомнительна. &lt;p&gt;    &lt;/p&gt;&lt;h4&gt;Заключение&lt;/h4&gt;&lt;br /&gt;  Теперь наша основная задача довести базу до нужного и полезного вида. Но, так как проект на данный момент, да и скорее всего еще достаточно долго, будет некоммерческим, наш путь лежит только через поиск единомышленников, которым данная идея покажется не бредовой и они готовы будут словом и делом помочь в развитии такого сервиса. Так что если среди хабровчан такие обнаружатся, будем очень рады. Ну и конечно, критика технических решений будет как никогда кстати.&lt;p&gt;    &lt;b&gt;UPD&lt;/b&gt;Сайт близок к тому, чтобы рухнуть, вот ссылки на мобильные клиенты &lt;a href="http://itunes.apple.com/ru/app/gosnomer-org/id391297309"&gt;iPhone&lt;/a&gt;, &lt;a href="http://market://details?id=com.hippoapp.gosnomer"&gt;Android&lt;/a&gt;&lt;img src="http://dl.dropbox.com/u/1740000/chart.png" height="135" width="135" /&gt;    	    	    	  &lt;/p&gt;&lt;/div&gt;        			  			  &lt;ul class="tags"&gt;  	&lt;li&gt;&lt;a href="http://habrahabr.ru/tag/Дорога/" rel="tag"&gt;Дорога&lt;/a&gt;&lt;/li&gt;&lt;li&gt;, &lt;a href="http://habrahabr.ru/tag/автомобиль/" rel="tag"&gt;автомобиль&lt;/a&gt;&lt;/li&gt;&lt;li&gt;, &lt;a href="http://habrahabr.ru/tag/Hippoapp/" rel="tag"&gt;Hippoapp&lt;/a&gt;&lt;/li&gt;&lt;li&gt;, &lt;a href="http://habrahabr.ru/tag/iphone/" rel="tag"&gt;iphone&lt;/a&gt;&lt;/li&gt;&lt;li&gt;, &lt;a href="http://habrahabr.ru/tag/android/" rel="tag"&gt;android&lt;/a&gt;&lt;/li&gt;&lt;li&gt;, &lt;a href="http://habrahabr.ru/tag/vkontakte/" rel="tag"&gt;vkontakte&lt;/a&gt;&lt;/li&gt;&lt;li&gt;, &lt;a href="http://habrahabr.ru/tag/мой мир/" rel="tag"&gt;мой мир&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://habrahabr.ru/blogs/i_am_advertising/106656/"&gt;habrahabr.ru&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-7349017036920607937?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/7349017036920607937/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=7349017036920607937' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7349017036920607937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7349017036920607937'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_22.html' title='Интересненько'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-6665851109712957352</id><published>2010-10-21T09:27:00.001-07:00</published><updated>2010-10-21T09:27:11.244-07:00</updated><title type='text'>Яндекс.Пробки – это твиттер на колесах</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="entrytitle"&gt;&lt;h2&gt;&lt;a href="http://www.iphones.ru/iNotes/93516"&gt;Яндекс.Пробки –&amp;nbsp;это твиттер на колесах&lt;/a&gt;&lt;/h2&gt;   			&lt;small&gt;&lt;span class="by"&gt;21.10.2010  | &lt;a href="http://www.iphones.ru/iNotes/category/misc" title="View all posts in Разное" rel="category tag"&gt;Разное&lt;/a&gt; | by &lt;a href="http://www.iphones.ru/iNotes/author/informator/" title="Posts by Информатор"&gt;Информатор&lt;/a&gt; &lt;/span&gt;     			 |   			  			  			  			&lt;/small&gt;&lt;div class="rc5"&gt;&lt;a href="http://twitter.com/home?status=Яндекс.Пробки – это твиттер на колесах – &amp;lt;a href="&gt;RETWEET&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;              		&lt;/div&gt;  		&lt;div class="entrybody"&gt;  			&lt;p&gt;&lt;em&gt;Нам пишут &lt;strong&gt;Anchar&lt;/strong&gt; &amp;amp; &lt;strong&gt;Anngel&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image001" class="alignnone size-full wp-image-93519" src="http://www.iphones.ru/wp-content/uploads/2010/10/image001.png" height="480" alt="" width="320" style="float: left; margin-right: 10px;" /&gt; Как многие уже знают 20 октября 2010 года ознаменовалось небывалыми пробками в Москве, сосредоточенными в основном в центре. Казалось бы, что может быть проще – включай Яндекс.Пробки и объезжай по свободному, но в этот день эта замечательная прога работала не совсем так, как мы привыкли.&lt;br /&gt;  Огромное количество доведенных до истерики автомобилистов, стоящих в пробке, начали изливать душу, оставляя короткие сообщения в виде меток на карте.&lt;/p&gt;  &lt;p&gt;Особенно хочется заметить, что все 6 часов, проведенных в машине, мы с женой откровенно смеялись, читая пометки на карте, слушая радио, где эти же пометки зачитывались в прямом эфире. А особо выдающиеся сообщения и даже целые «ветки» разговоров мы хотели бы продемонстрировать и вам, уважаемые читатели iphones.ru&lt;span&gt;&lt;/span&gt;:&lt;/p&gt;  &lt;p&gt;Хочется отметить, что в таких нечеловеческих условиях программа явно неправильно отображала текущую дорожную ситуацию. Видимо Яндекс.Пробки решила, что раз уж никто никуда не едет, то и пробки нет, просто все запарковались и стоят.&lt;/p&gt;  &lt;p&gt;&lt;img title="image003" class="alignnone size-full wp-image-93521" src="http://www.iphones.ru/wp-content/uploads/2010/10/image003.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;Это практически крик души! Особенно порадовало, что автор и меточку поставил к своему сообщению соответствующую.&lt;/p&gt;  &lt;p&gt;&lt;img title="image005" class="alignnone size-full wp-image-93523" src="http://www.iphones.ru/wp-content/uploads/2010/10/image005.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;Этот скрин и далее без комментариев ))&lt;/p&gt;  &lt;p&gt;&lt;img title="image007" class="alignnone size-full wp-image-93524" src="http://www.iphones.ru/wp-content/uploads/2010/10/image007.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image009" class="alignnone size-full wp-image-93525" src="http://www.iphones.ru/wp-content/uploads/2010/10/image009.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image011.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt; &lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image013.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image015.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image017.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image019.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image021.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image023.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image025.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image027.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image029.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image031.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image033.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="image011" class="alignnone size-full wp-image-93530" src="http://www.iphones.ru/wp-content/uploads/2010/10/image035.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;  &lt;p&gt;Поменьше бы таких пробок, побольше бы таких остроумных и неунывающих водителей на наши дорогах. Ну, и конечно СПАСИБО Яндекс.Пробкам-Чату ))&lt;/p&gt;  &lt;p&gt;&lt;img title="image037" class="alignnone size-full wp-image-93528" src="http://www.iphones.ru/wp-content/uploads/2010/10/image037.png" height="480" alt="" width="320" /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.iphones.ru/iNotes/93516"&gt;iphones.ru&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-6665851109712957352?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/6665851109712957352/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=6665851109712957352' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6665851109712957352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6665851109712957352'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_5524.html' title='Яндекс.Пробки – это твиттер на колесах'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-3192207820139941509</id><published>2010-10-21T06:41:00.001-07:00</published><updated>2010-10-21T06:41:39.386-07:00</updated><title type='text'>ненавижу мс )))</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;span style="font-family: mceinline;"&gt;&amp;nbsp;делал трейнинг кит по wp7 решил проверить правильно ли ведет себя игра когда ее завершаешь обратите внимание на счетчик ходов. дальше не выдержал и пошел в инет за решением а его нет&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-10-21/xxhcFbsCmlAJdJlxtAakbbmCzkqsbFvdslGzEBapIbJsowgacmudjdsrbqGa/puzzle.png.scaled1000.png'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/temp-2010-10-21/xxhcFbsCmlAJdJlxtAakbbmCzkqsbFvdslGzEBapIbJsowgacmudjdsrbqGa/puzzle.png.scaled500.png" width="500" height="860"/&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-3192207820139941509?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/3192207820139941509/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=3192207820139941509' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3192207820139941509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3192207820139941509'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_21.html' title='ненавижу мс )))'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-5316320713481277193</id><published>2010-10-21T06:40:00.001-07:00</published><updated>2010-10-21T06:40:01.478-07:00</updated><title type='text'>ненавижу мс )))  делал трейнинг кит по wp7 решил проверить правильно ли ведет себя игра когда ее завершаешь обратите внимание на счетчик ходов</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-5316320713481277193?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/5316320713481277193/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=5316320713481277193' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5316320713481277193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5316320713481277193'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/wp7.html' title='ненавижу мс )))  делал трейнинг кит по wp7 решил проверить правильно ли ведет себя игра когда ее завершаешь обратите внимание на счетчик ходов'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-6796688478735264421</id><published>2010-10-20T14:58:00.001-07:00</published><updated>2010-10-20T14:58:17.272-07:00</updated><title type='text'>Apple - FaceTime for Mac</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div class="hero"&gt;&lt;h1&gt;&lt;img src="http://images.apple.com/mac/facetime/images/facetime_title20101020.png" height="46" alt="Say hello to FaceTime for Mac." /&gt;&lt;/h1&gt;  				&lt;p class="intro"&gt;It’s remarkable. It’s fun. And it’s not just for iPhone and iPod touch anymore. Now you can make video calls to iPhone 4, the new iPod touch, or another Mac. Right from your Mac.&lt;/p&gt;  			&lt;/div&gt;    			&lt;div class="grid2col download"&gt;  				&lt;img class="right flushright" src="http://images.apple.com/mac/facetime/images/facetime_hero20101020.jpg" height="400" alt="" /&gt;  				  				&lt;div class="column first"&gt;  					&lt;h4&gt;Now your smile goes even further.&lt;/h4&gt;  					&lt;p&gt;FaceTime for Mac makes it possible to talk, smile, wave, and laugh with anyone on an iPhone&amp;nbsp;4, iPod&amp;nbsp;touch, or Mac from your Mac over Wi-Fi. So you can catch up, hang out, joke around, and stay in touch with just a click. Sure, it’s great to hear a voice. But it’s even better to see the face that goes with&amp;nbsp;it.&lt;/p&gt;  					  					&lt;div class="callout"&gt;&lt;img class="left" src="http://images.apple.com/mac/facetime/images/facetime_icon_title20101020.gif" height="47" alt="FaceTime for Mac" width="221" /&gt;&lt;/div&gt;  					&lt;iframe name="myframe" scrolling="no" title="Please select a download." src="https://swdlp.apple.com/cgi-bin/WebObjects/SoftwareDownloadApp.woa/wa/getProductData?localang=en_us&amp;amp;grp_code=facetime" frameborder="0"&gt;Your browser is not compatible with this content; please upgrade to a standards-based browser.&lt;/iframe&gt;  					&lt;p class="sosumi"&gt;Requires Mac OS X v10.6.4 Snow Leopard or later.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.apple.com/mac/facetime/"&gt;apple.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-6796688478735264421?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/6796688478735264421/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=6796688478735264421' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6796688478735264421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6796688478735264421'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/apple-facetime-for-mac_20.html' title='Apple - FaceTime for Mac'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-7146409490283544055</id><published>2010-10-20T14:57:00.001-07:00</published><updated>2010-10-20T14:57:28.200-07:00</updated><title type='text'>Apple - FaceTime for Mac</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/hodzanassredin/cyJhautkazgexmjjqpeGvdDFeBGGglexEDHhDnEkDEmbvftBqarIytxspBBC/media_httpimagesapple_Ghowh.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/hodzanassredin/cyJhautkazgexmjjqpeGvdDFeBGGglexEDHhDnEkDEmbvftBqarIytxspBBC/media_httpimagesapple_Ghowh.jpg.scaled500.jpg" width="500" height="308"/&gt;&lt;/a&gt;     &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.apple.com/mac/facetime/"&gt;apple.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-7146409490283544055?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/7146409490283544055/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=7146409490283544055' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7146409490283544055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7146409490283544055'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/apple-facetime-for-mac.html' title='Apple - FaceTime for Mac'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-7223247588284585206</id><published>2010-10-20T09:11:00.001-07:00</published><updated>2010-10-20T09:11:11.685-07:00</updated><title type='text'>Видеотрансляция конференции «Back To the Mac» — на Apple.com (+ ссылка)</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;Все владельцы iДевайсов с прошивкой не ниже 3.0 и пользователи компьютеров Mac смогут «поприсутствовать» на мероприятии, посетив сайт Apple в девять вечера по Москве. Вот она, заветная &lt;strong&gt;&lt;a href="http://events.apple.com.edgesuite.net/1010qwoeiuryfg/event/index.html" class="dot" rel="nofollow" target="_blank"&gt;ссылка&lt;/a&gt;&lt;/strong&gt;. Остальным, в том числе Windows-юзерам, придётся подождать ретрансляции от других сайтов.&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.iphones.ru/iNotes/93095"&gt;iphones.ru&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-7223247588284585206?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/7223247588284585206/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=7223247588284585206' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7223247588284585206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7223247588284585206'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/back-to-mac-applecom.html' title='Видеотрансляция конференции «Back To the Mac» — на Apple.com (+ ссылка)'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-7754948831410553929</id><published>2010-10-20T09:07:00.001-07:00</published><updated>2010-10-20T09:07:58.957-07:00</updated><title type='text'>Lenta.ru: Кино: Антон Корбийн снял самый маленький фильм в мире</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h2&gt;Антон Корбийн снял самый маленький фильм в мире&lt;/h2&gt;      &lt;table class="vrezka" border="0" align="right" width="240"&gt;  &lt;tr&gt;&lt;td&gt;    &lt;iframe marginheight="0" scrolling="no" src="http://ad2.rambler.ru/lenta.ban?pg=8095&amp;amp;ifr=1" marginwidth="0" frameborder="0" height="400" width="240"&gt;&lt;/iframe&gt;  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;    Антон Корбийн снял ролик, который позиционируется как самый маленький фильм в мире, сообщается на сайте Digital Spy.  &lt;p&gt;  Носителями для фильма, в котором актриса Кэрис Ван Хаутен ("Потрошители", "Операция Валькирия", "Черная книга") грызет ногти, стали почтовые марки. Современные технологии печати позволяют разместить на марке до 30 сменяющихся кадров, что по хронометражу составляет около секунды.  &lt;/p&gt;&lt;p&gt;  Корбийн изначально получил известность как фотограф и режиссер видеоклипов. В частности, он тесно сотрудничал с группами Depeche Mode и U2. В 2007 году в прокат вышел дебютный полнометражный фильм Корбийна - байопик лидера Joy Division Яна Кертиса под названием "Контроль" (Control). Второй полнометражной работой режиссера стала лента "Американец" (The American). Она была выпущена на экраны в сентябре 2010 года.&lt;/p&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://lenta.ru/news/2010/10/20/corbijn/"&gt;lenta.ru&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-7754948831410553929?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/7754948831410553929/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=7754948831410553929' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7754948831410553929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7754948831410553929'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/lentaru.html' title='Lenta.ru: Кино: Антон Корбийн снял самый маленький фильм в мире'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-3497041351263811484</id><published>2010-10-19T17:14:00.001-07:00</published><updated>2010-10-19T17:14:23.307-07:00</updated><title type='text'>Записал одну и туже речь на китайский микрофон и iPhone4.</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;Склеил в один файл. Первая часть это китай вторая iphone. Кому интересно сравнить слушайте.       &lt;div style='padding: 5px 5px 10px 5px; margin-top: 5px; border: 1px solid #ddd; background-color: #fff;line-height: 16px;'&gt;       &lt;div style="float: left; margin-right: 5px; overflow: visible;"&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-10-18/godtezrlwvkxslrfuJslaIyjkatHEbvDqdiByqFjBfDemzmppAwrpEDdghpv/testIphone4vsChinaMic.mp3' style='color: #bc7134;'&gt;&lt;img src='http://posterous.com/images/filetypes/mp3.png' style='border: none;'/&gt;&lt;/a&gt;&lt;/div&gt;       &lt;div style="font-size: 10px; color: #424037;line-height: 16px;"&gt;&amp;nbsp;&amp;nbsp;&lt;br/&gt;Download now or &lt;a href='http://hodzanassredin.posterous.com/iphone4-2' style='color: #bc7134;'&gt;listen on posterous&lt;/a&gt;&lt;/div&gt;       &lt;b&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/temp-2010-10-18/godtezrlwvkxslrfuJslaIyjkatHEbvDqdiByqFjBfDemzmppAwrpEDdghpv/testIphone4vsChinaMic.mp3' style='color: #bc7134;'&gt;testIphone4vsChinaMic.mp3&lt;/a&gt;&lt;/b&gt; &lt;span style="font-size: 10px; color: #424037;"&gt;(1055 KB)&lt;/span&gt;       &lt;br style="clear: both;"/&gt;&lt;/div&gt;      &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-3497041351263811484?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/3497041351263811484/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=3497041351263811484' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3497041351263811484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/3497041351263811484'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/iphone4_19.html' title='Записал одну и туже речь на китайский микрофон и iPhone4.'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-5345275530298143240</id><published>2010-10-19T03:17:00.001-07:00</published><updated>2010-10-19T03:17:56.314-07:00</updated><title type='text'>Упрощенная реальность</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;embed src="http://www.youtube.com/v/FgTq-AgYlTE?fs=1" allowfullscreen="true" type="application/x-shockwave-flash" allowscriptaccess="always" height="306" width="500" /&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://dopreal.com/"&gt;dopreal.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-5345275530298143240?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/5345275530298143240/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=5345275530298143240' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5345275530298143240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5345275530298143240'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_2132.html' title='Упрощенная реальность'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-5679204105135060868</id><published>2010-10-19T03:00:00.001-07:00</published><updated>2010-10-19T03:00:54.648-07:00</updated><title type='text'>3в изображения</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jx3TSQul94E&amp;amp;rel=1&amp;amp;fs=1&amp;amp;showsearch=0&amp;amp;showinfo=1&amp;amp;iv_load_policy=1" /&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="wmode" value="opaque" /&gt; &lt;embed src="http://www.youtube.com/v/jx3TSQul94E&amp;amp;rel=1&amp;amp;fs=1&amp;amp;showsearch=0&amp;amp;showinfo=1&amp;amp;iv_load_policy=1" allowfullscreen="true" type="application/x-shockwave-flash" wmode="opaque" height="350" width="425"&gt; &lt;/embed&gt;&lt;/object&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://mixedreal.wordpress.com/2010/06/27/%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F-%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B8%D1%82%D0%BE%D0%B3%D0%B8-%D0%BA%D0%BE%D0%BD%D1%84%D0%B5%D1%80-2/"&gt;mixedreal.wordpress.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-5679204105135060868?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/5679204105135060868/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=5679204105135060868' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5679204105135060868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5679204105135060868'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/3.html' title='3в изображения'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-5030122490522217741</id><published>2010-10-19T02:53:00.001-07:00</published><updated>2010-10-19T02:53:13.787-07:00</updated><title type='text'>Розыгрыш призов с помощью AR и Layar</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object height="385" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="src" value="http://www.youtube.com/v/piSWEYkdnfs?fs=1&amp;amp;hl=nl_NL" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;embed src="http://www.youtube.com/v/piSWEYkdnfs?fs=1&amp;amp;hl=nl_NL" allowfullscreen="true" type="application/x-shockwave-flash" allowscriptaccess="always" height="385" width="480" style="" /&gt;&lt;/object&gt;&lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://site.layar.com/company/blog/"&gt;site.layar.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-5030122490522217741?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/5030122490522217741/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=5030122490522217741' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5030122490522217741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5030122490522217741'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/ar-layar.html' title='Розыгрыш призов с помощью AR и Layar'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-7178186163885847226</id><published>2010-10-19T02:41:00.001-07:00</published><updated>2010-10-19T02:41:23.922-07:00</updated><title type='text'>Augmented Reality(#AR) поздравительные открытки</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;div&gt;&lt;div class="rightside"&gt;&lt;div class="title"&gt;&lt;a href="http://vimeo.com/13290330"&gt;How to View an Augmented Reality Atomic Greetings Card&lt;/a&gt;&lt;/div&gt;  &lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/atomicgreetings"&gt;Atomic Greetings&lt;/a&gt;&lt;/div&gt;  &lt;div class="date"&gt;  &lt;span style=""&gt;3 months ago&lt;/span&gt;  &lt;span style="display: none;"&gt;3 months ago: Tue, Jul 13, 2010 12:43am&lt;/span&gt;  &lt;/div&gt;  &lt;/div&gt;    &lt;/div&gt;    &lt;div style="clear: both;"&gt;  &lt;div class="video_container_hd"&gt;  &lt;div class="video"&gt;    &lt;div class="vimeo_holder" style=""&gt;  &lt;div class="player" style="height: 424px;"&gt;  &lt;object name="vimeo_clip_13290330" data="/moogaloop_local.swf?ver=2e1bd" type="application/x-shockwave-flash" height="400" width="500"&gt;&lt;param name="bgcolor" value="#ffffff" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="scalemode" value="showall" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="wmode" value="opaque" /&gt;&lt;param name="flashvars" value="clip_id=13290330&amp;amp;server=vimeo.com&amp;amp;autoplay=0&amp;amp;fullscreen=1&amp;amp;md5=0&amp;amp;show_portrait=0&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;context=group&amp;amp;context_id=6650&amp;amp;force_embed=0&amp;amp;multimoog=&amp;amp;color=9dca68&amp;amp;force_info=undefined&amp;amp;js_api=undefined&amp;amp;js_onLoad=undefined&amp;amp;js_swf_id=vimeo_clip_13290330" /&gt;&lt;/object&gt;  &lt;/div&gt;  &lt;/div&gt;      &lt;/div&gt;    &lt;div class="video_stuff"&gt;          &lt;div class="brozar"&gt;  &lt;div class="tabs" style="background: #172322;"&gt;  &lt;div class="softcorner native" style=""&gt;  	&lt;span class="faux_link"&gt;More&lt;/span&gt;&lt;/div&gt;  &lt;div class="softcorner native" style=""&gt;  	More&lt;/div&gt;  &lt;p&gt;  &lt;/p&gt;&lt;/div&gt;      &lt;div class="softcorner native everything" style=""&gt;  	&lt;div class="add" style="display: none;"&gt;  &lt;div class="softcorner native scrolly_container" style=""&gt;  	  &lt;div class="scrolly_area" style="height: 353px;"&gt;  	&lt;p&gt;  	&lt;/p&gt;&lt;div class="scrolly" style="height: 100%;"&gt;  		&lt;object name="brozar80aed75f2887e599cf3dc5204b64fcf0_add_scroll_swf" data="/assets/flash/scrolly.swf" type="application/x-shockwave-flash" height="100%" width="12"&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="wmode" value="opaque" /&gt;&lt;param name="scalemode" value="showAll" /&gt;&lt;param name="quality" value="medium" /&gt;&lt;param name="flashvars" value="content_id=brozar80aed75f2887e599cf3dc5204b64fcf0_add_scroll&amp;amp;content_height=0&amp;amp;bg_click_offset=0&amp;amp;snap_to=0&amp;amp;rollover=9dca68&amp;amp;rollout=b7c3c2&amp;amp;bg=172322&amp;amp;bg_lines=273332&amp;amp;start_position=undefined" /&gt;&lt;/object&gt;  	&lt;/div&gt;  	&lt;p&gt;  &lt;/p&gt;&lt;/div&gt;  &lt;input type="hidden" value="0" /&gt;    &lt;/div&gt;    &lt;/div&gt;    &lt;div class="more"&gt;  &lt;div class="context"&gt;  &lt;a href="http://vimeo.com/groups/augmentedreality/videos" class="see_all"&gt;See all&lt;/a&gt;    &lt;span&gt;Show me&lt;/span&gt;  &lt;div class="dropdown" style=""&gt;  	&lt;div class="value"&gt;Augmented&amp;nbsp;Reality's&amp;nbsp;videos&lt;/div&gt;  &lt;/div&gt;        &lt;p&gt;  &lt;/p&gt;&lt;/div&gt;  &lt;div class="softcorner native scrolly_container" style=""&gt;  	  &lt;div class="scrolly_area" style="height: 317px;"&gt;  	&lt;div class="content" style="height: 317px; overflow: hidden;"&gt;  		&lt;div&gt;	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/15552659" title="AR Hippo"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/938/676/93867681_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;122.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/15552659" title="AR Hippo"&gt;AR Hippo				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/tangible"&gt;Alex Beim&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;14 days ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/15468788" title="RE: Wired"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/934/856/93485639_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;121.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/15468788" title="RE: Wired"&gt;RE: Wired				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/carolien"&gt;Carolien Teunisse / Lucidlien&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;17 days ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/4233057" title="Living Sasquatch - Papervision - Augmented Reality"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/923/366/9233665_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;120.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/4233057" title="Living Sasquatch - Papervision - Augmented Reality"&gt;Living Sasquatch - Papervision - Augmented Reality				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/user946580"&gt;Boffswana&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;1 year ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/2283082" title="Papervision - Augmented Reality (extended)"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/209/978/20997801_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;119.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/2283082" title="Papervision - Augmented Reality (extended)"&gt;Papervision - Augmented Reality (extended)				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/user946580"&gt;Boffswana&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;2 years ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/15085699" title="I, the phoenix // stereoscopic trailer"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/903/534/90353455_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;118.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/15085699" title="I, the phoenix // stereoscopic trailer"&gt;I, the phoenix // stereoscopic trailer				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/ithephoenix"&gt;I, the phoenix&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;30 days ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/5729683" title="Adidas Augmented Reality - Every team needs the Spark"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/208/394/20839478_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;117.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/5729683" title="Adidas Augmented Reality - Every team needs the Spark"&gt;Adidas Augmented Reality - Every team needs the Spark				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/user1912305"&gt;Nigel Upchurch&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;1 year ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/13274480" title="Augmented Reality Atomic Greetings Webcam Settings"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/759/224/75922436_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;116.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13274480" title="Augmented Reality Atomic Greetings Webcam Settings"&gt;Augmented Reality Atomic Greetings Webcam Settings				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/atomicgreetings"&gt;Atomic Greetings&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;3 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip current"&gt;  		&lt;div class="style_wrap" style=""&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/846/668/84666827_100.jpg" height="65" alt="" width="90" /&gt;	  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;115.&lt;/span&gt; How to View an Augmented Reality Atomic Greetings Card								&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/atomicgreetings"&gt;Atomic Greetings&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;3 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/13290373" title="Record an Augmented Reality Video Message to an Atomic Greeting Card"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/760/377/76037735_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;114.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13290373" title="Record an Augmented Reality Video Message to an Atomic Greeting Card"&gt;Record an Augmented Reality Video Message to an At…				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/atomicgreetings"&gt;Atomic Greetings&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;3 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/14428620" title="Augmented Reality Greeting Card - Simply Amazing!"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/846/804/84680471_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;113.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/14428620" title="Augmented Reality Greeting Card - Simply Amazing!"&gt;Augmented Reality Greeting Card - Simply Amazing!				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/atomicgreetings"&gt;Atomic Greetings&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;2 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/14644435" title="Augmented Reality Greeting Card - User Video"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/869/000/86900021_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;112.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/14644435" title="Augmented Reality Greeting Card - User Video"&gt;Augmented Reality Greeting Card - User Video				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/atomicgreetings"&gt;Atomic Greetings&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;2 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/14294054" title="Augmented City 3D"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/836/408/83640872_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;111.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/14294054" title="Augmented City 3D"&gt;Augmented City 3D				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/chocobaby"&gt;Keiichi Matsuda&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;2 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/14266164" title="Requiem for a dream."&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/834/199/83419945_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;110.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/14266164" title="Requiem for a dream."&gt;Requiem for a dream.				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/user3076565"&gt;Milo Tucker&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;2 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/13939977" title="Tricentenario"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/810/004/81000405_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;109.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13939977" title="Tricentenario"&gt;Tricentenario				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/gabrielrud"&gt;gabriel rud&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;2 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/10086811" title="RE:"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/517/607/51760797_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;108.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/10086811" title="RE:"&gt;RE:				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/sitd"&gt;SitD / Bram Snijders&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;7 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/13332204" title="Beyond the Surface - Flatiron building - CamStudio version"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/763/449/76344986_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;107.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13332204" title="Beyond the Surface - Flatiron building - CamStudio version"&gt;Beyond the Surface - Flatiron building - CamStudio version				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/dedual"&gt;Nicolas Dedual&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;3 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/13332361" title="Beyond the Surface - Flatiron Building - External Camera Version"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/763/488/76348861_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;106.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13332361" title="Beyond the Surface - Flatiron Building - External Camera Version"&gt;Beyond the Surface - Flatiron Building - External …				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/dedual"&gt;Nicolas Dedual&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;3 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/13307183" title="mlove interactive projection"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/761/603/76160334_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;105.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13307183" title="mlove interactive projection"&gt;mlove interactive projection				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/projektil"&gt;PROJEKTIL&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;3 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/1320756" title="levelHead v1.0, 3 cube speed-run (spoiler!)"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/209/724/20972439_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;104.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/1320756" title="levelHead v1.0, 3 cube speed-run (spoiler!)"&gt;levelHead v1.0, 3 cube speed-run (spoiler!)				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/julianoliver"&gt;Julian Oliver&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;2 years ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/9291451" title="Augmented Billboards 2: The Artvertiser @ Transmediale 2010"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/456/100/45610056_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;103.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/9291451" title="Augmented Billboards 2: The Artvertiser @ Transmediale 2010"&gt;Augmented Billboards 2: The Artvertiser @ Transmed…				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/julianoliver"&gt;Julian Oliver&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;8 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/13360316" title="PROJEKTIL showreel'09"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/765/640/76564095_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;102.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13360316" title="PROJEKTIL showreel'09"&gt;PROJEKTIL showreel'09				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/projektil"&gt;PROJEKTIL&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;3 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/13321250" title="Augmented Mirror: Mind-Body Interaction"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/762/687/76268783_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;101.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13321250" title="Augmented Mirror: Mind-Body Interaction"&gt;Augmented Mirror: Mind-Body Interaction				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/andyli"&gt;Andy Li&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;3 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/13031129" title="Augmented Tourism"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/741/474/74147445_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;100.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13031129" title="Augmented Tourism"&gt;Augmented Tourism				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/nielswouters"&gt;Niels Wouters&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;4 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/12851640" title="Systèmes solaires"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/728/257/72825757_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;99.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/12851640" title="Systèmes solaires"&gt;Systèmes solaires				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/eppur"&gt;eppur&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;4 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/12719611" title="Interactive Table @ IAM 06"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/718/904/71890427_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;98.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/12719611" title="Interactive Table @ IAM 06"&gt;Interactive Table @ IAM 06				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/nielswouters"&gt;Niels Wouters&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;4 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/11692791" title="Leonardo At The Museum"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/667/601/66760139_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;97.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/11692791" title="Leonardo At The Museum"&gt;Leonardo At The Museum				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/user2909655"&gt;greg tran&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;5 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="clip"&gt;  		&lt;div class="style_wrap" style=""&gt;  						&lt;a href="http://vimeo.com/groups/augmentedreality/videos/12015467" title="Ping Pong"&gt;  					  				&lt;img src="http://b.vimeocdn.com/ts/666/550/66655088_100.jpg" height="75" alt="" width="100" /&gt;	  						&lt;/a&gt;  						&lt;div class="info" style=""&gt;  				&lt;span class="index"&gt;96.&lt;/span&gt; &lt;a href="http://vimeo.com/groups/augmentedreality/videos/12015467" title="Ping Pong"&gt;Ping Pong				&lt;/a&gt;				&lt;div class="byline"&gt;by &lt;a href="http://vimeo.com/kennstenicht"&gt;Christoph Wiedenmann&lt;/a&gt;&lt;/div&gt;  				&lt;div class="time"&gt;5 months ago&lt;/div&gt;  			&lt;/div&gt;  			&lt;p&gt;   		&lt;/p&gt;&lt;/div&gt;  	&lt;/div&gt;  &lt;/div&gt;  	&lt;/div&gt;  	&lt;div class="scrolly" style="height: 100%;"&gt;  		&lt;object name="brozar80aed75f2887e599cf3dc5204b64fcf0_more_scroll_swf" data="/assets/flash/scrolly.swf" type="application/x-shockwave-flash" height="100%" width="12"&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="wmode" value="opaque" /&gt;&lt;param name="scalemode" value="showAll" /&gt;&lt;param name="quality" value="medium" /&gt;&lt;param name="flashvars" value="content_id=brozar80aed75f2887e599cf3dc5204b64fcf0_more_scroll&amp;amp;content_height=2719&amp;amp;bg_click_offset=10&amp;amp;snap_to=0&amp;amp;rollover=9dca68&amp;amp;rollout=b7c3c2&amp;amp;bg=172322&amp;amp;bg_lines=273332&amp;amp;on_scroll_top=function scrolly_browse_top(id){var arr=id.split('_');KaiserSoze_array[arr[0]].top();}&amp;amp;on_scroll_bottom=function scrolly_browse_bottom(id){var arr=id.split('_');KaiserSoze_array[arr[0]].bottom();}&amp;amp;on_scroll_near_top=function scrolly_browse_top(id){var arr=id.split('_');KaiserSoze_array[arr[0]].top();}&amp;amp;on_scroll_near_bottom=function scrolly_browse_bottom(id){var arr=id.split('_');KaiserSoze_array[arr[0]].bottom();}&amp;amp;start_position=661" /&gt;&lt;/object&gt;  	&lt;/div&gt;  	&lt;p&gt;  &lt;/p&gt;&lt;/div&gt;  &lt;input type="hidden" value="-10" /&gt;    &lt;/div&gt;    &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;  &lt;/div&gt;    &lt;p&gt;  &lt;/p&gt;&lt;/div&gt;    &lt;div class="description_container"&gt;  &lt;div&gt;  You received a card in the mail, now want to view your message.  In order to experience an Atomic Greetings Augmented Reality message you will need a personal computer (Mac or Windows) connected to the Internet, a web cam, and the latest version of the Flash® player 10 software.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://vimeo.com/groups/augmentedreality/videos/13290330"&gt;vimeo.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-7178186163885847226?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/7178186163885847226/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=7178186163885847226' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7178186163885847226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/7178186163885847226'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/augmented-realityar.html' title='Augmented Reality(#AR) поздравительные открытки'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-646280650781618295</id><published>2010-10-19T02:38:00.001-07:00</published><updated>2010-10-19T02:38:05.180-07:00</updated><title type='text'>Класс совмещенная реальность на биллбордах</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object height="300" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/uDTdHG_FytM&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x2b405b&amp;amp;color2=0x6b8ab6" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed src="http://www.youtube.com/v/uDTdHG_FytM&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x2b405b&amp;amp;color2=0x6b8ab6" allowfullscreen="true" wmode="opaque" type="application/x-shockwave-flash" allowscriptaccess="always" height="300" width="500" style="" /&gt;&lt;/object&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://mashable.com/2010/04/29/ar-billboard-street-fight/"&gt;mashable.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-646280650781618295?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/646280650781618295/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=646280650781618295' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/646280650781618295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/646280650781618295'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_6628.html' title='Класс совмещенная реальность на биллбордах'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-4144543207552725342</id><published>2010-10-19T02:36:00.001-07:00</published><updated>2010-10-19T02:36:01.787-07:00</updated><title type='text'>Игра в совмещенной реальности</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;object height="417" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tAEjJiV7RCs&amp;hl=en&amp;fs=1" /&gt;&lt;param name="wmode" value="window" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;embed allowfullscreen="true" src="http://www.youtube.com/v/tAEjJiV7RCs&amp;hl=en&amp;fs=1" wmode="window" allowscriptaccess="always" type="application/x-shockwave-flash" height="417" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.youtube.com/watch?v=tAEjJiV7RCs"&gt;youtube.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-4144543207552725342?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/4144543207552725342/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=4144543207552725342' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4144543207552725342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/4144543207552725342'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_19.html' title='Игра в совмещенной реальности'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-2930990147009817359</id><published>2010-10-18T23:34:00.001-07:00</published><updated>2010-10-18T23:34:57.923-07:00</updated><title type='text'>Стив купил себе костюм абибас?</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/hodzanassredin/jxkEoICGgmHaGHqrydJCIJmxztagkuHggdailJyaEjDuAAFJljhncwafBHce/media_httpwwwiphonesr_Gwrpg.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/hodzanassredin/jxkEoICGgmHaGHqrydJCIJmxztagkuHggdailJyaEjDuAAFJljhncwafBHce/media_httpwwwiphonesr_Gwrpg.jpg.scaled500.jpg" width="500" height="333"/&gt;&lt;/a&gt; &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.iphones.ru/iNotes/92757"&gt;iphones.ru&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-2930990147009817359?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/2930990147009817359/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=2930990147009817359' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2930990147009817359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2930990147009817359'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_18.html' title='Стив купил себе костюм абибас?'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-5218119165720912556</id><published>2010-10-18T12:28:00.001-07:00</published><updated>2010-10-18T12:28:52.084-07:00</updated><title type='text'>Amazon de принимает предзаказы на  Windows Phone 7 телефоны</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href="http://www.amazon.de/HTC-Smartphone-Touchscreen-interner-Speicher/dp/B0046RDWBC/ref=sr_1_1?ie=UTF8&amp;amp;qid=1287429890&amp;amp;sr=8-1"&gt;http://www.amazon.de/HTC-Smartphone-Touchscreen-interner-Speicher/dp/B0046RDWBC/ref=sr_1_1?ie=UTF8&amp;amp;qid=1287429890&amp;amp;sr=8-1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.de/LG-Smartphone-Touchscreen-interner-Speicher/dp/B0044BCTU0/ref=sr_1_1?ie=UTF8&amp;amp;qid=1287429814&amp;amp;sr=8-1"&gt;http://www.amazon.de/LG-Smartphone-Touchscreen-interner-Speicher/dp/B0044BCTU0/ref=sr_1_1?ie=UTF8&amp;amp;qid=1287429814&amp;amp;sr=8-1&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-5218119165720912556?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/5218119165720912556/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=5218119165720912556' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5218119165720912556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/5218119165720912556'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/amazon-de-windows-phone-7.html' title='Amazon de принимает предзаказы на  Windows Phone 7 телефоны'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-6094662129856865877</id><published>2010-10-17T13:14:00.001-07:00</published><updated>2010-10-17T13:14:13.700-07:00</updated><title type='text'>трепещите первый мой подкаст http://hwp.rpod.ru/ первый блин уже понятно комом но по крайней мере задел сделан. фидбек велкомед</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;span style="color: #333333; font-family: Lucida Grande, sans-serif; font-size: xx-small;"&gt;&lt;span style="line-height: 16px;"&gt;&lt;span style="font-size: 9.72222px;"&gt;трепещите первый мой подкаст&lt;a href="http://hwp.rpod.ru/" class="tweet-url web" rel="nofollow" target="_blank" style="text-decoration: none; color: #0084b4; padding: 0px; margin: 0px;"&gt;http://hwp.rpod.ru/&lt;/a&gt;&amp;nbsp;первый блин уже понятно комом но по крайней мере задел сделан. фидбек велкомед&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-6094662129856865877?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/6094662129856865877/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=6094662129856865877' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6094662129856865877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/6094662129856865877'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/httphwprpodru.html' title='трепещите первый мой подкаст http://hwp.rpod.ru/ первый блин уже понятно комом но по крайней мере задел сделан. фидбек велкомед'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-8972177482276095284</id><published>2010-10-15T12:30:00.001-07:00</published><updated>2010-10-15T12:30:35.385-07:00</updated><title type='text'>Зима</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;p&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/hodzanassredin/awrptHHEmDtFdyhygyjeBDDlIzryeCvdpCfwIFAIlnlzmnoxGqkmpvbEtcCl/IMG_0006.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/hodzanassredin/awrptHHEmDtFdyhygyjeBDDlIzryeCvdpCfwIFAIlnlzmnoxGqkmpvbEtcCl/IMG_0006.jpg.scaled500.jpg" width="500" height="373"/&gt;&lt;/a&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/hodzanassredin/EritJqbqfoztyiBloAbytofavjcbavInommAjCwxwaBGvJbawuGzCgircxnm/IMG_0005.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/hodzanassredin/EritJqbqfoztyiBloAbytofavjcbavInommAjCwxwaBGvJbawuGzCgircxnm/IMG_0005.jpg.scaled500.jpg" width="500" height="373"/&gt;&lt;/a&gt; &lt;a href='http://posterous.com/getfile/files.posterous.com/hodzanassredin/AEFgGxzgHoDfzIiGzillGrdyfttJoHDByDkaGFGujtwcAdFAJmBizEltdtvJ/IMG_0007.jpg.scaled1000.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/hodzanassredin/AEFgGxzgHoDfzIiGzillGrdyfttJoHDByDkaGFGujtwcAdFAJmBizEltdtvJ/IMG_0007.jpg.scaled500.jpg" width="500" height="373"/&gt;&lt;/a&gt; &lt;div&gt;&lt;a href='http://hodzanassredin.posterous.com/30637133'&gt;See and download the full gallery on posterous&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-8972177482276095284?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/8972177482276095284/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=8972177482276095284' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8972177482276095284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/8972177482276095284'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/blog-post_15.html' title='Зима'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-2151108875093623740</id><published>2010-10-14T23:10:00.001-07:00</published><updated>2010-10-14T23:10:31.314-07:00</updated><title type='text'>Рекомендую почитать тем кто интересуется социальщиной - danah boyd</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h1&gt;danah boyd&lt;/h1&gt;    &lt;p&gt;My name is danah boyd and I am a Social Media Researcher at &lt;a href="http://research.microsoft.com/en-us/labs/newengland/"&gt;Microsoft Research New England&lt;/a&gt; and a  Fellow at Harvard University's  &lt;a href="http://cyber.law.harvard.edu/home/"&gt;Berkman Center for Internet and Society&lt;/a&gt;. I recently completed my PhD at the &lt;a href="http://www.sims.berkeley.edu"&gt;School of Information (iSchool)&lt;/a&gt; at the University of   California (Berkeley). My research examines social media, youth practices, tensions between public and private, social network sites, and other intersections between technology and society. &lt;/p&gt;  &lt;p&gt;In my &lt;a href="http://www.danah.org/papers/TakenOutOfContext.pdf"&gt;dissertation&lt;/a&gt;, I investigated how American teenagers  socialize in  networked publics like MySpace, Facebook, LiveJournal, Xanga and YouTube.  I was interested in how   the architectural differences between unmediated and mediated publics affect sociality, identity and culture.My dissertation research was funded as a part of the &lt;a href="http://www.macfound.org/"&gt;MacArthur Foundation's &lt;/a&gt;Initiative on New Media and Learning. My research was supervised by a most astonishing committee: &lt;a href="http://www.itofisher.com/mito/"&gt;Mimi Ito&lt;/a&gt;, &lt;a href="http://people.ischool.berkeley.edu/%7Eanno/"&gt;Annalee Saxenian&lt;/a&gt;, &lt;a href="http://ls.berkeley.edu/dept/anth/hayden.html"&gt;Cori Hayden&lt;/a&gt;, and &lt;a href="http://people.ischool.berkeley.edu/%7Ejenna/"&gt;Jenna Burrell&lt;/a&gt;. My beloved PhD advisor - &lt;a href="http://www.sims.berkeley.edu/%7Eplyman/"&gt;Peter Lyman&lt;/a&gt; - lost his battle with brain cancer in July 2007. I miss him dreadfully. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0262013363/apophenia-20"&gt;&lt;img src="http://www.zephoria.org/images/blog/2009/11/HOMAGOCover.jpg" border="0" align="right" /&gt;&lt;/a&gt;In recent years, I have studied Twitter, blogging, social network sites (e.g. Friendster, MySpace, Facebook...), tagging, and other forms of social media. I have written &lt;a href="http://www.danah.org/papers/"&gt;papers&lt;/a&gt; on a variety of different topics, from digital backchannels to social visualization design, sexing of internet   interactions to creating artifacts for memory work. I also &lt;a href="http://www.zephoria.org/thoughts/"&gt;blog&lt;/a&gt; and &lt;a href="http://www.twitter.com/zephoria"&gt;tweet&lt;/a&gt; frequently on a wide variety of topics. Along with other members of the MacArthur Foundation-funded project on digital media and learning, I helped co-author a newly published book: &lt;a href="http://www.amazon.com/exec/obidos/ASIN/0262013363/apophenia-20"&gt;&lt;em&gt;Hanging Out, Messing Around, and Geeking Out: Kids Living and Learning with New Media&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;/em&gt;.&lt;/p&gt;    &lt;p&gt;I did my Master's Degree at    the MIT Media Lab's &lt;a href="http://smg.media.mit.edu/"&gt;Sociable Media Group&lt;/a&gt; with &lt;a href="http://smg.media.mit.edu/people/judith/"&gt;Judith Donath&lt;/a&gt; (supervised also by &lt;a href="http://web.mit.edu/cms/People/henry3/"&gt;Henry Jenkins&lt;/a&gt; and Genevieve Bell). My &lt;a href="http://smg.media.mit.edu/people/danah/thesis/"&gt;master's thesis&lt;/a&gt; focused on how people  manage their  presentation of self in relation to social contextual  information in online environments. As an undergraduate, I studied computer science  at Brown University, advised by &lt;a href="http://www.cs.brown.edu/"&gt;Andy  van Dam&lt;/a&gt;. My &lt;a href="http://www.danah.org/gavr.html"&gt;undergrad thesis&lt;/a&gt; focused on how prioritization of depth cues is dependent on levels of sex hormones in the body and how this affects engagement with virtual reality. &lt;/p&gt;  &lt;p&gt;Outside of academia, I have worked at various non-profits and corporations. For five years, I worked at &lt;a href="http://www.vday.org/"&gt;V-Day&lt;/a&gt;,  an organization working to end violence against women and girls worldwide. I helped build an online community to support activists around the world and I continue to do volunteer work for them. &lt;a href="http://www.danah.org/bio.html"&gt;For a complete bio, click here.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;On the web, I'm known for two things: maintaining an &lt;a href="http://www.danah.org/Ani/"&gt;Ani DiFranco lyrics site&lt;/a&gt;  and &lt;a href="http://www.zephoria.org/thoughts/"&gt;blogging prolifically&lt;/a&gt;. Personally, I love music, dancing, politics, reading, and all things fuzzy. At my core, I'm an activist and a scholar&lt;/p&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://www.danah.org/"&gt;danah.org&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-2151108875093623740?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/2151108875093623740/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=2151108875093623740' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2151108875093623740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/2151108875093623740'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/danah-boyd.html' title='Рекомендую почитать тем кто интересуется социальщиной - danah boyd'/><author><name>HodzaNassredin</name><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-4752570885156867532.post-293347221595813004</id><published>2010-10-14T10:41:00.001-07:00</published><updated>2010-10-14T10:41:33.894-07:00</updated><title type='text'>Жесть China Is Now Pirating Steve Jobs Himself</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div class="posterous_bookmarklet_entry"&gt; &lt;blockquote class="posterous_long_quote"&gt;&lt;h1&gt;&lt;a href="http://gizmodo.com/5663765/china-is-now-pirating-steve-jobs-himself"&gt;China Is Now Pirating Steve Jobs Himself&lt;/a&gt;&lt;/h1&gt;    		  		  		&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;object class="playa" height="332.5" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="500" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/v/LAVQPa9L3jg&amp;amp;hl=en&amp;amp;fs=1&amp;amp;hd=1" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="wmode" value="transparent" /&gt;&lt;embed src="http://www.youtube.com/v/LAVQPa9L3jg&amp;amp;hl=en&amp;amp;fs=1&amp;amp;hd=1" pluginspage="http://www.adobe.com/go/getflashplayer" allowfullscreen="true" type="application/x-shockwave-flash" allowscriptaccess="always" wmode="transparent" height="332.5" width="500"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;p&gt;  &lt;img class="left image340 image_0 embeddedVideoThumbnail" src="http://cache.gawkerassets.com/assets/images/4/2010/10/340x_lavqpa9l3jg.jpg" alt="China Is Now Pirating Steve Jobs Himself" width="340" style="display: none;" /&gt; First it was &lt;a href="http://gizmodo.com/008494/nextways-ipod-clone"&gt;the iPod&lt;/a&gt;. Then &lt;a href="http://gizmodo.com/263799/the-iphone-gets-cloned-again"&gt;the iPhone&lt;/a&gt;. And now those Chinese cloners are pirating &lt;a href="http://gizmodo.com/tag/stevejobs/" class="autolink" title="Click here to read more posts tagged #stevejobs"&gt;Steve Jobs&lt;/a&gt; himself! Oh you Chinese scoundrels you!&lt;/p&gt;  &lt;p&gt;Watch Steve Jobs unveiling a new iPhone application for the &lt;a href="http://gizmodo.com/tag/hongkongmasstransitrailway/" class="autolink" title="Click here to read more posts tagged #hongkongmasstransitrailway"&gt;Hong Kong Mass Transit Railway&lt;/a&gt;. Well, he's not Steve, but his twin. His evil Chinese twin. Or maybe the evil one is the other one. Or just an actor that goes by the name Law Kar-ying. I don't know. I'm confused now. [&lt;a href="http://www.winandmac.com/news/stevejobs-iphone-press-conference-hk/"&gt;WinandMac&lt;/a&gt; via &lt;a href="http://www.9to5mac.com/30462/hong-kongs-own-fake-steve-launches-iphone-app"&gt;9to5&lt;/a&gt;]&lt;/p&gt;&lt;/blockquote&gt;    &lt;div class="posterous_quote_citation"&gt;via &lt;a href="http://gizmodo.com/5663765/china-is-now-pirating-steve-jobs-himself"&gt;gizmodo.com&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4752570885156867532-293347221595813004?l=hodzanassredin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hodzanassredin.blogspot.com/feeds/293347221595813004/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4752570885156867532&amp;postID=293347221595813004' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/293347221595813004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4752570885156867532/posts/default/293347221595813004'/><link rel='alternate' type='text/html' href='http://hodzanassredin.blogspot.com/2010/10/china-is-now-pirating-steve-jobs.html' title='Жесть China Is Now Pi
