<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ck4MSHc4fip7ImA9WhRbEUw.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699</id><updated>2012-02-01T17:43:09.936+02:00</updated><category term="Visual Studio" /><category term="Windows Biometric Framework" /><category term="MVVM" /><category term="Download" /><category term="SQL" /><category term="Hack" /><category term="UI" /><category term="PayPal" /><category term="Mercurial" /><category term="MSDN Magazine" /><category term="XAML" /><category term="Web" /><category term="Flash" /><category term="Games" /><category term="Git" /><category term="Career" /><category term="Mac" /><category term="DRM" /><category term="WBF" /><category term="Media Service" /><category term="Flex" /><category term="Spring.NET" /><category term="Mono" /><category term="Apache" /><category term="OpenGL" /><category term="eBook" /><category term="NUnit" /><category term="Virtual Machine" /><category term="Adobe" /><category term="Relax" /><category term="LightSwitch" /><category term="Shaders" /><category term="Lync" /><category term="Subversion" /><category term="Javascript" /><category term="QA" /><category term="VHD" /><category term="UnitTest" /><category term="Wii" /><category term="Xbox" /><category term="XML" /><category term="F#" /><category term="MSBuild" /><category term="IIS" /><category term="USB" /><category term="Drupal" /><category term="VoIP" /><category term="Firefox" /><category term="Natal" /><category term="NHibernate" /><category term="Debug" /><category term="Monodroid" /><category term="Internet Explorer" /><category term="Free" /><category term="Blog" /><category term=".NET" /><category term="Python" /><category term="Cryptography" /><category term="DLR" /><category term="Twitter" /><category term="CLR" /><category term="Microsoft" /><category term="MVC" /><category term="WIF" /><category term="Monodevelop" /><category term="Script#" /><category term="VirtualBox" /><category term="Tutorial" /><category term="Security" /><category term="Oracle" /><category term="Objective C" /><category term="XNA" /><category term="Programming" /><category term="Web-programming" /><category term="OS General" /><category term="Windows Phone" /><category term="C++" /><category term="Videos" /><category term="MEF" /><category term="Browser Helper Object (BHO)" /><category term="General" /><category term="Chrome" /><category term="Android" /><category term="Facebook" /><category term="Application" /><category term="Cloud" /><category term="HTML5" /><category term="Network" /><category term="Mobile" /><category term="Kinect" /><category term="Office" /><category term="ASP .NET" /><category term="MSMQ" /><category term="XPS (XML Paper Specification)" /><category term="COM" /><category term="YouTube" /><category term="Java" /><category term="VB" /><category term="Microsoft Surface" /><category term="Google" /><category term="C#" /><category term="PHP" /><category term="WCF" /><category term="Database" /><category term="PDC" /><category term="Linux" /><category term="Smartcard" /><category term="Tools" /><category term="Hardware" /><category term="DirectX" /><category term="WPF" /><category term="Windows CE" /><category term="Silverlight" /><title>.NET Info</title><subtitle type="html">Interesting articles about .NET, C#, general programming, new programs and everything else. Enjoy !</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://jasper-net.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>8069</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/jasper22/net-info" /><feedburner:info uri="jasper22/net-info" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-sa/2.0/" /><logo>http://files.posterous.com/user_profile_pics/399436/fish.jpeg</logo><feedburner:emailServiceId>jasper22/net-info</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;Ck4NQX8-fSp7ImA9WhRbEUw.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-543625707956771881</id><published>2012-02-01T17:43:00.001+02:00</published><updated>2012-02-01T17:43:10.155+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T17:43:10.155+02:00</app:edited><title>Norton Identity Safe: Cross-Platform Alternative To LastPass</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img title="Norton-Identity-Safe-Final.png" src="http://cloud.addictivetips.com/wp-content/uploads/2012/02/Norton-Identity-Safe-Final.png" height="308" alt="Norton-Identity-Safe-Final.png" width="420" /&gt;&lt;br /&gt; &lt;/div&gt;&lt;br /&gt;LastPass is a widely used password manager, which is available as a plugin for all famous browsers, including Internet Explorer, Mozilla Firefox, Chrome, Opera, and Safari. While LastPass works as a browser extension, there are also desktop applications that deliver similar functionality. Norton has recently created a comprehensive application, which brings the functionality of password management browser extensions like LastPass and desktop application like 1Password. Norton Identity Safe is a cross-platform password management application that integrates with your browser and allows you to you safeguard your login information. It quickly and securely logs users into online accounts from computers and mobile devices on the go, with a secure master password. Unlike most password managers, Norton Identity Safe also provides information regarding the safety of a website to protect you from phishing websites.&lt;p /&gt; To get started, you will require logging in or signing up with a Norton account.&lt;p /&gt;&lt;br /&gt;Read more: &lt;a href="http://www.addictivetips.com/windows-tips/norton-identity-safe-cross-platform-alternative-to-lastpass/"&gt;Addictive tips&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.addictivetips.com/windows-tips/norton-identity-safe-cross-platform-alternative-to-lastpass/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.addictivetips.com/windows-tips/norton-identity-safe-cross-platform-alternative-to-lastpass/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.addictivetips.com/windows-tips/norton-identity-safe-cross-platform-alternative-to-lastpass/" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-543625707956771881?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=E5BpvB60M88:Q3LzDt1Re80:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=E5BpvB60M88:Q3LzDt1Re80:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=E5BpvB60M88:Q3LzDt1Re80:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=E5BpvB60M88:Q3LzDt1Re80:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=E5BpvB60M88:Q3LzDt1Re80:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=E5BpvB60M88:Q3LzDt1Re80:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/E5BpvB60M88" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/543625707956771881/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/norton-identity-safe-cross-platform.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/543625707956771881?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/543625707956771881?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/E5BpvB60M88/norton-identity-safe-cross-platform.html" title="Norton Identity Safe: Cross-Platform Alternative To LastPass" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/norton-identity-safe-cross-platform.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkABQnk9eip7ImA9WhRbEUw.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-2542240830959385209</id><published>2012-02-01T17:39:00.001+02:00</published><updated>2012-02-01T17:39:13.762+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T17:39:13.762+02:00</app:edited><title>Hacker Geek: OS Fingerprinting With TTL and TCP Window Sizes</title><content type="html">&lt;div class='posterous_autopost'&gt;Did you know that you can find out which operating system a networked device is running just by looking at the way it communicates on the network? Let’s take a look at how we can discover what operating system our devices are running.&lt;p /&gt; &lt;br /&gt;Why Would You Do This?&lt;p /&gt;Determining what OS a machine or device is running can be useful for many reasons. First lets take a look at an everyday perspective, imagine you want to switch to a new ISP who offers uncapped internet for $50 a month so you take a trial of their service. By using OS fingerprinting you will soon discover that they have rubbish routers and offer a PPPoE service offered on a bunch of Windows Server 2003 machines. Doesn’t sound like such a good deal anymore, huh?&lt;p /&gt; Another use for this, albeit not so ethical, is the fact that security holes are OS specific. For example, you do a port scan and find port 53 open and the machine is running an outdated and vulnerable version of Bind, you have a SINGLE chance to exploit the security hole since a failed attempt would crash the daemon.&lt;p /&gt; &lt;br /&gt;How Does OS Fingerprinting Work?&lt;p /&gt;When doing passive analysis of current traffic or even looking at old packet captures, one of the easiest, effective, ways of doing OS Fingerprinting is by simply looking at the TCP window size and Time To Live (TTL) in the IP header of the first packet in a TCP session.&lt;p /&gt; Here are the values for the more popular operating systems:&lt;p /&gt; &lt;table border="1" width="570"&gt;  &lt;tr&gt; &lt;td valign="top" width="262"&gt;Operating System&lt;/td&gt; &lt;td valign="top" width="140"&gt;Time To Live&lt;/td&gt; &lt;td valign="top" width="166"&gt;TCP Window Size&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="262"&gt;Linux (Kernel 2.4 and 2.6)&lt;/td&gt; &lt;td valign="top" width="140"&gt;64&lt;/td&gt; &lt;td valign="top" width="166"&gt;5840&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="261"&gt;Google Linux&lt;/td&gt; &lt;td valign="top" width="140"&gt;64&lt;/td&gt; &lt;td valign="top" width="166"&gt;5720&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="261"&gt;FreeBSD&lt;/td&gt; &lt;td valign="top" width="140"&gt;64&lt;/td&gt; &lt;td valign="top" width="166"&gt;65535&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="261"&gt;Windows XP&lt;/td&gt; &lt;td valign="top" width="140"&gt;128&lt;/td&gt; &lt;td valign="top" width="166"&gt;65535&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="261"&gt;Windows Vista and 7 (Server 2008)&lt;/td&gt; &lt;td valign="top" width="140"&gt;128&lt;/td&gt; &lt;td valign="top" width="166"&gt;8192&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td valign="top" width="261"&gt;iOS 12.4 (Cisco Routers)&lt;/td&gt; &lt;td valign="top" width="140"&gt;255&lt;/td&gt; &lt;td valign="top" width="166"&gt;4128&lt;/td&gt; &lt;/tr&gt;  &lt;/table&gt; &lt;p /&gt;Read more: &lt;a href="http://www.howtogeek.com/104337/hacker-geek-os-fingerprinting-with-ttl-and-tcp-window-sizes/"&gt;How-to geek&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.howtogeek.com/104337/hacker-geek-os-fingerprinting-with-ttl-and-tcp-window-sizes/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.howtogeek.com/104337/hacker-geek-os-fingerprinting-with-ttl-and-tcp-window-sizes/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.howtogeek.com/104337/hacker-geek-os-fingerprinting-with-ttl-and-tcp-window-sizes/" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-2542240830959385209?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=f9hBnOEhIRI:gcl_Y92QR_U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=f9hBnOEhIRI:gcl_Y92QR_U:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=f9hBnOEhIRI:gcl_Y92QR_U:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=f9hBnOEhIRI:gcl_Y92QR_U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=f9hBnOEhIRI:gcl_Y92QR_U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=f9hBnOEhIRI:gcl_Y92QR_U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/f9hBnOEhIRI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/2542240830959385209/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/hacker-geek-os-fingerprinting-with-ttl.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2542240830959385209?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2542240830959385209?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/f9hBnOEhIRI/hacker-geek-os-fingerprinting-with-ttl.html" title="Hacker Geek: OS Fingerprinting With TTL and TCP Window Sizes" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/hacker-geek-os-fingerprinting-with-ttl.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIDRXc-cSp7ImA9WhRbEUw.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-8834858212984646035</id><published>2012-02-01T17:36:00.001+02:00</published><updated>2012-02-01T17:36:14.959+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T17:36:14.959+02:00</app:edited><title>להרוויח יותר מהאפליקציות שלכם עם StartApp [סטארטאפ]</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: right;"&gt;יזמים בתחום הסלולר מתלבטים כל הזמן כיצד הכי נכון עבורם למנף את האפליקציה (או האפליקציות) שהכינו ולייצר הכנסה. ישנם מודלים רבים אפשריים, כמו אלה המציעים למכור את האפליקציה בתשלום, או להעניק אותה בחינם עם אפשרויות שדרוג פנימיות, או עבודה עם באנרים (או כל סוג אחר של פרסום) בתוך האפליקציה.&lt;br /&gt; אפליקציות בחינם&lt;p /&gt;כעת, חברת StartApp הישראלית מעוניינת לעזור ולהציע ליזמים אפיק אפשרי נוסף לייצור הכנסה מהאפליקציה שלהם. החברה פיתחה SDK פשוט, שניתן לשלב בכל אפליקציה המפותחת לפלטפורמת אנדרואיד ומאפשרת למפתחים להרוויח מכל התקנה של האפליקציה (גם כאשר זאת ניתנת להורדה בחינם מה-Market).&lt;p /&gt; הפתרון של StartApp מבוסס על מודל מוכר מעולם ה-Desktop שנקרא Paid Search שעובד בצורה דומה למודלים של סרגלי הכלים לדפדפנים במחשבים האישיים, בין היתר של חברות כמו קונדואיט ואחרות.&lt;p /&gt;לאחר הוספת ה-SDK לאפליקציה, המשתמש הסופי יקבל אפשרות חיפוש חדשה באמצעות אייקון ייעודי, המוביל לדף הבית של מנוע החיפוש. כל חיפוש המתבצע דרך הכלים החדשים מייצר הכנסה, דרך הסכמים עם חברות נוספות, עבור StartApp, והיא המאפשרת לחברה לשלם למפתחים עבור כל התקנה של האפליקציה שלהם מראש, עוד לפני שהמשתמש החדש ביצע חיפוש כלשהו.&lt;br /&gt; הצלחה אנדרואידית&lt;p /&gt;מאז הושק המוצר באוגוסט 2011, ה-SDK של Startapp הצליח למצוא את דרכו אל יותר מ-850 אפליקציות, המותקנות אצל כ-30,000,000 משתמשים שונים. החברה עצמה, StartApp, הוקמה בדצמבר 2010 על-ידי גיל דודקביץ, המכהן כמנכ&amp;quot;ל החברה, ורן אבידן, המכהן כסמנכ&amp;quot;ל הטכנולוגיות של החברה והיא שמה לעצמה כמטרה לפתור את שתי הבעיות העיקריות בעולם האפליקציות – מודל ההכנסות ומודל הפצה ושיווק של האפליקציה. בדצמבר 2010 גייסה החברה השקעת סיד מקרן סידר הישראלית, בעקבותיה הצטרף לדירקטוריון החברה גל ישראלי, אחד ממייסדי הקרן ושותף מנהל בסידר.&lt;br /&gt; &lt;/div&gt;&lt;p /&gt;&lt;div&gt;&lt;br /&gt;Read more: &lt;a href="http://www.newsgeek.co.il/startapp-mobile-apps/"&gt;newsGeek&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.newsgeek.co.il/startapp-mobile-apps/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.newsgeek.co.il/startapp-mobile-apps/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.newsgeek.co.il/startapp-mobile-apps/" /&gt;&lt;br /&gt; &lt;/div&gt;      &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-8834858212984646035?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=iSIWW33i0b8:im3Bhx3oBs0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=iSIWW33i0b8:im3Bhx3oBs0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=iSIWW33i0b8:im3Bhx3oBs0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=iSIWW33i0b8:im3Bhx3oBs0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=iSIWW33i0b8:im3Bhx3oBs0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=iSIWW33i0b8:im3Bhx3oBs0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/iSIWW33i0b8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/8834858212984646035/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/startapp.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8834858212984646035?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8834858212984646035?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/iSIWW33i0b8/startapp.html" title="להרוויח יותר מהאפליקציות שלכם עם StartApp [סטארטאפ]" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/startapp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMCQXY9eyp7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-882723823313673659</id><published>2012-02-01T13:07:00.001+02:00</published><updated>2012-02-01T13:07:40.863+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T13:07:40.863+02:00</app:edited><title>Why Linux Vendors Need To Sell More Than Linux</title><content type="html">&lt;div class='posterous_autopost'&gt;Mandriva, a venerable Linux distro, is on the verge of shutting down. One of its main problems is that it never grew into more than just an OS vendor. The big players in the commercial Linux space — Red Hat, SuSE, Canonical — all built Linux into their larger computing visions. Is there any room in the marketplace for just a straight-up Linux distro anymore?&lt;p /&gt; Read more: &lt;a href="http://linux.slashdot.org/story/12/01/31/2148203/why-linux-vendors-need-to-sell-more-than-linux"&gt;Slashdot&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="why-linux-vendors-need-to-sell-more-than-linux" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=linux.slashdot.org/story/12/01/31/2148203/why-linux-vendors-need-to-sell-more-than-linux" alt="why-linux-vendors-need-to-sell-more-than-linux" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-882723823313673659?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=QODFT_UqKII:9ArhuxzDm0Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=QODFT_UqKII:9ArhuxzDm0Q:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=QODFT_UqKII:9ArhuxzDm0Q:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=QODFT_UqKII:9ArhuxzDm0Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=QODFT_UqKII:9ArhuxzDm0Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=QODFT_UqKII:9ArhuxzDm0Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/QODFT_UqKII" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/882723823313673659/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/why-linux-vendors-need-to-sell-more.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/882723823313673659?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/882723823313673659?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/QODFT_UqKII/why-linux-vendors-need-to-sell-more.html" title="Why Linux Vendors Need To Sell More Than Linux" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/why-linux-vendors-need-to-sell-more.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcHRH89cSp7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-5223508650097709475</id><published>2012-02-01T12:27:00.001+02:00</published><updated>2012-02-01T12:27:15.169+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T12:27:15.169+02:00</app:edited><title>Google запустила сайт для разработчиков: JavaScript vs. Dart</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img title="c34012e6bee39a62680ca36261a147ae.jpg" src="http://habrastorage.org/storage2/c34/012/e6b/c34012e6bee39a62680ca36261a147ae.jpg" height="254" alt="c34012e6bee39a62680ca36261a147ae.jpg" width="420" /&gt;&lt;br /&gt; &lt;/div&gt;&lt;p /&gt;   Google сделала очередной шаг для популяризации языка Dart, который позиционируется поисковым гигантом как замена JavaScript. Компания запустила для разработчиков промо-сайт Dart Synonym, облегчающий сравнение синтаксических конструкций обоих языков, удобно расположив примеры кода в двух столбцах и великодушно поставив JavaScript на первое место. Сами примеры охватывают весьма широкий диапазон: он начинается от объявлений переменных, затрагивает такие темы как работу с массивами, строками, манипуляцию с DOM, и заканчивается объектно-ориентированным программированием, так что сайт, в принципе, может служить быстрым справочником и по Dart и по JavaScript.&lt;p /&gt; Read more: &lt;a href="http://habrahabr.ru/blogs/webdev/137376/"&gt;Habrahabr.ru&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/webdev/137376/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/webdev/137376/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/webdev/137376/" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-5223508650097709475?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=fyJoZWZiZrA:guvr-DhrFpU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=fyJoZWZiZrA:guvr-DhrFpU:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=fyJoZWZiZrA:guvr-DhrFpU:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=fyJoZWZiZrA:guvr-DhrFpU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=fyJoZWZiZrA:guvr-DhrFpU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=fyJoZWZiZrA:guvr-DhrFpU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/fyJoZWZiZrA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/5223508650097709475/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/google-javascript-vs-dart.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5223508650097709475?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5223508650097709475?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/fyJoZWZiZrA/google-javascript-vs-dart.html" title="Google запустила сайт для разработчиков: JavaScript vs. Dart" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/google-javascript-vs-dart.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QDSHw6fCp7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-9136347454672155138</id><published>2012-02-01T12:16:00.001+02:00</published><updated>2012-02-01T12:16:19.214+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T12:16:19.214+02:00</app:edited><title>Делаем библиотеку написанную на .Net понятной для Unmanaged кода</title><content type="html">&lt;div class='posterous_autopost'&gt;Пол года проработав в компании, которая занимается программированием на MQL под Meta Trader столкнулся с таким заказом: клиенту нужно что бы программа была написана на C# или VB.Net.&lt;p /&gt;Задача была в том, что бы написать программу на C# и dll на том же языке, которая связывает приложение с торговым советником на MQL. С одной стороны мне это на руку, так как C# изучаю больше года, с другой — стало непонятно, а как же это делается и вообще возможно ли это?&lt;p /&gt; Ни для кого не секрет, что библиотека, написанная на C# не имеет в своем коде раздела для экспорта, и собственно передать название функции не является возможным. Пару часов поисков в интернете таки дали мне понять, что решение существует, и состоит оно в следующем:&lt;p /&gt;     Нужно декомпилировать библиотеку при помощи ILDASM, получив при этом IL-код&lt;br /&gt;    Изменить код так, что бы функции стали экспортируемыми&lt;br /&gt;    Заново собрать при помощи ILASM&lt;p /&gt;&lt;br /&gt;Про IL что-то там слышал, но в глаза ни разу не видал сие чудо. Что бы вам не пришлось искать литературу, которой по данному вопросу не так и много, опишу всё шаг за шагом. В результате у нас получится библиотека, которая отлично запускается из любой программы.&lt;p /&gt; Итак приступим:&lt;br /&gt;Первым делом создадим обычную библиотеку, в которой будет 2 метода, где первый выводит на экран всем любимое «Hello, World!», второй возвращает сумму двух чисел.&lt;p /&gt;Названия функций желательно выбрать такими, которые потом будет легко найти.&lt;br /&gt; Собственно вот как выглядит код нашей библиотеки:&lt;p /&gt;using System;&lt;br /&gt;using System.Windows.Forms;&lt;p /&gt;namespace Test&lt;br /&gt;{&lt;br /&gt;    public class Class1&lt;br /&gt;    {&lt;br /&gt;        public static void Message_Export(String message)&lt;br /&gt;         {&lt;br /&gt;            MessageBox.Show(message);&lt;br /&gt;        }&lt;p /&gt;        public static Double Sum_Export(Double a, Double b)&lt;br /&gt;        {&lt;br /&gt;            return a + b;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;p /&gt;&lt;br /&gt;Read more: &lt;a href="http://habrahabr.ru/blogs/net/137300/"&gt;Habrahabr.ru&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/net/137300/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/net/137300/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/net/137300/" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-9136347454672155138?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lPvDCo3Ysv0:ufF2i0-H5_M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lPvDCo3Ysv0:ufF2i0-H5_M:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=lPvDCo3Ysv0:ufF2i0-H5_M:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lPvDCo3Ysv0:ufF2i0-H5_M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=lPvDCo3Ysv0:ufF2i0-H5_M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lPvDCo3Ysv0:ufF2i0-H5_M:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/lPvDCo3Ysv0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/9136347454672155138/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/net-unmanaged.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/9136347454672155138?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/9136347454672155138?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/lPvDCo3Ysv0/net-unmanaged.html" title="Делаем библиотеку написанную на .Net понятной для Unmanaged кода" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/net-unmanaged.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YNSH08cCp7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-3859579048126679069</id><published>2012-02-01T12:13:00.001+02:00</published><updated>2012-02-01T12:13:19.378+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T12:13:19.378+02:00</app:edited><title>15 Best Practices for Exception Handling</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;ol&gt;&lt;li&gt;Don&amp;#39;t manage business logic with exceptions. Use conditional statements instead. If a control can be done with if-else statement clearly, don&amp;#39;t use exceptions because it reduces readability and performance  (e.g. null control, divide by zero control). .&lt;/li&gt; &lt;li&gt;Exception names must be clear and meaningful, stating the causes of exception.&lt;/li&gt;&lt;li&gt;Throw exceptions for error conditions while implementing a method. E.g. if you return -1, -2, -3 etc. values instead of FileNotFoundException, that method can not be understand.&lt;/li&gt; &lt;li&gt;Catch specific exceptions instead of the top Exception class. This will bring additional performance, readability and more specific exception handling.&lt;/li&gt;&lt;li&gt;Null control with conditionals is not an alternative to catching NullPointerException. If a method may return null, control it with if-else statement. If a return may throw NullPointerException, catch it.&lt;/li&gt; &lt;li&gt;Try not to re-throw the exception because of the price. Bu if re-throwing had been a must, re-throw the same exception instead of creating a new exception. This will bring additional performance. You may add additional info in each layer to that exception.&lt;/li&gt; &lt;li&gt;Define your own exception hierarchy by extending current Exception class (e.g. UserException, SystemException and their sub types) and use them. By doing this you can specialize your exceptions and define a reusable module/layer of exceptions.&lt;/li&gt; &lt;li&gt;Use types of exceptions clearly. Fatal: System crash states. Error: Lack of requirement. Warn: Not an error but error probability. Info: Info for user. Debug: Info for developer. &lt;/li&gt;&lt;li&gt;Don&amp;#39;t absorb exceptions with no logging and operation. Ignoring exceptions will save that moment but will create a chaos for maintainability later.&lt;/li&gt; &lt;li&gt;Don&amp;#39;t log the same exception more than once. This will provide clearness of the exception location.&lt;/li&gt;&lt;li&gt;Always clean up resources (opened files etc.) and perform this in &amp;quot;finally&amp;quot; blocks.&lt;/li&gt;&lt;li&gt;Exception handling inside a loop is not recommended for most cases. Surround the loop with exception block instead.&lt;/li&gt; &lt;/ol&gt;&lt;br /&gt;Read more: &lt;a href="http://codebuild.blogspot.com/2012/01/15-best-practices-about-exception.html"&gt;CodeBuild&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="15-best-practices-about-exception.html" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://codebuild.blogspot.com/2012/01/15-best-practices-about-exception.html" alt="15-best-practices-about-exception.html" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-3859579048126679069?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=dFw0aGKp1m8:azElLd8a3eY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=dFw0aGKp1m8:azElLd8a3eY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=dFw0aGKp1m8:azElLd8a3eY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=dFw0aGKp1m8:azElLd8a3eY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=dFw0aGKp1m8:azElLd8a3eY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=dFw0aGKp1m8:azElLd8a3eY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/dFw0aGKp1m8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/3859579048126679069/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/15-best-practices-for-exception.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3859579048126679069?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3859579048126679069?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/dFw0aGKp1m8/15-best-practices-for-exception.html" title="15 Best Practices for Exception Handling" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/15-best-practices-for-exception.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YHRX0zfip7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-7641861198610821392</id><published>2012-02-01T12:12:00.001+02:00</published><updated>2012-02-01T12:12:14.386+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T12:12:14.386+02:00</app:edited><title>Silverlight 5 Released to Web</title><content type="html">&lt;div class='posterous_autopost'&gt;Summary of the features&lt;p /&gt;(from the Silverlight 5 download package)&lt;br /&gt;Improved media support&lt;p /&gt;    Low Latency Audio Playback&lt;br /&gt;    Variable Speed Playback&lt;br /&gt;    H/W Decode of H.264 media&lt;br /&gt;    DRM Key Rotation/LiveTV Playback&lt;br /&gt;     Application-Restricted Media&lt;p /&gt;Improved Text support&lt;p /&gt;    Text Tracking &amp;amp; Leading&lt;br /&gt;    Linked Text Containers&lt;br /&gt;    OpenType and Pixel Snapped Text&lt;br /&gt;    Postscript vector printing&lt;br /&gt;    Performance improvements for Block Layout Engine.&lt;p /&gt; Building next-generation business applications&lt;p /&gt;    PivotViewer&lt;br /&gt;    ClickCount&lt;br /&gt;    Listbox/ComboBox type-ahead text searching&lt;br /&gt;    Ancestor RelativeSource Binding&lt;br /&gt;    Implicit DataTemplates&lt;br /&gt;    DataContextChanged event&lt;br /&gt;     Added PropertyChanged to the UpdateSourceTrigger enum&lt;br /&gt;    Save File and Open File Dialog&lt;br /&gt;    Databinding Debugging&lt;br /&gt;    Custom Markup Extensions&lt;br /&gt;    Binding on Style Setters&lt;p /&gt;Silverlight 5 performance improvements&lt;p /&gt;     Parser Performance Improvements&lt;br /&gt;    Network Latency Improvements&lt;br /&gt;    H/W accelerated rendering in IE9 windowless mode&lt;br /&gt;    Multicore JIT&lt;br /&gt;    64-bit browser support&lt;p /&gt;Graphics improvements&lt;p /&gt;    Improved Graphics stack&lt;br /&gt;     3D&lt;p /&gt;&amp;quot;Trusted Application&amp;quot; model&lt;p /&gt;    Multiple window support&lt;br /&gt;    Full-Trust in-browser&lt;br /&gt;    In-browser HTML support&lt;br /&gt;    Unrestricted File System Access&lt;br /&gt;    P/Invoke support&lt;p /&gt;Tools improvements&lt;p /&gt;     Visual Studio Team Test support&lt;p /&gt;&lt;br /&gt;Read more: &lt;a href="http://johnpapa.net/silverlight5rtw"&gt;John Papa&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="silverlight5rtw" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://johnpapa.net/silverlight5rtw" alt="silverlight5rtw" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-7641861198610821392?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2yoB2SJdgkc:ISi43Th4oCo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2yoB2SJdgkc:ISi43Th4oCo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=2yoB2SJdgkc:ISi43Th4oCo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2yoB2SJdgkc:ISi43Th4oCo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=2yoB2SJdgkc:ISi43Th4oCo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2yoB2SJdgkc:ISi43Th4oCo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/2yoB2SJdgkc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/7641861198610821392/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/silverlight-5-released-to-web.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7641861198610821392?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7641861198610821392?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/2yoB2SJdgkc/silverlight-5-released-to-web.html" title="Silverlight 5 Released to Web" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/silverlight-5-released-to-web.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4CSH48fyp7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-2414512569952630543</id><published>2012-02-01T12:09:00.001+02:00</published><updated>2012-02-01T12:09:29.077+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T12:09:29.077+02:00</app:edited><title>Батники против эксплойтов</title><content type="html">&lt;div class='posterous_autopost'&gt;Доброго времени суток, многоуважаемый %USERNAME%. Меня зовут Голованов Сергей, и я всё еще являюсь ведущим вирусным аналитиком в «Лаборатории Касперского». Я понимаю, что название этого поста в корпоративном блоге компании может вызвать смех, грусть, а у некоторых даже эпилептический припадок, но дайте мне всё объяснить.&lt;p /&gt; Я понимаю, что для всех батники выглядят как нечто очень простое и со времен AUTOEXEC.BAT уже практически забытое, в то же время эксплойты, если вы конечно не профессиональный исследователь уязвимостей, выглядят очень сложно и практически неправдоподобно, особенно для некоторых разработчиков. Но! В данном посте я постараюсь перевернуть эти представления и рассказать, что всё как будто наоборот. Батники чуть легче и сильнее по функционалу brainfuck&amp;#39;а, а эксплойты не страшнее сортировки пузырьком на basic&amp;#39;е. &lt;p /&gt; ...&lt;br /&gt;...&lt;p /&gt;Если копнуть чуть глубже, то оказывается, что в таких эксплойт-паках часто (практически всегда) полезная нагрузка выделяет себе память в процессе жертвы, ищет нужные системные функции, сохраняет файл из интернета на локаль и делает CreateProcess или очень редко — ShellExecute, при этом проблемы повышения привилегий перекладываются на то, что скачали. Всё в принципе просто и понятно. И чего с этим делать? Хватать за пятую точку за слабые места! Во всей этой схеме есть одно уязвимое место: неважно, какое приложение пробили, главное — запустить файл с троянцем. Таким образом, получается, что нам просто-напросто надо сделать так, чтобы на компьютере пользователя лишние файлы не запускались, и сделать это нужно стандартными средствами.&lt;p /&gt; ...&lt;br /&gt;...&lt;p /&gt;Батник&lt;p /&gt;Итого: наш батник должен создать пользователя со стандартными правами, затем модифицировать эти права для запуска только определённого ПО и, наконец, сделать это прозрачно и удобно для пользователя. Начнем-с…&lt;p /&gt; 1. Создать пользователя. Халява.&lt;p /&gt;net user saferun_user Passw0rd /add&lt;p /&gt;Имя пользователя и пароль здесь указаны только для примера, их надо будет обязательно разбавить %random%’ами, чтобы не оказалась, что у нас у всех пользователей батника одинаковые имена пользователей и пароли на машинах. А то получится этакий Backdoor.Bat.Hren.a, его еще детектировать придется…)))&lt;p /&gt; 2. Модифицировать права. Э… а вот тут уже есть проблемы&lt;p /&gt;По-хорошему назначать права на исполнение нужно AppLocker&amp;#39;ом с помощью PowerShell’a, например так:&lt;p /&gt;PS C:\&amp;gt; Get-ApplockerFileInformation -Directory &amp;#39;C:\Program Files (x86)\Adobe\&amp;#39; -Recurse -FileType Exe | New-ApplockerPolicy -RuleType Publisher -User SafeRun_user -RuleNamePrefix Adobe -Optimize -Xml &amp;gt; Adoby.xml&lt;br /&gt; PS C:\&amp;gt; Set-AppLockerPolicy –XmlPolicy Adoby.xml&lt;p /&gt;Однако, вся эта хитрая хрень «is only available in Ultimate and Enterprise versions of Windows 7». Поэтому как альтернативу в Home версии Windows 7 можно использовать Parental Control (ссылка на форум — я не шучу), который хранит информацию о том, какие программы можно запускать в:&lt;p /&gt; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Parental Controls\Users\UID\App Restrictions&lt;p /&gt;Значит, политики в топку, ибо неудобно, будем использовать ACL, тем более что, начиная с Vista’ы, появилась замечательная команда ICACLS. В принципе всё, что написано дальше, может быть спроецировано и на XP c помощью XCACLS, но по умолчанию такой команды в XP нет, и входит она только в пакет Resource Kit.&lt;p /&gt; Итого, в Windows 7 cначала вынесем пользователя из группы по умолчанию, чтобы ограничить его возможности благодаря групповым разрешениям создавать файлы где попало:&lt;p /&gt;net localgroup users saferun_user /delete &lt;p /&gt; Read more: &lt;a href="http://habrahabr.ru/company/kaspersky/blog/137304/"&gt;Habrahabr.ru&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=habrahabr.ru/company/kaspersky/blog/137304/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=habrahabr.ru/company/kaspersky/blog/137304/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=habrahabr.ru/company/kaspersky/blog/137304/" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-2414512569952630543?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=plqMb0fdvh0:NBQ3WrLnJ4s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=plqMb0fdvh0:NBQ3WrLnJ4s:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=plqMb0fdvh0:NBQ3WrLnJ4s:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=plqMb0fdvh0:NBQ3WrLnJ4s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=plqMb0fdvh0:NBQ3WrLnJ4s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=plqMb0fdvh0:NBQ3WrLnJ4s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/plqMb0fdvh0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/2414512569952630543/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/blog-post.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2414512569952630543?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2414512569952630543?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/plqMb0fdvh0/blog-post.html" title="Батники против эксплойтов" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUBRH8_fyp7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-698649426639791645</id><published>2012-02-01T11:57:00.001+02:00</published><updated>2012-02-01T11:57:35.147+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:57:35.147+02:00</app:edited><title>WPF Validation</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img title="Validation2.jpg" src="http://www.codeproject.com/KB/WPF/321745/Validation2.jpg" alt="Validation2.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Introduction&lt;p /&gt;In this article, I have discussed the validation process in WPF. For understanding the validation process, I have created a simple application which divides numbers entered in text boxes and displays the result in a label. If the user enters invalid data, it displays the appropriate error messages.&lt;p /&gt; &lt;br /&gt;Background&lt;p /&gt;While dividing two numbers, the most likely issues can be related to handling of non-numeric data and dividing by zero. In this article, I have described how to do data validation for such errors. In this application, I have validated that the user does not enter non-numeric data and zero in the textboxes. I have developed the application using Microsoft Visual C# 2010 Express Edition (Microsoft .NET Framework Version 4.0.21006).&lt;br /&gt; Using the Code&lt;p /&gt;To use the validator function, we must first declare the namespace where it will be found. This is done by adding an attribute for the root Window element as follows:&lt;p /&gt;&lt;br /&gt;xmlns:local=&amp;quot;clr-namespace:ValidationExample&amp;quot;&lt;p /&gt; The complete XAML code for the window element is as follows:&lt;p /&gt;&lt;br /&gt;&amp;lt;Window x:Class=&amp;quot;ValidationExample.Window1&amp;quot;&lt;br /&gt;    xmlns=&amp;quot;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/a&gt;&amp;quot;&lt;br /&gt;     xmlns:x=&amp;quot;&lt;a href="http://schemas.microsoft.com/winfx/2006/xaml"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/a&gt;&amp;quot;&lt;br /&gt;    xmlns:local=&amp;quot;clr-namespace:ValidationExample&amp;quot;&lt;br /&gt;    Title=&amp;quot;Number Division&amp;quot; Height=&amp;quot;300&amp;quot; Width=&amp;quot;300&amp;quot;&lt;br /&gt;     Loaded=&amp;quot;Window_Loaded&amp;quot;&amp;gt;&lt;p /&gt;Read more: &lt;a href="http://www.codeproject.com/Articles/321745/WPF-Validation"&gt;Codeproject&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="WPF-Validation" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.codeproject.com/Articles/321745/WPF-Validation" alt="WPF-Validation" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-698649426639791645?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=tdCqBOn-3_A:HaDIn9qh768:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=tdCqBOn-3_A:HaDIn9qh768:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=tdCqBOn-3_A:HaDIn9qh768:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=tdCqBOn-3_A:HaDIn9qh768:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=tdCqBOn-3_A:HaDIn9qh768:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=tdCqBOn-3_A:HaDIn9qh768:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/tdCqBOn-3_A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/698649426639791645/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/wpf-validation.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/698649426639791645?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/698649426639791645?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/tdCqBOn-3_A/wpf-validation.html" title="WPF Validation" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/wpf-validation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcAQX44eSp7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-9085643521308347695</id><published>2012-02-01T11:54:00.001+02:00</published><updated>2012-02-01T11:54:00.031+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:54:00.031+02:00</app:edited><title>Why does it take Task Manager longer to appear when you start it from the Ctrl+Alt+Del dialog?</title><content type="html">&lt;div class='posterous_autopost'&gt;Amit was curious why it takes longer for Task Manager to appear when you start it from the Ctrl+Alt+Del dialog compared to launching it from the taskbar.&lt;p /&gt;Well, you can see the reason right there on the screen: You&amp;#39;re launching it the long way around.&lt;p /&gt; If you launch Task Manager from the taskbar, Explorer just launches taskmgr.exe via the usual Create­Process mechanism, and Task Manager launches under the same credentials on the same desktop.&lt;p /&gt;On the other hand, when you use the secure attention sequence, the winlogon program receives the notification, switches to the secure desktop, and displays the Ctrl+Alt+Del dialog. When you select Task Manager from that dialog, it then has to launch taskmgr.exe, but it can&amp;#39;t use the normal Create­Process because it&amp;#39;s on the wrong desktop and it&amp;#39;s running under the wrong security context. (Because winlogon runs as SYSTEM, as Task Manager will tell you.) &lt;p /&gt; Read more: &lt;a href="http://blogs.msdn.com/b/oldnewthing/archive/2012/01/30/10261611.aspx"&gt;The Old New Thing&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="10261611.aspx" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://blogs.msdn.com/b/oldnewthing/archive/2012/01/30/10261611.aspx" alt="10261611.aspx" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-9085643521308347695?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=YwZJGsabjbo:kush9kywjUs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=YwZJGsabjbo:kush9kywjUs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=YwZJGsabjbo:kush9kywjUs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=YwZJGsabjbo:kush9kywjUs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=YwZJGsabjbo:kush9kywjUs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=YwZJGsabjbo:kush9kywjUs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/YwZJGsabjbo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/9085643521308347695/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/why-does-it-take-task-manager-longer-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/9085643521308347695?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/9085643521308347695?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/YwZJGsabjbo/why-does-it-take-task-manager-longer-to.html" title="Why does it take Task Manager longer to appear when you start it from the Ctrl+Alt+Del dialog?" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/why-does-it-take-task-manager-longer-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04BRXc5cSp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-8887356377673000037</id><published>2012-02-01T11:52:00.001+02:00</published><updated>2012-02-01T11:52:34.929+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:52:34.929+02:00</app:edited><title>Enabling SSL for a WCF Service</title><content type="html">&lt;div class='posterous_autopost'&gt;Last week a reader mailed me with some questions about my “WCF over HTTPS” blog post, which I wrote almost 3 years ago.&lt;p /&gt;I created some sample code to help him enable SSL for a WCF service. Last year this was my most popular article, so I thought it would make sense to create a new up-to-date version that shows you step-by-step how to enable SSL for a WCF service with as little fuss as possible.&lt;p /&gt; Let’s get started…&lt;p /&gt;Table Of Contents&lt;p /&gt;    Introduction&lt;br /&gt;    Step 1 – The Service&lt;br /&gt;    Step 2 – Configuration&lt;br /&gt;    Step 3 – Hosting The Service&lt;br /&gt;    Step 4 – SSL Certificate&lt;br /&gt;    Step 5 – Enable SSL&lt;br /&gt;     Step 6 – Consume The Service&lt;p /&gt;Step 1 – The Service&lt;p /&gt;First we are going to create a simple and easy-to-use WCF service. Start up Visual Studio 2010 and create a new blank solution called “SslEnabledWcfService”. Next add a new class library project to it called “CustomerService”. &lt;p /&gt; Read more: &lt;a href="http://cgeers.com/2012/01/30/enabling-ssl-for-a-wcf-service/"&gt;Christophe Geers&amp;#39; Blog&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://cgeers.com/2012/01/30/enabling-ssl-for-a-wcf-service/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://cgeers.com/2012/01/30/enabling-ssl-for-a-wcf-service/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://cgeers.com/2012/01/30/enabling-ssl-for-a-wcf-service/" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-8887356377673000037?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=yNialFaM7RU:4_e0UkjFpDc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=yNialFaM7RU:4_e0UkjFpDc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=yNialFaM7RU:4_e0UkjFpDc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=yNialFaM7RU:4_e0UkjFpDc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=yNialFaM7RU:4_e0UkjFpDc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=yNialFaM7RU:4_e0UkjFpDc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/yNialFaM7RU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/8887356377673000037/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/enabling-ssl-for-wcf-service.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8887356377673000037?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8887356377673000037?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/yNialFaM7RU/enabling-ssl-for-wcf-service.html" title="Enabling SSL for a WCF Service" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/enabling-ssl-for-wcf-service.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08BRXo4cCp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-3729084231420460774</id><published>2012-02-01T11:50:00.003+02:00</published><updated>2012-02-01T11:50:54.438+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:50:54.438+02:00</app:edited><title>MVVMLight Hello World in 10 Minutes.</title><content type="html">&lt;div class='posterous_autopost'&gt;Getting Started&lt;p /&gt;    Firstly, start VS2010, and create a new WPF project.&lt;br /&gt;    Ensure that you have Nuget installed.&lt;br /&gt;    Manage Nuget Package References and add ‘MVVM Light’&lt;p /&gt;MVVM Light has now added a ViewModel folder containing the MainViewModel and the ViewModelLocator.&lt;br /&gt; Edit the Main Window&lt;p /&gt;Simply add a button, and defer the DataContext binding to the ViewModelLocator (elided):&lt;p /&gt;&lt;br /&gt;&amp;lt;Window x:Class=&amp;quot;MvvmLightTest.MainWindow&amp;quot;&lt;br /&gt;        DataContext=&amp;quot;{Binding Main, Source={StaticResource Locator}}&amp;quot;&amp;gt;&lt;br /&gt;     &amp;lt;Grid&amp;gt;&lt;br /&gt;        &amp;lt;Button Command=&amp;quot;{Binding ShowPopUp}&amp;quot; Content=&amp;quot;Show Pop Up&amp;quot; /&amp;gt;&lt;br /&gt;    &amp;lt;/Grid&amp;gt;&lt;br /&gt;&amp;lt;/Window&amp;gt;&lt;p /&gt;Then in the MainViewModel we define the ShowPopUp command:&lt;p /&gt; &lt;br /&gt;public class MainViewModel : ViewModelBase&lt;br /&gt;{&lt;br /&gt;    public MainViewModel()&lt;br /&gt;    {&lt;br /&gt;        ShowPopUp = new RelayCommand(() =&amp;gt; ShowPopUpExecute(), () =&amp;gt; true);&lt;br /&gt;    }&lt;p /&gt;    public ICommand ShowPopUp { get; private set; }&lt;p /&gt;     private void ShowPopUpExecute()&lt;br /&gt;    {&lt;br /&gt;        MessageBox.Show(&amp;quot;Hello!&amp;quot;);&lt;br /&gt;    }&lt;br /&gt;}&lt;p /&gt;Read more: &lt;a href="http://www.codeproject.com/Articles/321806/MVVMLight-Hello-World-in-10-Minutes"&gt;Codeproject&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="MVVMLight-Hello-World-in-10-Minutes" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.codeproject.com/Articles/321806/MVVMLight-Hello-World-in-10-Minutes" alt="MVVMLight-Hello-World-in-10-Minutes" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-3729084231420460774?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=kTIvZXV13f4:XKJnYAy7brI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=kTIvZXV13f4:XKJnYAy7brI:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=kTIvZXV13f4:XKJnYAy7brI:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=kTIvZXV13f4:XKJnYAy7brI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=kTIvZXV13f4:XKJnYAy7brI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=kTIvZXV13f4:XKJnYAy7brI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/kTIvZXV13f4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/3729084231420460774/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/mvvmlight-hello-world-in-10-minutes.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3729084231420460774?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3729084231420460774?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/kTIvZXV13f4/mvvmlight-hello-world-in-10-minutes.html" title="MVVMLight Hello World in 10 Minutes." /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/mvvmlight-hello-world-in-10-minutes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08EQHk6fCp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-7522306911684134464</id><published>2012-02-01T11:50:00.001+02:00</published><updated>2012-02-01T11:50:01.714+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:50:01.714+02:00</app:edited><title>Analyzing a .NET executable or DLL without .NET installed</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img title="image002.jpg" src="http://www.codeproject.com/KB/dotnet/321269/image002.jpg" alt="image002.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Introduction&lt;p /&gt;This article describes how to add to a Win32 API, C++ application, the ability to browse for executables (.exe) files, and to determine whether they are .NET ones, and if so, to analyze their classes and display a list of them, without having .NET installed on the machine running it.&lt;p /&gt; &lt;br /&gt;Background&lt;p /&gt;.NET executables can be easily analyzed, and each class can be enumerated. However, some users prefer not to install the .NET Framework because they don&amp;#39;t need it or because it is quite heavy. There seems to be a need to allow applications that are not .NET based, to analyze .NET executables.&lt;p /&gt; &lt;br /&gt;The Application&lt;p /&gt;The application works very simple. You run it.&lt;p /&gt;list&amp;lt;string&amp;gt; CPEParser::GetDotNetClassName(string filePathName)&lt;br /&gt;{&lt;br /&gt;    list&amp;lt;string&amp;gt; lString;&lt;br /&gt;    HANDLE hFile = CreateFile(filePathName.c_str(),&lt;br /&gt;                               GENERIC_READ, FILE_SHARE_READ, NULL, &lt;br /&gt;                              OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);&lt;p /&gt;    HANDLE hMapFile = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, &amp;quot;NetExe&amp;quot;);&lt;br /&gt;     SYSTEM_INFO systemInfo;&lt;br /&gt;    GetSystemInfo(&amp;amp;systemInfo);&lt;br /&gt;    &lt;br /&gt;    char *pFileBase = (char *)MapViewOfFile(hMapFile, FILE_MAP_READ, 0, 0, 0);&lt;br /&gt;    IMAGE_DOS_HEADER *pImageDosHeader = reinterpret_cast&amp;lt;IMAGE_DOS_HEADER *&amp;gt;(pFileBase);&lt;br /&gt;     IMAGE_NT_HEADERS *pImageNTHeader  = &lt;br /&gt;      reinterpret_cast&amp;lt;IMAGE_NT_HEADERS *&amp;gt;(pFileBase + pImageDosHeader-&amp;gt;e_lfanew);&lt;br /&gt;    IMAGE_FILE_HEADER *pImageFileHeader = &lt;br /&gt;      reinterpret_cast&amp;lt;IMAGE_FILE_HEADER *&amp;gt;(&amp;amp;pImageNTHeader-&amp;gt;FileHeader);&lt;br /&gt;     IMAGE_OPTIONAL_HEADER *pImageOpHeader = &lt;br /&gt;      reinterpret_cast&amp;lt;IMAGE_OPTIONAL_HEADER *&amp;gt;(&amp;amp;pImageNTHeader-&amp;gt;OptionalHeader);&lt;p /&gt;    IMAGE_DATA_DIRECTORY *entry = &lt;br /&gt;      &amp;amp;pImageOpHeader-&amp;gt;DataDirectory[IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR];&lt;br /&gt;     if(entry-&amp;gt;Size == 0 || entry-&amp;gt;Size &amp;lt; sizeof(IMAGE_COR20_HEADER) || &lt;br /&gt;       entry-&amp;gt;VirtualAddress == 0)&lt;br /&gt;    {&lt;br /&gt;        return lString;&lt;br /&gt;    }&lt;p /&gt;    IMAGE_COR20_HEADER *pClrHeader = reinterpret_cast&amp;lt;IMAGE_COR20_HEADER *&amp;gt;(&lt;br /&gt;                 ImageRvaToVa(pImageNTHeader, pFileBase, entry-&amp;gt;VirtualAddress, 0));&lt;br /&gt;    char *pMetaDataAddress = reinterpret_cast&amp;lt;char *&amp;gt;(ImageRvaToVa(&lt;br /&gt;          pImageNTHeader, pFileBase, pClrHeader-&amp;gt;MetaData.VirtualAddress, 0));&lt;br /&gt;     int mdSignature       = *(reinterpret_cast&amp;lt;int *&amp;gt;(pMetaDataAddress));&lt;br /&gt;    short majorVersion    = *(reinterpret_cast&amp;lt;short *&amp;gt;(pMetaDataAddress + 4));&lt;br /&gt;    short minorVersion    = *(reinterpret_cast&amp;lt;short *&amp;gt;(pMetaDataAddress + 6));&lt;br /&gt;     int reserved          = *(reinterpret_cast&amp;lt;int *&amp;gt;(pMetaDataAddress + 8));&lt;br /&gt;    int length            = *(reinterpret_cast&amp;lt;int *&amp;gt;(pMetaDataAddress + 12));&lt;br /&gt;    &lt;br /&gt;    string version;&lt;p /&gt;    for(int i = 16; i &amp;lt; (length + 16); i++)&lt;br /&gt;     {&lt;br /&gt;        version.append(1, *(reinterpret_cast&amp;lt;char *&amp;gt;(pMetaDataAddress + i)));&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    int reserved2     = *(reinterpret_cast&amp;lt;short *&amp;gt;(pMetaDataAddress + 16 + length));&lt;br /&gt;    int streams       = *(reinterpret_cast&amp;lt;short *&amp;gt;(pMetaDataAddress + 18 + length));&lt;br /&gt;     int i16Length     = 20 + length;&lt;br /&gt;    list&amp;lt;StreamHeader&amp;gt;   lStreamHeader;&lt;p /&gt;    GetStreamHeaders(pMetaDataAddress, i16Length, lStreamHeader, streams);&lt;p /&gt;    //read meta data table&lt;br /&gt;    char *pMetaDataTable = pMetaDataAddress + GetMetaData(lStreamHeader, &amp;quot;#~&amp;quot;)-&amp;gt;offset;&lt;br /&gt;     int reserved3         = *(reinterpret_cast&amp;lt;int *&amp;gt;(pMetaDataTable));&lt;br /&gt;    char majorVersion1   = *(pMetaDataTable + 4);&lt;br /&gt;    char minorVersion1   = *(pMetaDataTable + 5);&lt;br /&gt;    char HeapOffSetSize  = *(pMetaDataTable + 6);&lt;br /&gt;     char reserved4  = *(pMetaDataTable + 7);&lt;br /&gt;    int valid1      = *(reinterpret_cast&amp;lt;int *&amp;gt;(pMetaDataTable + 8));&lt;br /&gt;    int valid2      = *(reinterpret_cast&amp;lt;int *&amp;gt;(pMetaDataTable + 12));&lt;br /&gt;    int sort1       = *(reinterpret_cast&amp;lt;int *&amp;gt;(pMetaDataTable + 16));&lt;br /&gt;     int sort2       = *(reinterpret_cast&amp;lt;int *&amp;gt;(pMetaDataTable + 20));&lt;p /&gt;Read more: &lt;a href="http://www.codeproject.com/Articles/321269/Analyzing-a-Net-executable-or-DLL-without-NET-inst"&gt;Codeproject&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="Analyzing-a-Net-executable-or-DLL-without-NET-inst" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.codeproject.com/Articles/321269/Analyzing-a-Net-executable-or-DLL-without-NET-inst" alt="Analyzing-a-Net-executable-or-DLL-without-NET-inst" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-7522306911684134464?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=o57xZAFPPG8:jy6AEqez27w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=o57xZAFPPG8:jy6AEqez27w:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=o57xZAFPPG8:jy6AEqez27w:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=o57xZAFPPG8:jy6AEqez27w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=o57xZAFPPG8:jy6AEqez27w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=o57xZAFPPG8:jy6AEqez27w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/o57xZAFPPG8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/7522306911684134464/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/analyzing-net-executable-or-dll-without.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7522306911684134464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7522306911684134464?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/o57xZAFPPG8/analyzing-net-executable-or-dll-without.html" title="Analyzing a .NET executable or DLL without .NET installed" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/analyzing-net-executable-or-dll-without.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EMR386eip7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-6907308421586291746</id><published>2012-02-01T11:48:00.001+02:00</published><updated>2012-02-01T11:48:06.112+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:48:06.112+02:00</app:edited><title>Microsoft Format and Specification Documentation Refresh ("Significantly changed technical content") [Updated: Includes updates for Office 15 Technical Preview ]</title><content type="html">&lt;div class='posterous_autopost'&gt;Microsoft Office File Formats Documentation&lt;p /&gt;    The Microsoft Office file formats documentation provides technical specifications for Microsoft proprietary file formats that are implemented and used in the Microsoft Office system.&lt;p /&gt; Microsoft Office Protocol Documentation&lt;p /&gt;    The Office protocol documentation provides technical specifications for Microsoft proprietary protocols that are implemented and used in the Microsoft Office system.&lt;p /&gt; Microsoft Exchange Server Protocol Documentation&lt;p /&gt;    The Microsoft Exchange protocol documentation provides detailed technical specifications for the Microsoft protocols that are implemented and used by Microsoft Exchange to interoperate or communicate with other products. It also provides technical specifications for extensions to industry-standard and other published protocols that are used by Microsoft Exchange.&lt;p /&gt; Microsoft Exchange and Microsoft Outlook Standards Documentation&lt;p /&gt;    The Microsoft Exchange and Microsoft Outlook standards documentation describes how Exchange and Outlook support industry messaging standards and Requests for Comments (RFCs) documents about iCalendar, Internet Message Access Protocol – Version 4 (IMAP4), and Post Office Protocol – Version 3 (POP3).&lt;p /&gt; &lt;p /&gt;Read more: &lt;a href="http://coolthingoftheday.blogspot.com/2012/01/microsoft-format-and-specification.html"&gt;Greg&amp;#39;s Cool [Insert Clever Name] of the Day&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="microsoft-format-and-specification.html" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://coolthingoftheday.blogspot.com/2012/01/microsoft-format-and-specification.html" alt="microsoft-format-and-specification.html" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-6907308421586291746?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=eCajNzl7GMA:hUvBEL_QTTo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=eCajNzl7GMA:hUvBEL_QTTo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=eCajNzl7GMA:hUvBEL_QTTo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=eCajNzl7GMA:hUvBEL_QTTo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=eCajNzl7GMA:hUvBEL_QTTo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=eCajNzl7GMA:hUvBEL_QTTo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/eCajNzl7GMA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/6907308421586291746/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/microsoft-format-and-specification.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/6907308421586291746?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/6907308421586291746?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/eCajNzl7GMA/microsoft-format-and-specification.html" title="Microsoft Format and Specification Documentation Refresh (&amp;quot;Significantly changed technical content&amp;quot;) [Updated: Includes updates for Office 15 Technical Preview ]" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/microsoft-format-and-specification.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EHSHo7fCp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-254205442790523002</id><published>2012-02-01T11:47:00.001+02:00</published><updated>2012-02-01T11:47:19.404+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:47:19.404+02:00</app:edited><title>Bubbles</title><content type="html">&lt;div class='posterous_autopost'&gt;Recently one of our customers asked about how to implement a conversation display similar to the iOS SMS/Messages display. You can find the BubbleCell sample in our Github repository.&lt;p /&gt;This is what the conversation looks like: &lt;p /&gt; &lt;div style="text-align: center;"&gt;&lt;img title="c38c418a.png" src="http://tirania.org/s/c38c418a.png" height="412" alt="c38c418a.png" width="420" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p /&gt;&lt;br /&gt;To implement this, I used iOS&amp;#39;s UITableView as it already provides a lot of the functionality that we need for this. What I did was to write a custom UITableViewCell that can render bubbles with their text.&lt;p /&gt; I wrote both a MonoTouch.Dialog Element that you can host in your DialogViewController as well as a custom UITableCellView which can be reused by those using UITableViews directly.&lt;p /&gt;This is how you could populate the initial discussion inside MonoTouch.Dialog:&lt;br /&gt; Section chat;&lt;p /&gt;var root = new RootElement (&amp;quot;Chat Sample&amp;quot;) {&lt;br /&gt;  (chat = new Section () {&lt;br /&gt;    new ChatBubble (true, &amp;quot;This is the text on the left, what I find fascinating about this is how many lines can fit!&amp;quot;),&lt;br /&gt;     new ChatBubble (false, &amp;quot;This is some text on the right&amp;quot;),&lt;br /&gt;    new ChatBubble (true, &amp;quot;Wow, you are very intense!&amp;quot;),&lt;br /&gt;    new ChatBubble (false, &amp;quot;oops&amp;quot;),&lt;br /&gt;    new ChatBubble (true, &amp;quot;yes&amp;quot;),&lt;br /&gt;   })&lt;br /&gt;};&lt;p /&gt;Read more: &lt;a href="http://tirania.org/monomac/archive/2012/Jan-30.html"&gt;Miguel&amp;#39;s OSX and iOS blog&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="Jan-30.html" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://tirania.org/monomac/archive/2012/Jan-30.html" alt="Jan-30.html" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-254205442790523002?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2dyDR1FmC44:7Xagx_GAHdc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2dyDR1FmC44:7Xagx_GAHdc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=2dyDR1FmC44:7Xagx_GAHdc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2dyDR1FmC44:7Xagx_GAHdc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=2dyDR1FmC44:7Xagx_GAHdc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2dyDR1FmC44:7Xagx_GAHdc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/2dyDR1FmC44" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/254205442790523002/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/bubbles.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/254205442790523002?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/254205442790523002?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/2dyDR1FmC44/bubbles.html" title="Bubbles" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/bubbles.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IBQX86fyp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-2110917981161347082</id><published>2012-02-01T11:45:00.001+02:00</published><updated>2012-02-01T11:45:50.117+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:45:50.117+02:00</app:edited><title>Using the Windows 7 USB Download tool (the ISO to USB drive utility) for any ISO file</title><content type="html">&lt;div class='posterous_autopost'&gt;As notebooks, netbooks and slates get thinner, smaller, and more power-conscious, optical drives that can read and write to a bootable DVD have now become a peripheral device rather than a built-in. This makes it difficult to install software from a DVD, and even more problematic when you want to wipe the device and install a new OS. For these devices, installing software that you download as a compressed .iso file from a SD card or USB flash memory device is fast and cheap and a great alternative to buying an external optical reader. This is particularly useful to developers since most (if not all) of the software available via MSDN and DreamSpark is only available for download in the .iso format. Unfortunately there are not a lot of turn-key tools out there for burning from an .iso to a USB memory device.&lt;p /&gt; Microsoft has created the Windows 7 USB Download Tool which is really nice if your .iso is a Windows 7 operating system, but it fails when you try to use it with any other .iso. While searching for a work-around, I found this great blog post by Rafael Rivera with an explanation for why the Windows 7 USB Download tool won’t work with every .iso file: &lt;p /&gt; Read more: &lt;a href="http://coolthingoftheday.blogspot.com/2012/01/using-windows-7-usb-download-tool-iso.html"&gt;Greg&amp;#39;s Cool [Insert Clever Name] of the Day&lt;/a&gt;&lt;br /&gt;Read more: &lt;a href="http://blogs.msdn.com/b/mis_laboratory/archive/2012/01/30/using-the-windows-7-usb-download-tool-with-any-iso-file.aspx"&gt;Using the Windows 7 USB Download Tool with ANY .iso file&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="using-the-windows-7-usb-download-tool-with-any-iso-file.aspx" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://blogs.msdn.com/b/mis_laboratory/archive/2012/01/30/using-the-windows-7-usb-download-tool-with-any-iso-file.aspx" alt="using-the-windows-7-usb-download-tool-with-any-iso-file.aspx" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-2110917981161347082?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lwMByE2MAkQ:3kaIMr8jq0o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lwMByE2MAkQ:3kaIMr8jq0o:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=lwMByE2MAkQ:3kaIMr8jq0o:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lwMByE2MAkQ:3kaIMr8jq0o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=lwMByE2MAkQ:3kaIMr8jq0o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lwMByE2MAkQ:3kaIMr8jq0o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/lwMByE2MAkQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/2110917981161347082/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/using-windows-7-usb-download-tool-iso.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2110917981161347082?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2110917981161347082?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/lwMByE2MAkQ/using-windows-7-usb-download-tool-iso.html" title="Using the Windows 7 USB Download tool (the ISO to USB drive utility) for any ISO file" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/using-windows-7-usb-download-tool-iso.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MMQ34_fip7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-207651472678938373</id><published>2012-02-01T11:44:00.001+02:00</published><updated>2012-02-01T11:44:42.046+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:44:42.046+02:00</app:edited><title>MVVM Light template and WCF services (or any ASP.NET application for that matter)</title><content type="html">&lt;div class='posterous_autopost'&gt;I was recently made aware of a couple of people having issues with WCF services (or &lt;a href="http://ASP.NET"&gt;ASP.NET&lt;/a&gt; applications) when using the MVVM Light project template for Silverlight. There is a blog post and a StackOverflow question, so what exactly is happening there?&lt;p /&gt; Well in fact it is pretty simple when you know how Silverlight connects to web services. Due to the security model of Silverlight, the application cannot connect to a web site if it is not originating of this very website. In laymen’s terms, it means that the application can only connect to a web server if it also comes from the same webserver. For example, if the Silverlight application is served by &lt;a href="http://www.galasoft.com"&gt;http://www.galasoft.com&lt;/a&gt;, it won’t be able to connect to, say, &lt;a href="http://www.cnn.com"&gt;http://www.cnn.com&lt;/a&gt; without getting an exception. We talk about cross-domain access restrictions.&lt;p /&gt; Of course there are ways around that, for instance a website can specifically give access to Silverlight applications through a configuration file.&lt;p /&gt;In the case that concerns us, it is exactly what is happening. You see, the MVVM Light Silverlight project template creates a Silverlight application without an &lt;a href="http://ASP.NET"&gt;ASP.NET&lt;/a&gt; host. I didn’t add one because I didn’t want to complicate the template too much. And also, to be honest, because adding a web project is super easy, but of course only if you know how to do, and this is exactly what we will do here!&lt;br /&gt; Creating the application&lt;p /&gt;The steps to create the application and the WCF service are as follows:&lt;p /&gt;    Create the MVVM Light application using the MVVM Light project template for Silverlight.&lt;br /&gt;    Right click on the solution in the Solution Explorer and select &amp;quot;Add, New Project from the context menu.&lt;br /&gt;     From the WCF category, select a WCF Service Application and create it.&lt;br /&gt;    Build the application.&lt;br /&gt;    Right click on the MVVM Light project and select Add Service Reference from the context menu.&lt;br /&gt;    In the Add Service Reference dialog, click on Discover.&lt;br /&gt;     Make sure that the found service is the one you want to connect to, and click on OK.&lt;br /&gt;    In the MVVM Light application, open the file Model/DataService.cs and modify the code as follows:&lt;p /&gt;&lt;p /&gt;Read more: &lt;a href="http://blog.galasoft.ch/archive/2011/12/07/mvvm-light-template-and-wcf-services-or-any-asp.net-application.aspx"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="mvvm-light-template-and-wcf-services-or-any-asp.net-application.aspx" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://blog.galasoft.ch/archive/2011/12/07/mvvm-light-template-and-wcf-services-or-any-asp.net-application.aspx" alt="mvvm-light-template-and-wcf-services-or-any-asp.net-application.aspx" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-207651472678938373?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=kLbP_MttslU:YinXhLtr7v8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=kLbP_MttslU:YinXhLtr7v8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=kLbP_MttslU:YinXhLtr7v8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=kLbP_MttslU:YinXhLtr7v8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=kLbP_MttslU:YinXhLtr7v8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=kLbP_MttslU:YinXhLtr7v8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/kLbP_MttslU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/207651472678938373/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/mvvm-light-template-and-wcf-services-or.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/207651472678938373?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/207651472678938373?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/kLbP_MttslU/mvvm-light-template-and-wcf-services-or.html" title="MVVM Light template and WCF services (or any ASP.NET application for that matter)" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/mvvm-light-template-and-wcf-services-or.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MERXozfSp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-85923898671432208</id><published>2012-02-01T11:43:00.001+02:00</published><updated>2012-02-01T11:43:24.485+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:43:24.485+02:00</app:edited><title>Store Unicode in MySQL</title><content type="html">&lt;div class='posterous_autopost'&gt;This article will be useful when you are dealing with the multilingual site with database driven content. While dealing with multilingual website you may have faced the problem of data is not being either saved or retrieved properly.&lt;p /&gt; So what could be the reason for this? The reason is, you have not set proper Character set and Collation for the database and tables.&lt;p /&gt;So to make your database able to store unicode characters you need to make sure that you have covered below points:&lt;p /&gt; 1) Your Database Collation should be utf8_general_ci.&lt;br /&gt;2) Your Table Collation should be utf8_general_ci.&lt;br /&gt;3) Your Field in which you want to store Unicode should have utf8_general_ci collation.&lt;p /&gt;Let’s see how to set above things.&lt;p /&gt; 1) Set Database Collation and Character Set&lt;p /&gt;If you are not sure about my ealier article then you would like to refer my earlier article which show ways to change the MySQL Database Collation. For now if you want to want to change the database collation then you need to execute below query in your query browser.&lt;p /&gt;    ALTER SCHEMA `schema_name` DEFAULT CHARACTER SET utf8&lt;br /&gt;   COLLATE utf8_general_ci;&lt;p /&gt;2) Set Table Collation and Character Set&lt;p /&gt;After setting up the Database Collation and Character set, you need to change the Table Collation and Character Set in same manner. Have a look at below image for more information on how to set the Table Collation and Character set.&lt;p /&gt;   ALTER TABLE  `table_name` DEFAULT CHARACTER SET utf8&lt;br /&gt;  COLLATE utf8_general_ci;&lt;p /&gt;Read more: &lt;a href="http://www.xpertdeveloper.com/2012/01/store-unicode-in-mysql/"&gt;XpertDevelopers&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.xpertdeveloper.com/2012/01/store-unicode-in-mysql/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.xpertdeveloper.com/2012/01/store-unicode-in-mysql/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.xpertdeveloper.com/2012/01/store-unicode-in-mysql/" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-85923898671432208?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=xC-msELZa-E:YEgVx-OOq-U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=xC-msELZa-E:YEgVx-OOq-U:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=xC-msELZa-E:YEgVx-OOq-U:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=xC-msELZa-E:YEgVx-OOq-U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=xC-msELZa-E:YEgVx-OOq-U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=xC-msELZa-E:YEgVx-OOq-U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/xC-msELZa-E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/85923898671432208/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/store-unicode-in-mysql.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/85923898671432208?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/85923898671432208?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/xC-msELZa-E/store-unicode-in-mysql.html" title="Store Unicode in MySQL" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/store-unicode-in-mysql.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QHSXY6eCp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-8198564995457982965</id><published>2012-02-01T11:42:00.001+02:00</published><updated>2012-02-01T11:42:18.810+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:42:18.810+02:00</app:edited><title>How to Write a WinRT XAML Metro App</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img title="142017_fig1_VS11_NewProject-SM.jpg" src="http://www.devproconnections.com/content/content/142017/142017_fig1_VS11_NewProject-SM.jpg" alt="142017_fig1_VS11_NewProject-SM.jpg" /&gt;&lt;br /&gt; &lt;/div&gt;&lt;br /&gt;For anyone paying attention to the Microsoft space since September 2011, Windows Runtime (WinRT) has been a hot topic among the developer crowd as the platform for developing the next generation of Windows 8 immersive applications. The most exciting thing about WinRT is that both today&amp;#39;s web developers and XAML developers have a place in this new environment: WinRT runs just as well when using HTML5 and JavaScript as it does when using XAML and C#. This means that, a few API changes aside, skill reuse is at a maximum. Anyone who is currently working with Silverlight or Windows Presentation Foundation (WPF) should have no problem transitioning into WinRT.&lt;p /&gt; With that in mind, let&amp;#39;s take a closer look at WinRT. In this article, we will first explore one of the pre-defined templates in WinRT to see how it compares with the XAML we know today. Then we will start a new application from scratch using our existing XAML and C# skills.&lt;br /&gt; Diving In&lt;p /&gt;The first step in creating any application for WinRT is to open Visual Studio. With the Windows 8 Developer Preview, we also received access to the Visual Studio 11 Express Developer Preview, giving us everything we need to develop, run, and debug a WinRT application even in this early stage of WinRT&amp;#39;s life. Opening Visual Studio 11, we are presented with a familiar start screen, so we can click New Project to see what templates are installed with Visual Studio 11. Figure 1 shows the New Project screen. &lt;p /&gt; Read more: &lt;a href="http://www.devproconnections.com/article/windows8/winrt-xaml-metro-142017"&gt;DevProConnections&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="winrt-xaml-metro-142017" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.devproconnections.com/article/windows8/winrt-xaml-metro-142017" alt="winrt-xaml-metro-142017" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-8198564995457982965?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=hI5PUPn8Rac:hEK5yIPjsVE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=hI5PUPn8Rac:hEK5yIPjsVE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=hI5PUPn8Rac:hEK5yIPjsVE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=hI5PUPn8Rac:hEK5yIPjsVE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=hI5PUPn8Rac:hEK5yIPjsVE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=hI5PUPn8Rac:hEK5yIPjsVE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/hI5PUPn8Rac" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/8198564995457982965/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/how-to-write-winrt-xaml-metro-app.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8198564995457982965?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8198564995457982965?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/hI5PUPn8Rac/how-to-write-winrt-xaml-metro-app.html" title="How to Write a WinRT XAML Metro App" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/how-to-write-winrt-xaml-metro-app.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UHSH09eip7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-1864506695299051373</id><published>2012-02-01T11:40:00.001+02:00</published><updated>2012-02-01T11:40:39.362+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:40:39.362+02:00</app:edited><title>Currying vs partial function application</title><content type="html">&lt;div class='posterous_autopost'&gt;This is a slightly odd post, and before you read it you should probably put yourself into one of three buckets:&lt;p /&gt;    Someone who doesn&amp;#39;t care too much about functional programming, and finds higher order functions tricky: feel free to skip this post entirely.&lt;br /&gt;     Someone who knows all about functional programming, and already knows the difference between currying and partial function application: please read this post carefully and post comments about any inaccuracies you find. (Yes, the CAPTCHA is broken on Chrome; sorry.)&lt;br /&gt;     Someone who doesn&amp;#39;t know much about functional programming yet, but is interested to learn more: please take this post with a pinch of salt, and read the comments carefully. Read other articles by more experienced developers for more information.&lt;p /&gt; Basically, I&amp;#39;ve been aware for a while that some people use the terms currying and partial function application somewhat interchangably, when they shouldn&amp;#39;t. It&amp;#39;s one of those topics (like monads) which I feel I understand to some extent, and I&amp;#39;ve decided that the best way of making sure I understand it is to try to write about it. If it helps the topic become more accessible to other developers, so much the better.&lt;br /&gt; This post contains no Haskell&lt;p /&gt;Almost every explanation I&amp;#39;ve ever seen of either topic has given examples in a &amp;quot;proper&amp;quot; functional language, typically Haskell. I have absolutely nothing against Haskell, but I typically find it easier to understand examples in a programming language I understand. I also find it much easier to write examples in a program language I understand, so all the examples in this post are going to be in C#. In fact, it&amp;#39;s all available in a single file - that includes all of the examples, admittedly with a few variables renamed. Just compile and run.&lt;p /&gt; C# isn&amp;#39;t really a functional language - I know just about enough to understand that delegates aren&amp;#39;t really a proper substitute for first class functions. However, they&amp;#39;re good enough to demonstrate the principles involved.&lt;p /&gt; While it&amp;#39;s possible to demonstrate currying and partial function application using a function (method) taking a very small number of parameters, I&amp;#39;ve chosen to use 3 for clarity. Although my methods to perform the currying and partial function application will be generic (so all the types of parameters and return value are arbitrary) I&amp;#39;m using a simple function for demonstration purposes:&lt;br /&gt; static string SampleFunction(int a, int b, int c) &lt;br /&gt;{ &lt;br /&gt;    return string.Format(&amp;quot;a={0}; b={1}; c={2}&amp;quot;, a, b, c); &lt;br /&gt;}&lt;p /&gt;So far, so simple. There&amp;#39;s nothing tricky about that method, so don&amp;#39;t look for anything surprising.&lt;br /&gt; What&amp;#39;s it all about?&lt;p /&gt;Both currying and partial function application are about converting one sort of function to another. We&amp;#39;ll use delegates as an approximation to functions, so if we want to treat the method SampleFunction as a value, we can write:&lt;br /&gt; Func&amp;lt;int, int, int, string&amp;gt; function = SampleFunction;&lt;p /&gt;This single line is useful for two reasons:&lt;p /&gt;    Assigning the value to a variable hammers home the point that it really is a value. A delegate instance is an object much like any other, and the value of the function variable is a reference just like any other.&lt;br /&gt;     Method group conversions (using just the name of the method as a way of creating a delegate) doesn&amp;#39;t work terribly nicely with type inference when calling a generic method.&lt;p /&gt;&lt;br /&gt;Read more: &lt;a href="http://msmvps.com/blogs/jon_skeet/archive/2012/01/30/currying-vs-partial-function-application.aspx"&gt;Jon Skeet: Coding Blog&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="currying-vs-partial-function-application.aspx" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=msmvps.com/blogs/jon_skeet/archive/2012/01/30/currying-vs-partial-function-application.aspx" alt="currying-vs-partial-function-application.aspx" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-1864506695299051373?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=ljFPy-HgxZQ:psonz8DMkG0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=ljFPy-HgxZQ:psonz8DMkG0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=ljFPy-HgxZQ:psonz8DMkG0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=ljFPy-HgxZQ:psonz8DMkG0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=ljFPy-HgxZQ:psonz8DMkG0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=ljFPy-HgxZQ:psonz8DMkG0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/ljFPy-HgxZQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/1864506695299051373/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/currying-vs-partial-function.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/1864506695299051373?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/1864506695299051373?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/ljFPy-HgxZQ/currying-vs-partial-function.html" title="Currying vs partial function application" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/currying-vs-partial-function.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4CRH86fSp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-1823150219893083510</id><published>2012-02-01T11:36:00.001+02:00</published><updated>2012-02-01T11:36:05.115+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:36:05.115+02:00</app:edited><title>Improve WCF services testability with simple Dependency Injection</title><content type="html">&lt;div class='posterous_autopost'&gt;Dependency injection is a great technique to reduce coupling between components and improve testability. There are few techniques we can create dependency injections, you can use a framework like MEF or spring to Automate dependency injection but I personally favor manually injected dependencies. call me old fashion, but I like creating object via simple constructor calls (most of the time).&lt;p /&gt; This is really straight forward most of the time but when dealing with WCF services there is a slight complexity to take in to consideration. In most scenarios WCF is in charge of instantiating the service class (the only exception here is with single instance context mode, where we can supply ServiceHost with a ready made instance of our service class).&lt;p /&gt; Lately I have come across a really cool (and simple) option in WCF Web API. The WCF Web API supply an HttpConfiguration API that exposes a CreateInstance delegate we can use to manually create a new instance of our service class:&lt;br /&gt; HttpConfiguration config = new HttpConfiguration();&lt;br /&gt;config.CreateInstance = (type, context, message) =&amp;gt;&lt;br /&gt;{&lt;br /&gt;    IPlayersDal dal = new PlayersDal();&lt;br /&gt;    return new PlayersCURD(dal);&lt;br /&gt;};&lt;p /&gt;var factory = new HttpServiceHostFactory() { Configuration = config };&lt;p /&gt; While this API is cool, it can only be used for http based services (using the WCF Web API). I really felt like using something like that in a SOAP based project I am currently working on so I figured what the hack, I can create the similar solution (source code can be found here) for any WCF service host out there.&lt;p /&gt; The first stop was creating an IExtension&amp;lt;ServiceHostBase&amp;gt; that can transport the delegate down the WCF pipeline:&lt;br /&gt;class InstanceInitializerExtension : IExtension&amp;lt;ServiceHostBase&amp;gt;&lt;br /&gt;{&lt;br /&gt;    public Func&amp;lt;object&amp;gt; InstanceInitializer;&lt;p /&gt;     public void Attach(ServiceHostBase owner)&lt;br /&gt;    {&lt;br /&gt;    }&lt;p /&gt;    public void Detach(ServiceHostBase owner)&lt;br /&gt;    {&lt;br /&gt;    }&lt;br /&gt;}&lt;p /&gt;&lt;br /&gt;Read more: &lt;a href="http://blogs.microsoft.co.il/blogs/roadan/archive/2012/01/30/improve-wcf-services-testability-with-simple-dependency-injection.aspx"&gt;I&amp;#39;m on a mission from God object&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="improve-wcf-services-testability-with-simple-dependency-injection.aspx" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://blogs.microsoft.co.il/blogs/roadan/archive/2012/01/30/improve-wcf-services-testability-with-simple-dependency-injection.aspx" alt="improve-wcf-services-testability-with-simple-dependency-injection.aspx" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-1823150219893083510?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=riVHH6m9kV4:K2lgyOSObng:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=riVHH6m9kV4:K2lgyOSObng:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=riVHH6m9kV4:K2lgyOSObng:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=riVHH6m9kV4:K2lgyOSObng:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=riVHH6m9kV4:K2lgyOSObng:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=riVHH6m9kV4:K2lgyOSObng:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/riVHH6m9kV4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/1823150219893083510/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/improve-wcf-services-testability-with.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/1823150219893083510?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/1823150219893083510?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/riVHH6m9kV4/improve-wcf-services-testability-with.html" title="Improve WCF services testability with simple Dependency Injection" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/improve-wcf-services-testability-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkANQX04fCp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-4294102650828294130</id><published>2012-02-01T11:33:00.001+02:00</published><updated>2012-02-01T11:33:10.334+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T11:33:10.334+02:00</app:edited><title>Правоохранительные органы закрыли ex.ua</title><content type="html">&lt;div class='posterous_autopost'&gt;По непроверенной информации самый крупный украинский сервис хранения информации &lt;a href="http://EX.UA"&gt;EX.UA&lt;/a&gt; закрыт для интернет-аудитории. Неизвестные сотрудники правоохранительных огранов изъяли 200 серверов с общим объемом нелегального контента более 6000 терабайт. Кроме того, остановлено обслуживание и домена &lt;a href="http://EX.UA"&gt;EX.UA&lt;/a&gt;. По данным пользователей, файлообменник функционировал в понедельник вечером и утром во вторник.&lt;p /&gt; Хотя уже вчера некоторые украинские пользователи не могли попасть на сайт, так как там стояло ограничение доступа по IP-адресам.&lt;p /&gt;Так же стало известно, что доменное имя &lt;a href="http://EX.UA"&gt;EX.UA&lt;/a&gt; было снято с обслуживания.&lt;p /&gt; Read more: &lt;a href="http://habrahabr.ru/blogs/patent/137367/"&gt;Habrahabr.ru&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=habrahabr.ru/blogs/patent/137367/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=habrahabr.ru/blogs/patent/137367/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=habrahabr.ru/blogs/patent/137367/" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-4294102650828294130?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=jBbYCklt0TY:pyhUKqd-_wc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=jBbYCklt0TY:pyhUKqd-_wc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=jBbYCklt0TY:pyhUKqd-_wc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=jBbYCklt0TY:pyhUKqd-_wc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=jBbYCklt0TY:pyhUKqd-_wc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=jBbYCklt0TY:pyhUKqd-_wc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/jBbYCklt0TY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/4294102650828294130/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/exua.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/4294102650828294130?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/4294102650828294130?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/jBbYCklt0TY/exua.html" title="Правоохранительные органы закрыли ex.ua" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/exua.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcMQ3kzeSp7ImA9WhRUGUQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-9036373655902163868</id><published>2012-01-31T09:48:00.001+02:00</published><updated>2012-01-31T09:48:02.781+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-31T09:48:02.781+02:00</app:edited><title>שבע סיבות לעזוב הכל ולהקים סטארטאפ בהודו</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: right;"&gt;במהלך השנים נפגשתי עם הרבה יזמים וכאלו שרוצים להיות יזמים. בשלב הראשוני, מדובר לרוב בצוות של שניים עד חמישה אנשים מוכשרים, או מוכשרים לכאורה, עם רעיון ומוכנות להקדיש לו זמן. אך זמן צריך יותר ממה שנדמה בתחילה וזמן אינו השיקול היחידי. אני מדבר בעיקר על המרתון הראשוני של פיתוח אב הטיפוס. הוכחת היתכנות. מרתון קשה שהרבה לא מגיעים לסופו. למען כמה חודשים של צירי לידה למיזם, יש לי הצעה אחרת בשבילכם. טוסו להודו מחר ותתחילו את הסטארטאפ שלכם. לא, לא לסיליקון וואלי. כן, דווקא להודו.&lt;p /&gt; &amp;quot;למה” אתם שואלים? כי זו הודו.&lt;p /&gt;&lt;br /&gt;סיבה 1: זול לחיות ולהנות בהודו&lt;p /&gt;נדמה כי רבים מהיזמים בישראל נמצאים במעמד כלכלי בינוני כזה או אחר. לפחות אלו שלא עשו אקזיט עדיין. שיקולי עלות המחייה, על אף חשיבותם, תופסים מקום גדול מידי בהחלטה על פתיחת הסטארטאפ וכן על החלטות הרות גורל להמשכו.&lt;p /&gt; אני כרגע כותב אליכם מחדר נוח במיוחד בגואה, הכולל מרפסת וגינה במרחק של ארבע דקות הליכה מחוף פאלולים שהוא אחד החופים היפים בגואה. העלות שלו יקרה יחסית להודו כיוון שמדובר בגואה ובשיא העונה. אני אוכל את רוב ארוחותי במסעדות והמחירים &amp;quot;מופקעים בטירוף&amp;quot; כיוון שמדובר באזור תיירותי. כל הפינוקים האלו מאפשרים לי להקדיש את מירב תשומת הלב לפיתוח אתר האספנות קולנקט מהמרפסת וכן לנסות ליצור קשרים עסקיים עם אנשים אקראיים שאני פוגש בדרך. סכום הכסף שאני מוציא על ההההכל פה, ספק אם היה מספיק לי לשכור אפילו מחסן קטן ורעוע בפתח-תקוה.&lt;p /&gt; היתרון הגדול של מחייה בזול היא שיש הרבה פחות לחץ למשוך משכורת מהסטארטאפ. כאשר אתה מחשב את החיים שלך ברופי ואילו את הסטארטאפ בדולרים או שקלים, היעדר הלחץ מפנה מקום לפיתוח נטו. לרחשם של הגלים ובצילם של העצים יש מספיק מרחב נשימה להרגע ולהמשיך הלאה – לקדם.&lt;p /&gt; &lt;p /&gt;סיבה 2: תתחברו לניתוק&lt;p /&gt;אני אוהב את המשפחה והחברים שלי. כל כך אוהב אותם שלעיתים תכופות מידי הם נמצאים במקום גבוה יותר בסדר העדיפויות שלי מהסטארטאפ. סטארטאפ בתחילתו הוא כמו תינוק. התינוקות הרגילים מגיעים באופן טבעי וצריך רק לתת להם ולהצליח לשרוד את התהליך. פה אנחנו מדברים על תינוק עשה-זאת-בעצמך שאתה צריך להרכיב ידנית ואז איכשהו להקים לתחיה בסופו של דבר. סטארטאפ זקוק למירב תשומת הלב שלכם. המחלקה לפתרון בעיות במוח שלך צריכה להיות מוקדשת באופן בלעדי ככל הניתן למיזם. כשאתם קרובים פיזית אל הקרובים ללבכם כל ענייניהם היומיומיים נוגסים בהתקדמות המיזם. כשאתם רחוקים, שיחת סקייפ פעם בשבוע וכמה מיילים מספיקים.&lt;br /&gt; &lt;/div&gt;&lt;p /&gt;&lt;div&gt;Read more: &lt;a href="http://www.newsgeek.co.il/startup-in-india/"&gt;newsGeek&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.newsgeek.co.il/startup-in-india/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.newsgeek.co.il/startup-in-india/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.newsgeek.co.il/startup-in-india/" /&gt;&lt;br /&gt; &lt;/div&gt;      &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-9036373655902163868?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=FKJ8YUU2SFw:loyXCJnjuUY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=FKJ8YUU2SFw:loyXCJnjuUY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=FKJ8YUU2SFw:loyXCJnjuUY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=FKJ8YUU2SFw:loyXCJnjuUY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=FKJ8YUU2SFw:loyXCJnjuUY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=FKJ8YUU2SFw:loyXCJnjuUY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/FKJ8YUU2SFw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/9036373655902163868/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/01/blog-post_31.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/9036373655902163868?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/9036373655902163868?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/FKJ8YUU2SFw/blog-post_31.html" title="שבע סיבות לעזוב הכל ולהקים סטארטאפ בהודו" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/01/blog-post_31.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcERHY4cSp7ImA9WhRUGUQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-9115386570506666893</id><published>2012-01-31T09:46:00.001+02:00</published><updated>2012-01-31T09:46:45.839+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-31T09:46:45.839+02:00</app:edited><title>Shmoocon Demo Shows Easy, Wireless Credit Card Fraud</title><content type="html">&lt;div class='posterous_autopost'&gt;   [Security researcher Kristin] Paget aimed to indisputably prove what hackers have long known and the payment card industry has repeatedly downplayed and denied: That RFID-enabled credit card data can be easily, cheaply, and undetectably stolen and used for fraudulent transactions. With a Vivotech RFID credit card reader she bought on eBay for $50, Paget wirelessly read a volunteer&amp;#39;s credit card onstage and obtained the card&amp;#39;s number and expiration date, along with the one-time CVV number used by contactless cards to authenticate payments. A second later, she used a $300 card-magnetizing tool to encode that data onto a blank card. And then, with a Square attachment for the iPhone that allows anyone to swipe a card and receive payments, she paid herself $15 of the volunteer&amp;#39;s money with the counterfeit card she&amp;#39;d just created. (She also handed the volunteer a twenty dollar bill, essentially selling the bill on stage for $15 to avoid any charges of illegal fraud.) ... A stealthy attacker in a crowded public place could easily scan hundreds of cards through wallets or purses.&lt;p /&gt; Read more: &lt;a href="http://it.slashdot.org/story/12/01/30/177220/shmoocon-demo-shows-easy-wireless-credit-card-fraud"&gt;Slashdot&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="shmoocon-demo-shows-easy-wireless-credit-card-fraud" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=it.slashdot.org/story/12/01/30/177220/shmoocon-demo-shows-easy-wireless-credit-card-fraud" alt="shmoocon-demo-shows-easy-wireless-credit-card-fraud" /&gt;       &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://jasper-net.blogspot.com/"&gt;Jasper-Net&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4428930216417783699-9115386570506666893?l=jasper-net.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=_HvxHuLko6A:AQhC10rbk1s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=_HvxHuLko6A:AQhC10rbk1s:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=_HvxHuLko6A:AQhC10rbk1s:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=_HvxHuLko6A:AQhC10rbk1s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=_HvxHuLko6A:AQhC10rbk1s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=_HvxHuLko6A:AQhC10rbk1s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/jasper22/net-info/~4/_HvxHuLko6A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/9115386570506666893/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/01/shmoocon-demo-shows-easy-wireless.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/9115386570506666893?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/9115386570506666893?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/_HvxHuLko6A/shmoocon-demo-shows-easy-wireless.html" title="Shmoocon Demo Shows Easy, Wireless Credit Card Fraud" /><author><name>jasper22</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://3.bp.blogspot.com/_vYP68RLQJWQ/S1XOYSfmg-I/AAAAAAAAW8o/DFCQUhJrmjQ/S220/fish.jpeg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/01/shmoocon-demo-shows-easy-wireless.html</feedburner:origLink></entry></feed>

