<?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-22158921</id><updated>2011-12-14T07:39:34.313+02:00</updated><category term='2009'/><category term='yaz okulu'/><category term='live'/><category term='söz'/><category term='scott gu'/><category term='my phone'/><category term='webiner'/><category term='tag'/><category term='poster'/><category term='asp.net mobile'/><category term='izmir'/><category term='windows 7'/><category term='mvp'/><category term='windows mobile 6.1'/><category term='iphone'/><category term='windows api codepack'/><category term='webcast'/><category term='seminer'/><category term='marketplace'/><category term='sdk'/><category term='amazon'/><category term='myphone'/><category term='office mobile 2010'/><category term='windows 7 rtm'/><category term='mail grubu'/><category term='fiyatlar'/><category term='windows mobile 6.5'/><category term='silverlight 3.0'/><category term='linqpad'/><category term='windows mobile'/><category term='today screen'/><category term='windows phone'/><category term='gesture'/><category term='wcf'/><category term='profilename'/><category term='gençsen geleceksin'/><category term='linq'/><category term='etkinlik'/><category term='appstore'/><category term='visual studio 2008'/><category term='istanbul'/><category term='IoC'/><category term='açık'/><category term='organik'/><category term='lokalizasyon'/><category term='system.io.compression'/><category term='kaynak'/><category term='beta'/><category term='gps'/><category term='mvc'/><category term='mobil cihazlar'/><category term='emulator'/><category term='merhaba'/><category term='mutlu yıllar'/><category term='visual studio 2010'/><category term='microsoft'/><category term='asp.net'/><category term='taşındım'/><category term='dtk'/><category term='.net compact framework'/><category term='turkcell'/><category term='widget'/><category term='linq to dataset'/><category term='windows vista'/><title type='text'>Ekin Özçiçekçiler [MVP] - Kişisel Blog</title><subtitle type='html'>Yazılım Geliştirme &amp;amp; Mobil Teknolojiler Üzerine</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22158921.post-3641408254021288093</id><published>2010-04-29T12:48:00.004+03:00</published><updated>2010-04-29T12:51:32.283+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='taşındım'/><title type='text'>Kişisel Blog'um Taşındı! (http://ekin.ozcicekciler.com)</title><content type='html'>Herkese merhaba,&lt;br /&gt;&lt;br /&gt;Takip edenler farkedecektir, bir süredir bu adres üzerine herhangi bir post girmiyorum. Sebebi blog sistemini değiştirmiş ve farklı bir adrese taşımış olmamdır. Daha önceleri &lt;a href="http://ekin.ozcicekciler.com/"&gt;http://ekin.ozcicekciler.com/&lt;/a&gt; adresini yazdığınızda bu adrese (&lt;a href="http://ekinozcicekciler.blogspot.com/"&gt;http://ekinozcicekciler.blogspot.com/&lt;/a&gt;)&amp;nbsp;yönlendiriliyordu. Fakat artık yeni blog sistemimi aktif hale getirdim ve bundan sonra&amp;nbsp;BlogSpot üzerine değil&amp;nbsp;sadece yeni sisteme (&lt;a href="http://ekin.ozcicekciler.com/"&gt;http://ekin.ozcicekciler.com/&lt;/a&gt;)&amp;nbsp;post gireceğim. Yeni yazılarımı ve paylaşımlarımı yeni sistem üzerinden takip edebilirsiniz.&amp;nbsp;Şimdiden ilginize teşekkür ederim.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/"&gt;Yeni Blog' a Gitmek İçin Tıklayınız!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-3641408254021288093?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/3641408254021288093/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2010/04/kisisel-blogum-tasnd.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3641408254021288093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3641408254021288093'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2010/04/kisisel-blogum-tasnd.html' title='Kişisel Blog&apos;um Taşındı! (http://ekin.ozcicekciler.com)'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-2880129657643041528</id><published>2009-12-29T10:59:00.005+02:00</published><updated>2009-12-29T11:07:43.554+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mutlu yıllar'/><title type='text'>Mutlu Yıllar !</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;" &gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Acısıyla, tatlısıyla, teknolojik gelişmeleriyle yorucu bir yılı geride bırakıyoruz. Umarım 2010 yılı sağlık, mutluluk ve başarı bakımından hepiniz için mükemmel bir yıl olur ! 2010' da görüşmek dileğiyle !&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SznGWZV5SNI/AAAAAAAAAPc/7x3zFkzKme0/s1600-h/chicken-new-year-2.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 398px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SznGWZV5SNI/AAAAAAAAAPc/7x3zFkzKme0/s400/chicken-new-year-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5420581714579245266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-2880129657643041528?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/2880129657643041528/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/12/mutlu-yllar.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2880129657643041528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2880129657643041528'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/12/mutlu-yllar.html' title='Mutlu Yıllar !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_bqINL2ro10c/SznGWZV5SNI/AAAAAAAAAPc/7x3zFkzKme0/s72-c/chicken-new-year-2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-7323232323468097486</id><published>2009-11-18T21:29:00.008+02:00</published><updated>2009-11-18T21:59:13.713+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='office mobile 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='beta'/><category scheme='http://www.blogger.com/atom/ns#' term='windows phone'/><title type='text'>Microsoft Office Mobile 2010 Beta !</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Muhteşem bir haberi sizlerle paylaşmak istiyorum. PDC 2009' da Microsoft Office 2010' un Beta' sının anons edilmesinden sonra e-posta kutuma çok güzel bir haber düştü. &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;Microsoft Office Mobile 2010 Beta !&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Şu an sadece Windows Marketplace For Mobile üzerinden indirilebilen yeni mobil ofis paket çözümü gerçekten heyecan verici.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/office/2010/en/mobile/default.aspx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;http://www.microsoft.com/office/2010/en/mobile/default.aspx&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresi üzerinden yeni mobil ofis paketinin ekran görüntülerine ulaşabilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SwRM3Ep90oI/AAAAAAAAAPU/JQca3OnNbDU/s1600/PMG_Mobile_Word_213x257%5B1%5D.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 213px; HEIGHT: 257px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5405529961777713794" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SwRM3Ep90oI/AAAAAAAAAPU/JQca3OnNbDU/s400/PMG_Mobile_Word_213x257%5B1%5D.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Uygulamayı daha deneme imkanım olmadı, biran önce Marketplace üzerinden indirip izlenimlerimi aktaracağım. Görünen o ki &lt;strong&gt;Microsoft Office Mobile 2010&lt;/strong&gt; ile ofisimiz artık daha fazla yanımızda. Örneğin Sharepoint 2010 üzerindeki dökümanlarımıza artık mobil cihazımız üzerinden de erişebileceğiz ; direk e-posta olarak gönderebileceğiz. Alttaki ekran görüntüsünün Windows Mobile 7.0' dan alındığını dikkatinizi çekerim ! Bu güzel haber.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/office/2010/images/Mobile/PMG_Mobile_Sharepoint_174x227.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 174px; HEIGHT: 227px; CURSOR: hand" border="0" alt="" src="http://www.microsoft.com/office/2010/images/Mobile/PMG_Mobile_Sharepoint_174x227.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Uygulama detayını &lt;/span&gt;&lt;a href="http://marketplace.windowsphone.com/details.aspx?appSKU=a226f64c-d514-4d91-85df-a512bc37c1cd&amp;amp;retURL=/search.aspx%3Fkeywords%3D2010"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://marketplace.windowsphone.com/details.aspx?appSKU=a226f64c-d514-4d91-85df-a512bc37c1cd&amp;amp;retURL=/search.aspx%3Fkeywords%3D2010&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden de inceleyebilirsiniz. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-7323232323468097486?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/7323232323468097486/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/11/microsoft-office-mobile-2010-beta.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7323232323468097486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7323232323468097486'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/11/microsoft-office-mobile-2010-beta.html' title='Microsoft Office Mobile 2010 Beta !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/SwRM3Ep90oI/AAAAAAAAAPU/JQca3OnNbDU/s72-c/PMG_Mobile_Word_213x257%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-3431482122965169433</id><published>2009-10-23T11:45:00.005+03:00</published><updated>2009-10-23T11:56:36.683+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='visual studio 2010'/><title type='text'>Visual Studio 2010 - Mobile Development ?!</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Bilindiği üzere geçtiğimiz günlerde Visual Studio 2010 'un Beta 2 sürümü yayınlandı. Fakat, uzun bir indirme süreci ve ardından heyecanlı bir kurulumun ardından mobil uygulama geliştiricileri kötü bir süpriz beklemekteydi : Visual Studio 2010 Beta 2 üzerinde mobil uygulama geliştirebilmek için gereken tüm araçlar kaldırılmış !&lt;br /&gt;&lt;br /&gt;Bu konu ile ilgili gelen heyecanlı ve korku dolu sorular ardından minik bir araştırma yaptım ve mobil uygulama geliştiricilerin içini rahatlatacak o güzel haberi sizlerle paylaşmak istiyorum ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Visual Studio 2010 Beta 2 does not support Smart Device Development.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Microsoft is committed to making Visual Studio a great development tool for the mobile device developer, and will deliver mobile device tools for Visual Studio 2010, but cannot share details now.&lt;/span&gt; For existing Visual Studio 2008 mobile developers, Microsoft released the Windows Mobile 6.5 Developer Tool Kit that works with the Windows Mobile 6 SDK.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Because Visual Studio 2010 Beta 2 does not support Smart Device Development, you cannot use the following features: .NET Compact Framework projects, Visual C++ device projects, smart device CAB projects, Device Emulator and Device Emulator Manager, testing tools for device projects, and Device Security Manager.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Smart device development is still supported in earlier versions of Visual Studio, such as Visual Studio 2008. For the more information about smart device projects, see Windows Mobile Developer Center and Smart Device Development in Visual Studio 2008.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yukarıdaki paragraf MSDN üzerinden alınmıştır.&lt;br /&gt;&lt;br /&gt;Kısaca "değişik birşeyler üzerinde çalışıyoruz, daha yetiştiremedik ama az kaldı" demişler. Yani çıkartılan birşey yok. Rahat olun :)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-3431482122965169433?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/3431482122965169433/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/10/visual-studio-2010-mobile-development.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3431482122965169433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3431482122965169433'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/10/visual-studio-2010-mobile-development.html' title='Visual Studio 2010 - Mobile Development ?!'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-8246223573732134575</id><published>2009-10-04T15:13:00.005+03:00</published><updated>2009-10-04T15:50:38.696+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='kaynak'/><category scheme='http://www.blogger.com/atom/ns#' term='gps'/><title type='text'>GPS Framework for .NET ! Ücretsiz !</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Geçen hafta beni hem sevindiren hem de global krizin boyutunun ne derece devam ettiğinin resmini çok açık bir şekilde gösteren bir mail aldım. Device Application Development MVP Mail Grubu üzerinden gelen bir haberden öğrendiğim üzere, uzun zamandır GPS sektöründe şahsımca takip ettiğim ve inanılmaz başarılı bileşenler geliştiren ve binlerce dolara satmasına rağmen bu noktada ihtiyaç duyan birçok firma tarafından bileşenleri satın alınan GeoFrameworks firması Global Kriz' in etkilerine dayanamamış ki kapılarını artık kapatmaya karar vermiş.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Fakat kapılarını kapatırken hatırı &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:85%;"  &gt;"ciddi"&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; anlamda sayılır bir iz bırakarak ticaret hayatını noktalamış ; bu zamana kadar binlerce dolara satılan  GPS üzerine geliştirdiği &lt;span style="font-weight: bold;"&gt;GPS Framework for .Net &lt;/span&gt;paketinin şu ana kadar geliştirilen tüm sürümlerini CodePlex üzerinden &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;"ücretsiz"&lt;/span&gt; olarak uygulama geliştiricilerin kullanımına bırakmış ! Süper !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Belki aylarca uğraşılarak hazırlanmış bir paketin ücretsiz olarak uygulama geliştiricilerin kullanımına ve geliştirilmeye bırakmak şahsımca saygı duyulacak bir davranış.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Masaüstü ve mobil cihazlar üzerinde GPS tabanlı uygulamalar geliştiriyor ve hazır bir kütüphaneye ihtiyaç duyuyorsanız kaçırmamanızı tavsiye ederim.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Detayları ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="cursor: pointer; width: 100px; height: 100px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SsiXjXTiyUI/AAAAAAAAAPM/CAZ0HkCEj14/s400/GpsBig.png" alt="" id="BLOGGER_PHOTO_ID_5388723587956001090" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana; font-weight: bold;" href="http://gps3.codeplex.com/"&gt;http://gps3.codeplex.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;adresi üzerinden takip edebilir, paketin tamamını "ücretsiz" olarak bu adres üzerinden indirebilirsiniz.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-8246223573732134575?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/8246223573732134575/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/10/gps-framework-for-net-ucretsiz.html#comment-form' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8246223573732134575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8246223573732134575'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/10/gps-framework-for-net-ucretsiz.html' title='GPS Framework for .NET ! Ücretsiz !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_bqINL2ro10c/SsiXjXTiyUI/AAAAAAAAAPM/CAZ0HkCEj14/s72-c/GpsBig.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-3253306583372636768</id><published>2009-10-04T09:43:00.006+03:00</published><updated>2009-10-04T13:02:20.923+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='widget'/><title type='text'>Windows Mobile Widget Emulator</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Windows Mobile 6.5' un tam olarak piyasaya çıkmamış olması ve bu konu hakkındaki dökümantasyonun çok sınırlı olması sebebiyle muhtemelen Türkiye' de Windows Mobile Widget' ları ile ilgili birtek ben belirli bir efor sarfediyorum. :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Yakın zamanda ne kadar önemli olduğunu anlayacağımız bu konu ile ilgili yazmaya, türkçe kaynak oluşturmaya devam edeceğim. Ve yine çok yakın zamanda bu konu ile ilgili süpriz bir aktiviteyide buradan bildireceğim.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Yazımızın içeriğine gelirsek bilindiği üzere geliştirilen widget' ları şu aşamada yanlızca Windows Mobile 6.5 emulatörleri üzerinde test edebilmekteyiz. (Eğer Internet üzerinden desteklenmeyen ortamlardan kullanıcıların hazırladığı bir ROM' a sahip değilseniz :) ) Bu test süreci birkaç aşamadan oluşmaktadır. Öncelikle widget için hazırladığınız dosyaları *.zip haline getirmeniz gerekmekte. Bir sonraki aşamada bu *.zip uzantısını *.wgt ya da *.widget olarak değiştirmeniz gerekmekte ve bu dosyayı emulatör üzerinde kopyalayıp (bu kopyalama işleminide emulatör ile paylaşımlı bir klasör üzerinden gerçekleştirebilirsiniz) gerekli kurumları yapmanız gerekmekte. Ayrıca bir önce test' ten kalan kurulumunuzu kaldırmanız ve yeni halini kurmanız test' i daha stabil kılmaktadır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Her seferinde bu süreç can sıkıcı olabildiğinden geçen hafta tam ihtiyaç duyulan bir çalışmaya CodePlex üzerinde rastladım ; &lt;span style="font-weight: bold;"&gt;Windows Mobile Widget Emulator !&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;CodePlex üzerinde açık kaynaklı olarak gelişimine devam eden çalışma, kullanıcılara geliştirdikleri Windows Mobile Widget' ları Emülatör' e kurmaya gerek kalmadan "sanki mobil cihaz üzerinde çalıştırılıyormuş gibi" test imkanı sağlamaktadır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="font-family: verdana;" src="http://weblogs.asp.net/blogs/mikaelsoderstrom/emulator_55DBBC29.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Örneğin CodePlex üzerinden alınan yukarıdaki ekran görüntüsün, geliştirilen bir widget' ın masaüstü ortamında Windows Mobile Widget Emulator ile çalıştırıldığı görülmektedir. Süper !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:85%;"  &gt;Peki Nasıl Kullanacağız ?&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" href="http://widgetemulator.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=31211"&gt;http://widgetemulator.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=31211&lt;/a&gt; adresinden gerekli paketi indirdiğimizde aşağıdaki ekran görüntüsündeki dosyalar paketin içinden çıkmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bqINL2ro10c/SshIRzXXf8I/AAAAAAAAAOs/VlXo6LpIjyk/s1600-h/1.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 245px;" src="http://1.bp.blogspot.com/_bqINL2ro10c/SshIRzXXf8I/AAAAAAAAAOs/VlXo6LpIjyk/s400/1.png" alt="" id="BLOGGER_PHOTO_ID_5388636424831991746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul  style="font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;assests klasörü uygulamanın çalıştırılabilmesi için gereken sistemsel dosyaları içermektedir.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;widgets klasörü "geliştirdiğimiz widget' ı paketlemeden yerleştireceğimiz" bölgedir.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;index.htm ise widget' ımızı test edeceğimiz standart bir HTML dosyasıdır.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Yukarıda da belirttiğimiz üzere geliştirdiğimiz widget' ı "paketlemeden" widgets klasörü içerisine yerleştirmemiz gerekmektedir. Sadece bu kadar !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:85%;"  &gt;Javascript Widget API ?&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Widget' ın masaüstü tarayıcısı içerisinde çalıştırılması sonucunda maalesef Javascript Widget API standart olarak desteklenmemektedir. Javascript Widget API' nin kullanılması durumunda ise yapmanız gereken tek şey Widget' ınızı içerisinde kullanıyor olduğunuz HTML Dosyası içerisinde "assets" klasörü içerisinde bulunan "widget.js" ' ye referans vermeniz olacaktır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SshJ2atIrwI/AAAAAAAAAO0/zPNAsZ7kd6s/s1600-h/2.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 36px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SshJ2atIrwI/AAAAAAAAAO0/zPNAsZ7kd6s/s400/2.PNG" alt="" id="BLOGGER_PHOTO_ID_5388638153379196674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:85%;"  &gt;Ve Son Olarak...&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Widget' ımızı test etmeye geçmeden son olarak kök klasör içerisinde bulunan Index.htm dosyası içerisinde bulunan IFRAME' in src attribute' unu widget'ımızın kaynak HTML dosyasına işaret edecek şekilde değiştirmemiz gerekmektedir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SshKMZuSQmI/AAAAAAAAAO8/Y2M0Vr18j-4/s1600-h/3.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 162px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SshKMZuSQmI/AAAAAAAAAO8/Y2M0Vr18j-4/s400/3.PNG" alt="" id="BLOGGER_PHOTO_ID_5388638531072705122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Peki bu uygulama vasıtasıyla başka nelere sahip olmaktayız ? Normal şartlarda emülatörler tek çözünürlüğe sahip cihazları simule etmektedir. Windows Mobile Widget Emulator sayesinde widget' larınızı farklı çözünürlüklerde test edebilmektesiniz ! Ayrıca yatay / dikey görünümlerde de test edebilmektesiniz !&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SshylP4tjJI/AAAAAAAAAPE/TsbSLnBmQMg/s1600-h/4.png"&gt;&lt;img style="cursor: pointer; width: 270px; height: 239px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SshylP4tjJI/AAAAAAAAAPE/TsbSLnBmQMg/s400/4.png" alt="" id="BLOGGER_PHOTO_ID_5388682938393922706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;İşte Bu Kadar !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-3253306583372636768?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/3253306583372636768/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/10/windows-mobile-widget-emulator.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3253306583372636768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3253306583372636768'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/10/windows-mobile-widget-emulator.html' title='Windows Mobile Widget Emulator'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bqINL2ro10c/SshIRzXXf8I/AAAAAAAAAOs/VlXo6LpIjyk/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-5966499889828897131</id><published>2009-09-28T15:04:00.004+03:00</published><updated>2009-09-28T15:27:48.044+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><category scheme='http://www.blogger.com/atom/ns#' term='widget'/><title type='text'>*.widget Uzantısının Tanıtılması</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Hali hazırda geliştiriyor olduğumuz widget' ları *.widget uzantılı kaydedip emulatör dışında gerçek bir cihazda test etmeye çalıştığımızda *.widget uzantısının sistem tarafından tanınmadığını, widgetinstaller tarafından çalıştırılmadığını görmekteyiz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Windows Mobile 6.5 emulatörlerinde bu tanımlama yapılmış olmasına rağmen şu aşamada kurulan ROM' lar üzerinde yapılan denemelerde *.widget uzantısının tanınmadığı görülmektedir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bunun önüne geçebilmek için Visual Studio Remote Tools içerisinde bulunan Remote Registry Editor aracı ile takılı olan cihazımıza bağlanmak ve registry' si içerisine aşağıda tanımlı olan key' leri yazmamız gerekmektedir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;[HKEY_CLASSES_ROOT\riapp]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;    "EditFlags"=dword:00010000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;[HKEY_CLASSES_ROOT\riapp\Shell\Open\Command]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;    @="wmwidgetinstaller.exe %1"&lt;br /&gt;&lt;br /&gt;(@ İşareti Default Key olarak isimlendirilen key' i temsil etmektedir)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SsCn8KTxc3I/AAAAAAAAAOc/4GgalU6Rfrs/s1600-h/1.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 182px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SsCn8KTxc3I/AAAAAAAAAOc/4GgalU6Rfrs/s400/1.png" alt="" id="BLOGGER_PHOTO_ID_5386489806336390002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;(EditFlags dword Değeri)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SsCoFLih0iI/AAAAAAAAAOk/jRp_rBFG-w4/s1600-h/2.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 201px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SsCoFLih0iI/AAAAAAAAAOk/jRp_rBFG-w4/s400/2.png" alt="" id="BLOGGER_PHOTO_ID_5386489961285538338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;riapp altında sırasıyla Shell -&gt; Open -&gt; Command key' i altında tanımlı olan Default Key değeri.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-5966499889828897131?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/5966499889828897131/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/widget-uzantsnn-tantlmas.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5966499889828897131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5966499889828897131'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/widget-uzantsnn-tantlmas.html' title='*.widget Uzantısının Tanıtılması'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/SsCn8KTxc3I/AAAAAAAAAOc/4GgalU6Rfrs/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-2718626040565119274</id><published>2009-09-28T14:08:00.005+03:00</published><updated>2009-09-28T14:31:50.499+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><category scheme='http://www.blogger.com/atom/ns#' term='widget'/><title type='text'>Windows Mobile 6.5 – Widget System State</title><content type='html'>&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Windows Mobile 6.5 üzerinde geliştirilen widget’ larda yararlanılabilecek bir başka nokta ise bir önceki yazımızda ifade ettiğimiz “widget” javascript objesi üzerinden oluşturulabilecek SystemState objesidir. SystemState objesi vasıtasıyla geliştirdiğiniz widget’ lar içerisinden “bazı belirli” sistemsel özelliklerin değerlerine ulaşabilir, bu değerlerin değiştiğini algılayabilir ve istenilen kod bloklarını çalıştırabilmektesiniz. Aşağıdaki listede SystemState objesi üzerinden ulaşılabilecek değerlerin bir listesi listelenmiştir.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;CradlePresent&lt;/b&gt; – Cihazın “cradle” (cihazın bilgisayarınız ile olan fiziksel bağlantısı) üzerine takılıp takılmadığının değerini döndürür.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;DisplayRotation&lt;/b&gt; – Ekranın anlık görüntüsünün kaç derecelik bir açıyla gösterildiğinin değerini döndürür. (0 – 360 Derece Arası)&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;PhoneHomeService&lt;/b&gt; – Cihazın anlık network ile kayıtlı olup olmadığının değerini döndürür.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;PhoneOperatorName&lt;/b&gt; – Cihazın anlık network (operatör) isim değerini döndürür.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;PhoneRomaing&lt;/b&gt; – Cihazın anlık olarak “Roaming (Yurtdışında farklı bir operatör üzerinden bağlantı)” içerisinde olup olmadığının değerini döndürür.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;PhoneSignalStrength&lt;/b&gt; – Cihazın operatör ile arasındaki bağlantı kalitesinin değerini yüzdelik olarak döndürür.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;PowerBatteryState&lt;/b&gt; – Cihazın anlık batarya güç değerini düşük, güçlü, orta şeklinde tanımlı değerlerinin numerik karşılıklarını döndürür.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;PowerBatteryStrength&lt;/b&gt; – Cihazın anlık batarya güç değerini yüzdelik değer olarak döndürür.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Sıra geldi widget’ ı çalıştıracak olduğumuz fiziksel mobil cihazımız üzerinde widget üzerinden bu değerlerin alınmasına. Konfigurasyon dosyamız daha önceki yazımızda olduğu gibi aşağıdaki şekilde tanımlanmış, config.xml isim ve dosya uzantısıyla kaydedilmiştir. Konfigürasyon (manifest) dosyasının dışında, bu dosya içerisinde belirlenen ikon (*.png uzantılı) ve kaynak HTML dosyası da konfigürasyon dosyası ile birlikte aynı lokasyona yerleştirilmiştir.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;(Resimlerin büyük halleri için üzerilerine tıklayınız)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image001.jpg" rel="lightbox[systemstate]"&gt;&lt;img style="width: 375px; height: 75px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image001.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hiç vakit kaybetmeden kaynak olarak kullanılacak olan HTML dosyasının içeriğini hazırlıyoruz. Yukarıda bahsedildiği üzere amacımız geliştirdiğimiz widget içerisinden bize izin verilen ölçüde bazı sistemsel değerleri çekmek ve widget içerisinde uygun yerlerde görüntülemektir. Bu noktada bu değerlere ulaşabileceğimiz SystemState objesini widget javascript objesinin createObject fonksiyonuna “SystemState” değerini gönderek oluşturuyor ve &lt;b&gt;ss&lt;/b&gt; isminde bir değişkende tutuyoruz. Bir sonraki aşamada ise ss isimli SystemState değişkeni üzerinden yukarıdaki tabloda isimleri verilen özelliklere ulaşıyor ve bu özelliklerin değerlerini aşağıdaki ekran görüntüsünde gösterildiği üzere bir div içerisinde görüntüleyecek javascript fonksiyonunu oluşturuyoruz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image002.jpg" rel="lightbox[systemstate]"&gt;&lt;img style="width: 378px; height: 315px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image002.jpg" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Bu fonksiyonu ise HTML dosyamız içerisinde oluşturduğumuz button kontrolünün client side click event’i (onlick) tetiklendiğinde çağırıyoruz.  İşte bu kadar !&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image003.jpg" rel="lightbox[systemstate]"&gt;&lt;img style="width: 328px; height: 29px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image003.jpg" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Widget’ ımızı paketlemeye geçmeden önce ihtiyaç duyabileceğimiz önemli bir konuya daha dikkat çekmemiz gerekiyor. Değişikliklerin algılanması. Ya biz yukarıda listelenen sistemsel değerlerin herhangi birinde bir değişiklik olduğunda bu değişiklikten haberdar olmak ve bir javascript fonksiyonunu çalıştırmak istiyorsak ?&lt;br /&gt;&lt;br /&gt;Bu ihtiyacın çözümü için yukarıda listelenen SystemState değerleri içerisinde çok basit bir yöntem bulunmaktadır. Değişikliğini algılamak istediğiniz SystemState değerinin üzerinden Javascript addEventListener fonksiyonu ile “changed” olayını yakalayan kod bloğunu aşağıdaki ekran görüntüsündeki gibi ekliyoruz. “changed” yani değişiklik durumu söz konusu olduğunda ise addEventListener fonksiyonunun ikinci parametresinde verilen fonksiyon olan “Degisti” fonksiyonu otomatik olarak çağırılacaktır. Örneğimizde telefonun güç değeri değiştiğinde ekrana mesaj kutusu getiren bir kod bloğunu ekliyoruz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image004.png" rel="lightbox[systemstate]"&gt;&lt;img style="width: 375px; height: 263px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image004.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Daha önce yazdığımız SistemOzellikleriniYukle fonksiyonu içerisine EventHandler’ ımızı ekliyoruz. Ardından bu EventHandler içesinde işaret edilen “Degisti” isimli Javascript fonksiyonumuzu yazıyoruz.&lt;br /&gt;&lt;br /&gt;Sıra geldi widget’ ımızı paketlemeye. Tüm gerekli dosyaları seçip zipledikten sonra uzantısını *.widget ya da *.wgt olarak değiştiriyoruz.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image005.png" /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Widget’ a mobil cihaz emulatörümüz üzerinden erişip kurulum işlemlerine başlıyoruz.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image006.png" width="239" height="320" /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Widget’ ın başarılı bir şekilde kurulmasından sonra çalıştırıp sayfa içerisindeki button kontrolüne tıklıyoruz ! Hepsi bu kadar !&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image007.png" width="240" height="320" /&gt;&lt;br /&gt;&lt;br /&gt;Emulatör ayarlarından batarya gücünü azaltıyoruz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image008.png" rel="lightbox[systemstate]"&gt;&lt;img style="width: 363px; height: 281px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image008.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;OK’ e tıkladığımızda değişikliğin algılandığını ve mesaj kutusunun ekrana geldiğini görüyoruz ! İşte bu kadar !&lt;br /&gt;&lt;br /&gt;&lt;img id="Picture 1" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/image009.png" /&gt;&lt;br /&gt;&lt;br /&gt;Hazırladığımız örnek widget’ ı ve diğer dosyaları &lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetSystemState/SystemStateWidget.zip"&gt;buradan&lt;/a&gt; indirebilirsiniz. Bir başka yazıda daha görüşmek üzere.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-2718626040565119274?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/2718626040565119274/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/windows-mobile-65-widget-system-state_28.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2718626040565119274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2718626040565119274'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/windows-mobile-65-widget-system-state_28.html' title='Windows Mobile 6.5 – Widget System State'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-1127797266998450374</id><published>2009-09-23T09:26:00.005+03:00</published><updated>2009-09-23T10:57:35.059+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><category scheme='http://www.blogger.com/atom/ns#' term='widget'/><title type='text'>Windows Mobile 6.5 - Widget Javascript Object</title><content type='html'>&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Daha önce de konuştuğumuz üzere Windows Mobile 6.5 (WM 6.5) üzerinde uygulama geliştiriciler için gelen en büyük yeniliklerden bir tanesi hiç şüphesiz Widget olarak isimlendirilen, ilk olarak Windows Vista üzerinde Gadget olarak karşımıza çıkan ve standart bildiğimiz web teknolojilerini (HTML, Javascript, CSS) kullanarak geliştirebileceğimiz uygulama parçacıklarıdır. Geliştirdiğimiz Widget’ ların, dinamik bir yapıya sahip olmasını istediğimizde ise elimizdeki tek olanak Widget içerisinde yazabilecek olduğumuz Javascript kod bloklarıdır.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Windows Mobile 6.5 üzerindeki Widget geliştirirken, Javascript kod bloğu içerisinden erişebileceğimiz, widget metadata' ’ına ulaşabileceğimiz, widget menülerini belirleyebileceğimiz ve widget ikon özelliklerine ulaşabileceğimiz bir Javascript objesi bulunmaktadır ; &lt;span style="font-weight: bold;"&gt;widget &lt;/span&gt;!&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Widget Javascript objesine widget içerisinde kullanıyor olduğumuz HTML dosyasının içerisinden Javascript kod blokları arasında ulaşabilmekteyiz. Bu obje vasıtası ile widget hakkında birçok bilgiye sahip olabilmekteyiz. Bu yazımızda ise, widget javascript objesini kullanarak widget metadatasına ulaşabilmemiz noktasında bir örnek üzerinde çalışacağız.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Bilindiği üzere Widget’ lar xml içerikli manifest olarak isimlendirilen “konfigurasyon” dosyalarına sahiplerdir. Bu dosyalar vasıtası ile widget içerisindeki gereken tüm bilgilere işletim sistemi tarafından ulaşılır ve widget gerektiği şekilde gerektiği kaynaklar kullanılarak çalıştırılır. XML içerikli bu manifest dosyasının içerisine nelerin yazılabileceğini daha önceki yazılarımızda detaylıca incelemiştik.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Örneğimizde aşağıdaki manifest dosyasını kullanan bir widget üzerinde çalışıyor olacağız.&lt;br /&gt;&lt;br /&gt;&lt;a title="Resmin Büyük Hali"  href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image001.png" rel="lightbox[wjs]"&gt;&lt;img style="width: 381px; height: 105px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image001.png"/&gt;&lt;/a&gt;&lt;/span&gt;  &lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Yukarıdaki konfigurasyon dosyasında, widget root elementi içerisinde widget ile ilgili gerekecek tüm konfigurasyon değerleri tanımlanmıştır. Widget çalışma zamanında bu değerlere Javascript ile ulaşabilmek için, “sadece wm 6.5 widget’ lar içerisinden kullanılabilecek bir javascript objesi olan &lt;b&gt;widget&lt;/b&gt; objesinin kullanılması gerekmektedir. Aşağıdaki örnekte, yukarıdaki konfigurasyon dosyası içerisinde content olarak belirlenen WidgetContent.html dosyası içerisinde bir javascript kod bloğu tanımlanmış, kod bloğu içerisinde ise sayfa üzerine yerleştirilmiş bir div’ in içeriği &lt;b&gt;widget&lt;/b&gt; objesi kullanılarak widget bilgileri ile değiştirilmektedir.&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a title="Resmin Büyük Hali"  href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image002.png" rel="lightbox[wjs]"&gt;&lt;img style="width: 398px; height: 225px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image002.png"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yukarıdaki javascript kod bloğu, sayfa içerisine yerleştirilen bir button’ a tıklandığında client side olarak çalıştırılmaktadır. Kod bloğu içerisinde anlaşılabileceği üzere &lt;b&gt;widget&lt;/b&gt; olarak isimlendirilen objeye direk olarak ulaşılabilmekte, widget manifest dosyası içerisindeki tüm bilgilere bu obje üzerinden ulaşılabilmektedir. Ayrıca bu yazımız içerisinde incelemediğimiz menu ve currentIcon özellikleri bir başka yazıda incelenecektir.&lt;br /&gt;&lt;br /&gt;&lt;a title="Resmin Büyük Hali" href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image003.jpg" rel="lightbox[wjs]"&gt;&lt;img style="width: 404px; height: 58px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image003.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(Resmin Büyük Hali İçin Üzerine Tıklayınız)&lt;br /&gt;&lt;br /&gt;Widget’ ı hızlıca paketliyoruz (Gerekli dosyaları seçip zip dosyası haline getiriyoruz, daha sonra uzantısını *.wgt ya da *.widget olarak değiştiriyoruz) ;&lt;br /&gt;&lt;br /&gt;&lt;a title="Resmin Büyük Hali" href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image004.png" rel="lightbox[wjs]"&gt;&lt;img style="width: 380px; height: 204px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image004.png"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Widget’ ı Windows Mobile 6.5 emulatör’ ü üzerinden cihaza yüklüyoruz ve çalıştırıyoruz ;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image005.png" width="356" height="544" /&gt;&lt;br /&gt;&lt;br /&gt;Widget’ ı yüklüyoruz ;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image006.png" width="356" height="544" /&gt;&lt;br /&gt;&lt;br /&gt;Ve widget’ ı çalıştırıyoruz ;&lt;br /&gt;&lt;br /&gt;&lt;img id="Picture 1" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/image007.png" width="356" height="544" /&gt;&lt;/span&gt;              &lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Ve sonuç ! Uygulama çalıştırıldığında tüm bilgilere widget objesi üzerinden ulaşabilmekteyiz. Bir başka yazıda daha görüşmek dileğiyle.&lt;br /&gt;&lt;br /&gt;Örnek uygulamayı &lt;a style="font-weight: bold;" href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/WidgetJSObject/WidgetJavascriptObject.zip"&gt;buradan&lt;/a&gt; indirebilirsiniz !&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-1127797266998450374?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/1127797266998450374/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/windows-mobile-65-widget-javascript.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1127797266998450374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1127797266998450374'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/windows-mobile-65-widget-javascript.html' title='Windows Mobile 6.5 - Widget Javascript Object'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-6756318538158890759</id><published>2009-09-02T18:30:00.002+03:00</published><updated>2009-09-02T20:33:31.209+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='.net compact framework'/><category scheme='http://www.blogger.com/atom/ns#' term='system.io.compression'/><title type='text'>.Net Compact Framework 3.5 – System.IO.Compression</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Bu makalemizde .Net Compact Framework 3.5 ile mobil cihaz uygulama geliştiricilerin kullanımına sunulan ve mobil cihaz uygulamalarında sıkıştırma işlemlerine olanak sağlayan System.IO.Compression namespace’ i içerisindeki sınıfları inceleyecek, örnek bir uygulama geliştiriceğiz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bilgisayarların tüm gelişim tarihi boyunca farklı ihtiyaçlar üzerinde birçok metodoloji geliştirilmiş ve tüm bu metodolojiler zamanla standart bilgisayar hayatımıza girmiş bulunmaktadır. İnsanoğlunun bu gelişim sürecinde üzerinde çalıştığı en önemli nokta ise temel olarak byte dizileri olarak adlandırılan veri kümelerini bilgisayar ortamında daha efektif ve daha iyi nasıl depolanacağıdır. Bu noktada araştırıldığında ise zaman içerisinde bu veri kümelerinin taşınılabilirlilik ve depolama noktasında hayatımızı kolaylaştırabilmesi açısından birçok çalışma gerçekleştirilmiş ve bugün birçoğumuzun günlük hayatında farkında olmadan yüzlerce kez kullandığımız yöntemlere dönüşmüştür.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bu metodolojilerin en başında hepinizin tahmin edebileceği üzere sıkıştırma (zip / unzip) işlemleri gelmektedir. Sıkıştırma mantığına temel olarak bakıldığında böyle bir işlemin gerçekleştirilebilmesi için gereken yazılım kodlanabilmesi için çok yüksek bir matematik bilgisine ve bu matematik bilgisini yazılımsal olarak destekleyebilecek programlama bilgisine sahip olunması gerektiği kolay bir şekilde anlaşılabilmektedir. Sıkıştırma işlemleri tüm gelişim tarihi boyunca çok önemli bir yer kaplamış, farklı algoritmalar üzerinden bugünkü standart olarak kabul edilebilecek ve günlük hayatta yüzlerce kez kullandığımız / kullanıyor olduğumuz halini almıştır. Bugün araştırıldığında en meşhur ve en çok kullanılan sıkıştırma uygulamalarının arka tarafında tarihteki en meşhur sıkıştırma algoritmalarından Deflate Algoritması kullanılmaktadır. Deflate algoritması ile ilgili ayrıntılı bilgiye http://en.wikipedia.org/wiki/DEFLATE_(algorithm) adresinden ulaşabilir, bu algoritmanın arka tarafındaki matematiksel altyapıyı öğrenebilirsiniz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bu makalemizde ise bu algoritmaları kullanan sınıfların hazır olarak tanımlandığı System.IO.Compression namespace’ i içerisindeki sınıfları kullanarak mobil cihaz uygulamalarında sıkıştırma işlemlerinin nasıl gerçekleştirilebileceği ile ilgili konuyu ifade edecek ve örnek bir uygulama geliştirilecektir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hızlı bir şekilde .Net Compact Framework 3.5 ile mobil cihaz uygulamalarında hayatımıza giren sınıfları tanımaya geçelim.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Öncelikle belirtmemiz gerekirki bu sınıfları masaüstü .net Framework uygulama geliştiricileri .net Framework 2.0 sürümünden beri kullanmakta, kendi uygulamalarında Deflate algoritması üzerinden sıkıştırma işlemleri gerçekleştirebilmektedirler. Biz ise bugün .net Compact Framework 3.5 ile mobil cihaz uygulama geliştiricilerinde hayatına giren bu sınıflarla mobil cihaz üzerinde çalışan ve zip / unzip işlemleri gerçekleştirebileceğimiz bir uygulama geliştireceğiz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image1.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Üstteki resimden de anlaşılabileceği üzere System.IO.Compression içerisinde aslında birbiriyle küçük bir fark dışında tamamen aynı iki adet sınıf bulunmaktadır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;DeflateStream adından da anlaşılabileceği üzere Deflate algoritmasını kullanarak sıkıştırma ve açma işlemi gerçekleştirmeye yarayan altyapıyı içerisinde barındırmaktadır. GzipStream ise yine Deflate algoritmasını kullanmaktadır, fakat içerisine Gzip dosya formatına uygun bazı başlık bilgileri eklemekte, dolayısıyla gzip uzantısına sahip dosyaları açabilecek tüm uygulamalarda açabilecek hale getirmektedir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hiç vakit kaybetmeden Visual Studio 2008 üzerinde bir mobil cihaz uygulaması açarak işe başlayalım. Bu noktada belirtmemiz gerekise geliştirilecek olan uygulamanın hedef platformu Windows Mobile 6.0 yüklü dokunmatik özelliğe sahip (Windows Mobile 6.0 Professional) cihazlar olduğundan dolayı ilgili SDK’ yı sisteminize kurmanız gerekmektedir. İlgili SDK ‘ yı &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en&lt;/a&gt; adresinden indirebilirsiniz. Visual Studio üzerinde bir mobil cihaz uygulaması oluşturarak hızlı bir şekilde örnek projemizi geliştirmeye başlayalım.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 430px; height: 277px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image2.jpg" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Projemizin adı MobiZip.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 430px; height: 327px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image3.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hedef platformumuz ise Windows Mobile Professional 6 SDK üzerinde .Net Compact Framework 3.5 sürümü olacaktır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Uygulama ekranını tasarlamaya geçmeden önce hızlı bir şekilde uygulamamızın senaryosunu ifade edelim.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Uygulamanın temel amacı mobil cihaz üzerinde konumlandırılmış bir dosyayı sıkıştırmak ya da belirli koşullar sağlandığı taktirde bu sıkıştırılan dosyayı açıp tekrardan eski haline getirmektir. Bu noktada bu koşulları ifade etmemiz gerekirse ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Uygulamamızın kullanacak olduğu dosya uzantısı DosyaAdi.mobizip olacaktır. DeflateStream yapısı gereği dosyanın sıkıştırılmadan önceki adı ve boyut bilgisini tutmadığından ve dosyanın eski haline getirilmesi noktasında bu bilgilere ihtiyaç duyulacağından sıkıştırılmış dosyanın yanına uzantısı DosyaAdi.mobizip.info olan bir bilgi dosyası daha oluşturulacaktır. Bu dosya içerisinde arasında | işareti koyularak dosyanın orjinal adı ve sıkıştırılmadan önceki boyutu kaydedilecektir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hızlı bir şekilde uygulama ekranını tasarlayalım.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image4.jpg"  /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Uygulama ekranına baktığımızda çokta karmaşık bir arayüz olmadığını, ihtiyaçlar noktasında sıkıştırma yada açma işlemi gerçekleştirilecek olan dosyanın seçilebilmesi için gereken 3-4 adet kontrol yerleştirilmiştir. Ayrıca ekran üzerinde görünmeyen ve dosya seçme diyaloğunu temsil eden OpenFileDialog kontrolüde arayüz üzerine yerleştirilmitir. (OfdSelectFile)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hızlı bir şekilde kod altyapısını oluşturmamız gerekirse ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Senaryo gereği kullanıcı OpenFileDialog vasıtasıyla sıkıştırılacak yada açma işlemi gerçekleştirilecek dosyayı seçecektir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;... yazan button’ a tıkladığımızda aşağıdaki kod bloğu çalıştırılacaktır.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image5.jpg"  /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Yukarıdaki kod bloğundan anlaşılabileceği üzer dosya seçme ekranı üzerinden herhangi bir dosya seçildiğinde bu dosya bilgisi metin kutusu içerisine yazdırılmaktadır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bir sonraki aşamada sıkıştırma işlemlerinde kullanacak olduğumuz 3 adet stream obje referansını global’ e yerleştiriyoruz.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image6.jpg" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bu noktada açıklamamız gerekirse ; DeflateStream adından da anlaşılabileceği üzere sıkıştırma ya da açma işlemlerini gerçekleştirecek olan Stream objesini temsil etmektedir. FsSource senaryoya göre o an işleme sokulan dosyanın stream’ i FsTarget ise o an senaryoya göre işlem görecek olan dosyanın stream’ ini temsil etmektedir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Sıra geldi sıkıştırma / açma işlemlerini gerçekleştirecek olan Operate button’ una tıklandığında çalıştırılacak olan kod bloğunu hazırlamaya geldi.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Uygulamamız hangi işlemin yapılacağına (sıkıştırma / açma) seçilen dosyanın türüne bakarak karar verecektir. Eğer seçilen dosyanın uzantısı *.mobizip ise açma, değilse sıkıştırma işlemi gerçekleştirecektir. Aynı zamanda *.mobizip uzantısına sahip olsa bile dosyanın eski haline getirilebilmesi için gereken *.mobizip.info dosyasınıda sıkıştırılmış dosyanın yanında arayacak şayet bulabilirse hata vermeden işlemi tamamlayacaktır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Operate tuşuna basıldığında ilk olarak dosyanın türünü inceliyoruz ;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image7.jpg" rel="lightbox"&gt;&lt;img style="width: 421px; height: 165px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image7.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bu if koşulunun else ayağında ise sıkıştırma işlemi gerçekleştirilmektedir.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image8.jpg" rel="lightbox"&gt;&lt;img style="width: 420px; height: 130px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image8.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hızlı bir şekilde uygulamamıza devam edelim. Eğer seçilen dosya mobizip uzantısına sahip ise açma işleminin yapılacağı ile ilgili kod bloğu çalıştırılmaktadır. Bu kod bloğunda ise ilk olarak ilgili dosyanın bilgilerinin bulunduğu info dosyası aranmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image9.jpg" rel="lightbox"&gt;&lt;img style="width: 419px; height: 93px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image9.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Dosya eğer başarılı bir şekilde bulunabilmiş ise dosya içeriği | işaretine göre split edilmekte ve bir diziye aktarılmaktadır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bir sonraki aşamada açma işlemi için gereken kodlar yazılmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image10.jpg" rel="lightbox"&gt;&lt;img style="width: 422px; height: 145px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image10.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Yazılan kodları sırasıyla incelediğimizde ilk olarak global’ de tanımlanan Stream objelerinin instance’ ları oluşturulmakta ; FsSource açılacak olan dosyayı temsil etmekte, FsTarget ise açıldıktan sonra oluşturulacak olan eski dosyayı temsil etmektedir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;DeflateStream objesinin instance’ ının oluşturulduğu satırda ise ilk parametresinde açılacak olan stream’ a referans, ikinci parametresinde ise gerçekleştirilecek olan işlem seçilmiştir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bir sonraki satırda info dosyasının yardımıyla dosyanın açıldıktan sonraki halinin byte dizisini depolayabilecek bir buffer oluşturulmuş, boyut olarakta yine info dosyasının yardımıyla eski dosyanın (sıkıştırılmadan önceki) boyutu atanmıştır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;ds.Read ile başlayan satırda sıkıştırılmış dosyanın tekrardan açılmış hali buffer ‘ a kopyalanmakta,bir sonraki satırda ise buffer içerisindeki açılmış hali FsTarget stream’ i üzerinden yeni oluşturulmuş ve açılmış olan dosyaya yazılmaktadır. İşte bu kadar ! Bu noktadaki en önemli uyarı ise stream’ leri kullandıktan sonra kesin olarak kapatmanızdır. Aksi taktirde dosyalara erişim kısıtlanacak ve hata alınacaktır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bir diğer çalıştırılacak olan kod bloğu ise sıkıştırma işlemi için gereken kod bloğudur. Uygulama uzantının *.mobizip olmadığı durumlarda sıkıştırma işlemi gerçekleştirmekte ; bununla birlikte bir info dosyası oluşturmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image11.jpg" rel="lightbox"&gt;&lt;img style="width: 421px; height: 248px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image11.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Yukarıdaki kod bloğu incelendiğinde ise aslında bir önceki işlemle karşılaştırıldığında tam ters hareket uygulanmaktadır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;İlk iki satırda sıkıştırılmış ve sıkıştırılacak olan dosyalar ilgili stream’ lere yüklenmekte, bir sonraki aşamada ise dosya bilgilerinin tutulduğu FileInfo değişkeni oluşturulmaktadır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Daha sonra sıkıştırılacak olan dosyanın verileri Buffer’ a yüklenmekte, ve DeflateStream üzerinden FsTarget isimli stream’ e bu veriler sıkıştırılarak gönderilmektedir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bu işlemden sonra *.mobizip.info uzantılı dosya da kaydedilmekte ve işlem tamamlanmaktadır. İsterseniz hiç vakit kaybetmeden uygulamamızı Emulator üzerinde deneyelim.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Uygulamamızı çalıştırdığımızda aşağıdaki görüntüyü elde etmemiz gerekmektedir.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image12.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Dosya seçme ekranını açarak daha önceden cihaza kopyaladığımız ve sıkıştırılmaya çok müsait olan bir BMP dosyasını seçiyoruz.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image13.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Ve son görünüm,&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image14.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Operate tuşuna tıkladığımızda uygulama dosyanın uzantısına bakacak ve sıkıştırma işlemi gerçekleştirecektir.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image15.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Dosyanın bulunduğu yere gidip baktığımızda dosyanın yanında 2 adet daha dosya görmekteyiz. Bunlardan biri sıkıştırılmış olan dosya (*.mobizip) ve sıkıştırılan dosyanın eski boyut bilgisi ve isim bilgisini tutan *.mobizip.info dosyası.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image16.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Dikkat edilecek olursa dosya boyutu neredeyse 20 kat küçülmüştür.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bir sonraki aşamada OrnekBMP isimli bmp dosyasını siliyoruz.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image17.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Ve bu dosyayı sıkıştırıldığı halinden tekrar oluşturuyoruz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Öncelikle uygulamamızdan mobizip uzantılı sıkıştırılmış dosyayı seçiyoruz.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image18.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Operate tuşuna bastığımda ise açma işlemi başarıyla gerçekleştirilmektedir ;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image19.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Dosyanın bulunduğu yere tekrar gidip baktığımızda ;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfSystemIO/image20.jpg"  title="Büyük Halini Görmek İçin Tıklayınız" alt="Büyük Halini Görmek İçin Tıklayınız" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Dosyanın tekrar oluşturulmuş olduğunu görmekteyiz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;İşte bu kadar !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bu makalede .net Compact Framework 3.5 ile birlikte gelen System.IO.Compression sınıflarını kullanarak bir sıkıştırma / açma işleminin nasıl gerçekleştirilebileceği ile ilgili örnek bir uygulama geliştirdik.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Başka bir makalede daha görüşmek dileğiyle. &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-6756318538158890759?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/6756318538158890759/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/net-compact-framework-35.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6756318538158890759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6756318538158890759'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/net-compact-framework-35.html' title='.Net Compact Framework 3.5 – System.IO.Compression'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-8708337545879414048</id><published>2009-09-01T00:37:00.006+03:00</published><updated>2009-09-01T01:02:25.419+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='.net compact framework'/><category scheme='http://www.blogger.com/atom/ns#' term='wcf'/><title type='text'>.Net Compact Framework 3.5 – WCF Servislerinin Kullanımı</title><content type='html'>&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Bilindiği üzere .net Compact Framework 3.5 sürümünün en  heyecan verici yeniliklerinden birtanesi halihazırda kullanılıyor olan WCF  servislerine “belirli kısıtlamalarla” erişilmesine verdiği destektir. Windows  Communication Foundation, kısa adıyla WCF, .Net Framework 3.0 ile birlikte  hayatımıza giren yeni nesil dağıtık uygulama geliştirme iletişim arabirimidir.  Birçok dağıtık uygulama geliştirme teknolojisini bünyesinde barındıran WCF,  dekleratif konfigürasyon özelliğiyle servis geliştiricilerin hayatını ciddi  anlamda kolaylaştırmaktadır. Bu yazımızda hali hazırda kullanıyor olduğumuz  basit bir WCF servisine .Net Compact Framework 3.5 kullanılarak geliştirilmiş  bir mobil cihaz uygulamasında nasıl ulaşabileceğimizi ve servis çağrılarının  nasıl gerçekleştirilebileceğini örneklendireceğiz.&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Örneğimize başlamadan önce .Net Compact Framework 3.5  üzerinde desteklenen WCF içeriği hakkında kısaca bilgilenelim. Bilindiği üzere  .Net Compact Framework 3.5 üzerinde sınırlı bir WCF desteği verilmektedir. Bu  noktada belkide hissedebileceğimiz en büyük eksiklik hali hazırda kullanabiliyor  olduğumuz Binding’ lerden sadece basicHttpBinding’ in destekleniyor olmasıdır.  Bunun dışında Custom Binding, WindowsMobileMailBinding ve  ExchangeWebServiceMailBinding desteklenmektedir. .Net Compact Framework 3.5  üzerinde desteklenen WCF’ in tüm özelliklerine &lt;a href="http://blogs.msdn.com/andrewarnottms/archive/2007/08/21/the-wcf-subset-supported-by-netcf.aspx"&gt;http://blogs.msdn.com/andrewarnottms/archive/2007/08/21/the-wcf-subset-supported-by-netcf.aspx&lt;/a&gt;  adresinden erişebilirsiniz. Bunun dışında masaüstü uygulamalardan WCF  servislerine bağlanmak istediğimizde Visual Studio 2008 üzerinde görsel olarak  kullanabildiğimiz NetSvcUtil.exe aracı .Net Compact Framework 3.5’ ta direk  desteklenmemekte, &lt;a href="http://download.microsoft.com/download/6/2/0/6205ED05-E435-44FC-AA82-B763CA5F8B1A/NetCFSvcUtil.exe"&gt;http://download.microsoft.com/download/6/2/0/6205ED05-E435-44FC-AA82-B763CA5F8B1A/NetCFSvcUtil.exe&lt;/a&gt;   adresinden indirebileceğiniz NetCFSvcUtil.exe vasıtasıyla Proxy sınıfları  oluşturulabilmektedir.&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Hiç vakit kaybetmeden örneğimize geçelim. Örneğimiz 2  projeden oluşmaktadır ; mobil cihaz üzerinden çağrıda bulunacak olduğumuz WCF  servisi ve çağrıda bulunacak olan mobil cihaz uygulamamız. İlk olarak WCF  servisimizi geliştirelim. &lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;WCF servisimiz için bir Console Application projesi açıyoruz  ve System.ServiceModel referansını ekliyoruz.&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image001.png" width="216" border="0" height="168" /&gt;&lt;br /&gt;&lt;br /&gt;Projemize ServiceLibrary adında bir klasör ekliyoruz ve  klasör içerisine Service Contract’ ımızı tanımlayabilmemiz için bir Interface  (Arayüz) ekliyoruz. IMobileService ismini verdiğimiz arayüzümüz içerisine  aşağıdaki tanımlamaları yapıyoruz.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image002.png" width="325" border="0" height="105" /&gt;&lt;br /&gt;&lt;br /&gt;Bir sonraki  aşamada Service Contract arayüzümüzü implemente ettiğimiz Service sınıfımızı  oluşturuyoruz.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image003.png" width="422" border="0" height="180" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Ve sıra geldi konfigürasyona. Projemize App.config dosyasını  ekliyoruz ve aşağıdaki servis konfigurasyonunu tanımlıyoruz.&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image004.jpg" rel="lightbox" &gt;&lt;img alt="Büyük Halini Görmek İçin Tıklayınız" title="Büyük Halini Görmek İçin Tıklayınız" style="width: 425px; height: 266px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image004.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Servis tanımlamasını yaptıktan sonra mobil cihaz uygulamamız  üzerinden erişebileceğimiz bir Endpoint tanımlıyoruz. Endpoint’ in Binding  parametresi &lt;span style="font-weight: bold;"&gt;basicHttpBinding &lt;/span&gt;değerine sahiptir.  Ve son olarak Servis’ i Console  uygulamamız üzerinden aşağıda kod bloğu vasıtasıyla başlatıyoruz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image005.png" alt="Büyük Halini Görmek İçin Tıklayınız" title="Büyük Halini Görmek İçin Tıklayınız" rel="lightbox"&gt;&lt;img style="width: 421px; height: 194px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image005.png" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Uygulamamızı başlattığımızda aşağıdaki görünümü elde etmiş  olmak durumundayız.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 426px; height: 211px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image006.jpg" border="0" /&gt;&lt;br /&gt;Servis adresini tarayıcımız üzerinden ziyaret  ettiğimizde ise ;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image007.jpg" width="605" border="0" height="401" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Servis metadata erişim sayfasına ulaşabilmekteyiz. Sıra geldi  bu servise ulaşacak mobil cihaz uygulamasını geliştirmeye. Hızlı bir şekilde  vakit kaybetmeden bir Mobil Cihaz projesi açıyoruz ve ekran üzerine bir metin  kutusu ve bir button kontrolü yerleştiriyoruz.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image008.png" width="293" border="0" height="458" /&gt;&lt;br /&gt;&lt;br /&gt;Bilindiği üzere  masaüstü uygulamalarından WCF servislerine erişebilmek adına ilgili Visual  Studio üzerinde Proxy sınıflarını üreten görsel bir araç bulunmaktadır. Bu araca  “Add Service Reference” menü elemanı üzerinden erişebilmektedir. Araç arka  tarafta NetSvcUtil.exe aracını çalıştırmakta ve proxy sınıflarını barındıran  ilgili çıktıları aracın çalıştırıldığı projeye eklenmektedir.&lt;br /&gt;&lt;br /&gt;&lt;img id="Picture 2" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image009.png" width="232" border="0" height="148" /&gt;&lt;br /&gt;&lt;br /&gt;Araca tıkladığımızda uzaktaki WCF servisine erişecek Proxy  sınıflarını oluşturacak aşağıdaki araç açılmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 425px; height: 346px;" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image010.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Gelelim işin  detayına. Böyle bir görsel araç mobil cihaz uygulama projeleri için maalesef  bulunmamaktadır. İşin enteresanı standart Visual Studio ile Proxy sınıfını  oluşturabileceğimiz NetCFSvcUtil.exe aracıda birlikte gelmemekte, yazının  başında belirtilen adresten ayrıca indirilmesi gerekmektedir. Aracın  indirilmesinden sonra servisimizi çalıştırıyoruz ve araca aşağıdaki komut  değerlerini göndererek konsol üzerinden çalıştırıyoruz.&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image011.jpg" alt="Büyük Halini Görmek İçin Tıklayınız" title="Büyük Halini Görmek İçin Tıklayınız" rel="lightbox"&gt;&lt;img style="width: 422px; height: 238px;" id="Picture 3" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image011.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ekran görüntüsünden  de anlaşılabileceği üzere çalışılan servise bağlanılmış ve iki adet çıktı  üretilmiştir. Bu çıktılar varsayılan lokasyona oluşturulmuştur. Bir sonraki  aşamada yapmamız gerekenler bu çıktıları kopyalayıp mobil cihaz projemize  yapıştırmak ve proxy sınıfını örneklendirerek çalışan servise ulaşmak olacaktır.  Dosyaların ikisinide projemize kopyalıyoruz.&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img id="Picture 4" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image012.png" width="183" border="0" height="146" /&gt;&lt;br /&gt;&lt;br /&gt;Ve button’ a  tıkladığımızda aşağıdaki kod bloğunu yazıyoruz.&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image013.png" width="406" border="0" height="106" /&gt;&lt;br /&gt;&lt;br /&gt;İşte bu kadar ! Proxy sınıfının bir örneğini oluşturup  fonksiyonumu çağırıyoruz. Gerekli koşulları sağlayıp uygulamamızı  çalıştırdığımızda ise ;&lt;br /&gt;&lt;br /&gt;&lt;img id="Picture 1" src="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Pictures/image014.png" width="356" border="0" height="544" /&gt;&lt;br /&gt;&lt;br /&gt;Hepsi bu kadar !  Mobil cihaz uygulamamız WCF servisi üzerinde tanımlı fonksiyonumuz ile  haberleşmekte ve değerler karşı tarafa taşınmaktadır.&lt;br /&gt;&lt;br /&gt;Geliştirilen örnek  uygulamayı &lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Contents/NetCfWcf/Files/NetCfWcf.zip"&gt;buradan&lt;/a&gt; indirebilirsiniz. Bir başka yazıda daha görüşmek üzere.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-8708337545879414048?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/8708337545879414048/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/net-compact-framework-35-wcf.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8708337545879414048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8708337545879414048'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/09/net-compact-framework-35-wcf.html' title='.Net Compact Framework 3.5 – WCF Servislerinin Kullanımı'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-5012651751075531271</id><published>2009-08-28T08:08:00.003+03:00</published><updated>2009-08-28T08:16:10.789+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='windows vista'/><category scheme='http://www.blogger.com/atom/ns#' term='.net compact framework'/><title type='text'>Windows Vista SP2 ve Windows 7 İçin Yeni NetCFSvcUtil !</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Deneyenler ya da ilgilenenler bilecektir, .Net Compact Framework üzerinde halihazırda kullanıyor olduğumuz WCF Service proxy' lerini oluşturmak için "command line" üzerinden çalıştırılan "çok önemli bir araç" bulunmaktadır. &lt;span style="font-weight: bold;"&gt;NetCFSvcUtil.exe&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Bu araç vasıtasıyla WCF Service proxy' lerini oluşturmakta ve akabinde WCF Service çağrılarını yapabilmektesiniz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Her nedendir ki bu araç Windows Vista SP2 ve Windows 7 üzerinde çalışmamakta, Proxy generation sürecinde hata vermekte ve çıldırtmaktaydı. Neyseki "uzuun" zamandır güncellenmeyen .Net Compact Framework Team blog' u üzerine 10 ağustos' ta eklenen çok önemli bir blog girdisini paylaşmak istiyorum.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;h2&gt;&lt;span style="font-family: verdana;font-size:100%;" &gt;NETCFSvcUtil.exe fix&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family: verdana; font-weight: bold;"&gt; :&lt;br /&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana; font-weight: bold;"&gt;Check out Manish’s blog on NetcfSvcUtil.exe crashing on some operating systems and the uploaded fix for it here."&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/h2&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Evet ! , bu işi "en sonunda" düzeltmişler. 7 Ağustos itibariyle &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://download.microsoft.com/download/6/2/0/6205ED05-E435-44FC-AA82-B763CA5F8B1A/NetCFSvcUtil.exe"&gt;adresinden&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; güncellenmiş NetCFSvcUtil' i indirebilirsiniz.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-5012651751075531271?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/5012651751075531271/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/windows-vista-sp2-ve-windows-7-icin.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5012651751075531271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5012651751075531271'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/windows-vista-sp2-ve-windows-7-icin.html' title='Windows Vista SP2 ve Windows 7 İçin Yeni NetCFSvcUtil !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-6236635779602555340</id><published>2009-08-27T22:05:00.005+03:00</published><updated>2009-08-28T08:03:59.266+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='yaz okulu'/><category scheme='http://www.blogger.com/atom/ns#' term='izmir'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft Yaz Okulu 2009 | İzmir</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;26 Ağustos 2009 günü Microsoft Yaz Okulu 2009 serisinin son durağı olan İzmir - İzmir Yüksek Teknoloji Enstitütüsündeydim. Havalimanından itibaren aşağı yukarı 1 saatlik "&lt;span style="font-weight: bold;"&gt;çeşme istikametine&lt;/span&gt;" doğru bir yolculuktan sonra (Evet Çeşme :) ) üniversiteye vardım.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Çok kalabalık, çok keyifli bir gündü. Özellikle kampüsün konumu ve havasının serinliği günün yorgunluğunu aldı götürdü.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Mobil teknolojiler üzerine bolca sohbet ettik, örnek uygulamalar geliştirdik.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SpbaMtBpO_I/AAAAAAAAAOU/ORCNjECGOSQ/s1600-h/DSC02812.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SpbaMtBpO_I/AAAAAAAAAOU/ORCNjECGOSQ/s400/DSC02812.JPG" alt="" id="BLOGGER_PHOTO_ID_5374723117093043186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Kısacası, güzel ve kalabalık bir gündü. Geliştirilen örnek uygulamayı &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://ekin.ozcicekciler.com/BlogFileUploadService/Files/MicrosoftYazOkuluIzmir.zip"&gt;buradan&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;indirebilirsiniz.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-6236635779602555340?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/6236635779602555340/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/microsoft-yaz-okulu-2009-izmir.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6236635779602555340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6236635779602555340'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/microsoft-yaz-okulu-2009-izmir.html' title='Microsoft Yaz Okulu 2009 | İzmir'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/SpbaMtBpO_I/AAAAAAAAAOU/ORCNjECGOSQ/s72-c/DSC02812.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-7402926262344169198</id><published>2009-08-27T21:53:00.006+03:00</published><updated>2009-08-28T08:04:18.548+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2009'/><category scheme='http://www.blogger.com/atom/ns#' term='yaz okulu'/><category scheme='http://www.blogger.com/atom/ns#' term='istanbul'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft Yaz Okulu 2009 | İstanbul</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Fotoğrafların biraz geç ulaşması :) ve iş yoğunluğu sebebiyle gerçekleşen fakat blog' a bir türrlü ekleyemediğim bir etkinlikten bahsetmek istiyorum. &lt;span style="font-weight: bold;"&gt;Microsoft Yaz Okulu 2009 | İstanbul&lt;/span&gt;. 18 Ağustos 2009 tarihinde Microsoft Türkiye İstanbul ofisinde keyifli bir gün geçirdik.&lt;br /&gt;&lt;br /&gt;Mobil cihaz uygulamaları hakkında bol bol sohbet ettik, vaktiğimiz elverdiğince örnek uygulamalar geliştirdik.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SpbX32yyqgI/AAAAAAAAAOE/JYfFNygFDEQ/s1600-h/yazokulu4.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SpbX32yyqgI/AAAAAAAAAOE/JYfFNygFDEQ/s400/yazokulu4.jpg" alt="" id="BLOGGER_PHOTO_ID_5374720559914592770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Eğitim kadrosu ! :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SpbX_BNrVvI/AAAAAAAAAOM/9kJg3Al2L8Q/s1600-h/yazokulu1.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SpbX_BNrVvI/AAAAAAAAAOM/9kJg3Al2L8Q/s400/yazokulu1.jpg" alt="" id="BLOGGER_PHOTO_ID_5374720682970797810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Arkadaşlar Microsoft Türkiye ofisin terasın keyfini bolca çıkarttılar :)&lt;br /&gt;&lt;br /&gt;Kısacası keyifli bir gündü. Geliştirilen örnek uygulamayı &lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Files/MicrosoftYazOkuluIstanbul.zip"&gt;buradan&lt;/a&gt; indirebilirsiniz.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-7402926262344169198?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/7402926262344169198/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/microsoft-yaz-okulu-2009-istanbul.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7402926262344169198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7402926262344169198'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/microsoft-yaz-okulu-2009-istanbul.html' title='Microsoft Yaz Okulu 2009 | İstanbul'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_bqINL2ro10c/SpbX32yyqgI/AAAAAAAAAOE/JYfFNygFDEQ/s72-c/yazokulu4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-290810227808212388</id><published>2009-08-23T12:26:00.009+03:00</published><updated>2009-08-23T13:07:21.383+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><category scheme='http://www.blogger.com/atom/ns#' term='linq to dataset'/><title type='text'>.Net Compact Framework 3.5 – LINQ Uygulamaları – Linq To Dataset</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Konu ile ilgili bir önceki yazımızda ifade ettiğimiz üzere .Net Compact Framework 3.5 ile birlikte artık mobil cihaz uygulama geliştiricileri bu platform üzerinde geliştiriyor oldukları uygumalarda “belirli sınırlar” içerisinde LINQ (Language Integrated Query) olarak ifade edilen altyapı ile “doğal yollarla” ellerindeki kaynakları sorgulayabilmektedirler. Bu bağlamda .Net Framework üzerinde LINQ üzerine onlarca farklı provider geliştirilmiş ve halen de geliştirilmeye devam edilmektedir.&lt;br /&gt;&lt;br /&gt;Daha önce de ifade ettiğimiz üzere .Net Compact Framework üzerinde LINQ aşağıdaki sınırlar çerçevesinde desteklenmektedir ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Standart Query Operators&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Linq To Dataset&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Linq To XML&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;br /&gt;Bu yazımızda Linq To Dataset tarafındaki altyapıyı inceleyecek, LINQ ile mobil cihaz uygulamaları geliştirirken Dataset, DataTable ve DataRow’ lar üzerinde sorgulama işlemlerinin nasıl gerçekleştirileceğini örneklendireceğiz.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dataset – DataTable – DataColumn - DataRow&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bilindiği üzere başlıkta yazan temel 4 kavram Ado.Net Disconnected (Bağlantısız) mimarinin temel yapı taşları olmaktadır. Bu noktada hedef herhangi bir x veri kaynağından gelen relational (ilişkisek) verilerin memory üzerinde konumlandırılması, ve verilerin herhangi bir t anında manipule (Add, Delete, Modify) edilmesi ve tekrardan merkezi verikaynağına gönderilmesi ise Ado.Net üzerinde tanımlı olan sınıflar (xxxDataAdapter, xxxDataReader, xxxCommand, xxxConnection v.b.) vasıtasıyla verilerin çekilmesi ve bu verilerin “memory üzerindeki veritabanımız” olarak kabaca ifade edebileceğimiz DataSet’ ler içerisinde oluşturduğumuz DataTable’ lara yüklememiz gerekmektedir.&lt;br /&gt;&lt;br /&gt;DataSet genel olarak aşağıdaki hiyeraşri ile oluşturulmaktadır.&lt;/span&gt;&lt;/span&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bqINL2ro10c/SpEPpwzeDkI/AAAAAAAAAL0/lI8f2_FZac4/s1600-h/image001.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 215px;" src="http://1.bp.blogspot.com/_bqINL2ro10c/SpEPpwzeDkI/AAAAAAAAAL0/lI8f2_FZac4/s400/image001.png" alt="" id="BLOGGER_PHOTO_ID_5373093040579546690" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Resimden de anlaşılabileceği  üzere DataSet provider bağımsız bir veri saklama, yönetme v.b. otamıdır. Siz  DataSet’ in verilerini herhangi x bir veri kaynağı üzerinden çekebileceğiniz  gibi örneğin bir web servis ya da bir WCF servis çağrısı sonucunda gelen XML  üzerinden de yükleyebilmektesiniz. Genel olarak DataSet bir Container görevi  görmekte, veriler DataSet içerisindeki DataTable’ lar üzerinde  konumlandırılmaktadır. DataTable ise DataColumn (Sütunlar) ve DataRow (Satırlar)  koleksiyonlarından oluşmaktadır. Ayrıca bu DataTable ‘ lar arasında DataSet  seviyesinde DataRelation (İlişkiler) konumlandırarak ilintili kayıtlar arasında  dolaşabilekteyizdolaşabilmekteyiz.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bu noktaya kadar kısa bir  DataSet – DataTable – DataColumn – DataRow kavramları hakkında bilgi sahibi  olduk. Sıra geldi yazımızın asıl konusuna.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Normalde şartlarda DataTable  üzerindeki bir verinin sorgulanması “çok sınırlı” olarak sınıf üzerindeki Select  fonksiyonu ya da bu DataTable üzerinden oluşturulan bir DataView objesinin  Filter özelliği vasıtasıyla “belirli sınırlar içerisinde”  gerçekleştirilebilmektedir. Bu noktada daha kapsamlı bir sorgulama altyapısının  olması, en azından halihazırda kullanıyor olduğumuz sql-tipi sorgulama  altyapısının uygulanabilir olması uygulama geliştiricilere ciddi avantajlar  kazandıracaktır.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SpEQCItqVjI/AAAAAAAAAL8/2q0OjuQuGz0/s1600-h/image002.png"&gt;&lt;img style="cursor: pointer; width: 235px; height: 369px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SpEQCItqVjI/AAAAAAAAAL8/2q0OjuQuGz0/s400/image002.png" alt="" id="BLOGGER_PHOTO_ID_5373093459314497074" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Linq To Dataset bize bu  altyapıyı sunmaktadır. .net Compact Framework 3.5 ile birlikte gelen System.Data  ve System.Data.DataSetExtensions referanslarının projeye eklenmesinin sonusunda  DataTable, DataRow ve DataView sınıfları içerisinde bu sorgulamaya altyapı  sağlayacak konu ile ilgili birkaç Linq Extension Method’ u  gelmektedir.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SpEQCshoPtI/AAAAAAAAAME/21fHfMpAfT8/s1600-h/image003.png"&gt;&lt;img style="cursor: pointer; width: 229px; height: 177px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SpEQCshoPtI/AAAAAAAAAME/21fHfMpAfT8/s400/image003.png" alt="" id="BLOGGER_PHOTO_ID_5373093468927704786" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;IntelliSense üzerinden  DataTable’ a baktığımızda ise ;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SpEQC1dpwMI/AAAAAAAAAMM/Xeimxk3MSwU/s1600-h/image004.png"&gt;&lt;img style="cursor: pointer; width: 372px; height: 183px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SpEQC1dpwMI/AAAAAAAAAMM/Xeimxk3MSwU/s400/image004.png" alt="" id="BLOGGER_PHOTO_ID_5373093471326945474" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;İki adet çok kritik extension  method gelmektedir. AsDataView Extension Method’ u DataTable üzerinden direk  DataView oluşturmaya, AsEnumerable extension method’ u ise tablo içerisindeki  DataRow’ ların içerisinde bulunduğu “içi dolu” bir  EnumerableRowCollection&lt;datarow&gt; instance’ ı dönmektedir. Mükemmel.   Bilindiği üzere LINQ temel anlamda IEnumerable&lt;t&gt; üzerinde  konumlandırıldığı düşünülürse bu tip bir kaynağın sorgulanması ciddi anlamda  kolaylaşacaktır.&lt;/t&gt;&lt;/datarow&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bqINL2ro10c/SpEQDJ4pz4I/AAAAAAAAAMU/aAl97gdAELM/s1600-h/image005.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 46px;" src="http://1.bp.blogspot.com/_bqINL2ro10c/SpEQDJ4pz4I/AAAAAAAAAMU/aAl97gdAELM/s400/image005.png" alt="" id="BLOGGER_PHOTO_ID_5373093476808904578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;br /&gt;İşte tanıdığımız bir sürü extension method  !&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bqINL2ro10c/SpEQDnwVO4I/AAAAAAAAAMc/femtp1XNw98/s1600-h/image006.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 148px;" src="http://3.bp.blogspot.com/_bqINL2ro10c/SpEQDnwVO4I/AAAAAAAAAMc/femtp1XNw98/s400/image006.png" alt="" id="BLOGGER_PHOTO_ID_5373093484827065218" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bu noktada birkaç detayı daha  netleştirelim. Bilindiği üzere DataSet’ ler “hazırlanışlarına göre” 2 farklı  şekilde olabilmektedir ; typed ve untyped. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Typed DataSet’ ler “genellikle”  bir code-generator tarafından oluşturulan ve içeriğine “daha hakim  olabileceğimiz” cinsten DataSet’ lerdir. Örneğin, DataSet içerisinde 2 adet  DataTable oluşturulduğunu varsayalım ; Employees ve Orders. Bu tablolara  standart olarak ;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SpEQMluyuPI/AAAAAAAAAMk/LeMdGSEtSu8/s1600-h/image007.png"&gt;&lt;img style="cursor: pointer; width: 338px; height: 55px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SpEQMluyuPI/AAAAAAAAAMk/LeMdGSEtSu8/s400/image007.png" alt="" id="BLOGGER_PHOTO_ID_5373093638902561010" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;ulaşabilmekteyiz.  Typed olan  bir DataSet içerisindeki structure, veri kaynağına bakarak hazırlanacağından,  yukarıdaki yönteme “alternatif” olarak şu şekilde de ulaşabileceğimiz bir model  “code generetor” tarafından oluşturulmaktadır ;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SpEQM2Hb7bI/AAAAAAAAAMs/etiV-egOJfQ/s1600-h/image008.png"&gt;&lt;img style="cursor: pointer; width: 387px; height: 123px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SpEQM2Hb7bI/AAAAAAAAAMs/etiV-egOJfQ/s400/image008.png" alt="" id="BLOGGER_PHOTO_ID_5373093643300892082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bu yöntem “eğer uygulanabiliyorsa”  ciddi bir avantaj oluşturmakta, DataSet’ in yapısını anlamamıza ve işlem  yapmamıza çok daha fazla olanak sağlamaktadır.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Genel olarak Linq To Dataset ile  Typed ve UnTyped DataSet’ ler üzerinde sorgulama ya da filtreleme işlemleri  gerçekleştirebilmektesiniz.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Gelelim uygulama örneklerine.  Örneğimizde hem Typed hem Untyped DataSet’ ler kullanarak Linq To Dataset kod  blokları geliştireceğiz. Bu noktada Typed DataSet’ i Northwind’ in Sql Server  Compact Edition için hazırlanmış örnek veritabanı üzerinden “otomatik” olarak  oluşturacağız.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Projemize bu örnek veritabanını  ;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SpEQNMRsPNI/AAAAAAAAAM0/0mFQPXHwjOQ/s1600-h/image009.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 79px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SpEQNMRsPNI/AAAAAAAAAM0/0mFQPXHwjOQ/s400/image009.jpg" alt="" id="BLOGGER_PHOTO_ID_5373093649249483986" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Patikası üzerinden ekliyoruz ;  ve ekrana gelen Typed Dataset oluşturma sihirbazından Orders ve Employees  Tablolarını seçiyoruz. İşlem sonucunda aşağıdaki şemaya sahip bir DataSet’ in  projemiz içerisinde oluşturulmuş olması gerekmektedir.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SpEQNYxVNAI/AAAAAAAAAM8/GfnMnuySe4I/s1600-h/image010.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SpEQNYxVNAI/AAAAAAAAAM8/GfnMnuySe4I/s400/image010.png" alt="" id="BLOGGER_PHOTO_ID_5373093652603417602" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Ayrıca, verilerin  doldurulabilmesi adına her DataTable ile ilişkili TableAdapter’ ler ise otomatik  olarak eklenmiştir.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Sıra geldi bu verileri  sorgulamaya. Linq To Dataset içerisinde Standart Query Operators olarak ifade  edilen operatörleri kullanabilmektesiniz. Sorgulama hem query expression  yöntemiyle hem de extension method’ lar ile  gerçekleştirilebilmektedir.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Uygulamamızın yüklenmesiyle  birlikte veritabanı üzerinden Employees ve Orders tablolarını  dolduruyoruz.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bqINL2ro10c/SpEQN1AYmFI/AAAAAAAAANE/hS9U6yLIBRk/s1600-h/image011.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 123px;" src="http://3.bp.blogspot.com/_bqINL2ro10c/SpEQN1AYmFI/AAAAAAAAANE/hS9U6yLIBRk/s400/image011.png" alt="" id="BLOGGER_PHOTO_ID_5373093660182747218" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Ve sorgulamaya başlıyoruz. İlk  örneğimizde Employees DataTable’ ı içerisinde EmployeeId değeri 5’ ten büyük  olan DataRow’ ları seçelim ve Firstname değerlerine göre tersten  sıralatalım.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bqINL2ro10c/SpERydGUNqI/AAAAAAAAANM/8jS84Rzi8AA/s1600-h/image012.png"&gt;&lt;img style="cursor: pointer; width: 393px; height: 169px;" src="http://1.bp.blogspot.com/_bqINL2ro10c/SpERydGUNqI/AAAAAAAAANM/8jS84Rzi8AA/s400/image012.png" alt="" id="BLOGGER_PHOTO_ID_5373095388931962530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Uygulama çalıştırılıp Button’ a  basıldığında ise ;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SpERyur4DPI/AAAAAAAAANU/ovfu0STrMik/s1600-h/image013.png"&gt;&lt;img style="cursor: pointer; width: 242px; height: 297px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SpERyur4DPI/AAAAAAAAANU/ovfu0STrMik/s400/image013.png" alt="" id="BLOGGER_PHOTO_ID_5373095393652903154" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Yukarıdaki sonuç kümesi elde  edilmektedir. Id’ si 5’ ten büyük olan personellerin Firstname’ e göre tersten  göre sıralanmış hali.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bu noktada kod bloğunu biraz  açıklamamız gerekmektedir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bqINL2ro10c/SpERydGUNqI/AAAAAAAAANM/8jS84Rzi8AA/s1600-h/image012.png"&gt;&lt;img style="cursor: pointer; width: 393px; height: 169px;" src="http://1.bp.blogspot.com/_bqINL2ro10c/SpERydGUNqI/AAAAAAAAANM/8jS84Rzi8AA/s400/image012.png" alt="" id="BLOGGER_PHOTO_ID_5373095388931962530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Öncelikle dikkat edilirse  sorgulama modeli Linq To Dataset’ te en ufak bir farklılık taşımamaktadır.  Standart Query Expression modeli ile birebir aynıdır. Bu noktada dikkat çeken 2  adet nokta bulunmaktadır. Bunlardan ilki “r” sembolik adıyla anlık olarak temsil  edilen DataRow sınıfı içerisinde normal şartlarda olmayan bir extension method’  un olmasıdır ; &lt;b&gt;Field&lt;t&gt;.&lt;/t&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bu method, aranan kolon  değerini, kendisine gönderilen kolon ismi üzerinden arayarak &lt;t&gt; generic  parametresine verilen tipte geri döndürmektedir. Bu noktada Employee Id kolon  değerini int tipinde kullanıcıya döndürmekte ve incelemeye olanak sağlamaktadır.  Süper ! Sorgulama esnasında tam ihtiyaç duyabileceğimiz bir extension method.  Bunun dışında bir extension Method daha DataRow üzerinde gelmektedir ;  &lt;b&gt;SetField&lt;t&gt;. &lt;/t&gt;&lt;/b&gt;Bu method ise belirlenen kolon’ a T generic  parametresinde belirtilen değer tipiyle gönderilen değeri kaydetmektedir.  &lt;/t&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SpERy1EjbDI/AAAAAAAAANc/hKF19eNb1f0/s1600-h/image014.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 40px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SpERy1EjbDI/AAAAAAAAANc/hKF19eNb1f0/s400/image014.png" alt="" id="BLOGGER_PHOTO_ID_5373095395367021618" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Kod bloğunu incelemeye devam  ediyoruz. Sorgu sonucunda elimize &lt;b&gt;OrderedEnumerableRowCollection&lt;t&gt;&lt;/t&gt;&lt;/b&gt;  tipinde bir sonuç kümesi dönmektedir. Bu sonuç kümesini bu haliyle Complex  DataBinding gerçekleştirebilecek bir kontrole (Örn : DataGrid) DataSource olarak  gönderememekteyiz. DataSource’ un IList’ i implemente etmesi gerekmektedir.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bu noktada hem IList noktasında  hem de bir sonraki aşamada filtreleme yapabilmek adına en mantıklı çözüm  DataView olmaktadır. Linq To Dataset paketi içerisinde gelen Extension Method  AsDataView&lt;t&gt;() ile elimizdeki EnumerableRowCollection topluluğunu tek bir  method ile DataView’ a çevirebilmekte, DataSource olarak  gönderebilmekteyiz.&lt;/t&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Farklı bir örnek üzerinde  çalışalım. Bilindiği üzere ilişkili tablolar sql tarafında Join sorguları ile  ortaklaşa sorgulanabilmekte, birden fazla tablo üzerinden alınan veriler  birleştirilebilmektedir.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Linq To Data üzerinde de join  sorguları gerçekleştirebilmektesiniz ! Örneğimizde Orders tablosu ile Employees  tablosu arasında Employee Id alanı üzerinden bir ilişki bulunmaktadır.  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Hedefimiz ; Orders tablosundan  satış bilgilerini almak ve bunun yanında Employee Id yerine bu satış ile  ilişkili personelin Ad – Soyad (Firstname + Lastname) bilgilerini almaktır. Her  iki tabloyu Load’ ta doldurduktan sonra aşağıdaki sorguyu çalıştırıyoruz  :&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SpERzeDrxOI/AAAAAAAAANk/81R-e5IOdsw/s1600-h/image015.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 183px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SpERzeDrxOI/AAAAAAAAANk/81R-e5IOdsw/s400/image015.png" alt="" id="BLOGGER_PHOTO_ID_5373095406369228002" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bu noktada sonuç kümesinin  DataRow’ lardan oluşmamasından ötürü sonuç kümesini DataView’ e  dönüştürememekteyiz. Fakat DataGrid IList implemantasyonunu sağlayan  List&lt;t&gt; değerlerini gösterebildiğinden Sonuc ‘ u ToList() method’ u ile  List&lt;t&gt; e çeviriyoruz. Ve sonucunda aşağıdaki görünümü elde ediyoruz  ;&lt;/t&gt;&lt;/t&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_bqINL2ro10c/SpERzhTj_MI/AAAAAAAAANs/oG26Q3tyh5M/s1600-h/image016.png"&gt;&lt;img style="cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_bqINL2ro10c/SpERzhTj_MI/AAAAAAAAANs/oG26Q3tyh5M/s400/image016.png" alt="" id="BLOGGER_PHOTO_ID_5373095407241133250" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Peki, şu ana kadar tüm bu  örnekleri  Typed DataSet’ e uygun olarak hazırladık. Ya elimizde structure’ ı  hakkında bu şekilde çalışamayacağımız, untyped bir DataSet olsaydı ? Yukarıdaki  sorguyu UnTyped DataSet’ e uygun olarak tekrar yazıyoruz ;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SpESARvpJBI/AAAAAAAAAN0/cUVFcz-Xs8E/s1600-h/image017.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 174px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SpESARvpJBI/AAAAAAAAAN0/cUVFcz-Xs8E/s400/image017.png" alt="" id="BLOGGER_PHOTO_ID_5373095626402243602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;br /&gt;Yukarıdaki kod bloğu dikkatlice  incelenirse bir önceki kod bloğu ile arasında hem farklar hem de benzerlikler  olduğu rahatlıkla anlaşılabilecektir. Gelelim farklılıklara ;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bir önceki kod bloğunda  TypedDataTable olarak DataSet’ in Employees özelliği üzerinden DataTable’ a  direk ulaşıyor, join uygulayabiliyorduk. Bu noktada DataTable normalin dışında  System.Data.TypedTableBase&lt;employeesrow&gt; sınıfından kalıtım aldığından  direk olarak join uygulanabilmektedir. (Çünkü bu kalıtım sonucunda DataTable  IEnumerable&lt;t&gt; implemente etmektedir). Fakat UnTyped DataTable  IEnumerable&lt;t&gt; implemente etmediğinden join operasyonlarına  sokulamamaktadır. Bunu aşabilmek adına UnTyped DataTable içerisinde  AsEnumerable() adında bir extension method bulunmakta, tablo içerisindeki  DataRow’ ları sorgulayabilecek yapıya dönüştürmektedir.&lt;/t&gt;&lt;/t&gt;&lt;/employeesrow&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bunun dışında alanlara direk  “özellikler üzerinden” ulaşamamakta (Örn : Employees.Employee_ID), DataRow  içerisinde bulunan Field&lt;t&gt; generic extension method’ u ile  ulaşılmaktadır. (Örn : en.Field&lt;int&gt;(“Employee Id”)). Kod bloğunu  çalıştırdığımızda ise birebir aynı sonucu almaktayız.&lt;/int&gt;&lt;/t&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SpESAkQ2QqI/AAAAAAAAAN8/DlgUVsjhWuU/s1600-h/image018.png"&gt;&lt;img style="cursor: pointer; width: 240px; height: 296px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SpESAkQ2QqI/AAAAAAAAAN8/DlgUVsjhWuU/s400/image018.png" alt="" id="BLOGGER_PHOTO_ID_5373095631373353634" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;İşte bu kadar !&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bütün bunların dışında gelen  sorgu sonucu üzerinde diğer extension methodları kullanarak (sum, count v.b.)  birçok işlemi gerçekleştirebilmektesiniz.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;Bu yazımızda genel olarak Linq  To Dataset kavramına değindik. Örnek uygulamayı sisteme aktardıktan sonra buradan yayınlayacağım. Bir  başka yazıda görüşmek dileğiyle.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-290810227808212388?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/290810227808212388/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/net-compact-framework-35-linq_23.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/290810227808212388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/290810227808212388'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/net-compact-framework-35-linq_23.html' title='.Net Compact Framework 3.5 – LINQ Uygulamaları – Linq To Dataset'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bqINL2ro10c/SpEPpwzeDkI/AAAAAAAAAL0/lI8f2_FZac4/s72-c/image001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-6870719880796928716</id><published>2009-08-18T21:15:00.009+03:00</published><updated>2009-08-18T21:53:40.095+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='.net compact framework'/><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><title type='text'>.Net Compact Framework 3.5 – LINQ Uygulamaları – Standart Query Operators</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Hiç şüphesiz .Net Compact Framework 3.5 ile birlikte gelen “sınırlı” &lt;strong&gt;LINQ (Language Integrated Query)&lt;/strong&gt; desteği .Net Compact Framework managed mobil cihaz uygulama geliştiricilerin uygulama geliştirme sürecini ciddi anlamda kolaylaştıran en önemli yeniliklerin başında ifade edilebilmektedir. .Net Framework 3.5 ile birlikte uygulama geliştirme ortamında yerini bulan ve günümüzde bakıldığında üzerine onlarca “Provider” geliştirilen LINQ, birçok yazılım geliştiricinin yazılım geliştirme sürecini hızlandırmakta, okunması, anlaşılması ve yazılması her zaman daha sevimli ve daha kolay olan “sql-tipi” sorgulama modelini .Net ortamına getirmektedir. .Net Uygulama Geliştirme platformu üzerinde resmi dil olarak kabul edilen C# (C-Sharp) ve VB.NET (Visual Basit .Net) programlama dilleri kullanılarak, bu dillerin compiler (derleyici)’ ları üzerinde yapılan geliştirmeler sonucunda uygulama geliştiriciler birçok farklı “veri setine” “doğal yöntemlerle” ulaşabilmekte ve bu verileri “doğal yöntemlerle” sorgulayabilmektedir. Doğal yöntemler olarak katedilen metoloji, hali hazırda veri sorgulama işlemlerinde kullanıyor olduğumuz select, from, join, where v.b. gibi sorgulama kelimelerinin programatik ortamda kullanılmasıdır. LINQ (Language Integraed Query), temelinde bize bu olanağı sağlamakta, derleyicilere bu yeteneği kazandırmaktadır. Bir diğer bakış açısıyla LINQ, IEnumerable&lt;t&gt; (Tahmin edin bu arayüzü kaç sınıf implement etmekte ve kaç arayüz bu arayüzden kalıtım almakta) kaynaklı tüm koleksiyonları sorgulamamıza olanak sağlamaktadır.&lt;br /&gt;&lt;br /&gt;Örneğin ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SorwYFd6jDI/AAAAAAAAAKE/K5s2agkOmnw/s1600-h/image001.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 56px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371369802167913522" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SorwYFd6jDI/AAAAAAAAAKE/K5s2agkOmnw/s400/image001.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;kod satırları string bir dizi üzerinde dizi elemanlarının metinsel uzunluğu 3 karakterden fazla olan elemanları listelemesini öngörmektedir.&lt;br /&gt;&lt;br /&gt;LINQ ile iki farklı metodoloji ile sorgulama gerçekleştirebilmekteyiz. Bunlardan ilki yukarıdaki ekran görüntüsünde ifade edilen ve “Query Expression” olarak tabir edilen native keyword’ ler ile sorgulama yapmak, diğeri ise “aslında yukarıdaki yazılanların da derleme zamanında otomatik olarak uygun olan Extension Method’ lara çevrildiği” metot çağrıları ile sorgulama yapmaktır. Örneğin yukarıdaki sorguyu ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/SorwYXLQ9dI/AAAAAAAAAKM/b5U-yORBdmI/s1600-h/image002.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 50px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371369806921528786" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SorwYXLQ9dI/AAAAAAAAAKM/b5U-yORBdmI/s400/image002.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Şeklinde de çalıştırabilmekteyiz.&lt;br /&gt;&lt;br /&gt;Evet, LINQ çağrıları derleme anında IEnumerable&lt;t&gt; tipi için .Net Framework 3.5 üzerinde tanımlanan Extension method çağrılarına dönüştürülmekte ve sonuçlar üretilmektedir. Bu Extension Method’ larının kullanılabilmesi için uygulama içerisine System.Linq referansının eklenmesi ve bu referansın kod ekranı üzerinde “using” ile belirtilmesi gerekmektedir.&lt;br /&gt;Referanslardan ilgili referansı eklemeli ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SorwYrKBEII/AAAAAAAAAKU/Ns-NytHoa0I/s1600-h/image003.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 143px; HEIGHT: 86px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371369812285001858" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SorwYrKBEII/AAAAAAAAAKU/Ns-NytHoa0I/s400/image003.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Ve System.Linq ‘ i kod ekranına “using” ile tanımlamamız gerekmektedir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SorwZIUvlOI/AAAAAAAAAKc/NA06B37Vv-w/s1600-h/image004.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 240px; HEIGHT: 131px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371369820114621666" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SorwZIUvlOI/AAAAAAAAAKc/NA06B37Vv-w/s400/image004.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Peki IEnumerable&lt;t&gt; üzerinde tanımlı Extension Method’ lar nelerdir ? Bu sonuca ulaşabilmenin onlarca yöntemi bulunmaktadır. En kolayı uygulama geliştirme ortamında System.Linq.Enumerable üzerine sağ tıklamak ve “Go To Definition” seçeneğine tıklayarak metadata üzerinden bu listeye ulaşmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SorwZY956NI/AAAAAAAAAKk/KJ_dB4-fJqY/s1600-h/image005.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 278px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371369824582232274" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SorwZY956NI/AAAAAAAAAKk/KJ_dB4-fJqY/s400/image005.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;“LINQ Standart Query Operators” olarak adlandırılan bu fonksiyon seti, temel olarak bir veri seti üzerinde ihtiyaç duyulabilecek neredeyse tüm işlemleri gerçekleştirmeye yarayan “Extension Method" ' lardan oluşmaktadır. Bu setin içideki tüm fonksiyonların ne işe yaradığını &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.linq.enumerable_members.aspx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://msdn.microsoft.com/en-us/library/system.linq.enumerable_members.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden detaylıca öğrenebilirsiniz.&lt;br /&gt;&lt;br /&gt;Bütün bunların dışında yazının başında da belirttiğimiz üzere LINQ’ in bize sunduğu Iqueryable&lt;t&gt; arayüzü sayesinde LINQ ile onlarca veri kaynağını sorgulayabileceğimiz sanal “LINQ Provider” ‘ ları oluşturabilmekteyiz. LINQ, standart olarak memory üzerinde konumlandırılmış olan koleksiyonlar sorgulayabilecek LINQ To Objects, Sql Server üzerinde tanımlı olan bir veritabanını sorgulayabilecek LINQ To SQL, Xml içerikli dosyaları, verileri sorgulayabilecek LINQ To XML, Ado.Net Entity Framework altyapısını kullanarak Entity objelerimizi sorgulayabilecek LINQ To Entities, Dataset + Datatable objelerini direk sorgulayabileceğimiz LINQ To Dataset gibi 10’ a yakın provider ile gelmekte, ve gün geçtikçe farklı veri kaynakları için yeni provider’ lar geliştirilmektedir. Bu bağlamda bakıldığında LINQ uygulama geliştiricilere ciddi bir kapı aralamış ve uygulama geliştirme süreçlerini hızlandırmıştır.&lt;br /&gt;&lt;br /&gt;Hızlı bir şekilde yazımızın ana konusuna dönersek, bu yazımızda .Net Compact Framework 3.5 ile birlikte “artık” desteklenen, mobil cihaz uygulama geliştiricilerin bu platform üzerinde kullanabilecekleri LINQ implemantasyonundan bahsedeceğiz.&lt;br /&gt;.Net Compact Framework 3.5 ile artık masaüstü LINQ’ in “kısıtlı, belirli bir bölümünü” mobil cihaz uygulamaları geliştirirken kullanabilmekteyiz. .Net Compact Framework 3.5 üzerinde sadece ;&lt;br /&gt;&lt;br /&gt;Standart Query Operators&lt;br /&gt;LINQ To Dataset&lt;br /&gt;LINQ To XML&lt;br /&gt;&lt;br /&gt;desteklenmektedir.&lt;br /&gt;&lt;br /&gt;Standart Query Operators&lt;br /&gt;Yazımızın bir önceki bölümünde bahsettiğimiz üzere LINQ içerisinde Standart Query Operators başlığı altında IEnumerable&lt;t&gt; arayüzü için hazırlanmış bir dizi extension method bulunmaktadır. Bu methodlar genel olarak “veri üzerinde standart işlemler” olarak tâbir ettiğimiz arama, sayma, filtreleme, seçme v.b. gibi işlemleri gerçekleştirmeye yarayan method’ lardır. Method’ ların tek tek kullanımını bu noktada belirtmek çok mantıksız olur. Belirli amaçlara yönelik birkaç method’ un kullanımından bahsetmek, diğerlerinin öğrenilmesine yol açmak şahsen daha mantıklı olacaktır. :)&lt;br /&gt;&lt;br /&gt;Hiç vakit kaybetmeden birkaç örnek üzerine çalışalım. Örneğimizde Sql Server Compact Edition 3.5 sürümü üzerinde hazırlanmış Northwind.sdf isimli veritabanı üzerinden Customers tablosuna ait veriler çekiliyor ve çekilen her satır uygulama içerisinde bir Customer entity instance’ ı olarak temsil ediliyor. Bu noktada hazırlanan alt yapıyı örnek kodları indirerek inceleyebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SoryH3nwGZI/AAAAAAAAAKs/gMkV-LnQnvQ/s1600-h/image006.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 219px; HEIGHT: 241px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371371722596424082" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SoryH3nwGZI/AAAAAAAAAKs/gMkV-LnQnvQ/s400/image006.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Entity klasörü içerisindeki Customer sınıfı, veritabanı üzerindeki bir Customer kaydını temsil edecek şekilde modellenmiştir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/Sory2-_mk7I/AAAAAAAAALU/Vc6_lxLBHwM/s1600-h/image007.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 381px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371372532029363122" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/Sory2-_mk7I/AAAAAAAAALU/Vc6_lxLBHwM/s400/image007.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Business klasörü içerisindeki Customer sınıfı ise Northwind.sdf üzerinden tüm müşteri kayıtlarını Ilist&lt;entity.customer&gt; tipinde döndürmeye yarayacak bir fonksiyona sahiptir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/SoryISlTK9I/AAAAAAAAAK8/MOmGMZWUI9Q/s1600-h/image008.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 399px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371371729833896914" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/SoryISlTK9I/AAAAAAAAAK8/MOmGMZWUI9Q/s400/image008.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Bu noktada kodların tamamına örnek kodları indirerek ulaşabilirsiniz. Verilerin getirilmesinde SqlCe Provider’ ı kullanışmıştır.&lt;br /&gt;&lt;br /&gt;Sıra geldi bu verileri çekip, üzerinde sorgulama yapmaya. Bu noktada bize yardımcı olması adına uygulamamıza bir Form ekliyoruz ve Form Load olayı tetiklendiğinde aşağıdaki kod bloğunu çalıştırıyoruz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SoryI6erPsI/AAAAAAAAALE/fg6akttr1VI/s1600-h/image009.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 115px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371371740543532738" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SoryI6erPsI/AAAAAAAAALE/fg6akttr1VI/s400/image009.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Ve verilerimiz artık elimizde. Bu noktadan sonra elimizdeki Customers list’ i üzerinde Standart Query Operators ‘ ı kullanarak birçok işlem gerçekleştirebiliriz. Sonucta IList&lt;t&gt; arayüzü içeriğine bakıldığında IEnumerable&lt;t&gt; arayüzünden kalıtım almaktadır. Dolayısıyla IEnumerable&lt;t&gt; için hazırlanmış tüm Extension Method’ lar IList&lt;t&gt; içinde geçerlidir.&lt;br /&gt;Form üzerine bir button yerleştirip bu button’ a tıkladığımızda açılan kod bloğu içerisinde Customers yazıp noktaya basıyoruz ve gerçekleştirebilecek olduğumuz işlemlerin bir listesini görüntülüyoruz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SoryJAiDmjI/AAAAAAAAALM/G4QS5L5iIFM/s1600-h/image010.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 397px; HEIGHT: 248px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371371742168324658" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SoryJAiDmjI/AAAAAAAAALM/G4QS5L5iIFM/s400/image010.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;İşte karşımızda Extension Method’ lar ya da bir diğer deyimiyle Standart Query Operators ! İkonunda aşağı doğru bakan mavi renkli ok işaratei bulunanlar Extension Method olarak ifade edilebilir.&lt;br /&gt;&lt;br /&gt;Sıra geldi bu fonksiyonların etinden sütünden faydalanmaya. Bilindiği üzere LINQ üzerinde iki tip sorgulama yöntemi bulunmaktadır. Query Expressions ve Method Calls. Siz, bazı operatörleri method çağrıları şeklinde çağırmak yerine LINQ’ in “doğal yöntemi” ile sorgulayabilirsiniz. Bunu yazımızın başında ifade etmiştik.&lt;br /&gt;&lt;br /&gt;Query Expression modelinde hangi keyword’ lerin kullanılabileceğini ise &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb882642.aspx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://msdn.microsoft.com/en-us/library/bb882642.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden inceleyebilir, yazdığınız kelimelerin compile time’ da hangi method çağrılarına dönüştürüldüğünü, hangilerini sadece methodlar kullanarak çağırabileceğinizi bu listeden görebilirsiniz. Ayrıca C#’ ta olmayan bazı keyword’ ler VB.Net üzerinde bulunmaktadır. J Microsoft’ un önerisi, okunması her açıdan kolay olan Query Expression’ ları olabildiğince kullanmamızdır. Sonuçta compile time’ da her ikiside aynı IL koduna dönüştürüldüğünden aralarında hiç bir performans farkı bulunmamaktadır. Ayrıca bilindiği üzere Query Expression’ lar çok sınırlı bir keyword listesini desteklemekte. Siz sıkıştığınız noktalarda bu expressionları method çağrıları ile birleştirip hibrit sorgulamalar gerçekleştirebilirsiniz. Örneğin ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/Sor1N5GxF7I/AAAAAAAAALc/tEPGEhMQ4bM/s1600-h/image011.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 59px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371375124609046450" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/Sor1N5GxF7I/AAAAAAAAALc/tEPGEhMQ4bM/s400/image011.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Yukarıdaki kod bloğunda Berlin şehrinde yaşayan müşterilerimizin ContactTitle bilgisini seçtikten sonra normal şartlarda C# üzerinden Query Expression yöntemi ile gerçekleştirilemeyen Distinct çağrısını Extension Method çağrısı ile gerçekleştirmiş bulunmaktayız.&lt;br /&gt;&lt;br /&gt;Biraz sorgulama gerçekleştirelim.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/Sor1OcYMeYI/AAAAAAAAALk/EPd2yuLrCmc/s1600-h/image012.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 64px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371375134077385090" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/Sor1OcYMeYI/AAAAAAAAALk/EPd2yuLrCmc/s400/image012.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Sorguda veri kaynağı üzerinden gelen müşterileri yaşadıkları ülkelere göre grupladık. Gruplamanın sonucunda ise anonim bir tip oluşturduk ve bu tipe 2 adet özellik tanımladık. Hangi şehir bilgisi ve bu şehirde yaşayan müşterilerin sayısı.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/Sor1OneN4RI/AAAAAAAAALs/wDkAq7u1JYM/s1600-h/image013.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 21px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5371375137055432978" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/Sor1OneN4RI/AAAAAAAAALs/wDkAq7u1JYM/s400/image013.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Örneğin yukarıdaki sorguda Adres’ i A harfiyle başlayan müşterileri listeledik.&lt;br /&gt;&lt;br /&gt;Kısacası elinizdeki verilerin yoğunluğu, aralarındaki ilişkiler ve daha birçok noktayı da göz önünde bulundurarak, .Net Compact Framework 3.5 kullanarak geliştirdiğiniz Mobil Cihaz Uygulamalarında Standart Query Operators olarak ifade edilen bu keyword ve fonksiyonları kullanarak LINQ’ in gücünü hissedebilirsiniz. Bir sonraki yazımızda .Net Compact Framework üzerinde &lt;strong&gt;LINQ To Dataset&lt;/strong&gt; kavramını örneklerle inceleyeceğiz.&lt;br /&gt;&lt;br /&gt;Geliştirilen örnek uygulamanın kodlarını &lt;strong&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Files/NetCfLinqSamples.zip"&gt;buradan&lt;/a&gt;&lt;/strong&gt; indirebilirsiniz.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-6870719880796928716?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/6870719880796928716/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/net-compact-framework-35-linq.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6870719880796928716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6870719880796928716'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/net-compact-framework-35-linq.html' title='.Net Compact Framework 3.5 – LINQ Uygulamaları – Standart Query Operators'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bqINL2ro10c/SorwYFd6jDI/AAAAAAAAAKE/K5s2agkOmnw/s72-c/image001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-4167976030686713925</id><published>2009-08-12T12:56:00.008+03:00</published><updated>2009-08-12T13:16:54.314+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kaynak'/><category scheme='http://www.blogger.com/atom/ns#' term='linqpad'/><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><title type='text'>LINQPad</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Birkaç gün içerisinde .Net Compact Framework 3.5 üzerinde LINQ uygulamaları ile ilgili bir yazı yayınlayacağım. Bu süreçte birkaç noktayı araştırırken karşıma çıkan "faydalı" bir ürünü sizlerle paylaşmak istiyorum ; "&lt;strong&gt;LINQPad&lt;/strong&gt;"&lt;br /&gt;&lt;br /&gt;LINQPad, isminden de anlaşılabileceği üzere hızlı ve kolay bir şekilde LINQ sorguları yazmak, projelerinde LINQ kullanmak isteyen uygulama geliştiricilerin hayatlarını ciddi anlamda kolaylaştırıyor. Uygulama üzerinden veritabanlarınıza bağlanabiliyor olmanızda aslında işin ayrı bir avantajı.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.linqpad.net/linqpadscreen.png" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.linqpad.net/linqpadscreen.png" rel="lightbox"&gt;&lt;img style="WIDTH: 353px; HEIGHT: 296px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5369019085732869762" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SoKWaYVmdoI/AAAAAAAAAJ0/WZNiZrteUXA/s400/linqpadscreen.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Uygulamayı "belirli özellikleri ile ücretsiz olarak" &lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.linqpad.net/"&gt;&lt;strong&gt;http://www.linqpad.net/&lt;/strong&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;adresinden indirebilirsiniz.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-4167976030686713925?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/4167976030686713925/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/linqpad.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/4167976030686713925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/4167976030686713925'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/linqpad.html' title='LINQPad'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/SoKWaYVmdoI/AAAAAAAAAJ0/WZNiZrteUXA/s72-c/linqpadscreen.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-3626203161244499243</id><published>2009-08-11T19:54:00.009+03:00</published><updated>2009-08-12T13:20:59.675+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='yaz okulu'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='seminer'/><title type='text'>Microsoft Yaz Okulu 2009 | Ankara</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;11 Ağustos 2009 tarihinde 1 tam günlük Microsoft Yaz Okulu 2009 eğitimi için Ankaradaydım. Hedefimiz ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;ul  style="font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Cep Bilgisayarları&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Windows Mobile 6.0 - 6.1 - 6.5&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Windows Mobile Mobil Cihaz Uygulamaları&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;.net Compact Framework 3.5&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Sql Server Compact Edition 3.5&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;ürün ve teknolojileri hakkında "vaktimiz elverdiğince" kapsamlı "tam günlük" bir eğitimdi. Her ne kadar vakit tam olarak yetmesede keyifli, öğretici ve örnekli bir gün geçirdik. Özellikle sabah derse erken başlamamız, öğrencilerin çok garibine gitti :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/SoGjnzdqFkI/AAAAAAAAAJc/N0DiSxdFSxQ/s400-h/IMG_2841_k.jpg" rel="lightbox"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 300px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5368752135027168834" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/SoGjnzdqFkI/AAAAAAAAAJc/N0DiSxdFSxQ/s400/IMG_2841_k.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bolca konuştuk, mobil cihazlar ve mobil cihaz uygulamalarını geliştirmek adına teknolojilerden bahsettik. Ve tabiki öğlen güzel bir yemek yedik ;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SoGj7eiHgcI/AAAAAAAAAJk/we7EMF_FRP8/s400-h/IMG_2839_k.jpg" rel="lightbox"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 300px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5368752473006113218" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SoGj7eiHgcI/AAAAAAAAAJk/we7EMF_FRP8/s400/IMG_2839_k.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kısacası keyifli bir gündü. Diğer seminerlerde görüşmek dileğiyle. Geliştirdiğimiz fakat tamamlayamadığımız örnek uygulamanın kodlarını bu adres üzerinden paylaşıyor olacağım. Uçağa yetişmem gerekiyor. :)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Edit : En sonunda dosyayı sunucuya yükledim. :) &lt;/strong&gt;&lt;a href="http://ekin.ozcicekciler.com/BlogFileUploadService/Files/MSYazOkuluAnkaraSatisSistemi.zip"&gt;&lt;strong&gt;Buraya ! &lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;tıklayarak geliştirilen uygulamayı indirebilirsiniz.&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-3626203161244499243?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/3626203161244499243/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/microsoft-yaz-okulu-2009-ankara.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3626203161244499243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3626203161244499243'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/microsoft-yaz-okulu-2009-ankara.html' title='Microsoft Yaz Okulu 2009 | Ankara'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bqINL2ro10c/SoGjnzdqFkI/AAAAAAAAAJc/N0DiSxdFSxQ/s72-c/IMG_2841_k.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-5348530830908768487</id><published>2009-08-08T09:52:00.012+03:00</published><updated>2009-08-08T14:10:48.607+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='visual studio 2008'/><title type='text'>ASP.NET Mobile &amp; Visual Studio 2008</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Uğraşanlar farkedecektir, önceki sürümlerinde standart bir ASP.NET Web projesi oluşturduğumuzda "Mobile Web Form" olarak ifade edilen mobil cihaz uyumlu Web Form' ları ekleyip, hazırlayabilmekteyiz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Fakat Visual Studio 2008 "Add New Item" dialog penceresinde gördüğümüz üzere bu özellik Visual Studio 2008 üzerinden "nedense" çıkarılmıştır. Alınan bazı duyumlara göre mobil cihazların farklı Form Factor' lerinin olması bu sonucu oluşmasında büyük rol oynarken kimilerine göre de bu tip bir çalışma için "uğraşılmamış".&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Visual Studio 2008 ASP.NET Mobile uygulama modelini halen desteklemektedir. Sadece Designer View olarak tabir edilen "Görsel Tasarım" ekranı bulunmamaktadır. &lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/Sn1bs1ct9rI/AAAAAAAAAJU/kbBi9Oi9v4c/s1600-h/error.JPG"&gt;&lt;img style="WIDTH: 354px; HEIGHT: 179px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5367547156715402930" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/Sn1bs1ct9rI/AAAAAAAAAJU/kbBi9Oi9v4c/s400/error.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Peki, biz bir Mobile Web Form' u projemize nasıl dahil edebilmekteyiz ? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Bu işi gerçekleştirmenin iki farklı yöntemi bulunmaktadır. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Yöntem 1 :&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Varolan bir Web Form' u Page yerine MobilePage' ten kalıtım aldırmak. Kullanacak olduğumuz kontrolleri ise UserControl yerine MobileUserControl' den kalıtım aldırmak. Ve son olarak sayfa üzerine ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;textarea class="c-sharp" name="code"&gt;&lt;%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %&gt;&lt;br /&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;tanımlamasını yerleştirerek "Source View" üzerinden mobile kontrollere erişmek.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Yöntem 2 :&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Visual Web Developer Group Program Manager Omar Khan tam ihtiyacımız olan bir Visual Studio template' i hazırlamış. &lt;/span&gt;&lt;a href="http://blogs.msdn.com/webdevtools/attachment/4776222.ashx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://blogs.msdn.com/webdevtools/attachment/4776222.ashx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden indirilebilecek bu template ile birinci yöntemde ifade edilen adımları otomatize edebilir, &lt;strong&gt;Add New Item&lt;/strong&gt; penceresine &lt;strong&gt;kaybolan Mobile Web Form' u&lt;/strong&gt; geri getirebilirsiniz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/Sn0jUH2q0cI/AAAAAAAAAI8/d4exNeI2cFA/s1600-h/untitled.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 240px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5367485159508201922" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/Sn0jUH2q0cI/AAAAAAAAAI8/d4exNeI2cFA/s400/untitled.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Yanlız ifade ettiğim üzere, Designer View olarak ifade edilen tasarım ekranı ASP.NET Mobile kontrollerini görüntüleyemediğinden bu özellik çıkarılmış, sadece Source View desteklenmektedir.&lt;/span&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/22158921-5348530830908768487?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/5348530830908768487/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/aspnet-mobile-visual-studio-2008.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5348530830908768487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5348530830908768487'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/aspnet-mobile-visual-studio-2008.html' title='ASP.NET Mobile &amp; Visual Studio 2008'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/Sn1bs1ct9rI/AAAAAAAAAJU/kbBi9Oi9v4c/s72-c/error.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-2187692251113324274</id><published>2009-08-06T10:41:00.004+03:00</published><updated>2009-08-06T10:57:30.382+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='windows 7 rtm'/><category scheme='http://www.blogger.com/atom/ns#' term='fiyatlar'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Windows 7 Sürümleri Türkiye Fiyatları</title><content type='html'>&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SnqKrGqyRbI/AAAAAAAAAIs/VEPfhlXwOik/s1600-h/win7%5B1%5D.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 64px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5366754379094443442" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SnqKrGqyRbI/AAAAAAAAAIs/VEPfhlXwOik/s400/win7%5B1%5D.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Microsoft’un bütün dünyada 22 Ekim 2009 tarihi itibarıyla tüketiciyle buluşacak yeni işletim sistemi Windows 7’nin farklı sürümleri için, Türkiye’de önerilen (kutu ürünler için) son kullanıcı liste fiyatları belirlendi. Paralel olarak PC üreticileri ile birlikte OEM Güncelleme Garantisi Programını başlattı. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Home Basic &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#ff0000;"&gt;123.00 US$&lt;br /&gt;&lt;/span&gt;Home Premium&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#ff0000;"&gt; 145.00 US$&lt;br /&gt;&lt;/span&gt;Professional &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#ff0000;"&gt;236.00 US$&lt;br /&gt;&lt;/span&gt;Ultimate &lt;span style="color:#ff0000;"&gt;250.00 US$&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Daha detaylı bilgi için ; &lt;/span&gt;&lt;a href="http://www.microsoft.com/turkiye/haberler/win7.mspx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;http://www.microsoft.com/turkiye/haberler/win7.mspx&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Ayrıca, &lt;strong&gt;Windows 7&lt;/strong&gt;' nin yeniliklerini incelemek isteyenler için ;&lt;/span&gt;&lt;/p&gt;&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/SnqMaii6CcI/AAAAAAAAAI0/-1uwhtchJQE/s1600-h/Capture.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 271px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5366756293543070146" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/SnqMaii6CcI/AAAAAAAAAI0/-1uwhtchJQE/s400/Capture.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href="http://www.microsoft.com/turkiye/windows/windows-7"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;http://www.microsoft.com/turkiye/windows/windows-7&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt; &lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Bu arada MSDN üyeleri için, bugün (6 Ağustos 2009) MSDN üzerinde Windows 7 RTM yayınlanacaktır. Bilginize :)&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/22158921-2187692251113324274?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/2187692251113324274/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/windows-7-surumleri-turkiye-fiyatlar.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2187692251113324274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2187692251113324274'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/windows-7-surumleri-turkiye-fiyatlar.html' title='Windows 7 Sürümleri Türkiye Fiyatları'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bqINL2ro10c/SnqKrGqyRbI/AAAAAAAAAIs/VEPfhlXwOik/s72-c/win7%5B1%5D.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-8660407111168438662</id><published>2009-08-04T22:12:00.000+03:00</published><updated>2009-08-04T22:14:16.504+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webiner'/><title type='text'>Webiner Tekrarı ! | Windows Mobile 6.5 – Widget Geliştirmek Part 1</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Arkadaşlar merhaba,&lt;br /&gt;&lt;br /&gt;04 Ağustos 2009 ' ta gerçekleştirdiğimiz &lt;strong&gt;Windows Mobile 6.5 – Widget Geliştirmek Part 1&lt;/strong&gt; konulu webiner bağlantı problemlerinden dolayı maalesef tamamlanamadı.  &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Webiner' in tekrarını yapacağız.&lt;/span&gt;&lt;/strong&gt; Katılan arkadaşlara çok teşekkür ediyorum.&lt;br /&gt;&lt;br /&gt;Yeni webiner gün / saatini mail grubu ve blog' um üzerinden paylaşacağım.&lt;br /&gt;&lt;br /&gt;Teşekkürler,&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-8660407111168438662?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/8660407111168438662/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/webiner-tekrar-windows-mobile-65-widget.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8660407111168438662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8660407111168438662'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/webiner-tekrar-windows-mobile-65-widget.html' title='Webiner Tekrarı ! | Windows Mobile 6.5 – Widget Geliştirmek Part 1'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-2179025480502677405</id><published>2009-08-02T11:21:00.003+03:00</published><updated>2009-08-02T11:25:19.687+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><category scheme='http://www.blogger.com/atom/ns#' term='mail grubu'/><category scheme='http://www.blogger.com/atom/ns#' term='live'/><title type='text'>Windows Mobile Türkiye - Mail Grubu</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Merhaba,&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Paylaşımın artması ve Türkiyedeki Mobil Cihaz uygulama geliştirici sayısının yükselmesi adına bir mail grubu kurdum ; &lt;span style="font-weight: bold;"&gt;Windows Mobile Türkiye !&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SnVNSwgntxI/AAAAAAAAAIk/izwA63ep4AY/s1600-h/wmgroup.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 269px;" src="http://2.bp.blogspot.com/_bqINL2ro10c/SnVNSwgntxI/AAAAAAAAAIk/izwA63ep4AY/s400/wmgroup.JPG" alt="" id="BLOGGER_PHOTO_ID_5365279515736520466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;Mail grubu genel olarak ;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-family: verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Windows Mobile&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;.Net Compact Framework&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Visual Studio&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;kavramları üzerine sorular, sorunlar, paylaşımlar ve örneklerin olacağı, tartışılacağı ve konuşulacağı bir ortam olacaktır.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;İlgi duyan herkesi Live ID' si ile birlikte ;&lt;br /&gt;&lt;/span&gt; &lt;a style="font-family: verdana;" href="http://windowsmobileturkiye.groups.live.com/"&gt;&lt;br /&gt;http://windowsmobileturkiye.groups.live.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;adresi üzerinden gruba katılımını bekliyorum. :)&lt;/span&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-2179025480502677405?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/2179025480502677405/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/windows-mobile-turkiye-mail-grubu.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2179025480502677405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2179025480502677405'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/08/windows-mobile-turkiye-mail-grubu.html' title='Windows Mobile Türkiye - Mail Grubu'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_bqINL2ro10c/SnVNSwgntxI/AAAAAAAAAIk/izwA63ep4AY/s72-c/wmgroup.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-7397270769158457732</id><published>2009-07-31T10:02:00.003+03:00</published><updated>2009-07-31T10:04:22.854+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcast'/><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><category scheme='http://www.blogger.com/atom/ns#' term='widget'/><title type='text'>Webcast (Web Semineri) - Windows Mobile 6.5 – Widget Geliştirmek Part 1</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Windows Mobile 6.5' un raflara yaklaşmasıyla birlikte bu konu üzerinde makaleler ve çalışmalar gerçekleştirmekteyim. Hazırladığım içerik üzerinden Windows Mobile 6.5 üzerinde uygulama geliştirme noktasında bir seminer serisi gerçekleştireceğim.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Ve bu serinin ilki ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Windows Mobile 6.5 – Widget Geliştirmek Part 1&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Windows Mobile 6.5 uygulama geliştiriciler ve son kullanıcılar tarafında onlarca yenilikle birlikte hayatımıza girdi sayılır. Uygulama geliştiriciler tarafında bu yeniliklerin belki de en önemlisi masaüstü ortamda halihazırda kullanıyor olduğumuz Widget’ lar. Artık Windows Mobile 6.5 üzerinde siz de Widget’ lar geliştirebilirsiniz.&lt;br /&gt;&lt;br /&gt;Windows Mobile 6.5 üzerinde Widget kavramının ayrıntılı şekilde ele alınacağı ve örnek uygulamaların geliştirileceği bu seminer, aynı zamanda Türkiye’de Windows Mobile 6.5 hakkında gerçekleştirilecek ilk web semineri olma özelliğini de taşımaktadır.&lt;br /&gt;&lt;br /&gt;Tarih : 04 Ağustos 2009 Salı Günü&lt;br /&gt;Saat : 21:00 – 22:00&lt;br /&gt;&lt;br /&gt;Konuşmacı: Device Application Development – MVP,  Ekin Özçiçekçiler.&lt;br /&gt;&lt;br /&gt;Web seminerine kayıt olmak için &lt;/span&gt;&lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032422769&amp;amp;EventCategory=4&amp;amp;culture=tr-TR&amp;amp;CountryCode=TR"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;buraya&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; tıklamak ve Windows Live ID (Hotmail hesabı) ile giriş yapmak gerekmektedir.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-7397270769158457732?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/7397270769158457732/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/webcast-web-semineri-windows-mobile-65.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7397270769158457732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7397270769158457732'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/webcast-web-semineri-windows-mobile-65.html' title='Webcast (Web Semineri) - Windows Mobile 6.5 – Widget Geliştirmek Part 1'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-4183280865425822687</id><published>2009-07-30T07:40:00.005+03:00</published><updated>2009-07-30T07:42:57.536+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><title type='text'>49 Free Windows Mobile 6+ Smartphone Apps and Services</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Mobil Cihaz Uygulama geliştiricilerin ve kullanıcılarının eminim çok hoşuna gidecekleri bir kaynağı sizlerle paylaşmak istiyorum. SpeckBoy üzerinde kullanıcıların hayatını kolaylaştıracak ve olmazsa olmaz "ücretsiz" Windows Mobile mobil cihaz uygulamalarının bir listesi hazırlanmış ; tam 49 adet uygulama !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SnEknpRenuI/AAAAAAAAAIc/xc54woMalNE/s1600-h/free.PNG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 269px;" src="http://4.bp.blogspot.com/_bqINL2ro10c/SnEknpRenuI/AAAAAAAAAIc/xc54woMalNE/s400/free.PNG" alt="" id="BLOGGER_PHOTO_ID_5364108894687633122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Bu listeye http://speckyboy.com/2009/07/27/49-free-windows-mobile-6-smartphone-apps-and-services/ adresinden ulaşabilir, uygulamaları cep bilgisayarınıza indirebilirsiniz.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-4183280865425822687?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/4183280865425822687/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/49-free-windows-mobile-6-smartphone.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/4183280865425822687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/4183280865425822687'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/49-free-windows-mobile-6-smartphone.html' title='49 Free Windows Mobile 6+ Smartphone Apps and Services'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/SnEknpRenuI/AAAAAAAAAIc/xc54woMalNE/s72-c/free.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-7560836917543971635</id><published>2009-07-22T21:45:00.003+03:00</published><updated>2009-07-22T22:47:58.205+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gesture'/><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><title type='text'>Windows Mobile 6.5 Gesture API Documentation</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Windows Mobile 6.5 ile birlikte &lt;strong&gt;Gesture&lt;/strong&gt; yani daha kolay bir ifade ile dokunmatik yüzey altyapısı (örn : parmak ile ekran üzerine dokunduğumuzda aktif olan altyapı) tamamiyle yenilendi. Bir önceki sürümleri ile karşılaştırıldığında geçişlerin ve gerçekleştirilen parmak hareketlerinin çok daha yumuşak algılandığını rahatlıkla farkedebilirsiniz.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/SmdsyPds8EI/AAAAAAAAAIU/igBaZyCB5wM/s1600-h/htc-touch-diamond-winmo-65.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 255px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5361373491808235586" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SmdsyPds8EI/AAAAAAAAAIU/igBaZyCB5wM/s400/htc-touch-diamond-winmo-65.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Windows Mobile 6.5 üzerinde geliştirdiğiniz uygulamalarda Gesture API' yi kullanmak istiyorsanız konu ile ilgili MSDN üzerinde bir referans hazırlandı.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee220920.aspx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://msdn.microsoft.com/en-us/library/ee220920.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;adresinden ilgili kaynağa erişebilirsiniz. API' nin kullanılabilmesi için Windows Mobile 6.5 DTK' nın kurulu olması gerektiğini unutmayın.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-7560836917543971635?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/7560836917543971635/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/windows-mobile-65-gesture-api.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7560836917543971635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7560836917543971635'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/windows-mobile-65-gesture-api.html' title='Windows Mobile 6.5 Gesture API Documentation'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_bqINL2ro10c/SmdsyPds8EI/AAAAAAAAAIU/igBaZyCB5wM/s72-c/htc-touch-diamond-winmo-65.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-8500032744411146092</id><published>2009-07-21T19:56:00.008+03:00</published><updated>2009-07-21T22:05:09.376+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='marketplace'/><category scheme='http://www.blogger.com/atom/ns#' term='appstore'/><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><category scheme='http://www.blogger.com/atom/ns#' term='mobil cihazlar'/><title type='text'>Windows Marketplace for Mobile Açılıyoor !</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Windows Mobile 6.5 ile birlikte hayatımıza girecek olan belkide en heyecan verici olan yenilik &lt;strong&gt;Marketplace&lt;/strong&gt;, 27 Temmuz' da uygulama gönderimi için kapılarını "belirnenen ülkelerde" uygulama geliştiricilere açıyor ! Marketplace kavramını ilk kez duyanlar için isterseniz ne olduğu ile ilgili hızlıca bir üzerinden geçelim.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SmYQ_CMztcI/AAAAAAAAAIE/Qcdjw2leOKs/s1600-h/MarketPlace.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 258px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360991081539548610" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SmYQ_CMztcI/AAAAAAAAAIE/Qcdjw2leOKs/s400/MarketPlace.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;IPhone' un çıkmasıyla birlikte Apple bu zaman sürecinde hem kendisine, hem de IPhone kullanıcılarına ciddi anlamda gelir getiren bir pazar projesine imza attı ; AppStore. AppStore, adından da anlaşılabileceği üzere IPhone uygulama geliştiricilerinin geliştirdikleri uygulamaları deploy ettikten sonra free / ücretli olarak kullanıcılara satabildiği ve kullanıcıların bu içeriğe istedikleri her noktadan IPhone' ları üzerinden erişebildikleri bir "sanal dükkan" olarak tâbir edilmektedir. Apple ve IPhone kullanıcıları bu "sanal market" üzerinden milyonlarca dolar gelir elde etmiş, halen gelir elde etmeye devam etmektedir.&lt;br /&gt;&lt;br /&gt;Bu noktada bakıldığında farkedilen en büyük yanılgı, IPhone kullanıcıları ile Windows Mobile kullanıcılarının dünya üzerindeki sayısı ve bu platformlar üzerindeki aktiflikleridir. Windows Mobile sanılanın aksine dünya üzerinde 50 cihaz üreticisinin ve 160 mobil cihaz operatörünün toplam 55 ülkede desteklediği ve kullandığı "devasa" bir kullanıcı kitlesine sahiptir. Bu rakamlar göz önüne alındığında ise heyecan verici bir pazarın ; AppStore gibi bir yapının Windows Mobile tarafında olması kaçınılmazdı. Ve Microsoft bekleneni yaptı, Windows Mobile 6.5 ile birlikte dünya üzerinde Windows Mobile üzerine farklı Level' larda uygulama geliştiren uygulama geliştiricilerin para kazanabilecekleri, aynı zamanda kendisinin de gelir elde edebileceği "online bir market" ; MarketPlace' i oluşturdu !&lt;br /&gt;&lt;br /&gt;MarketPlace, aynı AppStore' da olduğu gibi Windows Mobile 6.5 kurulu cihazımızın üzerinde işletim sistemine entegre olarak gelecek olan ve bu markete erişebilecek bir mobil cihaz yazılımıdır. Alınan son süpriz bilgilere göre MarketPlace &lt;strong&gt;Windows Mobile 6.0 ve Windows Mobile 6.1 &lt;/strong&gt;üzerine de kurulabilecektir ; fakat halen bu kurulumun nasıl gerçekleşeceği ile ilgili bir bilgi verilmemektedir. Bu şu demek ; geliştirdiğiniz uygulama ile dünya üzerindeki &lt;strong&gt;TAM 30 MİLYON kullanıcıya ulaşabileceksiniz ! Wow !&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;MarketPlace bu noktada çok ama çok ciddi bir pazar oluşturmakta ve dünya üzerindeki Windows Mobile uygulama geliştiricilerini ciddi anlamda heyecanlandırmaktadır. Kısa zaman içerisinde &lt;strong&gt;maalesef Türkiye'nin arasında olmadığı &lt;/strong&gt;Australia, Austria, Belgium, Brazil, Canada, Denmark, Finland, France, Germany, Greece, Hong Kong SAR, India, Ireland, Italy, Japan, Luxembourg, Mexico, New Zealand, Netherlands, Norway, Poland, Portugal, Singapore, Spain, Sweden, Switzerland, Taiwan, United Kingdom, and the United States ülkelerinde hizmete açılacak ; bu ülkelerde uygulama geliştiren kişiler uygulamalarını &lt;strong&gt;belirli bir ücret karşılığında (şu aşamada 99 $) &lt;/strong&gt;MarketPlace üzerine gönderebileceklerdir.&lt;br /&gt;&lt;br /&gt;MarketPlace üzerinde birçok farklı kategoride uygulamalar sergilenebilecektir. Bunlardan en önemlisi Business Center olarak tâbir edilen "iş ihtiyaçlarına uygun profesyonel uygulamalar" olacaktır diye beklenmektedir. Bu kategoride firmalar uygulamalarını sergileyebilir, geliştirdikleri uygulamaları yüzlerce, binlerce kullanıcıya ulaştırabilmektedirler.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/SmYPrQCMHUI/AAAAAAAAAH0/mejiLyY6Jzk/s1600-h/brix714_5F00_01%5B1%5D.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 212px; HEIGHT: 305px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360989642144095554" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SmYPrQCMHUI/AAAAAAAAAH0/mejiLyY6Jzk/s400/brix714_5F00_01%5B1%5D.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;MarketPlace' in kısa zaman içerisinde ülkemize geleceğinden şüphe yoktur.&lt;br /&gt;&lt;br /&gt;Bu noktada MarketPlace ile ilgili Windows Mobile product manager' lardan Todd Brix' in konu hakkında hazırladığı video' yu &lt;/span&gt;&lt;a href="http://channel9.msdn.com/posts/MaxZuck/WindowsMarketplaceForMobile/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://channel9.msdn.com/posts/MaxZuck/WindowsMarketplaceForMobile/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden izleyebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SmYQNbUdLSI/AAAAAAAAAH8/m1GbBnGAXl4/s1600-h/brix714_5F00_02%5B1%5D.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 184px; HEIGHT: 305px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360990229289053474" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SmYQNbUdLSI/AAAAAAAAAH8/m1GbBnGAXl4/s400/brix714_5F00_02%5B1%5D.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;MarketPlace ile ilgili bu süreçte &lt;/span&gt;&lt;a href="http://developer.windowsmobile.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://developer.windowsmobile.com/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden takip edebilirsiniz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;MarketPlace' in tüm detayları ile ilgili kısa zaman içerisinde çok daha detaylı yazılar yazacağım, şimdilik görüşmek üzere. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-8500032744411146092?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/8500032744411146092/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/marketplace-aclyor.html#comment-form' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8500032744411146092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8500032744411146092'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/marketplace-aclyor.html' title='Windows Marketplace for Mobile Açılıyoor !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/SmYQ_CMztcI/AAAAAAAAAIE/Qcdjw2leOKs/s72-c/MarketPlace.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-6040956422323772461</id><published>2009-07-20T23:17:00.013+03:00</published><updated>2009-07-21T14:29:48.269+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><category scheme='http://www.blogger.com/atom/ns#' term='widget'/><category scheme='http://www.blogger.com/atom/ns#' term='lokalizasyon'/><title type='text'>Windows Mobile 6.5 - Widget' ların Lokalize Edilmesi</title><content type='html'>&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Genel olarak bakıldığında, WM 6.5 üzerinde geliştirdiğiniz widget' lar zaman içerisinde farklı bölgesel dil ayarlarına sahip cihazlar tarafından kullanılabilecektir. Bu tip durumlarda kullanıcıların ihtiyaçlarına daha doğru cevap verebilmek adına geliştirdiğiniz widget’ ın ilgili cihazın bölgesel dil ayarlarına göre lokalize olmasını isteyebilirsiniz. Bu yazımızda farklı bölgesel dil ayarlarına göre kendi kendini otomatik olarak lokalize eden Widget’ lar üzerinde çalışacağız.&lt;br /&gt;&lt;br /&gt;Konumuza başlamadan önce lokalizasyon kavramına kısaca değinmek, temel mantığını kavramak mantıklı olacaktır. &lt;strong&gt;Lokalizasyon&lt;/strong&gt;, kelime anlamı localization yani bölgeselliştirme kelimesinden gelmektedir. Bölgeselleştirme kelimesinin ise yazılım geliştirme ortamındaki kelime anlamına bakıldığında, geliştirilen uygulamanın farklı dil / bölgelere göre “eğer daha önceden hazırlanmış” ise ilgili değişiklikleri otomatik olarak gerçekleştirmesidir.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Bu noktada bölgesel ayarlara bakıldığında temel olarak iki farklı parametre görmekteyiz. Bu parametreler ;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;dil – BÖLGE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;olarak incelenebilmektedir. Örnek vermemiz gerekirse ;&lt;strong&gt; en-US&lt;/strong&gt; lokalizasyon değeri Amerika’ da konuşulan ingilizce dilini temsil etmektedir. Bu noktada &lt;strong&gt;en-UK&lt;/strong&gt; değerinin sisteme tanımlanması, ingiliz aksanına uygun bir bölgeselliştirme / lokalizasyon yapıldığı anlamına gelmektedir.&lt;br /&gt;&lt;br /&gt;Bu mini bilgilendirmenin sonunda hızlı bir şekilde örneğimize başlayalım. Amacımız standart olarak&lt;strong&gt; tr-TR&lt;/strong&gt; olarak ifade edilen Türkiye türkçesi ile çalışan, fakat eğer cihaz üzerindeki değer amerikan ingilizcesi olarak belirlenmiş ise bu değere uygun bir arayüz göstermek olacaktır.&lt;br /&gt;Bu noktada işin en keyifli kısmı ise bu işlemi gerçekleştirmek için çok az bir efor sarfedecek olduğumuzdur. Örneğimize geçmeden önce WM 6.5 üzerinde Widget’ ımızın test edilebilmesi adına Bölgesel ayarların nereden değiştirilebildiğine bir göz atalım. WM 6.5 kurulu mobil cihazımızda sırasıyla ;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Start -&gt; Settings -&gt; System -&gt; Regional Settings&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;seçenekleri üzerinden ilgili değeri değiştirebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SmTROF2Iz-I/AAAAAAAAAGk/O7YHlOh4A_M/s1600-h/Lokalize1.JPG" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 262px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360639496495353826" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SmTROF2Iz-I/AAAAAAAAAGk/O7YHlOh4A_M/s400/Lokalize1.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Bu değerin hangi noktadan değiştirilebildiğine değindikten sonra hızlı bir şekilde widget’ ımızı geliştirmeye başlayalım. Widget’ ın yapısı hakkında bir önce &lt;a href="http://ekinozcicekciler.blogspot.com/2009/07/windows-mobile-65-uzerine-widget.html" target="_blank" alt="Windows Mobile 6.5 - Widget Geliştirmek"&gt;yazmış olduğum yazıdan&lt;/a&gt; faydalanabilirsiniz.&lt;br /&gt;Widget’ ların lokalize edilmesi daha öncede belirttiğimiz üzere çok kolaydır. Bu noktada standart olarak çalıştırılacak dilde dosyaların hazırlanması, eğer varsa “uygun lokalize ayarlara” göre çalıştırılacak dilde dosyaları da ayrıca hazırlamamız gerekmektedir. Örneğimizde Widget’ ın içeriğini oluşturan HTML dosyası lokalize edilmiş, farklı dillere göre iki farklı dosya oluşturulmuştur.&lt;br /&gt;&lt;br /&gt;Türkçe hazırladığımız HTML içerik dosyası. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SmTRakn6P3I/AAAAAAAAAGs/G9ibX1tqD7g/s1600-h/Lokalize2.JPG" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 118px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360639710915608434" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SmTRakn6P3I/AAAAAAAAAGs/G9ibX1tqD7g/s400/Lokalize2.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Bu ise amerikan ingilizcesi (en-US) bölgesel dil ayarlarına sahip cihazlarda çalıştırılmasını istediğimiz içerik dosyasıdır.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SmTRp1YR3rI/AAAAAAAAAG0/g28E8w-I8CM/s1600-h/Lokalize3.JPG" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 117px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360639973111488178" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SmTRp1YR3rI/AAAAAAAAAG0/g28E8w-I8CM/s400/Lokalize3.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Peki bu noktada işlemler nasıl devam etmektedir ?&lt;br /&gt;Widget engine çalışma zamanında ilk olarak dil ayarlarınıza bakar. Daha sonra widget’ ın içeriğinde bu dil ayarlarına “birebir uygun olarak isimlendirilmiş” bir klasör arar ! Eğer bu klasörü bulabilirse içeriği tamamen klasör içerisinden, bulamaz ise root’ tan çalıştırır ! Hepsi bu kadar ! Bu noktada dikkat etmemiz gereken noktalar nelerdir ?&lt;br /&gt;&lt;br /&gt;Dosyaların içeriğinin farklı olması ve onları farklı klasörlere koyacak olmamız isimlerini farklı verecek olduğumuz anlamına gelmemektedir. Çünkü widget’ ın konfigurasyon dosyası (config.xml) tek bir tane olup sadece root’ ta bulunmaktadır. Dolayısıyla lokalize ettiğimiz tüm içeriği (bu bir *.js dosyası da olabilir) aynı isimle isimlendirmemiz gerekmektedir. Ve bir sonraki aşamada root’ un içine uygun bölgesel dil ayarlarının ismine sahip bir klasör oluşturmalı, dosyayı bu klasörün içerisine yerleştirmeliyiz. Son görünüm aşağıdaki gibi olmalıdır.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SmTRxE-sPGI/AAAAAAAAAG8/zKePec_A6yo/s1600-h/Lokalize4.JPG" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 163px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360640097558215778" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SmTRxE-sPGI/AAAAAAAAAG8/zKePec_A6yo/s400/Lokalize4.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Klasörün içerisine girdiğimizde ise ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/SmTSI9fYaGI/AAAAAAAAAHM/so1vQtVovns/s1600-h/WidgetSonradan.jpg" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 195px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360640507864705122" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SmTSI9fYaGI/AAAAAAAAAHM/so1vQtVovns/s400/WidgetSonradan.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Tek bir dosya bulunmaktadır. Dikkat edecek olursanız lokalize etmek istediğimiz dosyaları aynı isimle uygun klasörün içerisine yerleştirdik. Peki konfigurasyon dosyası bu noktada nasıl hazırlanmalıdır ?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SmTR5PzsnKI/AAAAAAAAAHE/tSKLudAwY8M/s1600-h/Lokalize5.JPG" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 133px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360640237903846562" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SmTR5PzsnKI/AAAAAAAAAHE/tSKLudAwY8M/s400/Lokalize5.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Dikkat edecek olursanız dosya içerisinde lokalizasyon ile ilgili en ufak bir ayarlamada bulunmadık. Sistem run-time’ da işlemi otomatik olarak gerçekleştirmekte ve uygun dosyayı bulup çalıştırmaktadır. Bu noktada sayfayı iki kez hazırlamak yerine javascript fonkyisonunu external bir *.js dosyası içerisine yerleştirip sadece bu *.js dosyasını lokalize de edebilirdik.&lt;br /&gt;Sıra geldi uygulamamızı paketlemeye ! Her zaman olduğu gibi önce tüm dosyaları (klasör dahil) seçip *.zip haline, daha sonra *.wgt uzantılı haliyle kaydediyoruz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SmTSaFUNk3I/AAAAAAAAAHU/gIL6J956U44/s1600-h/Lokalize6.JPG" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 221px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360640802023117682" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SmTSaFUNk3I/AAAAAAAAAHU/gIL6J956U44/s400/Lokalize6.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;İşte bu kadar ! Haydi widget’ ımızı makinemizin üzerine gönderelim.&lt;br /&gt;Kurulum aşamasında default language olan Türkçe değerler görünmektedir. Örneğimizde makinemiz (emülatörümüz) ilk açıldığında dil ayarları türkçe olarak gelmekte, dolayısıyla uygulamayı ilk çalıştırdığımızda lokalizasyon türkçe olarak gerçekleşmektedir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/SmTSlPBOFiI/AAAAAAAAAHc/N9wWHrsYkpA/s1600-h/Lokalize7.JPG" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 262px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360640993606374946" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/SmTSlPBOFiI/AAAAAAAAAHc/N9wWHrsYkpA/s400/Lokalize7.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;İşte türkçe widget’ ımız ! Dil ayarlarını en-US olarak değiştiriyoruz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SmTSsYWoyQI/AAAAAAAAAHk/w2vH1tsFG1c/s1600-h/Lokalize8.JPG" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 262px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360641116371208450" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SmTSsYWoyQI/AAAAAAAAAHk/w2vH1tsFG1c/s400/Lokalize8.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Ve makinemize Soft Reset atıyoruz. Widget’ ımızı tekrar çalıştırıp selamla tuşuna bastığımızda (Selamlar yazısını da bu noktada daha önceden lokalize edebilirdik) ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SmTS1uDOPjI/AAAAAAAAAHs/ynIoylR_jqo/s1600-h/Lokalize9.JPG" rel="lightbox"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 262px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5360641276814179890" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SmTS1uDOPjI/AAAAAAAAAHs/ynIoylR_jqo/s400/Lokalize9.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;İşte sonuç ! Çalışma zamanında lokalizasyon gerçekleştirilmiştir !&lt;br /&gt;Bir başka yazımızda görüşmek dileğiyle. Keyifli günler. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-6040956422323772461?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/6040956422323772461/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/windows-mobile-65-widget-larn-lokalize.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6040956422323772461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6040956422323772461'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/windows-mobile-65-widget-larn-lokalize.html' title='Windows Mobile 6.5 - Widget&apos; ların Lokalize Edilmesi'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bqINL2ro10c/SmTROF2Iz-I/AAAAAAAAAGk/O7YHlOh4A_M/s72-c/Lokalize1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-1248780166353207263</id><published>2009-07-11T10:01:00.005+03:00</published><updated>2009-07-11T10:37:47.320+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='silverlight 3.0'/><title type='text'>Silverlight 3.0 Çıktı !</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/Slg8b9BKLNI/AAAAAAAAAGc/UsYsFA5ncYM/s1600-h/windowslivewriter_silverlight3sisi3_12161_microsoft_silverlight_c_2-300x297.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 144px; HEIGHT: 132px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5357098207690763474" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/Slg8b9BKLNI/AAAAAAAAAGc/UsYsFA5ncYM/s400/windowslivewriter_silverlight3sisi3_12161_microsoft_silverlight_c_2-300x297.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Heyecan verici bir haberi sizlerle paylaşmak istiyorum. Her ne kadar mobil tarafındaki çalışmalar sürsede, RIA (Zengin Internet Uygulamaları) noktasında Microsoft' un mükemmel çözümü Silverlight' ın 3.0 sürümü dün sahalarda yerini buldu. &lt;strong&gt;Silverlight 3.0&lt;/strong&gt; ile ilgili tüm detaylara ve ilgili pakete &lt;/span&gt;&lt;a href="http://silverlight.net/GetStarted/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://silverlight.net/GetStarted/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden erişebilir, Silverlight 3.0 uygulamaları geliştirmeye hızlıca başlayabilirsiniz. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-1248780166353207263?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/1248780166353207263/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/silverlight-30-ckt.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1248780166353207263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1248780166353207263'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/silverlight-30-ckt.html' title='Silverlight 3.0 Çıktı !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/Slg8b9BKLNI/AAAAAAAAAGc/UsYsFA5ncYM/s72-c/windowslivewriter_silverlight3sisi3_12161_microsoft_silverlight_c_2-300x297.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-960123804667247852</id><published>2009-07-05T17:12:00.013+03:00</published><updated>2009-07-05T17:57:58.562+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><category scheme='http://www.blogger.com/atom/ns#' term='widget'/><title type='text'>Windows Mobile 6.5 - Widget Geliştirmek</title><content type='html'>&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Bu yazımızda yakın zamanda hayatımıza hızlı bir giriş yapacak olan Windows Mobile 6.5’ un developer tarafında getirdiği belkide en heyecanlı yenilik olan Widget kavramını tanıyacak, Windows Mobile 6.5 üzerinde çalışabilecek örnek bir widget geliştireceğiz.&lt;br /&gt;Önümüzdeki sene çıkarılması hedeflenen ve mobil cihaz deneyimimizi tamamen değiştirecek Windows Mobile 7 için çalışmalar hızla süredursun, Microsoft süpriz bir kararla belkide bu süre zarfında Windows Mobile kullanıcıları ve Windows Mobile üzerine uygulama geliştiren uygulama geliştiricileri belirli bir süre tatmin edecek seviyede bir “ara” işletim sistemi geliştirdi ; Windows Mobile 6.5 !&lt;br /&gt;&lt;br /&gt;Windows Mobile 6.5’ un yeniliklerine genel olarak bakıldığında iş süreçleri, son kullanıcı ve developer gibi farklı kategorilerde birçok yenilik göze batmaktadır. SkyMarket (MarketPlace), yepyeni kullanıcı arayüzü, geliştirilmiş dokunmatik altyapı gibi yenilikler Windows Mobile 6.5’ u piyasadaki rakiplerinden öne çıkarmakta, son kullanıcıya ise daha önceki sürümleri ile karşılaştırıldığında daha kullanışlı gelmektedir.&lt;br /&gt;Bu yazımızda ise belki türkçe kaynaklarda çok fazla detayına inilmeyen, yakın zamanda ortalığı kasıp kuvaracak, Windows Mobile 6.5 Developer tarafındaki belkide en heyecanlı kavramdan bahsedeceğiz, Widget ‘ lar ! Hiç vakit kaybetmeden Widget kavramının Windows Mobile 6.5’ ta (Bu noktadanitibaren WM olarak anılacaktır) ne ifade ettiğinden ve genel yapısından bahsedelim.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Widget Nedir ?&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Temel olarak bakıldığında Windows Vista üzerinde HTML ve CSS gibi web uygulama geliştirme noktasındaki iki gücü bir araya getirerek ve JavaScript’ in istemci taraflı yeteneklerini bir araya getirerek Web üzerinden veri çekebilen, masaüstümüzü renklerdiren ve farklı amaçlara yönelik binlerce örneği geliştirilen bir kavram söz konusuydu, Gadget’ lar.&lt;br /&gt;Gadget’ lar farklı bir uygulama geliştirme metodolijisiyle, web uygulama geliştirme teknikleri ile birlikte kullanıcıların masaüstlerinde hayatlarını ciddi anlamda kolaylaştıran, minik programcıklar olarak ifade edilebilmektedir. Gadget’ lar ile anlık hava durumu, borsa bilgileri, trafik bilgileri gibi bilgileri tek tıklamayla alabilmekte, tüm bunları tek noktadan gerçekleştirebilmekteydik.&lt;br /&gt;Widget’ lar için yukarıdaki tanıma bakarak, HTML, DHTML ve CSS’ in tasarımsal gücü ile JavaScript ve AJAX’ ın istemci tarafındaki gücünü biraraya getiren, Windows Mobile cihazımız üzerinde çalıştırılabilecek web tabanlı küçük programcıklar diyebilmekteyiz.&lt;br /&gt;Widget ve Internet Explorer Mobile :&lt;br /&gt;Yukarıdaki tanımları okuyan birçok uygulama geliştiricisinin aklındaki en temel soru şu olmaktadır : “Biz Internet Explorer Mobile ile mobil cihazımız üzerinden internet üzerindeki verilere zaten ulaşabilmekteyiz, Widget’ ın ne farkı varki ?”&lt;br /&gt;Genel olarak bakıldığında Widget ile Mobil cihazımız üzerinden IE Mobile ile ulaştığımız web sitelerinden aynı verileri çekebilmekteyiz. İşte bu noktada ciddi anlamda farklar ortaya çıkmaktadır.&lt;br /&gt;İlk olarak düşünüldüğünde, standart bir web sitesi / uygulaması üzerinde bir istekte bulunduğumuzda sunucu üzerinde gerçekleştirilecek postback çağrılarında beklemeler yaşanabilecek, mobil cihazımız ile operatörümüz arasında ciddi bir network trafiği yaşanacaktır. Peki Ajax kullansak bile bu trafik aynımı kalacaktır ? Tabiki hayır, Ajax teknolojisi bu network trafiğini ciddi anlamda azaltmakta, fakat her koşulda bir web çağrısında HTML, CSS v.b. yapılar uzak noktadan çağrılmakta, anlamsız bir web trafiği oluşmaktadır.&lt;br /&gt;&lt;br /&gt;Widget’ lara bakıldığında ise ciddi anlamdaki ilk farkı bu noktada görebilmekteyiz. Widget’ lar HTML, CSS, Script gibi yapıları makinemizin lokalinden kullanan, uzaktan bir çağrıya bu kavramlar için ihtiyaç duymayan yapılardır. Sadece uzak bir veriye ihtiyaç duyulduğunda uzak çağrı gerçekleştirilmektedir, bunun dışındaki imajlar, html verileri, css v.b. yapılar lokalde depolandığından bu çağrılar gerçekleştirilmemekte, network trafiği ciddi anlamda azaltılmaktadır.&lt;br /&gt;&lt;br /&gt;Bunun dışında standart web uygulamalarından farklı olarak, JavaScript ortamından Widget API’ sine yapılacak çağrılar ile makinemizin fiziksel SoftKey’ lerine menüler atayabilme, lokalde veri depolayabilme gibi web uygulamalarında olmayan özelliklere sahip olabilirsiniz.&lt;br /&gt;&lt;br /&gt;Widget’ lar tam ekran olarak çalıştırılan uygulamalardır. Bu uygulamalar çalıştırıldığında kullanıcılar çalıştırılan uygulamanın Widget olup olmadığını tek görüşte anlayamamaktadırlar. Bunun sebebi bu küçük web tabanlı uygulamayı Start Menü altından açabilmekte, çalıştırıldığında formatı gereği Internet Explorer Mobile üzerinden çalıştırılmamaktadır.&lt;br /&gt;&lt;br /&gt;Dahada enteresan olarak Widget’ lar arka planda Internet Explorer Mobile’ ın güçlü motorunu kullanmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Widget Genel Yapısı&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Widget olarak adlandırılan programcıklar temel olarak 3’ ü gerekli toplam 6 parçanın bir araya gelmesinden oluşmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;widget&gt;.html – Widget’ ın HTML içeriğinin bulunduğu HTML dosyası. (Gerekli)&lt;br /&gt;config.xml – Widget metadata bilgisinin tutulduğu konfigürasyon dosyasıdır. (Gerekli)&lt;br /&gt;Widget için *.ico, *.png, *.jpg – Widget’ ın kurulumundan sonra widget’ ın start menü’ de hangi resim ile görüleceğini belirtir. (Gerekli)&lt;br /&gt;*.js – HTML dosyası içerisinde kullanılan ekstra script dosyaları (Gerekli Değil)&lt;br /&gt;*.css – HTML dosyası içerisinde kullanılan CSS dosyası. (Gerekli Değil)&lt;br /&gt;Ekstra Kaynaklar – Ekstradan kullanılan resimler, flash dosyaları v.b (Gerekli Değil)&lt;br /&gt;&lt;br /&gt;İsterseniz hiç vakit kaybetmeden hızlı bir şekilde örnek Widget’ ımızı adım adım geliştirmeye başlayalım. İlk aşamada Widget’ ımızın içeriğini oluşturacak olan HTML dökümanımızı, yani content elementi üzerinde çalışalım.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SlC1QE11oWI/AAAAAAAAAD0/J35gOtsmSeo/s1600-h/Widget1.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 158px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354979244725608802" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SlC1QE11oWI/AAAAAAAAAD0/J35gOtsmSeo/s400/Widget1.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Yukarıdaki kod bloğunda basit anlamda bir HTML dökümanı oluşturulmakta, sayfa içerisine yerleştirilen button’ a tıklandığında JavaScript fonksiyonu ile ekrana bir mesaj kutusu getirilmektedir.&lt;br /&gt;&lt;br /&gt;Dosyamızı WidgetContent.html ismiyle kaydediyoruz.&lt;br /&gt;&lt;br /&gt;İşte Widget’ ımız hazır ! Sıra geldi Widget’ ın paketlenmesi için gerçekleştirilmesi gereken çalışmalara.&lt;br /&gt;&lt;br /&gt;Widget genel yapısı bölümünde ifade edildiği üzere Widget’ ın mobil cihazımız tarafından tanınabilmes, kurulabilmesi ve çalıştırılabilmesi için “gerekli” olan bazı yapılar bulunmaktadır. Bunlardan ilki olan kaynak HTML dökümanını oluşturmuş olmamız Widget’ ın çalıştırılabileceği anlamına gelmemektedir.&lt;br /&gt;&lt;br /&gt;Widget’ ın işletim sistemi üzerinde tanınabilmesi ve çalıştırılabilmesi için ilk olarak “manifest” adı verilen ve belirli kurallara göre oluşturulması gereken bir xml konfigürasyon dosyası oluşturulmalıdır.&lt;br /&gt;Bu dosyanın adı config.xml olarak kaydedilmeli ve Widget’ ı oluşturan diğer parçalar ile aynı lokasyonda olmalıdır.&lt;br /&gt;&lt;br /&gt;Peki bi config.xml dosyasını hangi structure’ a göre oluşturacağız ? Widget’ ın doğru çalışabilmesi için xml structure’ ı ne olmalıdır ?&lt;br /&gt;&lt;br /&gt;Microsoft, Widget altyapısını hazırladıktan sonra bu standartizasyon ile ilgili W3C üzerinde hızlı bir şekilde bir standart oluşturdu ve olması gereken xml structure’ ını bu şema üzerinden belirledi.&lt;br /&gt;&lt;br /&gt;Bu standartizasyona &lt;/span&gt;&lt;a href="http://www.w3.org/TR/2008/WD-widgets-20081222/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.w3.org/TR/2008/WD-widgets-20081222/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden ulaşabilir, hangi element’ in altına hangi elementlerin gelebileceğine ve tüm özelliklerine detaylı olarak bakabilirsiniz. Bu yazımızda konfigürasyon konusunda detaylı olarak eğilmeden standart konfigürasyon yapısını örneklendireceğiz.&lt;br /&gt;&lt;br /&gt;Genel olarak bakıldığında config.xml dosyası Widget standartlarında olabilmesi için &lt;widget&gt;root elementi ile başlaması gerekmektedir. Bu elementin altına ihtiyaçlar doğrultusunda aşağıdaki elementler yerleştirilmelidir.&lt;br /&gt;&lt;br /&gt;Widget’ ın network erişimi ile ilgili ayarları yapmanıza olanak sağlar.&lt;br /&gt;&lt;br /&gt;Widget’ ı geliştiren kişi ile ilgili detaylı bilgilendirme vermeye yarar. Opsiyonal olarak href, email ve img attribute’ ları ile ekstra detaylı bilgiler verilebilmektedir.&lt;br /&gt;&lt;br /&gt;Kesin olarak eklenmesi gereken alt elementtir. Bu element’ in src attribute’ u ile Widget’ ın HTML dökümana olan bağlantısı belirlenir.&lt;br /&gt;&lt;description&gt;&lt;br /&gt;Widget hakkında detaylı bilgilendirme yapılabilir. Bu element’ e verdiğiniz değer yükleme esnasında ekranda görünmektedir.&lt;br /&gt;&lt;icon&gt;&lt;br /&gt;Bu element ile Widget kurulduktan sonra Start Menu’ de hangi ikon ile görüneceğini belirleyebilirsiniz. Src attribute’ u ile dosyanın adını belirleyebilirsiniz.&lt;br /&gt;&lt;br /&gt;Widget’ a kullanıcı dostu bir isim vermek için kullanabilirsiniz. Bu isim Start Menu ve Remove Programs ekranlarında görülebilmektedir.&lt;br /&gt;&lt;br /&gt;Yukarıdaki bilgilerin ışığında örnek Widget’ ımız için config.xml dosyamızı şekildeki gibi oluşturuyoruz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SlC1xvBLQJI/AAAAAAAAAD8/FxyysgXfl_w/s1600-h/Widget2.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 128px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354979822983135378" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SlC1xvBLQJI/AAAAAAAAAD8/FxyysgXfl_w/s400/Widget2.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;İşte config.xml dosyamız hazır ! Dikkat edilecek olursa Widget’ ın Start Menu’ de görünebilmesi için bir icon değeri belirledik. Bu dosyası bu isimde diğer dosyalarla aynı lokasyona yerleştirmeliyiz.&lt;br /&gt;&lt;br /&gt;En son olarak aşağıdaki görünümü elde etmeliyiz ;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/SlC19nKpTJI/AAAAAAAAAEE/chZCJPLNnPQ/s1600-h/Widget3.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 399px; HEIGHT: 265px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354980027033799826" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SlC19nKpTJI/AAAAAAAAAEE/chZCJPLNnPQ/s400/Widget3.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Dikkat edilecek olursa ilgili 3 dosyayı aynı lokasyona yerleştirdik.&lt;br /&gt;&lt;br /&gt;Ve sıra geldi en heyecanlı noktaya ; Widget Paketleme !&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Widget Paketleme&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Microsoft Widget’ ların paketlenmesi ve dağıtımı ile ilgili inanılmaz mantıklı bir yöntem uygulamaktadırlar. Widget genel olarak iki şekilde cihazınız üzerine yüklenebilmektedir. Birincisi Skymarket olarak adlandırılan servis üzerinden belirli bir ücret karşılığında, yada self- deployment olarak ifade edilen “kopyala – yapıştır” yöntemiyle. Biz bu yazımızda Cihaz Emülatörü üzerine widget dosyamızı kopyalayarak yükleme işlemini gerçekleştirecek ve Widget’ ımızı çalıştıracağız.&lt;br /&gt;&lt;br /&gt;Peki Widget dosyamızı nasıl oluşturacağız ? Bu iş sandığınızdan çok daha kolay.&lt;br /&gt;&lt;br /&gt;Yukarıdaki ekran görüntüsünde gördüğünüz dosyaları seçerek biz *.zip dosyası haline getirelim. Ve bu zip dosyasının uzantısını *.wgt olarak değiştirelim. İşte bu kadar !&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/SlC2gBub0PI/AAAAAAAAAEM/RpbkodqP3rU/s1600-h/Widget4.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 378px; HEIGHT: 241px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354980618278785266" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SlC2gBub0PI/AAAAAAAAAEM/RpbkodqP3rU/s400/Widget4.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Önce zipledik !&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SlC3Aw-hWLI/AAAAAAAAAEU/ArcbOserXnA/s1600-h/Widget5.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 369px; HEIGHT: 271px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354981180718536882" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SlC3Aw-hWLI/AAAAAAAAAEU/ArcbOserXnA/s400/Widget5.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Daha sonra uzantısını değiştirdik ! Artık bu dosyayı emulatör yada fiziksel cihazımız üzerine kopyalarak Widget’ ımızı kurabilir ve kullanmaya başlayabiliriz.&lt;br /&gt;&lt;br /&gt;Hiç vakit kaybetmeden Windows Mobile 6.5 Emulatörümüzü başlatıyoruz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/SlC3QAjzYYI/AAAAAAAAAEc/jrj5TRPLcVI/s1600-h/Widget6.JPG"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 256px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354981442599477634" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SlC3QAjzYYI/AAAAAAAAAEc/jrj5TRPLcVI/s400/Widget6.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Emülatörümüzü seçip üzerine sağ tıkladıktan sonra Connect seçeneğine tıklıyoruz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SlC7JR2EJMI/AAAAAAAAAEk/ig76t70xnVM/s1600-h/Widget7.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 308px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354985725026903234" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SlC7JR2EJMI/AAAAAAAAAEk/ig76t70xnVM/s400/Widget7.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Emülatör açıldıktan sonra Ayarlarından “Shared Folder” olarak wgt dosyamızın bulunduğu lokasyonu belirliyoruz. Bu seçenek ile Emülatör üzerinde “Storage Card” olarak bu klasöre erişebilir, dosyamızı çalıştırabiliriz.&lt;br /&gt;&lt;br /&gt;Emülatörden dosyanın üzerine tıklıyoruz ve yüklemeye başlıyoruz ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/SlC7X7ts4SI/AAAAAAAAAEs/TUHXpmvsP9Q/s1600-h/Widget8.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 262px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354985976784281890" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SlC7X7ts4SI/AAAAAAAAAEs/TUHXpmvsP9Q/s400/Widget8.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Eğer konfigürasyon dosyasında herhangi bir hatamız yok ise Widget dosyamızın üzerine tıkladığımızda ;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SlC7j-VFAnI/AAAAAAAAAE0/6svmY8r8uKU/s1600-h/Widget9.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 262px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354986183644742258" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SlC7j-VFAnI/AAAAAAAAAE0/6svmY8r8uKU/s400/Widget9.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Yes ‘ e tıklıyoruz ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SlC8BcNMPNI/AAAAAAAAAE8/iiXA9tneCPc/s1600-h/Widget10.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 262px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354986689880931538" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SlC8BcNMPNI/AAAAAAAAAE8/iiXA9tneCPc/s400/Widget10.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;İşte Widget’ ımız ! Widget, FullScreen olarak sanki native bir uygulamaymış gibi ekranımıza gelmektedir. Widget üzerindeki tuşa tıkladığımızda ise ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SlC8OGSpgPI/AAAAAAAAAFE/eYnWOuk3bps/s1600-h/Widget11.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 262px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354986907336540402" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SlC8OGSpgPI/AAAAAAAAAFE/eYnWOuk3bps/s400/Widget11.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;İşte bu kadar. Widget’ a istediğimiz zaman Start Menu altından erişebiliriz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/SlC8ZUlN1NI/AAAAAAAAAFM/fBYFT1oDJBI/s1600-h/Widget12.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 262px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354987100151076050" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/SlC8ZUlN1NI/AAAAAAAAAFM/fBYFT1oDJBI/s400/Widget12.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Yazımızın sonuna gelmeden önce belirtmek gerekirki bu yazıda değinilmeyen birçok konuya sonraki yazılarda değinilecektir.&lt;br /&gt;&lt;br /&gt;Başka bir yazıda daha görüşmek dileğiyle.&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-960123804667247852?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/960123804667247852/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/windows-mobile-65-uzerine-widget.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/960123804667247852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/960123804667247852'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/windows-mobile-65-uzerine-widget.html' title='Windows Mobile 6.5 - Widget Geliştirmek'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/SlC1QE11oWI/AAAAAAAAAD0/J35gOtsmSeo/s72-c/Widget1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-8859564754250490130</id><published>2009-07-04T09:17:00.002+03:00</published><updated>2009-07-04T09:56:21.774+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IoC'/><title type='text'>OpenNETCF.IoC Framework</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Gördüğüm zaman beni çok heyecanlandıran, çok başarılı devam eden ve CodePlex üzerinde Open-Source olarak gelişimini sürdüren bir proje hakkında bilgilendirmek istiyorum ; &lt;strong&gt;OpenNETCF.IoC Framework &lt;/strong&gt;!&lt;br /&gt;&lt;br /&gt;Evet, yanlış okumuyorsunuz, IoC (Inversion Of Control) ve Dependency Injection prensiplerini "Mobil Cihaz Uygulamaları" geliştirme aşamasında kullanabilmek adına geliştirilen bu paket, OpenNetCF' nin kurucusu tarafından Chris Tacke tarafından CodePlex ortamına yerleştirilmiş ve gelişimine devam etmektedir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Kendisinin bize belirttiği üzere bu paketi birkaç kurumsal uygulamada kullanmış, ve ciddi anlamda başarılı olmuş.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Kurumsal anlamda Mobil Cihaz uygulama geliştiricileri için çok başarılı bir proje olduğunu düşünüyorum.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Paket ile ilgili detaylı bilgiye ; &lt;/span&gt;&lt;a href="http://ioc.codeplex.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://ioc.codeplex.com/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden erişebilir, konu ile ilgili yazılmış ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a class="externalLink" href="http://blog.opennetcf.com/ctacke/2009/03/09/InversionOfControlAndTheCompactFrameworkPartI.aspx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Introduction to IoC and the Compact Framework&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a class="externalLink" href="http://blog.opennetcf.com/ctacke/2009/03/10/TheOpenNETCFIoCFrameworkItemsAndServices.aspx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The OpenNETCF.IoC Framework: Items and Services&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Makalelerine yukarıdaki linklerden erişebilirsiniz.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-8859564754250490130?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/8859564754250490130/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/opennetcfioc-framework.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8859564754250490130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8859564754250490130'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/opennetcfioc-framework.html' title='OpenNETCF.IoC Framework'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-1493871176114100347</id><published>2009-07-04T08:47:00.004+03:00</published><updated>2009-07-04T09:01:07.509+03:00</updated><title type='text'>Select Top 1000 Rows / Edit Top 200 Rows</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Sql Server 2008 üzerinde default olarak herhangi bir tablonun üzerine sağ tıkladığınızda çıkan context menu' de "İlk 1000 Satırı Seçmeye" ve "İlk 200 Satırı Düzenlemeye" yarayan scriptleri üreten MenuItem' lar bulunmaktadır.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Bu noktada herhangi bir sorun söz konusu değil, peki ya biz tek seferde 1000' den fazla kayıt görüntülemek ya da 200' den fazla satırı tek ekranda düzenlemek istiyorsak ne yapmalıyız ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Standart olarak bu değerleri direk değiştiremesekte, Ayarlar üzerinden bu değerler ile oynayabiliriz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Sql Server 2008' de ; Tools -&gt; Options -&gt; Sql Server Object Explorer' a girdikten sonra ;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/Sk7vyakbQKI/AAAAAAAAADU/MRizV28JjfQ/s1600-h/SqlTop1000Edit200.jpg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 233px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5354480656394698914" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/Sk7vyakbQKI/AAAAAAAAADU/MRizV28JjfQ/s400/SqlTop1000Edit200.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Yukarıdaki ekran görüntüsünde ilgili değerler ile oynayarak bu değerleri değiştirebilirsiniz. Değerleri 0 (Sıfır) olarak ayarlarsanız "Tüm Kayıtlar" olarak değerlendirilecektir.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-1493871176114100347?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/1493871176114100347/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/select-top-1000-rows-edit-top-200-rows.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1493871176114100347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1493871176114100347'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/select-top-1000-rows-edit-top-200-rows.html' title='Select Top 1000 Rows / Edit Top 200 Rows'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bqINL2ro10c/Sk7vyakbQKI/AAAAAAAAADU/MRizV28JjfQ/s72-c/SqlTop1000Edit200.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-7817783228824533921</id><published>2009-07-02T15:02:00.001+03:00</published><updated>2009-07-02T15:04:04.225+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='söz'/><title type='text'>Güzel Bir Söz</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Nette karşılaştığım bir sözü sizlerle paylaşmak istiyorum. Belkide hayattaki her noktaya, her sektöre uygun bir cümle,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;"Güzel cevap her zaman daha güzel soruyu sorana verilir. E. E. Cummings"&lt;/strong&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-7817783228824533921?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/7817783228824533921/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/guzel-bir-soz.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7817783228824533921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7817783228824533921'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/07/guzel-bir-soz.html' title='Güzel Bir Söz'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-980148311027116215</id><published>2009-06-30T22:24:00.008+03:00</published><updated>2009-06-30T22:37:50.687+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='etkinlik'/><title type='text'>Windows 7 İle 7 Saat</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Haftasonu eğitim verdiğim sınıflar olması sebebiyle teknik ve benzeri şekillerde destek veremediğim süper bir organizasyon hakkında bilgilendirmek istiyorum. Windows 7 İle 7 Saat !&lt;br /&gt;&lt;br /&gt;Etkinlik 5 MVP tarafından 11 Temmuz Cumartesi günü Microsoft İstanbul ofisinde gerçekleştirilecektir. Etkinlik detayı aşağıdaki gibidir ;&lt;br /&gt;&lt;br /&gt;&lt;img style="WIDTH: 432px; HEIGHT: 53px" alt="Windows 7 İle 7 Saat" src="http://daron.yondem.com/tr/kayit/win7ile7saat.gif" width="594" height="64" /&gt;&lt;br /&gt;&lt;br /&gt;"Windows 7'nin RTM (Üretime Hazır Sürüm) haline gelmesine çok kısa bir zaman kaldı. Bu süreci doğru bir şekilde değerlendirebilmek ve hem yazılımcılar hem de sistem yöneticileri olarak bu değişime hazırlanabilmek adına sizler için dolu dolu bir etkinlik düzenledik.&lt;br /&gt;Etkinliğimizin en güzel yanı sistem yöneticileri ve yazılımcılar için ayrı ayrı paralel oturumların bulunuyor olması. Açıkçası içerikle ilgili heyecanlanmamak elde değil. Eminim etkinlikteki bazı sürpriz hediyeler sizi de heyecanlandıracaktır. Daha fazla ip ucu vermeden gelin etkinlik planına göz atalım.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Bt Uzmanları&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;10.00-10.30 Windows 7'ye Genel Bakış, Sürümler, Language Packs &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;10.45-11.30 DirectAccess&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;11.45-12.30 Applocker&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;13.30-14.00 BitLocker &amp;amp; BitLocker To Go&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;14.15-14.45 Problem Steps Recorder &amp;amp; UAC Enhancements&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;15.00-15.30 Search Federation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;15.45-16.15 BranchCache&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;16.30.17.00 Windows XP Mode&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Yazılım Geliştiriciler&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;10.00-11.00 MultiTouch ve Ink Uygulamaları Geliştirmek&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;11.15-12.30 Ribbon kontrolünü nasıl kullanırız?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;13.30-14.30 Sensor ve Location API’ları nasıl kullanılır?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;14.45-15.15 Uygulama uyumluluğu&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;15.15-16.00 Taskbar ile gelen yenilikler&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;16.15-17.00 XPS ve Doküman yazdırma yenilikleri&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.bakionur.com/" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Baki Onur Okutucu&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;, &lt;/span&gt;&lt;a href="http://www.buraksenyurt.com/" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Burak Selim Şenyurt&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;, &lt;/span&gt;&lt;a href="http://daron.yondem.com/tr/" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Daron Yöndem&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;, &lt;/span&gt;&lt;a href="http://www.mesutaladag.com/" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Mesut Aladağ&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;, &lt;/span&gt;&lt;a href="http://www.muammerbenzes.com/" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Muammer Benzeş&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;'in konuşmacı olacağı etkinlik 11 Temmuz, Cumartesi günü Microsoft Istanbul ofisinde gerçekleşecek. Microsoft Istanbul ofisi haritası için &lt;/span&gt;&lt;a href="http://www.bing.com/maps/?v=2&amp;amp;encType=1&amp;amp;sp=Point.qvbmpdkdjbs6_Microsoft%20Istanbul____~Polyline.qvbnzvkdjbcm_qvbwcykdjc1y_qvbzjzkdjbsz_qvc3cmkdj9v0_qvc406kdj9hk_qvc2mnkdj8cj_qvbxp4kdj6td_qvbm79kdj4tb_qvbgm3kdj3b4_qvbgk0kdj3mv_Zincirlikuyu" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;buraya&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; tıklayabilirsiniz. Katılım için kayıt olmayı unutmayın."&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;a href="http://www.inetatr.org/"&gt;http://www.inetatr.org/&lt;/a&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-980148311027116215?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/980148311027116215/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/windows-7-ile-7-saat.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/980148311027116215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/980148311027116215'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/windows-7-ile-7-saat.html' title='Windows 7 İle 7 Saat'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-6409648789512110775</id><published>2009-06-30T08:50:00.003+03:00</published><updated>2009-06-30T09:01:23.863+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kaynak'/><title type='text'>Top 200 Blogs For Developers (Q2 2009)</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Mail üzerinden edindiğim bir kaynağı sizlerle paylaşmak istiyorum. Malum, öğrencilerim dahil birçok kişide gördüğüm en büyük sıkıntı, çok enteresan bir şekilde aranan bilgiye, özellikle development tarafında ulaşmakta ciddi anlamda zorluk çekilmekte. Hele hele toplu kaynaklara ulaşmak imkansız derecede zor gelmekte.&lt;br /&gt;&lt;br /&gt;Jurgen Appelo' nun hazırladığı bu liste, kaynak arayan kişilerin bu sıkıntısına biraz olsun ilaç olacaktır diye düşünüyorum. Jurgen kendi metriklerini kullanarak aşağıdaki adresteki listeyi oluşturmuş. Tam 200 Developer Blog' u ! :)&lt;br /&gt;&lt;br /&gt;Listeye &lt;/span&gt;&lt;a href="http://www.noop.nl/2009/06/top-200-blogs-for-developers-q2-2009.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.noop.nl/2009/06/top-200-blogs-for-developers-q2-2009.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden ulaşabilirsiniz. Yazının devamına tıklarsanız listenin bir kopyasınıda oraya yerleştirdim.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;TT&lt;br /&gt;LT&lt;br /&gt;Blog&lt;br /&gt;Author&lt;br /&gt;Twitter&lt;br /&gt;1&lt;br /&gt;6&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.hanselman.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Scott Hanselman's Computer Zen&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Scott Hanselman&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/shanselman"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;shanselman&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;2&lt;br /&gt;2&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.codinghorror.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Coding Horror&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jeff Atwood&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/codinghorror"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;codinghorror&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;3&lt;br /&gt;19&lt;br /&gt;&lt;/span&gt;&lt;a href="http://highscalability.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;High Scalability&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;4&lt;br /&gt;12&lt;br /&gt;&lt;/span&gt;&lt;a href="http://lambda-the-ultimate.org/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Lambda the Ultimate&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;5&lt;br /&gt;16&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.uie.com/brainsparks/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;UIE Brain Sparks&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jared Spool&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jmspool"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jmspool&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;6&lt;br /&gt;13&lt;br /&gt;&lt;/span&gt;&lt;a href="http://raibledesigns.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Raible Designs&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Matt Raible&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mraible"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mraible&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;7&lt;br /&gt;59&lt;br /&gt;&lt;/span&gt;&lt;a href="http://dobbscodetalk.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Dr. Dobb's CodeTalk&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;8&lt;br /&gt;14&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.25hoursaday.com/weblog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Dare Obasanjo aka Carnage4Life&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Dare Obasanjo&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/carnage4life"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;carnage4life&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;9&lt;br /&gt;3&lt;br /&gt;&lt;/span&gt;&lt;a href="http://martinfowler.com/bliki/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Martin Fowler's Bliki&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Martin Fowler&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/martinfowler"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;martinfowler&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;10&lt;br /&gt;1&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.joelonsoftware.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Joel on Software&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Joel Spolsky&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/spolsky"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;spolsky&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;11&lt;br /&gt;8&lt;br /&gt;&lt;/span&gt;&lt;a href="http://bokardo.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Bokardo: Social Design&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Joshua Porter&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/bokardo"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;bokardo&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;12&lt;br /&gt;25&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.scottberkun.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The Berkun Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Scott Berkun&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/berkun"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;berkun&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;13&lt;br /&gt;18&lt;br /&gt;&lt;/span&gt;&lt;a href="http://codebetter.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;CodeBetter.Com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/codebetter"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;codebetter&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;14&lt;br /&gt;7&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.randsinrepose.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Rands in Repose&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Michael Lopp&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/rands"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;rands&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;15&lt;br /&gt;10&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.stackoverflow.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Stack Overflow&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jeff Atwood&lt;br /&gt;&lt;br /&gt;16&lt;br /&gt;15&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.jonudell.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Jon Udell&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jon Udell&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/judell"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;judell&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;17&lt;br /&gt;20&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.objectmentor.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Object Mentor Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;18&lt;br /&gt;37&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.softwareprojects.org/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Project Shrink&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Bas de Baar&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/projectshrink"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;projectshrink&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;19&lt;br /&gt;4&lt;br /&gt;&lt;/span&gt;&lt;a href="http://thedailywtf.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The Daily WTF&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/dailywtf"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;dailywtf&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;20&lt;br /&gt;30&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/jmeier/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;J.D. Meier's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;J.D. Meier&lt;br /&gt;&lt;br /&gt;21&lt;br /&gt;28&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.artima.com/weblogs/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Artima Weblogs&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;22&lt;br /&gt;21&lt;br /&gt;&lt;/span&gt;&lt;a href="http://regulargeek.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Regular Geek&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Rob Diana&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/robdiana"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;robdiana&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;23&lt;br /&gt;24&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.noop.nl/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;NOOP.NL&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jurgen Appelo&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jurgenappelo"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jurgenappelo&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;24&lt;br /&gt;81&lt;br /&gt;&lt;/span&gt;&lt;a href="http://jeffreypalermo.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Jeffrey Palermo (.com)&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jeffrey Palermo&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jeffreypalermo"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jeffreypalermo&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;25&lt;br /&gt;46&lt;br /&gt;&lt;/span&gt;&lt;a href="http://tech.puredanger.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Pure Danger Tech&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Alex Miller&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/puredanger"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;puredanger&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;26&lt;br /&gt;45&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blogs.tedneward.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Interoperability Happens&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Ted Neward&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/tedneward"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;tedneward&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;27&lt;br /&gt;124&lt;br /&gt;&lt;/span&gt;&lt;a href="http://xprogramming.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Hot Needle of Inquiry&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Ron Jeffries&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/ronjeffries"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;ronjeffries&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;28&lt;br /&gt;60&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.betterprojects.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Better Projects&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Craig Brown&lt;br /&gt;&lt;br /&gt;29&lt;br /&gt;73&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.softwareinsider.org/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;A Software Insiders Point of View&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;R "Ray" Wang&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/rwang0"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;rwang0&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;30&lt;br /&gt;50&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.sauria.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Ted Leung on the Air&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Ted Leung&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/twleung"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;twleung&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;31&lt;br /&gt;69&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.agilemanagement.net/Articles/Weblog/blog.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Management Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;David Anderson&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/agilemanager"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;agilemanager&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;32&lt;br /&gt;33&lt;br /&gt;&lt;/span&gt;&lt;a href="http://secretgeek.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;secretGeek&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Leon Bambrick&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/secretgeek"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;secretgeek&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;33&lt;br /&gt;36&lt;br /&gt;&lt;/span&gt;&lt;a href="http://duckdown.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Enterprise Architecture: From Incite comes Insight...&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;James McGovern&lt;br /&gt;&lt;br /&gt;34&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://devlicio.us/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Devlicio.us&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/devlicious"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;devlicious&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;35&lt;br /&gt;9&lt;br /&gt;&lt;/span&gt;&lt;a href="http://steve-yegge.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Stevey's Blog Rants&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Steve Yegge&lt;br /&gt;&lt;br /&gt;36&lt;br /&gt;31&lt;br /&gt;&lt;/span&gt;&lt;a href="http://al3x.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Alex Payne&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Alex Payne&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/al3x"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;al3x&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;37&lt;br /&gt;58&lt;br /&gt;&lt;/span&gt;&lt;a href="http://stuffthathappens.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;It's Just a Bunch of Stuff That Happens&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Eric Burke&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/burke_eric"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;burke_eric&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;38&lt;br /&gt;29&lt;br /&gt;&lt;/span&gt;&lt;a href="http://googletesting.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Google Testing Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;39&lt;br /&gt;48&lt;br /&gt;&lt;/span&gt;&lt;a href="http://elegantcode.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Elegant Code&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/elegantcode"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;elegantcode&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;40&lt;br /&gt;5&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blogcabin.37signals.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Signal vs. Noise&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/37signals"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;37signals&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;41&lt;br /&gt;66&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.exampler.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Exploration Through Example&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Brian Marick&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/marick"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;marick&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;42&lt;br /&gt;57&lt;br /&gt;&lt;/span&gt;&lt;a href="http://ericbrown.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Aligning Technology, Strategy, People &amp;amp; Projects&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Eric Brown&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/ericdbrown"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;ericdbrown&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;43&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.codethinked.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;CodeThinked&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Justin Etheredge&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/justinetheredge"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;justinetheredge&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;44&lt;br /&gt;35&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.contrast.ie/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Contrast The Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;45&lt;br /&gt;114&lt;br /&gt;&lt;/span&gt;&lt;a href="http://pyre.third-bit.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The Third Bit&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Greg Wilson&lt;br /&gt;&lt;br /&gt;46&lt;br /&gt;22&lt;br /&gt;&lt;/span&gt;&lt;a href="http://beust.com/weblog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Otaku, Cedric's Weblog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Cedric&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/cbeust"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;cbeust&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;47&lt;br /&gt;39&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.shahine.com/omar/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Shanine.com / omar /&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Omar Shahine&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/omarshahine"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;omarshahine&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;48&lt;br /&gt;11&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.ericsink.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Eric.Weblog()&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Eric Sink&lt;br /&gt;&lt;br /&gt;49&lt;br /&gt;108&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.pmthink.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;PMThink!&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;50&lt;br /&gt;52&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.reformingprojectmanagement.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Reforming Project Management&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Hal Macomber&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/HalMacomber"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;HalMacomber&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;51&lt;br /&gt;62&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.codesqueeze.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;{Codesqueeze}&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Max Pool&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mpool"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mpool&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;52&lt;br /&gt;47&lt;br /&gt;&lt;/span&gt;&lt;a href="http://jrothman.com/blog/mpd/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Managing Product Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Johanna Rothman&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/johannarothman"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;johannarothman&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;53&lt;br /&gt;27&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.satisfice.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;James Bach’s Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;James Bach&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jamesmarcusbach"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jamesmarcusbach&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;54&lt;br /&gt;34&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.businessofsoftware.org/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Business of Software Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Neil Davidson&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/neildavidson"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;neildavidson&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;55&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://graysmatter.codivation.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Gray's Matter&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Justice Gray&lt;br /&gt;&lt;br /&gt;56&lt;br /&gt;105&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.leadingagile.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Leading Agile&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Mike Cottmeyer&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mcottmeyer"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mcottmeyer&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;57&lt;br /&gt;55&lt;br /&gt;&lt;/span&gt;&lt;a href="http://jeffblankenburg.com/default.aspx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Blankenthoughts&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jeff Blankenburg&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jblankenburg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jblankenburg&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;58&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.threeriversinstitute.org/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;JUnit Max&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Kent Beck&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/kentbeck"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;kentbeck&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;59&lt;br /&gt;43&lt;br /&gt;&lt;/span&gt;&lt;a href="http://agilesoftwaredevelopment.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Software Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/agileartem"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;agileartem&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;60&lt;br /&gt;32&lt;br /&gt;&lt;/span&gt;&lt;a href="http://forums.construx.com/blogs/stevemcc/default.aspx"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;10x Software Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Steve McConnell&lt;br /&gt;&lt;br /&gt;61&lt;br /&gt;51&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.thinkrelevance.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Relevance Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;62&lt;br /&gt;113&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.markhneedham.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Mark Needham&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Mark Needham&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/markhneedham"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;markhneedham&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;63&lt;br /&gt;78&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/micahel/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The Braidy Tester&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Micahel&lt;br /&gt;&lt;br /&gt;64&lt;br /&gt;65&lt;br /&gt;&lt;/span&gt;&lt;a href="http://herdingcats.typepad.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Herding Cats&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Glen Alleman&lt;br /&gt;&lt;br /&gt;65&lt;br /&gt;76&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.chrisspagnuolo.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Chris Spagnuolo's EdgeHopper&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Chris Spagnuolo&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/chrisspagnuolo"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;chrisspagnuolo&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;66&lt;br /&gt;63&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.toolshed.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;/\ndy&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Andy Hunt&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/pragmaticandy"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;pragmaticandy&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;67&lt;br /&gt;61&lt;br /&gt;&lt;/span&gt;&lt;a href="http://leansoftwareengineering.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Lean Software Engineering&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Corey Ladas&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/corey_ladas"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;corey_ladas&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;68&lt;br /&gt;83&lt;br /&gt;&lt;/span&gt;&lt;a href="http://infozerk.com/averyblog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;averyBlog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;James Avery&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/averyj"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;averyj&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;69&lt;br /&gt;89&lt;br /&gt;&lt;/span&gt;&lt;a href="http://xndev.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Creative Chaos&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Matthew Heusser&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mheusser"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mheusser&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;70&lt;br /&gt;41&lt;br /&gt;&lt;/span&gt;&lt;a href="http://agiletesting.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Testing&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Grig Gheorghiu&lt;br /&gt;&lt;br /&gt;71&lt;br /&gt;53&lt;br /&gt;&lt;/span&gt;&lt;a href="http://jamesshore.com/Blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;James Shore: The Art of Agile&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;James Shore&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jamesshore"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jamesshore&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;72&lt;br /&gt;125&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.rallydev.com/agileblog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;73&lt;br /&gt;110&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.agileadvice.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Advice&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;74&lt;br /&gt;23&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.mountaingoatsoftware.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Mike Cohn's Blog: Succeeding with Agile&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Mike Cohn&lt;br /&gt;&lt;br /&gt;75&lt;br /&gt;88&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.agiledeveloper.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Developer Venkat's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Venkat Subramaniam&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/venkat_s"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;venkat_s&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;76&lt;br /&gt;74&lt;br /&gt;&lt;/span&gt;&lt;a href="http://memeagora.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Meme Agora&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Neal Ford&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/neal4d"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;neal4d&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;77&lt;br /&gt;67&lt;br /&gt;&lt;/span&gt;&lt;a href="http://jeffsutherland.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Object Technology&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jeff Sutherland&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jeffsutherland"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jeffsutherland&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;78&lt;br /&gt;38&lt;br /&gt;&lt;/span&gt;&lt;a href="http://stevenharman.net/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;StevenHarman.net&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Steven Harman&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/stevenharman"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;stevenharman&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;79&lt;br /&gt;68&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.implementingscrum.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Implementing Scrum&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Mike Vizdos&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mvizdos"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mvizdos&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;80&lt;br /&gt;100&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.ravensbrain.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Raven's Brain&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Raven Young&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/ravenyoung"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;ravenyoung&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;81&lt;br /&gt;121&lt;br /&gt;&lt;/span&gt;&lt;a href="http://community.zdnet.co.uk/blog/0,1000000567,2000458459b,00.htm"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Software application development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Adrian Bridgwater&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/abridgwater"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;abridgwater&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;82&lt;br /&gt;145&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.codeodor.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;My Secret Life as a Spaghetti Coder&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Sammy Larbi&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/codeodor"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;codeodor&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;83&lt;br /&gt;70&lt;br /&gt;&lt;/span&gt;&lt;a href="http://bit-player.org/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Bit-Player&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Brian Hayes&lt;br /&gt;&lt;br /&gt;84&lt;br /&gt;77&lt;br /&gt;&lt;/span&gt;&lt;a href="http://ourfounder.typepad.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Evolving Web&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jim Benson&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/ourfounder"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;ourfounder&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;85&lt;br /&gt;71&lt;br /&gt;&lt;/span&gt;&lt;a href="http://mendicantbug.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The Mendicant Bug&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jason Adams&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/ealdent"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;ealdent&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;86&lt;br /&gt;94&lt;br /&gt;&lt;/span&gt;&lt;a href="http://management.curiouscatblog.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Curious Cat&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;John Hunter&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/curiouscat_com"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;curiouscat_com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;87&lt;br /&gt;49&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.codingthearchitecture.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Coding the Architecture&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;88&lt;br /&gt;40&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.softwarebyrob.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Software by Rob&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Rob Walling&lt;br /&gt;&lt;br /&gt;89&lt;br /&gt;44&lt;br /&gt;&lt;/span&gt;&lt;a href="http://tynerblain.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Tyner Blain&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Scott Sehlhorst&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/sehlhorst"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;sehlhorst&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;90&lt;br /&gt;64&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.agile-software-development.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;All About Agile&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Kelly Waters&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/allaboutagile"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;allaboutagile&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;91&lt;br /&gt;42&lt;br /&gt;&lt;/span&gt;&lt;a href="http://alistair.cockburn.us/Blog"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Alistair Cockburn&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Alistair Cockburn&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/theotheralistai"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;theotheralistai&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;92&lt;br /&gt;115&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.estherderby.com/weblog/blogger.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Insights You Can Use&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Esther Derby&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/estherderby"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;estherderby&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;93&lt;br /&gt;99&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.clarkeching.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Clarke Ching - More Chilli Please&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Clarke Ching&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/clarkeching"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;clarkeching&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;94&lt;br /&gt;80&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.cutter.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The Cutter Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/cuttertweets"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;cuttertweets&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;95&lt;br /&gt;102&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.io.com/~wazmo/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Testing Hotlist Update&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Bret Pettichord&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/bpettichord"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;bpettichord&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;96&lt;br /&gt;82&lt;br /&gt;&lt;/span&gt;&lt;a href="http://testobsessed.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Test Obsessed&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Elisabeth Hendrickson&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/testobsessed"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;testobsessed&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;97&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.satisfice.com/kaner/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Cem Kaner's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Cem Kaner&lt;br /&gt;&lt;br /&gt;98&lt;br /&gt;143&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.targetprocess.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Edge of Chaos&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Michael Dubakov&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mdubakov"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mdubakov&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;99&lt;br /&gt;87&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.charlespetzold.com/blog/blog.xml"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Petzold Book Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Charles Petzold&lt;br /&gt;&lt;br /&gt;100&lt;br /&gt;104&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.ibm.com/developerworks/blogs/page/ambler"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.ibm.com/developerworks/blogs/page/ambler&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Scott W. Ambler&lt;br /&gt;&lt;br /&gt;101&lt;br /&gt;175&lt;br /&gt;&lt;/span&gt;&lt;a href="http://theworkinggeek.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;The Working Geek&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Andy Lester&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/petdance"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;petdance&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;102&lt;br /&gt;98&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.lazycoder.com/weblog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Lazycoder&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Scott Koon&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/lazycoder"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;lazycoder&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;103&lt;br /&gt;119&lt;br /&gt;&lt;/span&gt;&lt;a href="http://jchyip.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;You'd think with all my video game experience...&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jason Yip&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jchyip"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jchyip&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;104&lt;br /&gt;168&lt;br /&gt;&lt;/span&gt;&lt;a href="http://parlezuml.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Software Process Improvement&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jason Gorman&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jasongorman"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jasongorman&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;105&lt;br /&gt;101&lt;br /&gt;&lt;/span&gt;&lt;a href="http://debasishg.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Ruminations of a Programmer&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Debasish Ghosh&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/debasishg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;debasishg&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;106&lt;br /&gt;132&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.martinig.ch/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;From the Editor of Methods &amp;amp; Tools&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Martinig&lt;br /&gt;&lt;br /&gt;107&lt;br /&gt;72&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.brodzinski.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Software Project Management&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Pawel Brodzinski&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/pawelbrodzinski"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;pawelbrodzinski&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;108&lt;br /&gt;90&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.moserware.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Moserware&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jeff Moser&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jeffmoser"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jeffmoser&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;109&lt;br /&gt;109&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.developsense.com/blog.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;DevelopSense Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Michael Bolton&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/michaelbolton"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;michaelbolton&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;110&lt;br /&gt;92&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.kohl.ca/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Collaborative Software Testing&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jonathan Kohl&lt;br /&gt;&lt;br /&gt;111&lt;br /&gt;130&lt;br /&gt;&lt;/span&gt;&lt;a href="http://adam.goucher.ca/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Quality through Innovation&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Adam Goucher&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/adamgoucher"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;adamgoucher&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;112&lt;br /&gt;107&lt;br /&gt;&lt;/span&gt;&lt;a href="http://crazeegeekchick.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Crazeegeekchick.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Dana Coffey&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/crazeegeekchick"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;crazeegeekchick&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;113&lt;br /&gt;160&lt;br /&gt;&lt;/span&gt;&lt;a href="http://faler.wordpress.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Wille Faler's Buzzword Bingo&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Wille Faler&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/wfaler"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;wfaler&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;114&lt;br /&gt;126&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.davidyack.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;MrDave's (David Yack) Blog!&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;David Yack&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/davidyack"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;davidyack&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;115&lt;br /&gt;118&lt;br /&gt;&lt;/span&gt;&lt;a href="http://scalingsoftwareagility.wordpress.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Scaling Software Agility&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Dean Leffingwell&lt;br /&gt;&lt;br /&gt;116&lt;br /&gt;96&lt;br /&gt;&lt;/span&gt;&lt;a href="http://leadinganswers.typepad.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;LeadingAnswers&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Mike Griffiths&lt;br /&gt;&lt;br /&gt;117&lt;br /&gt;166&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.testingreflections.com/blog/2"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Antony Marcano's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Antony Marcano&lt;br /&gt;&lt;br /&gt;118&lt;br /&gt;85&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.michaelnygard.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Wide Awake Developers&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Michael Nygard&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mtnygard"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mtnygard&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;119&lt;br /&gt;137&lt;br /&gt;&lt;/span&gt;&lt;a href="http://dnicolet1.tripod.com/agile/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Effective Software Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Dave Nicolette&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/davenicolette"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;davenicolette&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;120&lt;br /&gt;95&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.yourdonreport.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Yourdon Report&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Ed Yourdon&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/yourdon"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;yourdon&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;121&lt;br /&gt;26&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.catonmat.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Good coders code, great reuse&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Peteris Krumins&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/pkrumins"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;pkrumins&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;122&lt;br /&gt;171&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.jbrains.ca/blog"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Jbrains.ca&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;J.B. Rainsberger&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jbrains"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jbrains&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;123&lt;br /&gt;79&lt;br /&gt;&lt;/span&gt;&lt;a href="http://testertested.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Tester Tested!&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Pradeep Soundararajan&lt;br /&gt;124&lt;br /&gt;91&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.codemonkeyism.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Codemonkeyism&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Stephan Schmidt&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/codemonkeyism"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;codemonkeyism&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;125&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.cornetdesign.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Corey Foy&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Corey Foy&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/cory_foy"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;cory_foy&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;126&lt;br /&gt;146&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.wrike.com/projectmanagement.htm"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Project Management 2.0&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Andrew Filev&lt;br /&gt;&lt;/span&gt;&lt;a href="https://twitter.com/andrewsthoughts"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;andrewsthoughts&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;127&lt;br /&gt;149&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.thoughtclusters.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Thought Clusters&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Krishna Kumar&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/krishami"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;krishami&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;128&lt;br /&gt;111&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.focusedperformance.com/blogger.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Focused Performance&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Frank Patrick&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/fpatrick"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;fpatrick&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;129&lt;br /&gt;182&lt;br /&gt;&lt;/span&gt;&lt;a href="http://availagility.wordpress.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;AvailAgility&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Karl Scotland&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/kjscotland"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;kjscotland&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;130&lt;br /&gt;75&lt;br /&gt;&lt;/span&gt;&lt;a href="http://wordaligned.org/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Word Aligned&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Thomas Guest&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/thomasguest"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;thomasguest&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;131&lt;br /&gt;86&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.notesfromatooluser.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Notes from a Tool User&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Mark Levison&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mlevison"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mlevison&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;132&lt;br /&gt;140&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.techdarkside.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Information Technology Dark Side&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;David Christiansen&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/aldos"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;aldos&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;133&lt;br /&gt;135&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.versionone.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Chronicles&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;134&lt;br /&gt;93&lt;br /&gt;&lt;/span&gt;&lt;a href="http://agileproductdesign.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Jeff Patton's Holistic Product Design &amp;amp; Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jeff Patton&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jeffpatton"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jeffpatton&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;135&lt;br /&gt;128&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/eric_brechner/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;I.M. Wright’s “Hard Code”&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Eric Brechner&lt;br /&gt;&lt;br /&gt;136&lt;br /&gt;173&lt;br /&gt;&lt;/span&gt;&lt;a href="http://shapingsoftware.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Shaping Software&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;J.D. Meier&lt;br /&gt;&lt;br /&gt;137&lt;br /&gt;139&lt;br /&gt;&lt;/span&gt;&lt;a href="http://it.toolbox.com/blogs/madgreek/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Enterprise Architecture &amp;amp; Other Enterprise Topics&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Mike Kavis&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/madgreek65"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;madgreek65&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;138&lt;br /&gt;56&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.davidchelimsky.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;David Chelimsky&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;David Chelimsky&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/dchelimsky"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;dchelimsky&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;139&lt;br /&gt;144&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.dhananjaynene.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;/var/log/mind&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Dhananjay Nene&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/dnene"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;dnene&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;140&lt;br /&gt;158&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.scottbellware.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Scott Bellware&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Scott Bellware&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/bellware"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;bellware&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;141&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://peripateticaxiom.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Peripatetic Axiom&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Keith Braithwaite&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/keithb_b"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;keithb_b&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;142&lt;br /&gt;161&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.netobjectives.com/blog"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;NetObjectives&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;143&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://techdistrict.kirkk.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;@Kirkk.com&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Kirk Knoernschild&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.twitter.com/pragkirk"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;pragkirk&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;144&lt;br /&gt;155&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.8thlight.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;8th Light Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;145&lt;br /&gt;153&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blogs.msdn.com/steverowe/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Steve Rowe's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Steve Rowe&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/steve_rowe"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;steve_rowe&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;146&lt;br /&gt;97&lt;br /&gt;&lt;/span&gt;&lt;a href="http://silkandspinach.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Silk and Spinach&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Kevin Rutherford&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/kevinrutherford"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;kevinrutherford&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;147&lt;br /&gt;138&lt;br /&gt;&lt;/span&gt;&lt;a href="http://pierg.wordpress.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;PierG&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Piergiorgio Grossi&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/pierg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;pierg&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;148&lt;br /&gt;151&lt;br /&gt;&lt;/span&gt;&lt;a href="http://swizec.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Cthulhu and Other Crazies&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Swizec&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/swizec"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;swizec&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;149&lt;br /&gt;152&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.m3p.co.uk/blog"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Steve Freeman&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Steve Freeman&lt;br /&gt;&lt;br /&gt;150&lt;br /&gt;176&lt;br /&gt;&lt;/span&gt;&lt;a href="http://me.andering.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Me.Andering&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Willem van den Ende&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/most_alive"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;most_alive&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;151&lt;br /&gt;159&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.fedecarg.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;fede.carg ( blog )&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Federico Cargnelutti&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/fedecarg"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;fedecarg&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;152&lt;br /&gt;174&lt;br /&gt;&lt;/span&gt;&lt;a href="http://edgibbs.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Musings of a Software Development Manager&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Ed Gibbs&lt;br /&gt;&lt;br /&gt;153&lt;br /&gt;147&lt;br /&gt;&lt;/span&gt;&lt;a href="http://requirements.seilevel.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Requirements Defined&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/seilevel"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;seilevel&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;154&lt;br /&gt;112&lt;br /&gt;&lt;/span&gt;&lt;a href="http://agilethinking.net/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Thoughts&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Tobias Mayer&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/tobiasgmayer"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;tobiasgmayer&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;155&lt;br /&gt;163&lt;br /&gt;&lt;/span&gt;&lt;a href="http://chrissterling.gettingagile.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Chris Sterling’s Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Chris Sterling&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/csterwa"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;csterwa&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;156&lt;br /&gt;190&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.agileinaction.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile in Action&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Simon Baker&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/energizr"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;energizr&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;157&lt;br /&gt;103&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.sunpig.com/martin/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Legends of the Sun Pig&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Martin Sutherland&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/sunpig"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;sunpig&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;158&lt;br /&gt;134&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.gdinwiddie.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;George Dinwiddie's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;George Dinwiddie&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/gdinwiddie"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;gdinwiddie&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;159&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://manicprogrammer.com/cs/blogs/willeke/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Rediscovering the Obvious&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Willeke&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/erwilleke"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;erwilleke&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;160&lt;br /&gt;141&lt;br /&gt;&lt;/span&gt;&lt;a href="http://agileartisans.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Artisans&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jared Richardson&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jaredrichardson"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jaredrichardson&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;161&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://lithespeed.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;LitheSpeed's LitheBlog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;br /&gt;162&lt;br /&gt;177&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.intergen.co.nz/Blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Intergen Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;(various)&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.twitter.com/teamintergen"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;teamintergen&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;163&lt;br /&gt;123&lt;br /&gt;&lt;/span&gt;&lt;a href="http://shrinik.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Thinking Tester&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Shrini Kulkarni&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/shrinik"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;shrinik&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;164&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.futureworksconsulting.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Partnership &amp;amp; Possibilities&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Diana Larsen&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/dianaofportland"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;dianaofportland&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;165&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://agileconsortium.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile &amp;amp; Business&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Joe Little&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jhlittle"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jhlittle&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;166&lt;br /&gt;191&lt;br /&gt;&lt;/span&gt;&lt;a href="http://ctotodevelopers.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;On Software Development, Agile, Startups, and Social Networking&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Isaac Sacolick&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/nyike"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;nyike&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;167&lt;br /&gt;127&lt;br /&gt;&lt;/span&gt;&lt;a href="http://jonathanbabcock.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Jonathan Babcock&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jonathan Babcock&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jonbab1"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jonbab1&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;168&lt;br /&gt;154&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.agilegamedevelopment.com/blog.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Game Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Clinton Keith&lt;br /&gt;&lt;br /&gt;169&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.robbowley.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Rob Bowley&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Rob Bowley&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/robbowley"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;robbowley&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;170&lt;br /&gt;131&lt;br /&gt;&lt;/span&gt;&lt;a href="http://cauvin.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Cauvin&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Roger L. Cauvin&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/rcauvin"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;rcauvin&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;171&lt;br /&gt;193&lt;br /&gt;&lt;/span&gt;&lt;a href="http://weblogs.asp.net/wallen/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Wayne Allen's Weblog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Wayne Allen&lt;br /&gt;&lt;br /&gt;172&lt;br /&gt;180&lt;br /&gt;&lt;/span&gt;&lt;a href="http://chrismcmahonsblog.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Chris McMahon's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Chris McMahon&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/cmcmahon"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;cmcmahon&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;173&lt;br /&gt;181&lt;br /&gt;&lt;/span&gt;&lt;a href="http://itscommonsensestupid.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;It's Common Sense, Stupid&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Soon Hui Ngu&lt;br /&gt;&lt;br /&gt;174&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.sanderhoogendoorn.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Sander Hoogendoorn&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Sander Hoogendoorn&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/aahoogendoorn"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;aahoogendoorn&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;175&lt;br /&gt;136&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.jcooney.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Jcooney.NET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Joseph Cooney&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/josephcooney"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;josephcooney&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;176&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://blog.mattwynne.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Tea-Driven Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Matt Wynne&lt;br /&gt;&lt;br /&gt;177&lt;br /&gt;120&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.ytechie.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Ytechie&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jason Young&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/ytechie"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;ytechie&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;178&lt;br /&gt;162&lt;br /&gt;&lt;/span&gt;&lt;a href="http://jimmynilsson.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Jimmy Nilsson's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jimmy Nilsson&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jimmynilsson"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jimmynilsson&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;179&lt;br /&gt;106&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.agilecmmi.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile CMMI Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Hillel Glazer&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/hi11e1"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;hi11e1&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;180&lt;br /&gt;183&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.renaissancesoftware.net/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;James Grenning’s Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;James Grenning&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/jwgrenning"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;jwgrenning&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;181&lt;br /&gt;186&lt;br /&gt;&lt;/span&gt;&lt;a href="http://runningagile.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Running Agile&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Christophe Louvion&lt;br /&gt;&lt;br /&gt;182&lt;br /&gt;170&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.wirfs-brock.com/rebeccasblog.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Rebecca's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Rebecca Wirfs-Brock&lt;br /&gt;&lt;br /&gt;183&lt;br /&gt;169&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.spreetree.net/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Engineering Game Development&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Lee Winder&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/spreetree"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;spreetree&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;184&lt;br /&gt;198&lt;br /&gt;&lt;/span&gt;&lt;a href="http://simplearchitectures.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Simple Architectures for Complex Enterprises&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Roger Sessions&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/rsessions"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;rsessions&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;185&lt;br /&gt;133&lt;br /&gt;&lt;/span&gt;&lt;a href="http://bartoszmilewski.wordpress.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Bartosz Milewski's Programming Cafe&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Bartosz Milewski&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/BartoszMilewski"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;BartoszMilewski&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;186&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://ivarjacobson.wordpress.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Ivar Jacobson's Blog&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Ivar Jacobson&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/ivarjacobson"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;ivarjacobson&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;187&lt;br /&gt;165&lt;br /&gt;&lt;/span&gt;&lt;a href="http://enterprisearchitect.typepad.com/ea/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Technology Architecture &amp;amp; Projects&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Robert McIlree&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/rmcilree"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;rmcilree&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;188&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://drunkenpm.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;DrunkenPM&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Dave Prior&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mrsungo"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mrsungo&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;189&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.softwaresweatshop.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Software Sweatshop&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Raza Imam&lt;br /&gt;&lt;br /&gt;190&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://falkayn.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Falkayn's Nest&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Angus McDonald&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/falkayn"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;falkayn&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;191&lt;br /&gt;84&lt;br /&gt;&lt;/span&gt;&lt;a href="http://grok-code.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;GrokCode&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Jess&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/grokcode"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;grokcode&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;192&lt;br /&gt;122&lt;br /&gt;&lt;/span&gt;&lt;a href="http://hicks-wright.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Hicks-Wright.net&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Tyler Griffin Hicks-Wright&lt;br /&gt;&lt;br /&gt;193&lt;br /&gt;167&lt;br /&gt;&lt;/span&gt;&lt;a href="http://andrewtokeley.net/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Andrew Tokeley&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Andrew Tokeley&lt;br /&gt;&lt;br /&gt;194&lt;br /&gt;157&lt;br /&gt;&lt;/span&gt;&lt;a href="http://damonpoole.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Agile Development Thoughts&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Damon Poole&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/damonpoole"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;damonpoole&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;195&lt;br /&gt;179&lt;br /&gt;&lt;/span&gt;&lt;a href="http://mult.ifario.us/a"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Mult.ifario.us&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Paul R. Brown&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/paulrbrown"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;paulrbrown&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;196&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://mattorama.net/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Matt O’ Rama&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Matt Grommes&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/mattgrommes"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;mattgrommes&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;197&lt;br /&gt;194&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.daveliebreich.com/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;A Test Guy&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Dave Liebreich&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/atestguy"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;atestguy&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;198&lt;br /&gt;150&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.richarddurnall.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Richard Durnall&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Richard Durnall&lt;br /&gt;&lt;br /&gt;199&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.pols.co.uk/blog/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Pols Consulting&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Andy Pols&lt;br /&gt;&lt;/span&gt;&lt;a href="http://twitter.com/andy_pols"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;andy_pols&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;200&lt;br /&gt;--&lt;br /&gt;&lt;/span&gt;&lt;a href="http://agileleadership.blogspot.com/"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;On Agile Leadership&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;Manfred Lange&lt;br /&gt;&lt;br /&gt;LegendTT = This Time&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"   style="font-family:verdana;font-size:85%;"&gt;LT = Last Time&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-6409648789512110775?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/6409648789512110775/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/top-200-blogs-for-developers-q2-2009.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6409648789512110775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6409648789512110775'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/top-200-blogs-for-developers-q2-2009.html' title='Top 200 Blogs For Developers (Q2 2009)'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-7155685722345338007</id><published>2009-06-28T08:48:00.002+03:00</published><updated>2009-06-28T08:51:20.023+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows api codepack'/><title type='text'>Windows® API Code Pack for Microsoft® .NET Framework</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Mail üzerinden ulaştırılan MSDN Newsletter' daki bir kaynağı sizlerle paylaşmak istiyorum. &lt;/span&gt;&lt;a id="ctl00_ctl00_WideContent_ProjectTitleControl1_ProjectTitleLink" class="NoUnderline" href="http://code.msdn.microsoft.com/WindowsAPICodePack"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Windows® API Code Pack for Microsoft® .NET Framework&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Bu paket vasıtasıyla managed kod ortamından Windows 7' deki birçok yeni özelliğe erişebilir &amp;amp; kullanabilir, daha eski Windows sürümlerinde managed kod ortamından gerçekleştiremediğimiz işleri gerçekleştirebileceğimiz kütüphanelere erişebilmekteyiz.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Paketi : &lt;/span&gt;&lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack/Release/ProjectReleases.aspx?ReleaseId=2821"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://code.msdn.microsoft.com/WindowsAPICodePack/Release/ProjectReleases.aspx?ReleaseId=2821&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden indirebilirsiniz.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-7155685722345338007?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/7155685722345338007/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/windows-api-code-pack-for-microsoft-net.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7155685722345338007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/7155685722345338007'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/windows-api-code-pack-for-microsoft-net.html' title='Windows® API Code Pack for Microsoft® .NET Framework'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-8061963287538646407</id><published>2009-06-24T10:56:00.005+03:00</published><updated>2009-06-24T11:05:56.608+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sdk'/><category scheme='http://www.blogger.com/atom/ns#' term='dtk'/><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><title type='text'>Windows Mobile 6.5 Developer Tool Kit</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/SkHeHF3J0qI/AAAAAAAAAC8/_XtWPH6a94w/s1600-h/gsmarena_001.jpg"&gt;&lt;img style="WIDTH: 300px; HEIGHT: 400px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5350802045706818210" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/SkHeHF3J0qI/AAAAAAAAAC8/_XtWPH6a94w/s400/gsmarena_001.jpg" rel="lightbox" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Çok taze bir kaynağı sizlerle paylaşmanın heyecanı içerisindeyim. Bir süredir internal mail grup' ları üzerinden takip ettiğim bir kaynak kısa süre önce uygulama geliştiricilerin kullanımına açıldı. &lt;strong&gt;Windows&lt;/strong&gt; &lt;strong&gt;Mobile 6.5 Developer Tool Kit&lt;/strong&gt; !&lt;br /&gt;&lt;br /&gt;Her ne kadar WM 6.5 kurulu telefonlar teknoloji marketlerinin raflarında yer almaya başlamasada, uygulama geliştiricilerin erken davranıp, bu işletim sistemine uygun uygulamalar geliştirmeye başlayacaklarından eminim.&lt;br /&gt;&lt;br /&gt;Dikkat edersiniz ki paket SDK olarak adlandırılmıyor, DTK olarak ifade ettiğimiz Developer Tool Kit ; yani kullanılabilmesi için Visual Studio, Windows Mobile 6.0 SDK gibi standart araçların sisteminize kurulu olması gerekmektedir.&lt;br /&gt;&lt;br /&gt;Paket içerisinden WM 6.5 Emulatorleri, GESTURE API dökümantasyonu (bu kısmı çok heyecan verici :) ) ve örnek uygulamalar çıkmaktadır.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt; adresinden paketi indirip sisteminize kurabilirsiniz. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-8061963287538646407?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/8061963287538646407/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/windows-mobile-65-developer-tool-kit.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8061963287538646407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/8061963287538646407'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/windows-mobile-65-developer-tool-kit.html' title='Windows Mobile 6.5 Developer Tool Kit'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bqINL2ro10c/SkHeHF3J0qI/AAAAAAAAAC8/_XtWPH6a94w/s72-c/gsmarena_001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-414597417658999580</id><published>2009-06-17T10:00:00.004+03:00</published><updated>2009-06-17T10:05:09.852+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='açık'/><category scheme='http://www.blogger.com/atom/ns#' term='kaynak'/><category scheme='http://www.blogger.com/atom/ns#' term='organik'/><title type='text'>Organik Yazılım Günü</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Bir süredir iş yoğunluğumdan dolayı blog üzerine entry girememekteyim. Bu entry' de ise "yine iş yoğunluğumdan dolayı konuşmacı olarak maalesef katılamadığım" ve çok heyecan verici bir organizasyon hakkında sizleri bilgilendirmek istiyorum.&lt;br /&gt;&lt;br /&gt;Sevgili Daron Yöndem' in bir süredir organize ettiği ve şahsımca "çok ihtiyacını duyduğumuz" bir organizasyon düzenleniyor. Organik Yazılım Günü.&lt;br /&gt;&lt;br /&gt;Açık kaynak uygulama geliştiricilerin eminim çok ilgi göstereceği bu etkinlikte açık kaynak geliştirilen projeler hakkında 30' ar dakikalık mini seminerler verilecek. Etkinlik içeriği, tarihi ve diğer bilgiler aşağıdaki gibidir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/SjiVijOYLmI/AAAAAAAAAC0/ERtvtflgsvs/s1600-h/16062009_1.jpg"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 267px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5348188978306100834" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/SjiVijOYLmI/AAAAAAAAAC0/ERtvtflgsvs/s400/16062009_1.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-414597417658999580?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/414597417658999580/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/organik-yazlm-gunu.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/414597417658999580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/414597417658999580'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/06/organik-yazlm-gunu.html' title='Organik Yazılım Günü'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bqINL2ro10c/SjiVijOYLmI/AAAAAAAAAC0/ERtvtflgsvs/s72-c/16062009_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-2106137870476405624</id><published>2009-05-31T11:42:00.003+03:00</published><updated>2009-05-31T11:51:59.061+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poster'/><title type='text'>.Net Framework 3.5 Namespace Poster</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Yurtdışı kaynaklı bir MVP mailinde dönen bir kaynağı sizlerle paylaşmak istiyorum. Aşağıda resimde görülen poster hakkında çoğunuzun bilgisi vardır. Fakat standart posterde .Net Compact Framework 3.5 tipleri poster üzerinde işaretlenmemiş, mobil cihaz uygulama geliştiriciler hangi tiplerin .Net Compact Framework 3.5 üzerinde bulunduğunu poster üzerinde görememektedirler.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/SiJEh8KrCaI/AAAAAAAAACk/bvDXXefRZBw/s1600-h/image_3.png"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;img style="WIDTH: 200px; HEIGHT: 157px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5341907457892092322" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SiJEh8KrCaI/AAAAAAAAACk/bvDXXefRZBw/s200/image_3.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Posteri geliştirenler sesimizi duymuş olacak ki posteri bu tipleri "cf" ikonuyla işaretleyerek tekrardan güncellemişler.&lt;br /&gt;&lt;br /&gt;Poster içerisinde .Net Compact Framework 3.5 içerisinde de bulunan tiplerin yanında küçük bir CF ikonu bulunmaktadır.&lt;br /&gt;&lt;br /&gt;Posteri aşağıdaki adresten indirebilirsiniz ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Tıklayın !&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-2106137870476405624?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/2106137870476405624/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/net-framework-35-namespace-poster.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2106137870476405624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2106137870476405624'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/net-framework-35-namespace-poster.html' title='.Net Framework 3.5 Namespace Poster'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bqINL2ro10c/SiJEh8KrCaI/AAAAAAAAACk/bvDXXefRZBw/s72-c/image_3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-5107366453583013355</id><published>2009-05-19T18:37:00.007+03:00</published><updated>2009-05-19T18:42:53.441+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='myphone'/><title type='text'>MyPhone Beta Tüm Kullanıcılara Açıldı !</title><content type='html'>&lt;img style="WIDTH: 132px; HEIGHT: 127px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5337560289162746994" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/ShLSzarG3HI/AAAAAAAAACc/InGpvFK_mFw/s200/myPhoneLogo.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Daha önce blog üzerinden detaylarını verdiğim, Microsoft' un Windows Mobile cep bilgisayarınız üzerindeki tüm verilerinizi tek bir noktada yedekleyip / geri yükleyebileceğiniz servisi MyPhone uzun süredir closed beta olarak hizmet vermekteydi.&lt;br /&gt;&lt;br /&gt;Fakat artık MyPhone Live Id ve Windows Mobile cep bilgisayarı sahibi tüm kullanıcıların hizmetine sunulmuştur.&lt;br /&gt;&lt;br /&gt;Servisi incelemek, kullanmak ve kayıt olmak için &lt;a href="http://myphone.microsoft.com/" target="_blank"&gt;http://myphone.microsoft.com&lt;/a&gt; adresine bağlanmanız yeterlidir. Oturum açabilmek için Live Id' niz olmasının gerektiğini unutmayın ! &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-5107366453583013355?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/5107366453583013355/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/myphone-beta-tum-kullanclara-acld.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5107366453583013355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5107366453583013355'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/myphone-beta-tum-kullanclara-acld.html' title='MyPhone Beta Tüm Kullanıcılara Açıldı !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/ShLSzarG3HI/AAAAAAAAACc/InGpvFK_mFw/s72-c/myPhoneLogo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-1862062843670876863</id><published>2009-05-12T19:01:00.006+03:00</published><updated>2009-05-12T19:21:05.112+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='profilename'/><title type='text'>Windows Mobile - Pocket PC Üzerinde Aktif Profil Adını Getirmek</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;E-Posta üzerinden bir arkadaşımızın sorusu üzerine bu bilgiyi sizlerle paylaşmak istiyorum.&lt;br /&gt;&lt;br /&gt;Normal şartlarda Smartphone üzerinde "aktif profil adını" aşağıdaki kod bloğu üzerinden alabilmekteyiz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;textarea style="WIDTH: 455px; HEIGHT: 36px" class="c#" rows="1" cols="54" name="code"&gt;public string ProfilAdiniGetir()&lt;br /&gt;{&lt;br /&gt;   return Microsoft.WindowsMobile.Status.SystemState.PhoneProfileName;&lt;br /&gt;}&lt;/textarea&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Fakat bu kod bloğu yukarıdaki cümleden de anlaşılabileceği üzere sadece "Smartphone" üzerinde çalışmaktadır. Pocket PC üzerinde hali hazırda sunulan managed kütüphaneler üzerinden bu bilgiye maalesef ulaşamamaktayız.&lt;br /&gt;&lt;br /&gt;Bu bilgiye Pocket PC üzerinde aşağıdaki kod bloğu ile ulaşabilmekteyiz ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;textarea class="c#" rows="1" cols="54" name="code"&gt;public string ProfilAdiniGetir()&lt;br /&gt;{&lt;br /&gt;   return Microsoft.Win32.Registry.CurrentUser.OpenSubKey("\\ControlPanel\\Profiles").GetValue("ActiveProfile").ToString();&lt;br /&gt;}&lt;/textarea&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-1862062843670876863?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/1862062843670876863/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/windows-mobile-pocket-pc-uzerinde-aktif.html#comment-form' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1862062843670876863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1862062843670876863'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/windows-mobile-pocket-pc-uzerinde-aktif.html' title='Windows Mobile - Pocket PC Üzerinde Aktif Profil Adını Getirmek'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-6997969200859685419</id><published>2009-05-11T10:39:00.006+03:00</published><updated>2009-05-11T10:53:56.975+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net compact framework'/><title type='text'>.Net Compact Framework - Çalıştırılan Uygulama Patikası</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;.Net Compact Framework ile Windows Mobile uygulama geliştiricilerin çok sık ihtiyaç duyacakları bir bilgiyi paylaşmak istiyorum.&lt;br /&gt;&lt;br /&gt;Standart çalıştırılabilir masaüstü uygulamalarında çoğu zaman uygulamanın çalıştırıldığı patikayı ;&lt;br /&gt;&lt;br /&gt;&lt;textarea class="c#" name="code"&gt;public string PatikaGetir()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return Application.StartupPath;&lt;br /&gt;}&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;kod bloğu ile alabilmekteyiz.&lt;br /&gt;.Net Compact Framework üzerinde böyle bir property (özellik) bulunmamaktadır. .Net Compact Framework üzerinde bu bilgiye aşağıdaki kod bloğu ile ulaşabilirsiniz.&lt;br /&gt;&lt;textarea class="c#" name="code"&gt;public string PatikaGetir()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;&lt;br /&gt;}&lt;/textarea&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-6997969200859685419?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/6997969200859685419/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/net-compact-framework-calstrlan.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6997969200859685419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/6997969200859685419'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/net-compact-framework-calstrlan.html' title='.Net Compact Framework - Çalıştırılan Uygulama Patikası'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-2060070631616991384</id><published>2009-05-05T19:10:00.020+03:00</published><updated>2009-05-19T18:36:34.837+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='my phone'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft My Phone Beta !</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/ShLRyRt8pRI/AAAAAAAAACU/chDBdx00_kM/s1600-h/myPhoneLogo.jpg"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="WIDTH: 170px; HEIGHT: 169px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5337559170067244306" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/ShLRyRt8pRI/AAAAAAAAACU/chDBdx00_kM/s320/myPhoneLogo.jpg" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;Uzun zamandan beri detaylarını paylaşmak istediğim bir servisten bahsetmek istiyorum ; Microsoft My Phone Beta ! Ayrıca hemen ifade etmek isterimki MVP kimliğim sayesinde bu servisten faydalanabilme imkanına sahip oldum. Servis halen geliştirilme aşamasında olması ve dahada önemlisi public beta olmaması sebebi ile siz değerli okuyucuların bu servisten faydalanabilmesi için sanırım biraz daha beklemesi gerekmekte.&lt;br /&gt;&lt;br /&gt;İsterseniz vakit kaybetmeden My Phone' nun hayatımızı hangi noktada kolaylaştırdığı ile ilgili detayları birlikte inceleyelim.&lt;br /&gt;&lt;br /&gt;Genel hatlarıyla My Phone "keşke olsa" diyebileceğimiz türden, ücretsiz olarak Microsoft tarafından "sadece Windows Mobile" işletim sistemine sahip cep bilgisayarı kullanıcılara göre tasarlanmış ve yazılmış, cep bilgisayarımız üzerinde depoladığımız mesaj, kişi, randevu, fotoğraf ve daha bir çok datayı "senkronize" edebileceğimiz bir web servisidir.&lt;br /&gt;&lt;br /&gt;My Phone üzerinde şu aşamada size ayrılan 200 MB' lık veri alanı içerisinde yukarıda bahsi geçen tüm datalarınızı GPRS yada benzeri (wifi v.b.) bir bağlantı üzerinden göndererek saklayabilir, &lt;span style="FONT-WEIGHT: bold"&gt;cep bilgisayarınızı bozulması, çalınması yada benzeri durumlarda tekrar geri yükleyebilmektesiniz ! Kısacası internet üzerindeki online sigortanız ! :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Çoğu zaman&lt;span style="FONT-WEIGHT: bold"&gt; &lt;/span&gt;bu tip&lt;span style="FONT-WEIGHT: bold"&gt; &lt;/span&gt;durumlarla karşı karşıya kalabilmekteyiz. Bilginin tek bir lokasyonda olması, kısacası &lt;span style="FONT-WEIGHT: bold"&gt;paylaşılamaması&lt;/span&gt; veri güvenliği bakımından büyük bir dezavantaj olmaktadır. Bu noktada My Phone ücretsiz olarak cep bilgisayarınız üzerindeki datalarınızı depolayabilmekte, bu dataları istediğiniz telefon ile tekrardan senkronize edebilme imkanı vermektedir. My Phone, Windows Mobile yüklü cep bilgisayarı üzerine yükleyeceğiniz, kullanımı son derece basit ve sade olan basit bir uygulama vasıtasıyla cep bilgisayarınız üzerindeki datalarınızı My Phone servisi ile senkronize etmektedir.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Peki My Phone servisini nasıl kullanabiliriz ? Öncelikle ifade etmemiz gerekir ki My Phone, Closed Beta aşamasında olan bir servis. Yani &lt;span style="FONT-WEIGHT: bold"&gt;bir live id' ye sahip olmanız şu aşamada servisi kullanabileceğiniz anlamına &lt;span style="COLOR: rgb(255,0,0)"&gt;gelmemektedir&lt;/span&gt;. &lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,0);font-size:85%;" &gt;Servisi sadece belirli kullanıcılar beta key vasıtasıyla kullanabilmektedir. Bu aşamada yapabileceğiniz tek şey http://myphone.microsoft.com adresine bağlanarak "Add To Wait List" buttonuna tıklayarak bekleme listesine girebilir, e-posta üzerinden belirli periyotlarda gönderilen beta key' i bekleyebilirsiniz.&lt;br /&gt;&lt;br /&gt;Hızlı bir şekilde adım adım My Phone servisinin detaylarınızı incelemeye başlayalım.&lt;br /&gt;&lt;br /&gt;İlk olarak yukarıdaki adrese girerek servise &lt;span style="FONT-WEIGHT: bold"&gt;Live Id &lt;/span&gt;' niz vasıtasıyla giriş yapıyoruz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SgCJQ2XEMzI/AAAAAAAAABU/H_RgSkP_V90/s1600-h/Picture1.PNG"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="WIDTH: 320px; HEIGHT: 208px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5332412881369838386" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SgCJQ2XEMzI/AAAAAAAAABU/H_RgSkP_V90/s320/Picture1.PNG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;İlk girişinizde aşağıdaki sayfa üzerinden Promotional Code başlığı altında Beta Key girişi sizden istenmektedir.&lt;br /&gt;&lt;br /&gt;Bu bilgilerin girilmesinden sonra servise bağlanabilmekte, ana menüyü görüntüleyebilmektesiniz.&lt;br /&gt;&lt;br /&gt;İlk olarak My Phone ile ilgili yazılımı cep bilgisayarınız üzerine kurmanız gerekmektedir. İlgili yazılımı internet erişimi olan Windows Mobile cep bilgisayarınız üzerinden &lt;span id="installUsingMobileBrowser"&gt;&lt;a href="https://myphone.microsoft.com/install"&gt;https://myphone.microsoft.com/install&lt;/a&gt;&lt;/span&gt; adresine bağlanarak indirip, yükleyebilirsiniz. Yazılımın yüklenmesinden sonra cep bilgisayarınız üzerinden My Phone yazılımını açmanız ve ilgili ayarları yapmanız gerekmektedir.&lt;br /&gt;&lt;br /&gt;Cep bilgisayarıma Pocket Controller vasıtasıyla bağlandıktan sonra aşağıdaki görüntüleri elde ettim.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SgCPKa3OR9I/AAAAAAAAABk/Dnx_OE02VE0/s1600-h/pc_capture2.png"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="WIDTH: 240px; HEIGHT: 320px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5332419367979075538" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SgCPKa3OR9I/AAAAAAAAABk/Dnx_OE02VE0/s320/pc_capture2.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;My Phone sizden ilk olarak Live Id bilginizi istemektedir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SgCLFd_wPEI/AAAAAAAAABc/03xtWSb7XXw/s1600-h/Picture2.PNG"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="WIDTH: 240px; HEIGHT: 320px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5332414884874304578" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SgCLFd_wPEI/AAAAAAAAABc/03xtWSb7XXw/s320/Picture2.PNG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Bir sonraki aşamada My Phone yukarıdaki ekran görüntüsündeki listede bulunan tüm verileri My Phone servisi ile senkronize edebilmektedir. Siz senkronize etmek istediğiniz seçenekleri seçtikten sonra yapmanız gereken tek şey açılan ekrandaki Sync tuşuna basmak olacaktır.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SgCQxlonK6I/AAAAAAAAABs/b6ZCPKUY_ME/s1600-h/pc_capture3.png"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="WIDTH: 240px; HEIGHT: 320px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5332421140397108130" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SgCQxlonK6I/AAAAAAAAABs/b6ZCPKUY_ME/s320/pc_capture3.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Sync tuşuna bastığınızda seçtiğiniz seçeneklere göre senkronizasyon işlemi gerçekleştirilmektedir. DİKKAT : My Phone servisi ücretsiz bir servistir, fakat veri gönderimi esnasında kullanılacak olan internet erişimi - GPRS verisi operatörünüz üzerinden ayrıca ücretlendirilecektir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SgCRePx91BI/AAAAAAAAAB0/zzefmhNHNVU/s1600-h/pc_capture5.png"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="WIDTH: 240px; HEIGHT: 320px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5332421907624875026" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SgCRePx91BI/AAAAAAAAAB0/zzefmhNHNVU/s320/pc_capture5.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Peki cep bilgisayarı üzerinde gerçekleştirdiğimiz bu işlem sonucunda My Phone servis tarafında hangi işlemler gerçekleştirilmektedir ?&lt;br /&gt;&lt;br /&gt;Bunu anlayabilmemiz için yapabilceğimiz tek şey My Phone servisine masaüstümüz üzerinden bağlanmak ve değişiklikleri incelemek olacaktır.&lt;br /&gt;&lt;br /&gt;Servise oturum açtığımızda karşımıza aşağıdaki ekran gelmektedir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_bqINL2ro10c/SgCSgJkbtLI/AAAAAAAAAB8/LnlCg68rvus/s1600-h/Picture7.PNG"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="WIDTH: 320px; HEIGHT: 218px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5332423039828866226" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SgCSgJkbtLI/AAAAAAAAAB8/LnlCg68rvus/s320/Picture7.PNG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Sol menüden ilgili verilere ulaşabilir, senkronize edilen verilerinizi web üzerinden görüntüleyebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_bqINL2ro10c/SgCS9ANFWBI/AAAAAAAAACE/Mbcdgan6PXY/s1600-h/Picture8.PNG"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="WIDTH: 364px; HEIGHT: 166px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5332423535531218962" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SgCS9ANFWBI/AAAAAAAAACE/Mbcdgan6PXY/s320/Picture8.PNG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Örneğin Calendar' a tıkladığımızda az önce senkronize edilen verilerimize ulaşabilmekteyiz.&lt;br /&gt;&lt;br /&gt;Telefonunuz kaybolduğunda yada bu veriler silindiğinde senkronizasyon seçenekleri üzerinden bu verileri geri getirebilmekteyiz. Aynı şekilde sisteme kayıt ettiğimiz cep bilgisayarlarının listesini &lt;span style="FONT-WEIGHT: bold"&gt;Connected Phones&lt;/span&gt; listesinden ulaşabilmekteyiz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_bqINL2ro10c/SgCiMSAHKyI/AAAAAAAAACM/mqfvrmBMH7s/s1600-h/Picture9.PNG"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="WIDTH: 320px; HEIGHT: 106px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5332440290681105186" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/SgCiMSAHKyI/AAAAAAAAACM/mqfvrmBMH7s/s320/Picture9.PNG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Genel hatlarıyla My Phone servisi hakkında bilgi sahibi olduk. Bir diğer yazımızda görüşmek dileğiyle.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-2060070631616991384?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/2060070631616991384/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/microsoft-my-phone-beta.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2060070631616991384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2060070631616991384'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/microsoft-my-phone-beta.html' title='Microsoft My Phone Beta !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_bqINL2ro10c/ShLRyRt8pRI/AAAAAAAAACU/chDBdx00_kM/s72-c/myPhoneLogo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-5467728033728756465</id><published>2009-05-03T13:18:00.002+03:00</published><updated>2009-05-03T13:22:53.920+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tag'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft Tag - Linking Real Life With The Digital World !</title><content type='html'>&lt;p style="font-family: verdana;" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;span style="font-size:85%;"&gt;Blog’  un sağ tarafında, iletişim kutusu içerisinde bulunan, içinde 3-4 farklı renkten  oluşan üçgenlerin bulunduğu enteresan resim mutlaka ilginizi çekmiştir diye  düşünüyorum :) Uzun zamandır bu konu hakkında blog üzerinden detaylı bir yazı  yazmak, konunun pazarlama ve bilgi paylaşımı noktasında ne kadar önemli  olduğundan bahsetmek istiyordum. Bahsi geçen konumuz Microsoft Tag !&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;span style="font-size:85%;"&gt;Microsoft  Tag, Microsoft’ un son zamanlarda mobil çözümler noktasında geliştirmiş ve halen  geliştirmeye devam ettiği çok enteresan, çok heyecan verici bir çalışmanın  ürünüdür. Belki bu güne kadar farklı firmalar bu tarzda çalışmalar üzerinde  çalışmış olsada hiçbiri bu kadar başarılı ve tutarlı bir sistem  geliştirememiştir. İsterseniz vakit kaybetmeden Microsoft Tag nedir, hangi  noktalarda işimize yarayabilir konuları hakkında temel bilgileri vermeye  başlayayım.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;span style="font-size:85%;"&gt;Microsoft  Tag, isminden de anlaşılabileceği üzere “etiket” başlığı altında sizin  belirlediğiniz belli kriterlere göre üretilen ve içerisinde yine sizin  belirlediğiniz kriterlere göre “bilgi depolayabilen” anlamlı etiketlerdir.  Etiket kelimesi yerine “anlamlı, bilgi taşıyabilen barkod” tanımı açıkçası bu  noktada daha uygun olacaktır diye düşünüyorum. Bu akıllı barkod’ lar Microsoft’  un özel olarak geliştirdiği “Tag Reader” mobil yazılımı ile image processing  olarak ifade ettiğimiz resim tanıma altyapısı sayesinde okunabilmekte, etiket  içerisinde saklanan bilgiye bu yazılım üzerinden ulaşılabilmektedir. Peki biz bu  etiketleri (yada barkodları) hayatımızın hangi alanında kullanabiliriz ? Bu bir  örnekle ifade etmek daha doğru olacaktır.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;span style="font-size:85%;"&gt;Hava  çok güzel, haftasonu eşiniz ile sinema’ nın yolunu tuttunuz. Sinamaya  vardığınızda bilet gişesinin arkasındaki film afişlerine bakarak hangi filme  girsek diye düşünüyorsunuz. Bu noktada film hakkındaki eleştrilere  ulaşabilmeniz, belkide fragmanlarını görebilmeniz karar verme noktasında en  doğru yardımcınız olacaktır. Yapabileceğiniz tek birşey var, o da cep  bilgisayarınız &amp;amp; telefonunuz üzerinden internete bağlanmak, internet  ortamında önce film hakkında bir arama yapmak daha sonra ulaşabildiğiniz  bilgileri tek tek incelemek olacaktır. Yada afişin altındaki “uzun” internet  adresini telefonunuza girmek ve detaylarına bakmakta yeterli olacaktır. Bu  noktadaki en temel sıkıntımıza değinmemiz gerekirse ; basit bir film detayı için  dakikalarca telefonumuz üzerindeki tuşlara basmak, arama yapmak ya da internet  adresini zar zor tarayıcıya girmek 10 film için çok can sıkıcı olabilir. En az  20 dakikayı bu detaylarla geçirmektense bu bilgileri size tek bir dokunuşla  sağlayacak çok güçlü bir yapı, Microsoft Tag yardımıza koşmaktadır.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;span style="font-size:85%;"&gt;Microsoft  Tag içerisine her filmin detayının bulunduğu internet adresini yükleyerek,  Microsoft Tag sitesi üzerinden yüklenebilecek Tag Reader yazılımı vasıtasıyla bu  uzun bilgiye bir dokunuşla ulaşabilirsiniz.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;span style="font-size:85%;"&gt;Aşağıda  Sinema.com üzerinde Devrim Arabaları filminin tanıtım bilgilerinin yer aldığı  sayfanın adresinin gizlendiği bir Tag bulunmaktadır.&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="border-width: 0px; display: inline;" title="" alt="" src="http://ekin.ozcicekciler.com/images/MicrosoftTagLinkingRealLifeWithTheDigita_BB14/image.png" width="240" border="0" height="201" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;span style="font-size:85%;"&gt;Şaşırtıcı  değilmi ? :) &lt;/span&gt;&lt;/p&gt; &lt;p style="font-family: verdana;" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;span style="font-size:85%;"&gt;Peki  biz kendi etiketlerimizi nasıl üretebiliriz ? Eğer bir live id’ niz var ise &lt;a href="http://www.microsoft.com/tag" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;http://www.microsoft.com/tag&lt;/a&gt;  adresine bağlanarak “Make Tag” buttonuna basmanız ve açılan sayfadaki Manage  Tags tablosundan kendinize ait yeni etiketler oluşturabilirsiniz.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;"&gt;&lt;a style="font-family: verdana;" href="http://ekin.ozcicekciler.com/images/MicrosoftTagLinkingRealLifeWithTheDigita_BB14/image_3.png" rel="lightbox" fire="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" observe="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visible="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hide="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" show="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" remove="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" update="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" replace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" insert="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" wrap="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" inspect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" ancestors="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" siblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" match="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" up="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" down="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previous="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" next="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" select="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" adjacent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" identify="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" empty="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" absolutize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" relativize="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" _extendedbyprototype="function() { }" getelementsbyclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" morph="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" visualeffect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" highlight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fade="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" appear="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" grow="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shrink="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" fold="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blindup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" blinddown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slideup="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" slidedown="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" pulsate="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" shake="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" puff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" squish="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" switchoff="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" dropout="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getinlineopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" forcererendering="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setcontentzoom="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodes="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" collecttextnodesignoreclass="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyles="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" childelements="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getelementsbyselector="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cloneposition="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" viewportoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getoffsetparent="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativescrolloffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" positionedoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cumulativeoffset="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undoclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makeclipping="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" undopositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" makepositioned="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getdimensions="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" setstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getopacity="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getstyle="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" scrollto="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" descendantof="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" cleanwhitespace="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" toggleclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" removeclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" addclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" hasclassname="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" classnames="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getwidth="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" getheight="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" writeattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" readattribute="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" nextsiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" previoussiblings="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" immediatedescendants="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" firstdescendant="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" recursivelycollect="function() {       return __method.apply(null, [this].concat($A(arguments)));     }" stopobserving="function() {       return __method.apply(null, [this].concat($A(arguments)));     }"&gt;&lt;img style="border-width: 0px; display: inline;" title="image" alt="image" src="http://ekin.ozcicekciler.com/images/MicrosoftTagLinkingRealLifeWithTheDigita_BB14/image_thumb.png" width="443" border="0" height="150" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-5467728033728756465?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/5467728033728756465/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/microsoft-tag-linking-real-life-with.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5467728033728756465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5467728033728756465'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/05/microsoft-tag-linking-real-life-with.html' title='Microsoft Tag - Linking Real Life With The Digital World !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-5834873549778802894</id><published>2009-04-30T18:01:00.004+03:00</published><updated>2009-04-30T18:43:37.850+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mvc'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='amazon'/><category scheme='http://www.blogger.com/atom/ns#' term='scott gu'/><title type='text'>Professional ASP.NET MVC 1.0</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/SfnGPTQj2tI/AAAAAAAAABE/dCozUtPyKig/s1600-h/bookcover1_6CAECF94.png"&gt;&lt;img style="WIDTH: 190px; HEIGHT: 240px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5330509600139762386" border="0" alt="" src="http://4.bp.blogspot.com/_bqINL2ro10c/SfnGPTQj2tI/AAAAAAAAABE/dCozUtPyKig/s320/bookcover1_6CAECF94.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Uzun zamandır çıkmasını beklediğim ve en sonunda çıkan &amp;amp; Amazon' da satışa sunulan bir kitap hakkında sizleri bilgilendirmek istiyorum.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:Verdana;"&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Scott Gu' yu tanımayanınız yoktur diye düşünüyorum. Scott Gu gibi bir ismin yer aldığı, son zamanlarda sıkça duyduğumuz bir kavramı eminim mükemmel bir akışla anlatıldığını düşündüğüm bir kitap ; Professional ASP.NET MVC 1.0 !&lt;br /&gt;&lt;br /&gt;Professional ASP.NET MVC 1.0, kısa zaman önce 1.0 sürümünün release olduğu Asp.Net MVC framework hakkında detaylıca hazırlanmış olan bir kitap. Tabiki kitabın yazarlarından birinin Scott Gu olması işin rengini biraz değiştiriyor :)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;Kitap Amazon üzerinden şu anda satışta : &lt;a href="http://www.amazon.com/gp/product/0470384611?ie=UTF8&amp;amp;tag=scoblo04-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0470384611"&gt;http://www.amazon.com/gp/product/0470384611?ie=UTF8&amp;amp;tag=scoblo04-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0470384611&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size:85%;"&gt;İşin daha enteresan olan kısmı ise kitabı şu aşamada satın alamayacak olanlar için Scott Gu kitabın ilk ama çok önemli bir chapter' ını ücretsiz olarak paylaşıyor. &lt;a href="http://nerddinnerbook.s3.amazonaws.com/Intro.htm"&gt;http://nerddinnerbook.s3.amazonaws.com/Intro.htm&lt;/a&gt; adresinden sizde Asp.Net MVC dünyasına hızlı bir giriş yapabilirsiniz.&lt;/span&gt;&lt;/span&gt;&lt;/div&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/22158921-5834873549778802894?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/5834873549778802894/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/professional-aspnet-mvc-10.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5834873549778802894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5834873549778802894'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/professional-aspnet-mvc-10.html' title='Professional ASP.NET MVC 1.0'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_bqINL2ro10c/SfnGPTQj2tI/AAAAAAAAABE/dCozUtPyKig/s72-c/bookcover1_6CAECF94.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-967050720585171008</id><published>2009-04-29T21:01:00.009+03:00</published><updated>2009-04-29T21:14:48.842+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gençsen geleceksin'/><category scheme='http://www.blogger.com/atom/ns#' term='turkcell'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Gençsen Geleceksin 2.0 - Canlı Web Final Etkinliği</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/SfiXyKPKVbI/AAAAAAAAAA8/rbTW8gf5JhI/s1600-h/gg20.jpg"&gt;&lt;img style="WIDTH: 195px; HEIGHT: 99px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5330177046990181810" border="0" alt="" src="http://1.bp.blogspot.com/_bqINL2ro10c/SfiXyKPKVbI/AAAAAAAAAA8/rbTW8gf5JhI/s320/gg20.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Farkındayım biraz geç olacak ama en azından etkinlik hakkında sizleri bilgilendirmek istiyorum. Bilindiği üzere geçen yıl ilk turu yapılan Gençsen Geleceksin adlı teknoloji seminer turunun ikincisini bu sene toplam 49 üniversitede kapsamlı bir içerik ile biz Microsoft ve Turkcell ile tamamladık. Turda Türkiyedeki 49 üniversiteye Microsoft' tan 1 Turkcell' den 1 kişi olmak üzere toplam 2' şer kişilik anlatım kadrosuyla seminerler verdik. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;50. ve son etkinliği Microsoft Türkiye ofisinde 29 Nisan 2009 tarihinde canlı olarak tamamlayarak final etkinliğimizi gerçekleştirmiş olduk.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Etkinliği toplam 5 kişi gerçekleştirdik. Microsoft Türkiye Akademik Programlar Yöneticisi Mehmet Tunçkanat, Silverlight MVP Daron Yöndem, Turkcell' den Ahmet ve Serdar Beyler ve ben (Device Application MVP) olmak üzere 2 saate yakın en son teknolojik gelişmelerden, 3G teknolojilerinden daha birçok konudan bahsettik. Yoğun bir katılımcı sayısı ile etkinliği tamamladık. Etkinlik esnasında MSN üzerinden 200' e yakın soru geldi. Etkinliğin sonunda sorulan sorulara cevap veren 3 şanslı gnçtrkcll abonesi katılımcı Samsung cep telefonu, 1 katılımcı ise Turkcell PDA kazandı. Kazananların listesi &lt;a href="http://www.msakademik.net/"&gt;http://www.msakademik.net/&lt;/a&gt; adresinden yayınlanacaktır. Ayrıca etkinliğin kaydına ve slaytlara MsAkademik üzerinden ulaşabilirsiniz.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-967050720585171008?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/967050720585171008/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/gencsen-geleceksin-20-canl-web-final.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/967050720585171008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/967050720585171008'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/gencsen-geleceksin-20-canl-web-final.html' title='Gençsen Geleceksin 2.0 - Canlı Web Final Etkinliği'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bqINL2ro10c/SfiXyKPKVbI/AAAAAAAAAA8/rbTW8gf5JhI/s72-c/gg20.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-2360029204731500537</id><published>2009-04-24T21:08:00.005+03:00</published><updated>2009-04-24T21:32:33.642+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcast'/><title type='text'>Windows Mobile Web Semineri - Seminer Kaydı</title><content type='html'>&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;br /&gt;&lt;br /&gt;22 Nisan' da gerçekleştirdiğim Windows Mobile ile yazılım geliştirmek konulu web seminerinin kaydına aşağıdaki linkten ulaşabilirsiniz. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_bqINL2ro10c/SfIFWK5tPkI/AAAAAAAAAA0/gvAZOyjYWXI/s1600-h/leftHeader.gif"&gt;&lt;img style="WIDTH: 193px; HEIGHT: 48px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5328327187574373954" border="0" alt="" src="http://2.bp.blogspot.com/_bqINL2ro10c/SfIFWK5tPkI/AAAAAAAAAA0/gvAZOyjYWXI/s320/leftHeader.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="https://www506.livemeeting.com/cc/wwe_uk/view?cn=guest&amp;amp;id=1032410443&amp;amp;pw=0A229EA2"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;https://www506.livemeeting.com/cc/wwe_uk/view?cn=guest&amp;amp;id=1032410443&amp;amp;pw=0A229EA2&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-2360029204731500537?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/2360029204731500537/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/windows-mobile-web-semineri-seminer.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2360029204731500537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/2360029204731500537'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/windows-mobile-web-semineri-seminer.html' title='Windows Mobile Web Semineri - Seminer Kaydı'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_bqINL2ro10c/SfIFWK5tPkI/AAAAAAAAAA0/gvAZOyjYWXI/s72-c/leftHeader.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-3882211933666046893</id><published>2009-04-10T13:32:00.014+03:00</published><updated>2009-04-10T23:08:20.815+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='today screen'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>Windows Mobile IPhone UI</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Merhaba,&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;Evvelki gün keşfettiğim bir uygulama hakkında bilgilendirmek istiyorum.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Codeplex üzerinde geliştirme süreci devam eden ve çok hoşuma giden bir uygulamadan bahsetmek istiyorum ; &lt;span style="font-weight: bold;"&gt;IPhone UI !&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;IPhone UI, Windows Mobile cihazlar üzerinde IPhone masaüstü tasarımını simule eden bir Mobil Cihaz Uygulaması. Açık kaynak kodlu olarak gelişim sürecine devam etmektedir.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Uygulama tamamen C# ve .Net Compact Framework kullanılarak geliştirilmiştir.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Uygulamayı Mobil Cihaz Emulatörü üzerinde çalıştırdığımda aşağıdaki görünümleri elde ettim ;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Masaüstündeki tüm ikonlar Mobil cihazınız üzerindeki uygulamalar ile bağlantılı. (Takvim, Mesaj Kutusu, Telefon v.b.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Şaşırtıcı değilmi ? Bu çalışmanın farklı fikirlere ufuk açacağına inanıyorum.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Uygulamayı ve kaynak kodlarını http://code.msdn.microsoft.com/iPhoneUI adresinden indirebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_bqINL2ro10c/Sd8jtWPSfKI/AAAAAAAAAAk/4uyg9HeW8Wc/s320/IPhoneUIImage2.PNG" rel="lightbox[iphone]" title="IPhone UI - 1" &gt;&lt;img style="cursor: pointer; width: 206px; height: 320px;" src="http://1.bp.blogspot.com/_bqINL2ro10c/Sd8jtWPSfKI/AAAAAAAAAAk/4uyg9HeW8Wc/s320/IPhoneUIImage2.PNG" alt="" id="BLOGGER_PHOTO_ID_5323012546546007202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a rel="lightbox[iphone]" title="IPhone UI - 2" href="http://3.bp.blogspot.com/_bqINL2ro10c/Sd8j38mKotI/AAAAAAAAAAs/eZ36q9zkQpQ/s320/IPhoneUIImage.PNG"&gt;&lt;img style="cursor: pointer; width: 207px; height: 320px;" src="http://3.bp.blogspot.com/_bqINL2ro10c/Sd8j38mKotI/AAAAAAAAAAs/eZ36q9zkQpQ/s320/IPhoneUIImage.PNG" alt="" id="BLOGGER_PHOTO_ID_5323012728641200850" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-3882211933666046893?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/3882211933666046893/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/windows-mobile-iphone-ui.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3882211933666046893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3882211933666046893'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/windows-mobile-iphone-ui.html' title='Windows Mobile IPhone UI'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_bqINL2ro10c/Sd8jtWPSfKI/AAAAAAAAAAk/4uyg9HeW8Wc/s72-c/IPhoneUIImage2.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-5150548164920159512</id><published>2009-04-10T01:05:00.004+03:00</published><updated>2009-04-10T23:06:24.452+03:00</updated><title type='text'>Bilgi Sahibi Olmak İstediğiniz Konular ?</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Yazılım geliştirme sektörü tümüyle bir yana, bu sektör içerisindeki spesifik dallar da kendi içerisinde ciddi anlamda detaylandırılabilmektedir. Örnek olarak Mobil Teknolojiler, Mobil Cihazlar için uygulama geliştirme gibi konulara bakıldığında çok geniş bir yelpazede birçok konuda çalışabilir, kendimizi geliştirebilmekteyiz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Bu noktada uzmanlık alanımın mobil teknolojiler ve Windows Mobile üzerinde uygulama geliştirme olduğunu göz önünde bulundurduğumuzda bu konularda özel olarak bilgilenmek istediğiniz bir nokta var ise bu konuyu lütfen bu blog post' un yorumlarına ekleyin. Vakit elverdiği sürece bu konular hakkında blog post, kaynaklar ve makaleler ekleyerek sizleri bilgilendirmeye çalışacağım.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Teşekkürler,&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-5150548164920159512?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/5150548164920159512/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/bilgi-sahibi-olmak-istediginiz-konular.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5150548164920159512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5150548164920159512'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/bilgi-sahibi-olmak-istediginiz-konular.html' title='Bilgi Sahibi Olmak İstediğiniz Konular ?'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-1552983073988521726</id><published>2009-04-08T16:10:00.003+03:00</published><updated>2009-04-09T21:23:25.169+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.1'/><category scheme='http://www.blogger.com/atom/ns#' term='sdk'/><category scheme='http://www.blogger.com/atom/ns#' term='emulator'/><title type='text'>Windows Mobile 6.1.4 Emulator Images</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Merhaba,&lt;br /&gt;&lt;br /&gt;WM 6.5 noktasında çalışmalar süre dursun, WM 6.1 için, içinde "Internet Explorer Mobile 6.0" ' ında bulunduğu bir imaj dosyası hakkında bilgilendirmek istiyorum.&lt;br /&gt;&lt;br /&gt;Sürüm kodu 6.1.4 olan bu emulator imajını kullanabilmek için aşağıdaki adresten size uygun MSI dosyasını indirmeniz ve sisteminize kurmanız gerekmektedir.&lt;br /&gt;&lt;br /&gt;Bu imaj dosyalarının kullanılabilmesi için sisteminizde Visual Studio 2008 ve Windows Mobile 6.0 SDK' larının kurulu olmasıda ayrıca gereklidir.&lt;br /&gt;&lt;br /&gt;Windows Mobile 6.0 SDK için ;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111a3a-a651-4745-88ef-3d48091a390b&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=06111a3a-a651-4745-88ef-3d48091a390b&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Windows Mobile 6.1.4 Emulator Imajları için ;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=1A7A6B52-F89E-4354-84CE-5D19C204498A&amp;amp;displaylang=en"&gt;&lt;br /&gt;http://www.microsoft.com/downloads/details.aspx?familyid=1A7A6B52-F89E-4354-84CE-5D19C204498A&amp;amp;displaylang=en&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Adreslerine uğramanız yeterli olacaktır.&lt;br /&gt;&lt;br /&gt;Mini Bilgilendirme ;&lt;br /&gt;&lt;br /&gt;SDK' lar mobil cihazınızın spesifik birkaç özelliğine göre farklılaşmaktadır. Uygulama geliştirebilmeniz için doğru SDK' yı sisteminize kurmanız gerekmektedir.&lt;br /&gt;&lt;br /&gt;Bu noktada Windows Mobile kurulu cep bilgisayarınızda ;&lt;br /&gt;&lt;br /&gt;Dokunmatik Ekran + GSM (Telefon) Özelliği var ise : &lt;span style="font-weight: bold;"&gt;Windows Mobile 6.0 Professional&lt;/span&gt;&lt;br /&gt;Dokunmatik Ekran + GSM Yok Özelliği ise : &lt;span style="font-weight: bold;"&gt;Windows Mobile 6.0 Classic&lt;/span&gt;&lt;br /&gt;Düz Ekran (Klavyeli Cihaz) + GSM (Telefon) Özelliği var ise : &lt;span style="font-weight: bold;"&gt;Windows Mobile 6.0 Standart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sürümlerinin SDK' larını indirip kurmanız gerekmektedir.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-1552983073988521726?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/1552983073988521726/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/windows-mobile-614-emulator-images.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1552983073988521726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/1552983073988521726'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/windows-mobile-614-emulator-images.html' title='Windows Mobile 6.1.4 Emulator Images'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-5238992191536199924</id><published>2009-04-07T20:34:00.003+03:00</published><updated>2009-04-07T20:49:14.976+03:00</updated><title type='text'>Küçük Bir Rica</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Merhaba, &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Blog' umu takip eden tüm okuyuculardan çok küçük bir ricada bulunacağım. Bilindiği üzere gün içerisinde farklı kişilerden / firmalardan onlarca, yüzlerce, belkide binlerce mail almaktayız. Tüm bu mail trafiği içerisinde ufak ama çok kritik bir konu beni gerçekten rahatsız etmektedir. Gönderilen mail iş dışı kişisel içerikli bir mail ise (fıkra, fotoğraf, davet v.b.) birçok kullanıcı bu mail' i gönderdiği kullanıcıların mail adreslerini &lt;span style="font-weight: bold;"&gt;TO &lt;/span&gt;kutusuna yazarak onlarca, yüzlerce kişiye göndermektedir. Lütfen bu hataya düşmeyin ! &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Gün içerisinde sadece bu mail trafiğini takip edip milyonlarca mail adresi toplayan, daha sonra bu listeleri para karşılığı satmaya çalışan kişilere mahâl vermeyin.&lt;/span&gt; Lütfen bu tip kişisel içerikli, kalabalık listelere göndereceğiniz mail adreslerini &lt;span style="font-weight: bold;"&gt;BCC (Blind Carbon Copy) yani Gizli&lt;/span&gt; alanına yazarak gönderiniz. Hem adres paylaşımı noktasında doğru olanı yapmış, hemde bu tip kişilere mail adresi vermemiş olursunuz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Eminim mail kutunuza gelen reklam içerikli saçma sapan maillerden canınız çok sıkılıyordur. Adresiniz belkide daha önce gönderilen bir mail' deki TO listesinden alınmıştır ? ... Lütfen gerekli özeni gösterelim.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-5238992191536199924?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/5238992191536199924/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/kucuk-bir-rica.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5238992191536199924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/5238992191536199924'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/kucuk-bir-rica.html' title='Küçük Bir Rica'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-3870664537591532927</id><published>2009-04-06T15:58:00.002+03:00</published><updated>2009-04-06T16:02:50.518+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='webcast'/><category scheme='http://www.blogger.com/atom/ns#' term='.net compact framework'/><category scheme='http://www.blogger.com/atom/ns#' term='mobil cihazlar'/><title type='text'>Windows Mobile Development - Web Semineri</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_bqINL2ro10c/Sdn9ZvYl1CI/AAAAAAAAAAU/yDD5lAMQcZQ/s1600-h/windows-mobile-logo.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 112px; FLOAT: left; HEIGHT: 120px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5321563053373117474" border="0" alt="" src="http://3.bp.blogspot.com/_bqINL2ro10c/Sdn9ZvYl1CI/AAAAAAAAAAU/yDD5lAMQcZQ/s320/windows-mobile-logo.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_bqINL2ro10c/Sdn87bWHFgI/AAAAAAAAAAM/ua2SK2cS5yc/s1600-h/windows-mobile-logo.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Merhaba,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;16 Nisan 2009 tarihinde MS Events üzerinden bir web semineri gerçekleştireceğim. Seminerde cep bilgisayarları hakkında temel bir bilgilendirme yaptıktan sonra .Net Compact Framework platformunu kullanarak Windows Mobile kurulu cep bilgisayarlarına yönelik örnek bir uygulama geliştireceğim.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Seminerin detayları aşağıdadır :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Windows Mobile Development&lt;br /&gt;Etkinlik Kimliği: 1032410443&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Dil(ler):&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Türkçe. &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Ürün(ler):&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Windows Mobile.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Hedef Kitle(ler):&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;BDM,BT Uzmanı,Tasarımcı,Teknoloji Karar Vericileri,Yazılım Geliştiricileri. Süre: 60 Dakika &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Başlangıç Tarihi:&lt;/strong&gt;&lt;br /&gt;16 Nisan 2009 Perşembe 15:00 İstanbul, Minsk &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Etkinliğe Genel Bakış :&lt;/strong&gt;&lt;br /&gt;Windows Mobile işletim sistemi üzerinde geliştireceğiniz uygulamalar ile işlerinizi kolaylaştırıp, verimliliğinizi artırabilirsiniz. Windows Mobile ve Microsoft .NET Compact Framework size, geliştirme süreçlerinizi hızlandıracak ve bu süreçlere esneklik katacak en ideal ortamı sunmaktadır. Bu web seminerde Microsoft'un mobil yazılım geliştirme ortamını daha yakından tanıma fırsatı bulacaksınız.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;strong&gt;Kayıt İçin :&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032410443&amp;amp;culture=tr-tr"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032410443&amp;amp;culture=tr-tr&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Outlook Takvimine Direk Eklemek İçin :&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://msevents.microsoft.com/cui/AddToOulook.aspx?EventID=1032410443&amp;amp;pg=search&amp;amp;culture=tr-tr"&gt;&lt;strong&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Outlook Takvime Ekle !&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&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/22158921-3870664537591532927?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/3870664537591532927/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/windows-mobile-development-web-seminer.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3870664537591532927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3870664537591532927'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/windows-mobile-development-web-seminer.html' title='Windows Mobile Development - Web Semineri'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_bqINL2ro10c/Sdn9ZvYl1CI/AAAAAAAAAAU/yDD5lAMQcZQ/s72-c/windows-mobile-logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-3840901377567166224</id><published>2009-04-06T14:10:00.000+03:00</published><updated>2009-04-06T14:11:11.417+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mvp'/><title type='text'>Microsoft MVP !</title><content type='html'>&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;İlk blog post' unu güzel bir haberle göndermek istedim. Bildiğiniz üzere geçen yıl (2008) 2007-2008 yılları arasında gerçekleştirdiğim çalışmalar, paylaşımlar, seminerler ve benzeri çalışmalardan ötürü Microsoft' un dünyada sayılı kişiye verdiği bir ünvana, &lt;span style="font-weight: bold;"&gt;Microsoft Most Valuable Professional &lt;/span&gt;ünvanına layık görülmüştüm. Görünen o ki bu ünvanın verdiği motivasyon ve kararlılıkla aynı çalışmaları 2008-2009 yılları arasında da gerçekleştirmişim. Bu kararlılığın sonucunda 2009 yılında da &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;2. kez &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Microsoft tarafından &lt;span style="font-weight: bold;"&gt;Device Application Development &lt;/span&gt;kategorisinde &lt;span style="font-weight: bold;"&gt;MVP &lt;/span&gt;ünvanına layık görüldüm. Bu noktada paylaşımlarımın gerçekleştirilmesinde emeği geçen herkese teşekkür ederim.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-3840901377567166224?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/3840901377567166224/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/microsoft-mvp.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3840901377567166224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/3840901377567166224'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2009/04/microsoft-mvp.html' title='Microsoft MVP !'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22158921.post-113943384647762358</id><published>2009-04-06T12:43:00.001+03:00</published><updated>2009-04-06T12:44:40.550+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='merhaba'/><title type='text'>Yeniden Merhaba</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Uzun zaman sonra yeniden merhaba. Yoğun iş temposu, yetiştirilmesi gereken projeler, seminerler... Bu zaman diliminde yazılım geliştiriciler dünyası ile paylaşacak birçok haber, makale, yenilik olmasına rağmen vakit yetersizliği her zaman önüme çok büyük bir engel oldu. Bu engeli aşacak güçlü bir kararlılıkla bu günden itibaren yeni bir blog arayüzü ile paylaşımlarımı ve tecrübelerimi sizlere aktarmaya çalışacağım. Takipte kalın...&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22158921-113943384647762358?l=ekinozcicekciler.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ekinozcicekciler.blogspot.com/feeds/113943384647762358/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://ekinozcicekciler.blogspot.com/2006/02/merhabalar.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/113943384647762358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22158921/posts/default/113943384647762358'/><link rel='alternate' type='text/html' href='http://ekinozcicekciler.blogspot.com/2006/02/merhabalar.html' title='Yeniden Merhaba'/><author><name>Ekin Özçiçekçiler</name><uri>http://www.blogger.com/profile/14215914076948210061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
