<?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;AkECQnw5fip7ImA9WhVTEUs.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699</id><updated>2012-02-25T13:17:43.226+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>8125</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;CUMMSXgzfyp7ImA9WhRaGUQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-1008440898974516149</id><published>2012-02-23T12:38:00.001+02:00</published><updated>2012-02-23T12:38:08.687+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-23T12:38:08.687+02:00</app:edited><title>Supporting 32-Bit I/O in Your 64-Bit Driver</title><content type="html">&lt;div class='posterous_autopost'&gt;Windows on Windows (WOW64) enables Microsoft Win32 user-mode applications to run on 64-bit Windows. It does this by intercepting Win32 function calls and converting parameters from pointer-precision types to fixed-precision types as appropriate before making the transition to the 64-bit kernel. This conversion, which is called thunking, is done automatically for all Win32 functions, with one important exception: the data buffers passed to DeviceIoControl. The contents of these buffers, which are pointed to by the InputBuffer and OutputBuffer parameters, are not thunked, because their structure is driver-specific.&lt;p /&gt; Note   Although the buffer contents are not thunked, the buffer pointers are converted into 64-bit pointers.&lt;p /&gt;User-mode applications call DeviceIoControl to send an I/O request directly to a specified kernel-mode driver. This request contains an I/O control code (IOCTL) or file system control code (FSCTL) and pointers to input and output data buffers. The format of these data buffers is specific to the IOCTL or FSCTL, which in turn is defined by the kernel-mode driver. Because the buffer format is arbitrary, and because it is known to the driver and not WOW64, the task of thunking the data is left to the driver.&lt;p /&gt; Your 64-bit driver must support 32-bit I/O if all of the following are true:&lt;p /&gt;    The driver exposes an IOCTL (or FSCTL) to user-mode applications.&lt;p /&gt;    At least one of the I/O buffers used by the IOCTL contains pointer-precision data types.&lt;p /&gt;     Your IOCTL code cannot easily be rewritten to eliminate the use of pointer-precision buffer data types.&lt;p /&gt;&lt;br /&gt;Read more: &lt;a href="http://msdn.microsoft.com/en-us/library/ff563897%28v=vs.85%29.aspx"&gt;MSDN&lt;/a&gt;&lt;br /&gt; QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://msdn.microsoft.com/en-us/library/ff563897%28v=vs.85%29.aspx" alt="Inline image 1" /&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-1008440898974516149?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=PdUQkNU_xZ0:79_Hvbv3yew: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=PdUQkNU_xZ0:79_Hvbv3yew:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=PdUQkNU_xZ0:79_Hvbv3yew:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=PdUQkNU_xZ0:79_Hvbv3yew:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=PdUQkNU_xZ0:79_Hvbv3yew:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=PdUQkNU_xZ0:79_Hvbv3yew: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/PdUQkNU_xZ0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/1008440898974516149/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/supporting-32-bit-io-in-your-64-bit.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/1008440898974516149?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/1008440898974516149?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/PdUQkNU_xZ0/supporting-32-bit-io-in-your-64-bit.html" title="Supporting 32-Bit I/O in Your 64-Bit Driver" /><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/supporting-32-bit-io-in-your-64-bit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EHR3c4cSp7ImA9WhRaGUU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-6612082861480878364</id><published>2012-02-23T11:33:00.001+02:00</published><updated>2012-02-23T11:33:56.939+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-23T11:33:56.939+02:00</app:edited><title>Не стоит паниковать по поводу слабых RSA ключей — просто заботьтесь о своих P и Q</title><content type="html">&lt;div class='posterous_autopost'&gt;Вы возможно уже видели препринт опубликованный сегодня Ленстрой и др (обсуждение на хабре) о проблемах с энтропией в криптографических системах с открытыми ключами. Закир Дурумерик, Ерик Вустров, Алекс Халдерман, и Я (Надя Хенингер) ждали, чтобы раскрыть похожие результаты. Мы опубликуем полную статью после того, как все задействованные производители будут оповещены. А между тем мы хотим предоставить более полное объяснение того, что же реально происходит.&lt;p /&gt; Мы смогли удалено скомпрометировать около 0.4 % от всех открытых ключей, используемых веб сайтами для SSL. Все скомпрометированные ключи были неправильно сгенерированы, с использованием предсказуемых «рандомных» чисел, которые к тому же ещё и иногда повторялись. Всего мы можем выделить два типа проблем: ключи, сгенерированные с предсказуемой рандомностью, и подмножество этих ключей, для которых нехватка рандомности позволяет атакующему быстро факторизовать открытый ключ и получить секретный ключ. Имея секретный ключ, атакующий сможет выдать себя за вебсайт и возможно сможет расшифровывать зашифрованный трафик направленый на этот сайт. Мы разработали программу которая за пару часов может факторизовать открытые ключи и выдавать секретные ключи для всех хостов уязвимых к этой атаке.&lt;p /&gt; Тем не менее, не стоит паниковать, так как в основном проблема влияет на встраиваемые системы, такие как маршрутизаторы и VPN, и не касается полномасштабных серверов. (Во всяком случае это точно не причина терять доверенность к электронной коммерции, как это предполагает New York Times). К сожалению, мы нашли устройства с этой проблемой практически у каждого производителя и мы подозреваем, что около 200.000 устройств, представляющих 4.1% от всех ключей в наших данных, использовали плохую энтропию для генерации ключей. Любой найденный слабый ключ сгенерированный устройством предполагает, что весь класс этих устройств уязвим для атаки при должном анализе.&lt;p /&gt; Мы не будем предоставлять полный список уязвимых устройств до того как мы свяжемся со всеми производителями, но используя уже опубликованные материалы можно довольно легко воспроизвести атаку. Поэтому мы сейчас работаем над веб сайтом, который позволит определить уязвимо ли ваше устройство.&lt;p /&gt; Не волнуйтесь, ключ вашего банка скорее всего в безопасности.&lt;p /&gt;SSL используется каждым большим сайтом в Интернете, но как показывает наш анализ, эти ключи не подвержены проблемам описанным в этом посте.&lt;p /&gt; Read more: &lt;a href="http://habrahabr.ru/blogs/infosecurity/138690/"&gt;Habrahabr.ru&lt;/a&gt;&lt;br /&gt; QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/infosecurity/138690/" alt="Inline image 1" /&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-6612082861480878364?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=hEQabxNYcKw:RbIMxVI1XdQ: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=hEQabxNYcKw:RbIMxVI1XdQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=hEQabxNYcKw:RbIMxVI1XdQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=hEQabxNYcKw:RbIMxVI1XdQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=hEQabxNYcKw:RbIMxVI1XdQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=hEQabxNYcKw:RbIMxVI1XdQ: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/hEQabxNYcKw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/6612082861480878364/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/rsa-p-q.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/6612082861480878364?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/6612082861480878364?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/hEQabxNYcKw/rsa-p-q.html" title="Не стоит паниковать по поводу слабых RSA ключей — просто заботьтесь о своих P и Q" /><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/rsa-p-q.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IBSXk-fCp7ImA9WhRaGUU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-5831169255922626773</id><published>2012-02-23T11:32:00.001+02:00</published><updated>2012-02-23T11:32:38.754+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-23T11:32:38.754+02:00</app:edited><title>Execute GIMP filters in C#</title><content type="html">&lt;div class='posterous_autopost'&gt;First of all you need to install GIMP. After that, set the path variable (C:\Program Files\GIMP-2.0\bin). Now write a GIMP script and save it with the .scm extention in the C:\Users\[username]\.gimp-2.6\scripts folder. You can write various GIMP scripts. You get details about GIMP filters from the pluginrc file in your home floder(C:\Users\dhanu-sdu\.gimp-2.6).&lt;p /&gt; GIMP script for Unsharpmask filter&lt;p /&gt;(define (simple-unsharp-mask filename&lt;br /&gt;                             radius&lt;br /&gt;                             amount&lt;br /&gt;                             threshold)&lt;br /&gt;   (let* ((image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))&lt;br /&gt;           (drawable (car (gimp-image-get-active-layer image))))&lt;br /&gt;     (plug-in-unsharp-mask RUN-NONINTERACTIVE&lt;br /&gt;                       image drawable radius amount threshold)&lt;br /&gt;     (set! drawable (car (gimp-image-get-active-layer image)))&lt;br /&gt;      (gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)&lt;br /&gt;     (gimp-image-delete image)))&lt;p /&gt;Now in the C# application, construct the command and execute in the command line:&lt;p /&gt;private void unsharpMaskButton_Click(object sender, EventArgs e)&lt;br /&gt; {&lt;br /&gt;    try&lt;br /&gt;    {&lt;br /&gt;        if (!string.IsNullOrEmpty(choosenFile))&lt;br /&gt;        {&lt;br /&gt;            int radius = radiusTrackBar.Value;&lt;br /&gt;            int amount = amountTrackBar.Value;&lt;br /&gt;            int threshold = ThresholdTrackBar.Value;&lt;br /&gt;             string path = choosenFile.Replace(@&amp;quot;\&amp;quot;, @&amp;quot;\\&amp;quot;);&lt;br /&gt;            //creating the command&lt;br /&gt;            string a = @&amp;quot;gimp-2.6.exe -i -b &amp;quot;&amp;quot;(simple-unsharp-mask \&amp;quot;&amp;quot;&amp;quot; + &lt;br /&gt;                    path + @&amp;quot;\&amp;quot;&amp;quot; &amp;quot; + radius + &amp;quot; &amp;quot; + amount + &amp;quot; &amp;quot; + threshold +&lt;br /&gt;                   @&amp;quot;)&amp;quot;&amp;quot; -b &amp;quot;&amp;quot;(gimp-quit 0)&amp;quot;&amp;quot;&amp;quot;;&lt;br /&gt;            //execute gimp filter in command line&lt;br /&gt;             string result = ExecuteCommandSync(a);&lt;br /&gt;            //sets the new image as the pictureBox image&lt;br /&gt;            Bitmap newImage = (Bitmap)Image.FromFile(choosenFile);&lt;br /&gt;            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;&lt;br /&gt;             pictureBox1.Image = new Bitmap(newImage);&lt;br /&gt;            newImage.Dispose();&lt;br /&gt;            newImage = null;&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            MessageBox.Show(&amp;quot;please select a image&amp;quot;);&lt;br /&gt;         }&lt;br /&gt;    }&lt;br /&gt;    catch (Exception a)&lt;br /&gt;    {&lt;br /&gt;        MessageBox.Show(a.ToString());&lt;br /&gt;    }&lt;br /&gt;}&lt;p /&gt;Read more: &lt;a href="http://www.codeproject.com/Tips/332376/Execute-Gimp-filters-in-Csharp"&gt;Codeproject&lt;/a&gt;&lt;br /&gt; QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.codeproject.com/Tips/332376/Execute-Gimp-filters-in-Csharp" alt="Inline image 1" /&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-5831169255922626773?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=iDjPLTDHoq4:WNoci829-e0: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=iDjPLTDHoq4:WNoci829-e0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=iDjPLTDHoq4:WNoci829-e0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=iDjPLTDHoq4:WNoci829-e0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=iDjPLTDHoq4:WNoci829-e0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=iDjPLTDHoq4:WNoci829-e0: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/iDjPLTDHoq4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/5831169255922626773/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/execute-gimp-filters-in-c.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5831169255922626773?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5831169255922626773?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/iDjPLTDHoq4/execute-gimp-filters-in-c.html" title="Execute GIMP filters in C#" /><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/execute-gimp-filters-in-c.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MNSXk-eip7ImA9WhRaGUU.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-7794569263328491620</id><published>2012-02-23T11:31:00.001+02:00</published><updated>2012-02-23T11:31:38.752+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-23T11:31:38.752+02:00</app:edited><title>Практическое применение DNSSEC</title><content type="html">&lt;div class='posterous_autopost'&gt;В статье описываются недостатки существующей структуры DNS, полный процесс внедрения DNSSEC на примере доменов .com и .org, процедура создания валидного самоподписанного SSL-сертификата подписанного с помощью DNSSEC.&lt;p /&gt; &lt;p /&gt;Чем плох DNS&lt;p /&gt;&lt;br /&gt;Система DNS в нынешнем виде была разработана более 20 лет назад, когда о защите информации не особенно задумывались. Она имеет несколько фундаментальных уязвимостей.&lt;p /&gt;Достоверность ответа DNS-сервера никак не проверяется. Это позволяет отправить пользователя, обратившегося к доменному имени, на произвольный IP-адрес, подменив ответ сервера. На практике подобная атака может выглядеть так.&lt;p /&gt; Также уязвимы кеширующие DNS-серверы провайдеров, выступающие как резолверы для клиентов: Атака Каминского.&lt;p /&gt;Сегодня существуют технологии, предусматривающие хранение открытых ключей в DNS-записях, например, DKIM-подписи в электронной почте, SSH-ключей в записях SSHFP и т.д. Все эти технологии требуют защиты от подделки DNS.&lt;p /&gt; Теория DNSSEC&lt;p /&gt;&lt;br /&gt;DNSSEC — технология, позволяющая однозначно удостовериться в подлинности DNS информации при помощи криптографической подписи.&lt;p /&gt;Популярно о DNSSEC можно прочитать здесь: &lt;a href="http://dxdt.ru/2009/03/04/2163/"&gt;dxdt.ru/2009/03/04/2163/&lt;/a&gt;&lt;p /&gt; Более подробно здесь: &lt;a href="http://habrahabr.ru/blogs/sysadm/120620/"&gt;habrahabr.ru/blogs/sysadm/120620/&lt;/a&gt;&lt;p /&gt;И на сайте Verisign.com&lt;p /&gt;Перед продолжением настоятельно рекомендуется внимательно прочитать вышеприведенные ссылки, так как на первый взгляд процедура подписания зоны кажется довольно запутанной.&lt;p /&gt; &lt;br /&gt;Максимально упрощенно это выглядит примерно так: есть корневая зона &amp;quot;.&amp;quot;, которая содержит в себе информацию о всех доменах первого уровня. Условно говоря, это текстовый файл с некоторым множеством строк, который изменяется не очень часто. Создается пара открытый/закрытый ключ и каждая строка в этом файле подписывается (по типу «clear sign» в PGP/GPG, которая используется в электронной почте для открытого подписания текста и начинается с «BEGIN PGP SIGNATURE»).&lt;br /&gt; Теперь, имея открытый ключ от этой пары, можно удостовериться в подлинности каждой записи в этом списке. Например, проверить, что за зону «ru.» действительно отвечают серверы &lt;a href="http://ripn.net"&gt;ripn.net&lt;/a&gt;:&lt;p /&gt; dig -t any +dnssec @&lt;a href="http://k.root-servers.net"&gt;k.root-servers.net&lt;/a&gt; ru.&lt;p /&gt;&lt;br /&gt;Read more: &lt;a href="http://habrahabr.ru/blogs/infosecurity/138490/"&gt;Habrahabr.ru&lt;/a&gt;&lt;br /&gt;QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/infosecurity/138490/" alt="Inline image 1" /&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-7794569263328491620?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=8N57X1D9tbM:58i4ctOUEZs: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=8N57X1D9tbM:58i4ctOUEZs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=8N57X1D9tbM:58i4ctOUEZs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=8N57X1D9tbM:58i4ctOUEZs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=8N57X1D9tbM:58i4ctOUEZs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=8N57X1D9tbM:58i4ctOUEZs: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/8N57X1D9tbM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/7794569263328491620/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/dnssec.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7794569263328491620?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7794569263328491620?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/8N57X1D9tbM/dnssec.html" title="Практическое применение DNSSEC" /><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/dnssec.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UHQHwyeip7ImA9WhRaGE4.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-2142474826900420621</id><published>2012-02-21T16:40:00.001+02:00</published><updated>2012-02-21T16:40:31.292+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-21T16:40:31.292+02:00</app:edited><title>VisualDDK - develop/debug drivers directly from VS</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://visualddk.sysprogs.org/screenshots/dbg1.gif" height="308" alt="Inline image 2" width="420" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p /&gt;Overview&lt;p /&gt;Welcome to the VisualDDK homepage. This project brings the simplicity and convenience of Windows application development to the driver development world. No more manual creation of build scripts, copying of driver files, installing drivers from INFs, switching between WinDbg and the source editor or waiting for seconds after each step due to the extra-slow virtual COM port. Just create a driver project using a convenient Driver Wizard, select a virtual machine, and enjoy debugging your driver directly from Visual Studio. Want to test a change? Just normally press Shift-F5, modify your driver, rebuild it and launch again. VisualDDK will unload the old driver, install the new one and load it automatically and quickly. Bored with WinDbg loading symbol files for minutes and looking up symbols for seconds? Just let VisualDDK optimize this for you using its own DIA-based symbol engine. Using C++/STLPort in your drivers? VisualDDK will natively visualize all STL containers and strings, as good as Visual Studio does for user-mode applications.&lt;p /&gt; Note that Visual Studio by default queries lots of values from debuggee after each break/step (such as Autos, all locals, call stack, etc.). If you are planning to use VisualDDK with VMWare or VirtualBox, use the VirtualKD project (installed with VisualDDK), that replaces Virtual COM Port for VMWare and VirtualBox machines by a native KD interface, speeding up debugging ~18x for VMWare and ~48x for VirtualBox. Nevertheless, see the debugging speedup guide for more details.&lt;p /&gt; Read more: &lt;a href="http://visualddk.sysprogs.org/"&gt;VisualDDK&lt;/a&gt;&lt;br /&gt;QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://visualddk.sysprogs.org/" alt="Inline image 1" /&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-2142474826900420621?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=hSeh0w5HDR0:cTNHrVAkw9g: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=hSeh0w5HDR0:cTNHrVAkw9g:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=hSeh0w5HDR0:cTNHrVAkw9g:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=hSeh0w5HDR0:cTNHrVAkw9g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=hSeh0w5HDR0:cTNHrVAkw9g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=hSeh0w5HDR0:cTNHrVAkw9g: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/hSeh0w5HDR0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/2142474826900420621/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/visualddk-developdebug-drivers-directly.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2142474826900420621?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2142474826900420621?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/hSeh0w5HDR0/visualddk-developdebug-drivers-directly.html" title="VisualDDK - develop/debug drivers directly from VS" /><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/visualddk-developdebug-drivers-directly.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8GQXw8cSp7ImA9WhRaF04.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-3450750403320787035</id><published>2012-02-20T12:47:00.001+02:00</published><updated>2012-02-20T12:47:00.279+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-20T12:47:00.279+02:00</app:edited><title>Skypekit.NET</title><content type="html">&lt;div class='posterous_autopost'&gt;Introduction&lt;p /&gt;Some developers today tend to use Skypekit in their applications to make it more interactive with the user. Skype API is very awesome indeed but the problem is it is only available in C++, Java and Python. I can&amp;#39;t understand why Microsoft didn&amp;#39;t develop API for .NET so we can develop it in C# or &lt;a href="http://VB.NET"&gt;VB.NET&lt;/a&gt;.&lt;p /&gt; I&amp;#39;m one of those, I needed to embed Skype into my graduation project and after I paid the 5$ fees and downloaded the SDK and Runtime I was surprised when I found that there is no support for the .NET languages.&lt;p /&gt; So, the only way I found is to convert C++ methods into a COM component then I can call it in C# using DLLImport. And I spent weeks trying to do this solution but all in vain.&lt;p /&gt;A punch of errors came to my face when I tried to create a new C++ project away from their pre-made tutorials. I was very sad with this result.&lt;p /&gt; I tried to do it in Python but for some reason the socket couldn&amp;#39;t make the connection to Skype.&lt;p /&gt;Then I found the magic tool IKVM.&lt;p /&gt;&lt;br /&gt;Background&lt;p /&gt;IKVM is a tool that is used to convert Java Applications to .NET Executables (.exe) and Assemblies (.dll).&lt;p /&gt; I used it to convert the Skype Class in their ready-made Java Classes into a .NET &amp;#39;skypekit&amp;#39; class&lt;p /&gt;Then I manually converted all the Java utilities Code to their corresponding C# code including:&lt;p /&gt;     AppKeyPairMgr Class&lt;br /&gt;    Listeners Class&lt;br /&gt;    MySession Class&lt;br /&gt;    ParseSkypeKitVersion Class&lt;br /&gt;    PrintStream Class&lt;br /&gt;    SignInMgr Class&lt;br /&gt;    XmlStrMgr Class&lt;p /&gt;Read more: &lt;a href="http://www.codeproject.com/Articles/330778/Skypekit-NET"&gt;Codeproject&lt;/a&gt;&lt;br /&gt; QR: &lt;img 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/330778/Skypekit-NET" alt="Inline image 1" /&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-3450750403320787035?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=mEDJdRR61vg:VXlwgt8DCHY: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=mEDJdRR61vg:VXlwgt8DCHY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=mEDJdRR61vg:VXlwgt8DCHY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=mEDJdRR61vg:VXlwgt8DCHY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=mEDJdRR61vg:VXlwgt8DCHY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=mEDJdRR61vg:VXlwgt8DCHY: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/mEDJdRR61vg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/3450750403320787035/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/skypekitnet.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3450750403320787035?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3450750403320787035?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/mEDJdRR61vg/skypekitnet.html" title="Skypekit.NET" /><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/skypekitnet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMCQ3w8eCp7ImA9WhRaF04.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-5515357936949035516</id><published>2012-02-20T12:41:00.001+02:00</published><updated>2012-02-20T12:41:02.270+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-20T12:41:02.270+02:00</app:edited><title>How to release an unmanaged library loaded into managed .NET code</title><content type="html">&lt;div class='posterous_autopost'&gt;Motivation&lt;p /&gt;I had found this article on how to release a DLL library already loaded into a process using P-Invoke. It uses the LoadLibrary() and FreeLibrary() WinAPI calls to achieve this.&lt;p /&gt;And what is wrong with it?&lt;p /&gt; It forces to unload all instances of the DLL library currently loaded within the process. Which means, that in the case you have more than one instance of the class using these external functions, all these will stop working!&lt;p /&gt; And that is not all - you cannot use this DLL in the same application domain again after unloading.&lt;p /&gt;&lt;br /&gt;Solution&lt;p /&gt;The solution is a pretty simple one, but I have to say that it wasn&amp;#39;t very obvious to me at the beginning. You can use P-Invoke to import the following standard WinAPI functions for dynamical function loading:&lt;p /&gt;     LoadLibrary()&lt;br /&gt;    FreeLibrary()&lt;br /&gt;    GetProcAddress()&lt;p /&gt;We will use the following wrapping class:&lt;p /&gt;internal static class UnsafeMethods&lt;br /&gt;{&lt;br /&gt;    [DllImport(&amp;quot;kernel32.dll&amp;quot;, SetLastError = true)]&lt;br /&gt;     internal extern static IntPtr LoadLibrary(string libraryName);&lt;br /&gt;    [DllImport(&amp;quot;kernel32.dll&amp;quot;, SetLastError = true)]&lt;br /&gt;    internal extern static bool FreeLibrary(IntPtr hModule);&lt;br /&gt;    [DllImport(&amp;quot;kernel32.dll&amp;quot;, SetLastError = true)]&lt;br /&gt;     internal extern static IntPtr GetProcAddress(IntPtr hModule, string procName);&lt;br /&gt;}&lt;p /&gt;We also need signatures of the imported functions - we will convert them into delegates (the following ones come from the sample project):&lt;p /&gt; &lt;br /&gt;// int multiply(int value1, int value2);&lt;br /&gt;private delegate int MultiplyDelegate(int value1, int value2);&lt;br /&gt;// int str2int(const char *input);&lt;br /&gt;private delegate int Str2IntDelegate([MarshalAs(UnmanagedType.LPStr)]string source);&lt;p /&gt; &lt;br /&gt;Read more: &lt;a href="http://www.codeproject.com/Articles/258270/How-to-release-non-managed-library-loaded-into-man"&gt;Codeproject&lt;/a&gt;&lt;br /&gt;QR: &lt;img 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/258270/How-to-release-non-managed-library-loaded-into-man" alt="Inline image 1" /&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-5515357936949035516?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=NWtMk0uk-9E:yCgiMZLh3VQ: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=NWtMk0uk-9E:yCgiMZLh3VQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=NWtMk0uk-9E:yCgiMZLh3VQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=NWtMk0uk-9E:yCgiMZLh3VQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=NWtMk0uk-9E:yCgiMZLh3VQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=NWtMk0uk-9E:yCgiMZLh3VQ: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/NWtMk0uk-9E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/5515357936949035516/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/how-to-release-unmanaged-library-loaded.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5515357936949035516?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5515357936949035516?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/NWtMk0uk-9E/how-to-release-unmanaged-library-loaded.html" title="How to release an unmanaged library loaded into managed .NET code" /><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-release-unmanaged-library-loaded.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUNQHo_fyp7ImA9WhRaF04.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-8013301959055418658</id><published>2012-02-20T12:38:00.001+02:00</published><updated>2012-02-20T12:38:11.447+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-20T12:38:11.447+02:00</app:edited><title>Design pattern FAQ Part 1 (Training)</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;h2 style="font-weight: normal;"&gt;Design Pattern FAQ &lt;/h2&gt; &lt;p&gt;&lt;a href="http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training#Whataredesignpatterns"&gt;What are design patterns?&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training#Canyouexplainfactorypattern"&gt;Can you explain factory pattern?&lt;/a&gt; &lt;br /&gt; &lt;a href="http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training#Canyouexplainabstractfactorypattern"&gt;Can you explain abstract factory pattern?&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training#Canyouexplainbuilderpattern"&gt;Can you explain builder pattern?&lt;/a&gt; &lt;br /&gt; &lt;a href="http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training#Canyouexplainprototypepattern"&gt;Can you explain prototype pattern?&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training#Canyouexplainshallowcopyanddeepcopyinprototypepatterns"&gt;Can you explain shallow copy and deep copy in prototype patterns?&lt;/a&gt; &lt;br /&gt; &lt;a href="http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training#Canyouexplainsingletonpattern"&gt;Can you explain singleton pattern?&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training#Canyouexplaincommandpatterns"&gt;Can you explain command patterns?&lt;/a&gt; &lt;/p&gt; &lt;br /&gt;Introduction&lt;p /&gt;Here&amp;#39;s a small quick FAQ on design patterns in Q and A format. In this section we will cover factory , abstract factory , builder , prototype , shallow and deep prototype , singleton and command patterns.&lt;p /&gt; You can read my other design pattern FAQ sections of the same in the below links :-&lt;p /&gt;Part 2 Design Pattern FAQ&amp;#39;s -- Interpreter pattern, iterator pattern, mediator pattern, memento pattern and observer pattern&lt;p /&gt; Part 3 Design Pattern FAQ&amp;#39;s -- state pattern, strategy pattern, visitor pattern, adapter pattern and fly weight pattern&lt;p /&gt;Part 4 Design Pattern FAQ&amp;#39;s -- bridge pattern, composite pattern, decorator pattern, Façade pattern, chain of responsibility(COR), proxy pattern and template pattern&lt;br /&gt; What are design patterns?&lt;p /&gt;Design patterns are documented tried and tested solutions for recurring problems in a given context. So basically you have a problem context and the proposed solution for the same. Design patterns existed in some or other form right from the inception stage of software development. Let’s say if you want to implement a sorting algorithm the first thing comes to mind is bubble sort. So the problem is sorting and solution is bubble sort. Same holds true for design patterns.&lt;br /&gt; Which are the three main categories of design patterns?&lt;p /&gt;There are three basic classifications of patterns Creational, Structural, and Behavioral patterns.&lt;p /&gt;Creational Patterns&lt;p /&gt;• Abstract Factory:- Creates an instance of several families of classes&lt;br /&gt; • Builder: - Separates object construction from its representation&lt;br /&gt;• Factory Method:- Creates an instance of several derived classes&lt;br /&gt;• Prototype:- A fully initialized instance to be copied or cloned&lt;br /&gt;• Singleton:- A class in which only a single instance can exist&lt;p /&gt; Note: - The best way to remember Creational pattern is by remembering ABFPS (Abraham Became First President of States).&lt;br /&gt;Structural Patterns&lt;p /&gt;• Adapter:-Match interfaces of different classes .&lt;br /&gt;• Bridge:-Separates an object’s abstraction from its implementation.&lt;br /&gt; • Composite:-A tree structure of simple and composite objects.&lt;br /&gt;• Decorator:-Add responsibilities to objects dynamically.&lt;br /&gt;• Façade:-A single class that represents an entire subsystem.&lt;br /&gt;• Flyweight:-A fine-grained instance used for efficient sharing.&lt;br /&gt; • Proxy:-An object representing another object.&lt;p /&gt;• Mediator:-Defines simplified communication between classes.&lt;br /&gt;• Memento:-Capture and restore an object&amp;#39;s internal state.&lt;br /&gt;• Interpreter:- A way to include language elements in a program.&lt;br /&gt; • Iterator:-Sequentially access the elements of a collection.&lt;br /&gt;• Chain of Resp: - A way of passing a request between a chain of objects.&lt;br /&gt;• Command:-Encapsulate a command request as an object.&lt;br /&gt;• State:-Alter an object&amp;#39;s behavior when its state changes.&lt;br /&gt; • Strategy:-Encapsulates an algorithm inside a class.&lt;br /&gt;• Observer: - A way of notifying change to a number of classes.&lt;br /&gt;• Template Method:-Defer the exact steps of an algorithm to a subclass.&lt;br /&gt;• Visitor:-Defines a new operation to a class without change.&lt;p /&gt; Read more: &lt;a href="http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training"&gt;Codeproject&lt;/a&gt;&lt;br /&gt;QR: &lt;img 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/28309/Design-pattern-FAQ-Part-1-Training" alt="Inline image 1" /&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-8013301959055418658?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=s8hSbYgwP88:phI30WBrxGQ: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=s8hSbYgwP88:phI30WBrxGQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=s8hSbYgwP88:phI30WBrxGQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=s8hSbYgwP88:phI30WBrxGQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=s8hSbYgwP88:phI30WBrxGQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=s8hSbYgwP88:phI30WBrxGQ: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/s8hSbYgwP88" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/8013301959055418658/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/design-pattern-faq-part-1-training.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8013301959055418658?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8013301959055418658?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/s8hSbYgwP88/design-pattern-faq-part-1-training.html" title="Design pattern FAQ Part 1 (Training)" /><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/design-pattern-faq-part-1-training.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4BSHkzfip7ImA9WhRaF08.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-5521297972187537538</id><published>2012-02-20T09:29:00.001+02:00</published><updated>2012-02-20T09:29:19.786+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-20T09:29:19.786+02:00</app:edited><title>NHibernate's mapping-by-code - the summary</title><content type="html">&lt;div class='posterous_autopost'&gt;   Six weeks ago, when I started my experiments with NHibernate&amp;#39;s 3.2 new mapping feature - mapping-by-code, I was a loyal Fluent NHibernate user and a fan of method chains in APIs. My first impression about mapping-by-code was that it seems to be a good direction, but it&amp;#39;s still immature and - what&amp;#39;s important - not documented at all. I decided to have a deeper look and it turned into a tvelwe-part series exploring all the possible mappings - probably the only complete guide to mapping-by-code on the web so far. Time to sum the series up.&lt;p /&gt; Let&amp;#39;s start with what mapping-by-code is. It is an XML-less mapping solution being an integral part of NHibernate since 3.2, based on ConfORM library. Its API tries to conform to XML naming and structure. There&amp;#39;s a strong convention in how the mapping methods are built. Its names are almost always equal to XML elements names. The first parameter points to the mapped property, second is for its options corresponding XML attributes (and XML &amp;lt;key&amp;gt; element, if applicable) and the rest of parameters, if any, corresponds to nested XML elements. It&amp;#39;s very convenient for those familiar with XML schema or for documentation readers.&lt;p /&gt; Read more: &lt;a href="http://notherdev.blogspot.com/2012/02/nhibernates-mapping-by-code-summary.html"&gt;NOtherDev&lt;/a&gt;&lt;br /&gt;QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://notherdev.blogspot.com/2012/02/nhibernates-mapping-by-code-summary.html" alt="Inline image 1" /&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-5521297972187537538?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=2T4HdVY-aTw:YyDF_9Db__A: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=2T4HdVY-aTw:YyDF_9Db__A:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=2T4HdVY-aTw:YyDF_9Db__A:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2T4HdVY-aTw:YyDF_9Db__A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=2T4HdVY-aTw:YyDF_9Db__A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=2T4HdVY-aTw:YyDF_9Db__A: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/2T4HdVY-aTw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/5521297972187537538/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/nhibernate-mapping-by-code-summary.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5521297972187537538?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5521297972187537538?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/2T4HdVY-aTw/nhibernate-mapping-by-code-summary.html" title="NHibernate&amp;#39;s mapping-by-code - the summary" /><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/nhibernate-mapping-by-code-summary.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYDRXc-eCp7ImA9WhRaFks.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-8017742146766748497</id><published>2012-02-19T16:52:00.001+02:00</published><updated>2012-02-19T16:52:54.950+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-19T16:52:54.950+02:00</app:edited><title>Carousel Effect in Silverlight</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://www.codeproject.com/KB/silverlight/331329/image001_small.png" height="204" alt="Inline image 3" width="420" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Introduction&lt;p /&gt;This article explains how to code the carousel animation effect in Silverlight. This animation has been the forte of tools like flash and dojo for a very long time, but with the entry of Microsoft Silverlight, it no longer remains a mystery. This article digs deep into the intricacies of the geometry involved in coding such a effect.&lt;p /&gt; Background&lt;p /&gt;The reader must be reasonably familiar with programming in Silverlight and basic 3-dimensinal geometry and a bit about Storyboards.&lt;p /&gt;&lt;br /&gt;Using the Code&lt;p /&gt;The application consists of a main page with a revolving carousel of thumbnails. When the user passes the mouse over any of the revolving thumbnails, the animation stops and sets the current thumb nail as the background of the application. There are sliders provided that can speed up or slow down the revolving of the thumb nails, change the axis of revolution and bring the revolving thumb nails closer or farther from the viewer. The right side of the application has one thumb nail that helps in understanding the effect in depth.&lt;p /&gt; A Bit of 3 Dimensional Geometry &lt;p /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://www.codeproject.com/KB/silverlight/331329/image003.png" alt="Inline image 2" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p /&gt;Read more: &lt;a href="http://www.codeproject.com/Articles/331329/Carousel-Effect-in-Silverlight"&gt;Codeproject&lt;/a&gt;&lt;br /&gt; QR: &lt;img 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/331329/Carousel-Effect-in-Silverlight" alt="Inline image 1" /&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-8017742146766748497?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=InTJQwBMEqI:CzHkawoEZDQ: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=InTJQwBMEqI:CzHkawoEZDQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=InTJQwBMEqI:CzHkawoEZDQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=InTJQwBMEqI:CzHkawoEZDQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=InTJQwBMEqI:CzHkawoEZDQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=InTJQwBMEqI:CzHkawoEZDQ: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/InTJQwBMEqI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/8017742146766748497/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/carousel-effect-in-silverlight.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8017742146766748497?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8017742146766748497?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/InTJQwBMEqI/carousel-effect-in-silverlight.html" title="Carousel Effect in Silverlight" /><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/carousel-effect-in-silverlight.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cBR309fip7ImA9WhRaFkg.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-5522667296720282377</id><published>2012-02-19T15:44:00.001+02:00</published><updated>2012-02-19T15:44:16.366+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-19T15:44:16.366+02:00</app:edited><title>Prism 4.1 - February 2012</title><content type="html">&lt;div class='posterous_autopost'&gt;Prism provides guidance designed to help you more easily design and build rich, flexible, and easy to maintain Windows Presentation Foundation (WPF) desktop applications and Silverlight Rich Internet Applications (RIAs) and Windows Phone 7.1 (&amp;quot;Mango&amp;quot;) applications.&lt;p /&gt; Read more: &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=28950&amp;amp;WT.mc_id=rss_alldownloads_all"&gt;MS Download&lt;/a&gt;&lt;br /&gt;QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.microsoft.com/download/en/details.aspx?id=28950&amp;amp;WT.mc_id=rss_alldownloads_all" alt="Inline image 1" /&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-5522667296720282377?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=cWOaZtkYKR4:Vm9ePgC4B-0: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=cWOaZtkYKR4:Vm9ePgC4B-0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=cWOaZtkYKR4:Vm9ePgC4B-0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=cWOaZtkYKR4:Vm9ePgC4B-0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=cWOaZtkYKR4:Vm9ePgC4B-0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=cWOaZtkYKR4:Vm9ePgC4B-0: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/cWOaZtkYKR4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/5522667296720282377/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/prism-41-february-2012.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5522667296720282377?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5522667296720282377?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/cWOaZtkYKR4/prism-41-february-2012.html" title="Prism 4.1 - February 2012" /><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/prism-41-february-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8NR3oyeSp7ImA9WhRaFkg.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-8135827563393806677</id><published>2012-02-19T15:41:00.001+02:00</published><updated>2012-02-19T15:41:36.491+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-19T15:41:36.491+02:00</app:edited><title>How do I find out which process has a file open?</title><content type="html">&lt;div class='posterous_autopost'&gt;Classically, there was no way to find out which process has a file open. A file object has a reference count, and when the reference count drops to zero, the file is closed. But there&amp;#39;s nobody keeping track of which processes own how many references. (And that&amp;#39;s ignoring the case that the reference is not coming from a process in the first place; maybe it&amp;#39;s coming from a kernel driver, or maybe it came from a process that no longer exists but whose reference is being kept alive by a kernel driver that captured the object reference.)&lt;p /&gt; This falls into the category of not keeping track of information you don&amp;#39;t need. The file system doesn&amp;#39;t care who has the reference to the file object. Its job is to close the file when the last reference goes away.&lt;p /&gt; You do the same thing with your COM object reference counts. All you care about is whether your reference count has reached zero (at which point it&amp;#39;s time to destroy the object). If you later discover an object leak in your process, you don&amp;#39;t have a magic query &amp;quot;Show me all the people who called AddRef on my object&amp;quot; because you never kept track of all the people who called AddRef on your object. Or even, &amp;quot;Here&amp;#39;s an object I want to destroy. Show me all the people who called AddRef on it so I can destroy them and get them to call Release.&amp;quot;&lt;p /&gt; At least that was the story under the classical model.&lt;p /&gt;Enter the Restart Manager.&lt;p /&gt;The official goal of the Restart Manager is to help make it possible to shut down and restart applications which are using a file you want to update. In order to do that, it needs to keep track of which processes are holding references to which files. And it&amp;#39;s that database that is of use here. (Why is the kernel keeping track of which processes have a file open? Because it&amp;#39;s the converse of the principle of not keeping track of information you don&amp;#39;t need: Now it needs the information!)&lt;p /&gt; Here&amp;#39;s a simple program which takes a file name on the command line and shows which processes have the file open.&lt;p /&gt;#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;#include &amp;lt;RestartManager.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;p /&gt; int __cdecl wmain(int argc, WCHAR **argv)&lt;br /&gt;{&lt;br /&gt; DWORD dwSession;&lt;br /&gt; WCHAR szSessionKey[CCH_RM_SESSION_KEY+1] = { 0 };&lt;br /&gt; DWORD dwError = RmStartSession(&amp;amp;dwSession, 0, szSessionKey);&lt;br /&gt; wprintf(L&amp;quot;RmStartSession returned %d\n&amp;quot;, dwError);&lt;br /&gt;  if (dwError == ERROR_SUCCESS) {&lt;br /&gt;   PCWSTR pszFile = argv[1];&lt;br /&gt;   dwError = RmRegisterResources(dwSession, 1, &amp;amp;pszFile,&lt;br /&gt;                                 0, NULL, 0, NULL);&lt;br /&gt;   wprintf(L&amp;quot;RmRegisterResources(%ls) returned %d\n&amp;quot;,&lt;br /&gt;            pszFile, dwError);&lt;br /&gt;  if (dwError == ERROR_SUCCESS) {&lt;br /&gt;   DWORD dwReason;&lt;br /&gt;   UINT i;&lt;br /&gt;   UINT nProcInfoNeeded;&lt;br /&gt;   UINT nProcInfo = 10;&lt;br /&gt;   RM_PROCESS_INFO rgpi[10];&lt;br /&gt;   dwError = RmGetList(dwSession, &amp;amp;nProcInfoNeeded,&lt;br /&gt;                        &amp;amp;nProcInfo, rgpi, &amp;amp;dwReason);&lt;br /&gt;   wprintf(L&amp;quot;RmGetList returned %d\n&amp;quot;, dwError);&lt;br /&gt;...&lt;br /&gt;...&lt;p /&gt;Read more: &lt;a href="http://blogs.msdn.com/b/oldnewthing/archive/2012/02/17/10268840.aspx"&gt;The old new thing&lt;/a&gt;&lt;br /&gt; QR: &lt;img 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/02/17/10268840.aspx" alt="Inline image 1" /&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-8135827563393806677?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=Qmp68Io3U0M:-ljWYrvZ3tM: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=Qmp68Io3U0M:-ljWYrvZ3tM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=Qmp68Io3U0M:-ljWYrvZ3tM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=Qmp68Io3U0M:-ljWYrvZ3tM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=Qmp68Io3U0M:-ljWYrvZ3tM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=Qmp68Io3U0M:-ljWYrvZ3tM: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/Qmp68Io3U0M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/8135827563393806677/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/how-do-i-find-out-which-process-has.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8135827563393806677?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8135827563393806677?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/Qmp68Io3U0M/how-do-i-find-out-which-process-has.html" title="How do I find out which process has a file open?" /><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-do-i-find-out-which-process-has.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAGQ3w9fyp7ImA9WhRaFkg.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-5778193027493593638</id><published>2012-02-19T15:38:00.001+02:00</published><updated>2012-02-19T15:38:42.267+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-19T15:38:42.267+02:00</app:edited><title>11 Alternatives to Microsoft Sharepoint</title><content type="html">&lt;div class='posterous_autopost'&gt;I have just started to get my hands on a huge gigantic software (another one) from Microsoft called the Microsoft Sharepoint, and since I am more of a open-source kind of a guy I am not very comfortable with it for now… will be soon :) .&lt;br /&gt; It’s a massive collaborative software package which is associated with content management and document management systems. But those are just a part of it , it’s actually a big collection of more capabilities and services like for web technologies, intranet portals, extranets, websites, document &amp;amp; file management, collaboration spaces, social tools, enterprise search, business intelligence, process integration, system integration, workflow automation and core infrastructure for third-party solutions.&lt;p /&gt; So I just had a small idea for the fact that it also costs a lot and it takes a lot of time for a person like me to get used to a Microsoft product if he/she is not used to it … so I started to look for (just in case) other alternatives for Sharepoint which a smaller company may use or understand better. So I decided to make a list of it and post it in my blog :) so maybe it can help out a few other people like me&lt;p /&gt; 1. Alfresco&lt;br /&gt;2. O3Spaces&lt;p /&gt;&lt;br /&gt;Read more: &lt;a href="http://blog.arunace.com/11-alternatives-to-microsoft-sharepoint/"&gt;Arunace&lt;/a&gt;&lt;br /&gt;QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://blog.arunace.com/11-alternatives-to-microsoft-sharepoint/" alt="Inline image 1" /&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-5778193027493593638?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=DF7Eu6P94fI:52z5gRGw8m8: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=DF7Eu6P94fI:52z5gRGw8m8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=DF7Eu6P94fI:52z5gRGw8m8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=DF7Eu6P94fI:52z5gRGw8m8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=DF7Eu6P94fI:52z5gRGw8m8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=DF7Eu6P94fI:52z5gRGw8m8: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/DF7Eu6P94fI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/5778193027493593638/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/11-alternatives-to-microsoft-sharepoint.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5778193027493593638?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/5778193027493593638?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/DF7Eu6P94fI/11-alternatives-to-microsoft-sharepoint.html" title="11 Alternatives to Microsoft Sharepoint" /><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/11-alternatives-to-microsoft-sharepoint.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIDRXs7eyp7ImA9WhRaFkg.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-2426995823359603607</id><published>2012-02-19T15:36:00.001+02:00</published><updated>2012-02-19T15:36:14.503+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-19T15:36:14.503+02:00</app:edited><title>Client Certificates V/s Server Certificates</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-38-03-metablogapi/3438.image_5F00_thumb_5F00_49A0A48A.png" alt="Inline image 1" /&gt;&lt;br /&gt; &lt;/div&gt;&lt;br /&gt;In the past I have blogged about various certificate file extensions along with their usage. Here is the link: &lt;a href="http://blogs.msdn.com/b/kaushal/archive/2010/11/05/ssl-certificates.aspx"&gt;http://blogs.msdn.com/b/kaushal/archive/2010/11/05/ssl-certificates.aspx&lt;/a&gt;&lt;p /&gt; I use blogs as reference so that they can refer the content and I need not repeat the same thing every time. Saves time and helps others too.&lt;p /&gt;This time I though of writing another blog explaining the difference between Client Certificates and Server Certificates. Something which is not clearly understood by everyone. I will be discussing this strictly in context of IIS only. (There are several types of certificates. you will come to know later Smile)&lt;p /&gt; One of my colleagues, David Dietz has already published a KB article relating to this:&lt;p /&gt;IIS and client certificates: &lt;a href="http://support.microsoft.com/kb/907274"&gt;http://support.microsoft.com/kb/907274&lt;/a&gt;&lt;p /&gt; The above documentation is good enough to understand the difference between client and server certificates along with error messages associated with them.&lt;p /&gt;Lets start off in an Layman’s language and then I’ll discuss it in complete depth.&lt;p /&gt;     How are Client and Server Certificates different?&lt;p /&gt;Server Certificates: Server Certificates are used to identify a server. Typically they are issued to hostnames, which could be a machine name (like “PIIS-SVR01”) or a host-header (like “&lt;a href="http://www.Microsoft.com"&gt;www.Microsoft.com&lt;/a&gt;”). Both client and server certificates have the “Issued to” section. For a server certificate the “Issued to” section’s value would specify the hostname for which it has been issued.&lt;p /&gt; Read more: &lt;a href="http://blogs.msdn.com/b/kaushal/archive/2012/02/18/client-certificates-v-s-server-certificates.aspx"&gt;Be Nimble, Be Quick and Blog&lt;/a&gt;&lt;br /&gt;QR: &lt;img 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/kaushal/archive/2012/02/18/client-certificates-v-s-server-certificates.aspx" alt="Inline image 2" /&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-2426995823359603607?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=t1KH_upxC_8:KWsAxbjxZVo: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=t1KH_upxC_8:KWsAxbjxZVo:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=t1KH_upxC_8:KWsAxbjxZVo:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=t1KH_upxC_8:KWsAxbjxZVo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=t1KH_upxC_8:KWsAxbjxZVo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=t1KH_upxC_8:KWsAxbjxZVo: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/t1KH_upxC_8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/2426995823359603607/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/client-certificates-vs-server.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2426995823359603607?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2426995823359603607?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/t1KH_upxC_8/client-certificates-vs-server.html" title="Client Certificates V/s Server Certificates" /><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>1</thr:total><feedburner:origLink>http://jasper-net.blogspot.com/2012/02/client-certificates-vs-server.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QAQXc8fip7ImA9WhRaFkk.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-1603471446146601358</id><published>2012-02-19T10:49:00.001+02:00</published><updated>2012-02-19T10:49:00.976+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-19T10:49:00.976+02:00</app:edited><title>Implementing Google Account Authentication in an ASP.NET application</title><content type="html">&lt;div class='posterous_autopost'&gt;Few years back I blogged about adding OpenID login support in &lt;a href="http://ASP.NET"&gt;ASP.NET&lt;/a&gt; application. This time I am blogging about adding Google login support in &lt;a href="http://ASP.NET"&gt;ASP.NET&lt;/a&gt; application. A friend of mine is trying to integrate multiple third party authentication support for one of the application he is developing for his client. He is using DotNetOpenAuth for Google authentication. the code I am using here is from my friend and I am sharing it with his explicit permission.&lt;p /&gt; First, download the latest version of DotNetOpenAuth and add its reference in your web application and these two namespaces.&lt;p /&gt;using DotNetOpenAuth.OpenId;&lt;br /&gt;using DotNetOpenAuth.OpenId.RelyingParty;&lt;p /&gt;After adding the reference, add a normal button with CommandArgument to point &lt;a href="https://www.google.com/accounts/o8/id"&gt;https://www.google.com/accounts/o8/id&lt;/a&gt;.&lt;p /&gt; &amp;lt;asp:Button ID=&amp;quot;btnGoogleLogin&amp;quot; runat=&amp;quot;server&amp;quot; CommandArgument=&amp;quot;&lt;a href="https://www.google.com/accounts/o8/id"&gt;https://www.google.com/accounts/o8/id&lt;/a&gt;&amp;quot; &lt;br /&gt;        OnCommand=&amp;quot;btnGoogleLogin_Click&amp;quot; Text=&amp;quot;Sign In with Google&amp;quot; /&amp;gt;&lt;p /&gt; On the button click event on the server side:&lt;p /&gt;protected void btnGoogleLogin_Click(object sender, CommandEventArgs e)&lt;br /&gt;{&lt;br /&gt;    string discoveryUri = e.CommandArgument.ToString();&lt;br /&gt;    OpenIdRelyingParty openid = new OpenIdRelyingParty();&lt;br /&gt;     var URIbuilder = new UriBuilder(Request.Url) { Query = &amp;quot;&amp;quot; };&lt;br /&gt;    var req = openid.CreateRequest(discoveryUri, URIbuilder.Uri, URIbuilder.Uri);&lt;br /&gt;    req.RedirectToProvider();&lt;br /&gt;}&lt;p /&gt;Read more: &lt;a href="http://dotnet.dzone.com/news/implementing-google-account"&gt;DZone&lt;/a&gt;&lt;br /&gt; QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://dotnet.dzone.com/news/implementing-google-account" alt="Inline image 1" /&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-1603471446146601358?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=LYHLEDig5Eg:a3wAtbdVhQw: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=LYHLEDig5Eg:a3wAtbdVhQw:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=LYHLEDig5Eg:a3wAtbdVhQw:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=LYHLEDig5Eg:a3wAtbdVhQw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=LYHLEDig5Eg:a3wAtbdVhQw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=LYHLEDig5Eg:a3wAtbdVhQw: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/LYHLEDig5Eg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/1603471446146601358/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/implementing-google-account.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/1603471446146601358?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/1603471446146601358?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/LYHLEDig5Eg/implementing-google-account.html" title="Implementing Google Account Authentication in an ASP.NET 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/implementing-google-account.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UHSHo5fip7ImA9WhRaFkk.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-4431396127881818217</id><published>2012-02-19T10:47:00.001+02:00</published><updated>2012-02-19T10:47:19.426+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-19T10:47:19.426+02:00</app:edited><title>Visual Studio 2010 SDK Samples - One 30MB download, 68 samples, tons of learning...</title><content type="html">&lt;div class='posterous_autopost'&gt;Visual Studio 2010 is an integrated development environment (IDE) that allows you to develop a wide variety of software applications quickly and easily. The Visual Studio SDK provides a framework that you can use to extend the functionality of Visual&lt;p /&gt; ...&lt;p /&gt;Visual Studio 2010 is an integrated development environment (IDE) that allows you to develop a wide variety of software applications quickly and easily. The Visual Studio SDK provides a framework that you can use to extend the functionality of Visual Studio 2010.&lt;p /&gt; Read more: &lt;a href="http://coolthingoftheday.blogspot.com/2012/02/visual-studio-2010-sdk-samples-30mb.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://code.msdn.microsoft.com/Visual-Studio-2010-SDK-ddfe1372"&gt;Visual Studio 2010 SDK Samples&lt;/a&gt;&lt;br /&gt; QR: &lt;img src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://code.msdn.microsoft.com/Visual-Studio-2010-SDK-ddfe1372" alt="Inline image 1" /&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-4431396127881818217?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=fQr6Ds_jPio:xQ1Hlu73Qtk: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=fQr6Ds_jPio:xQ1Hlu73Qtk:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=fQr6Ds_jPio:xQ1Hlu73Qtk:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=fQr6Ds_jPio:xQ1Hlu73Qtk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=fQr6Ds_jPio:xQ1Hlu73Qtk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=fQr6Ds_jPio:xQ1Hlu73Qtk: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/fQr6Ds_jPio" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/4431396127881818217/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/visual-studio-2010-sdk-samples-one-30mb.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/4431396127881818217?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/4431396127881818217?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/fQr6Ds_jPio/visual-studio-2010-sdk-samples-one-30mb.html" title="Visual Studio 2010 SDK Samples - One 30MB download, 68 samples, tons of learning..." /><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/visual-studio-2010-sdk-samples-one-30mb.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8AQ388fSp7ImA9WhRaFE0.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-3992856731298629076</id><published>2012-02-16T16:34:00.001+02:00</published><updated>2012-02-16T16:34:02.175+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-16T16:34:02.175+02:00</app:edited><title>100 High Quality PSD Files Extremely Useful for Web Designers</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img title="682-600x285.jpg" src="http://www.topdesignmag.com/wp-content/uploads/2012/02/682-600x285.jpg" height="199" alt="682-600x285.jpg" width="420" /&gt; &lt;img title="817-600x300.jpg" src="http://www.topdesignmag.com/wp-content/uploads/2012/02/817-600x300.jpg" height="210" alt="817-600x300.jpg" width="420" /&gt;&lt;br /&gt; &lt;/div&gt;&lt;br /&gt;Every designer must be efficient in his work, so if you are one, I guess you know what I mean. If you need to create, let’s say, a vintage ribbon but you have no idea how to start or you don’t have the time to make it, then you search for one. The internet is full of free .PSDs ready to be used by everyone in various projects. In this article you can see a collection of 100 high quality .PSD files that every web designer must have in their “toolbox”. If you like one (or more, I hope), click on the image.&lt;p /&gt; Read more: &lt;a href="http://www.topdesignmag.com/100-high-quality-psd-files-extremely-useful-for-web-designers/"&gt;top-design mag&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.topdesignmag.com/100-high-quality-psd-files-extremely-useful-for-web-designers/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.topdesignmag.com/100-high-quality-psd-files-extremely-useful-for-web-designers/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=www.topdesignmag.com/100-high-quality-psd-files-extremely-useful-for-web-designers/" /&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-3992856731298629076?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=lQ0f4aS9CIw:BddgmyGfOlE: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=lQ0f4aS9CIw:BddgmyGfOlE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=lQ0f4aS9CIw:BddgmyGfOlE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lQ0f4aS9CIw:BddgmyGfOlE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=lQ0f4aS9CIw:BddgmyGfOlE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=lQ0f4aS9CIw:BddgmyGfOlE: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/lQ0f4aS9CIw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/3992856731298629076/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/100-high-quality-psd-files-extremely.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3992856731298629076?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3992856731298629076?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/lQ0f4aS9CIw/100-high-quality-psd-files-extremely.html" title="100 High Quality PSD Files Extremely Useful for Web Designers" /><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/100-high-quality-psd-files-extremely.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIBRXY_fip7ImA9WhRaE0U.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-4026292569196134288</id><published>2012-02-16T12:19:00.001+02:00</published><updated>2012-02-16T12:19:14.846+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-16T12:19:14.846+02:00</app:edited><title>Arbor Networks</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img title="logo.png" src="http://www.arbornetworks.com/templates/js_arbornetworks/images/style3/logo.png" alt="logo.png" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p /&gt;Protecting your business, protecting the world. Real-time intelligence into threat activity from both a global and local perspective&lt;p /&gt;    From the Internet data center edge to the service provider core, the world’s leading network operators and Internet service providers turn to Arbor Networks to proactively fend off malicious threats such as botnets and distributed denial of service (DDoS) attacks, while strengthening the availability and quality of their services. In addition to being the de facto standard for network security and availability solutions, Arbor enables its customers to reduce costs by improving IPv4 and IPv6 traffic engineering, peering and other operational efficiencies.  Additionally, Arbor’s solutions are a strategic investment for service providers, allowing them to utilize the same solution for infrastructure visibility and security to deliver new, differentiated, revenue-generating managed services such as MPLS VPN visibility and DDoS managed security services.&lt;p /&gt; Read more: &lt;a href="http://www.arbornetworks.com/"&gt;Arbor Networks&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.arbornetworks.com/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.arbornetworks.com/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://www.arbornetworks.com/" /&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-4026292569196134288?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=E8rV-vpQrR4:HJLUvedkN6M: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=E8rV-vpQrR4:HJLUvedkN6M:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=E8rV-vpQrR4:HJLUvedkN6M:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=E8rV-vpQrR4:HJLUvedkN6M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=E8rV-vpQrR4:HJLUvedkN6M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=E8rV-vpQrR4:HJLUvedkN6M: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/E8rV-vpQrR4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/4026292569196134288/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/arbor-networks.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/4026292569196134288?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/4026292569196134288?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/E8rV-vpQrR4/arbor-networks.html" title="Arbor Networks" /><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/arbor-networks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04ESXgyfCp7ImA9WhRaEkQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-8829241876520581891</id><published>2012-02-15T10:51:00.001+02:00</published><updated>2012-02-15T10:51:48.694+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T10:51:48.694+02:00</app:edited><title>C# Language Features, From C# 2.0 to 4.0</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Introduction0"&gt;Introduction&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#C#2.0Features1"&gt;C# 2.0 Features&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Generics2"&gt;Generics&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#WithoutGenerics3"&gt;Without Generics&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#WithGenerics4"&gt;With Generics&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#ConstraintsandMethodParametersandReturnTypes5"&gt;Constraints and Method Parameters and Return Types&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Factories6"&gt;Factories&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#PartialTypes7"&gt;Partial Types&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#AnonymousMethods8"&gt;Anonymous Methods&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#TheOldWay9"&gt;The Old Way&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#TheNewWay10"&gt;The New Way&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#AsyncTasks11"&gt;Async Tasks&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#UpdatingTheUI12"&gt;Updating The UI&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Iterators13"&gt;Iterators&lt;/a&gt;&lt;/li&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#TheOldWay14"&gt;The Old Way&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#TheNewWay15"&gt;The New Way&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#NullableTypes16"&gt;Nullable Types&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#PrivateSetters%28properties%2917"&gt;Private Setters (properties)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#MethodGroupConversions%28delegates%2918"&gt;Method Group Conversions (delegates)&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#TheOldWay19"&gt;The Old Way&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#TheNewWay20"&gt;The New Way&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#C#3.0Features21"&gt;C# 3.0 Features&lt;/a&gt;&lt;/li&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#ImplicitlyTypedLocalVariables22"&gt;Implicitly Typed Local Variables&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Restrictions23"&gt;Restrictions&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#ObjectandCollectionInitializers24"&gt;Object and Collection Initializers&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#TheOldWay25"&gt;The Old Way&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#TheNewWay26"&gt;The New Way&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#InitializingCollections27"&gt;Initializing Collections&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Auto-ImplementedProperties28"&gt;Auto-Implemented Properties&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#AnonymousTypes29"&gt;Anonymous Types&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#ExtensionMethods30"&gt;Extension Methods&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#BeforeExtensionMethods31"&gt;Before Extension Methods&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#WithExtensionMethods32"&gt;With Extension Methods&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#QueryExpressions33"&gt;Query Expressions&lt;/a&gt;&lt;/li&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#LeftandRightJoins34"&gt;Left and Right Joins&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#LambdaExpressions35"&gt;Lambda Expressions&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#ExpressionTrees36"&gt;Expression Trees&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#C#4.0Features37"&gt;C# 4.0 Features&lt;/a&gt;&lt;/li&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#DynamicBinding38"&gt;Dynamic Binding&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#NamedandOptionalArguments39"&gt;Named and Optional Arguments&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Example40"&gt;Example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#OptionalArguments,TheOldWay41"&gt;Optional Arguments, The Old Way&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#GenericCovarianceandContravariance42"&gt;Generic Covariance and Contravariance&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Delegates43"&gt;Delegates&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Generics44"&gt;Generics&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#ButHowDoIDefineMyOwn45"&gt;But How Do I Define My Own?&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0#Conclusion46"&gt;Conclusion&lt;/a&gt;&lt;/li&gt;&lt;p /&gt;Introduction&lt;p /&gt;This article discusses the language features introduced in C# 2.0, 3.0, and 4.0. The purpose of writing this article is to have a single repository of all the new language features introduced over the last seven years and to illustrate (where applicable) the advantages of the new features. It is not intended to be a comprehensive discussion of each feature, for that I have links for further reading. The impetus for this article is mainly because I could not find a single repository that does what this article does. In fact, I couldn&amp;#39;t even find a Microsoft webpage that describes them. Instead, I had to rely on the universal authority for everything, Wikipedia, which has a couple nice tables on the matter.&lt;p /&gt; &lt;br /&gt;Read more: &lt;a href="http://www.codeproject.com/Articles/327916/C-Language-Features-From-C-2-0-to-4-0"&gt;Codeproject&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="C-Language-Features-From-C-2-0-to-4-0" 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/327916/C-Language-Features-From-C-2-0-to-4-0" alt="C-Language-Features-From-C-2-0-to-4-0" /&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-8829241876520581891?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=SmH5-7xWq90:sBut5tQLIP4: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=SmH5-7xWq90:sBut5tQLIP4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=SmH5-7xWq90:sBut5tQLIP4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=SmH5-7xWq90:sBut5tQLIP4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=SmH5-7xWq90:sBut5tQLIP4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=SmH5-7xWq90:sBut5tQLIP4: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/SmH5-7xWq90" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/8829241876520581891/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/c-language-features-from-c-20-to-40.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8829241876520581891?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/8829241876520581891?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/SmH5-7xWq90/c-language-features-from-c-20-to-40.html" title="C# Language Features, From C# 2.0 to 4.0" /><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/c-language-features-from-c-20-to-40.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08ARX8_cSp7ImA9WhRaEkQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-2727265542621958460</id><published>2012-02-15T10:50:00.001+02:00</published><updated>2012-02-15T10:50:44.149+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T10:50:44.149+02:00</app:edited><title>Общаемся с SIM-картой на низком уровне</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img title="7673df1f39de13dcc75bd48057a74e00.jpg" src="http://habrastorage.org/storage2/767/3df/1f3/7673df1f39de13dcc75bd48057a74e00.jpg" alt="7673df1f39de13dcc75bd48057a74e00.jpg" /&gt;&lt;br /&gt; &lt;/div&gt;&lt;br /&gt;Ну а если вам все-таки интересно узнать больше о сим-картах, протоколах передачи и их файловой структуре, прошу под кат. Ну и куда же без кода…&lt;p /&gt;1. Введение&lt;p /&gt;Начать стоит с того, что сим-карта является разновидностью смарт-карт, поэтому она полностью подчиняются стандарту ISO-7816. Я не буду говорить, какие выводы она имеет (об этом уже подробно говорили в предыдущей статье).&lt;p /&gt; На процессор некоторых симок (если точнее — смарт-карт) можно подавать синхронизирующий сигнал до 20 МГц. Но ведь при включении симки терминал не знает ее параметров, поэтому общение начинается с, максимум, 4 МГц. Впоследствии, терминал узнает симку получше и может изменить параметры передачи.&lt;p /&gt; К выводу I/O должен быть подключен pull-up резистор номиналом 20 КОм. В те моменты, когда терминалу и симке нечего сказать друг другу (т.е. они оба находятся в Z-состоянии) этот резистор обеспечит на выводе логическую единицу.&lt;p /&gt; 2. Активация/деактивация&lt;p /&gt;Активация сим-карты и последующий cold reset&lt;p /&gt;&lt;div style="text-align: center;"&gt;&lt;img title="7e4d87b5d473695f570ad092f705a131.png" src="http://habrastorage.org/storage2/7e4/d87/b5d/7e4d87b5d473695f570ad092f705a131.png" alt="7e4d87b5d473695f570ad092f705a131.png" /&gt;&lt;br /&gt; &lt;/div&gt;&lt;br /&gt;Read more: &lt;a href="http://habrahabr.ru/blogs/telecom/137963/"&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/telecom/137963/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/telecom/137963/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://habrahabr.ru/blogs/telecom/137963/" /&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-2727265542621958460?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=r-lxv5yZbQ4:W4zc25oW_1A: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=r-lxv5yZbQ4:W4zc25oW_1A:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=r-lxv5yZbQ4:W4zc25oW_1A:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=r-lxv5yZbQ4:W4zc25oW_1A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=r-lxv5yZbQ4:W4zc25oW_1A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=r-lxv5yZbQ4:W4zc25oW_1A: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/r-lxv5yZbQ4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/2727265542621958460/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/sim.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2727265542621958460?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/2727265542621958460?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/r-lxv5yZbQ4/sim.html" title="Общаемся с SIM-картой на низком уровне" /><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/sim.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ACQHk5cSp7ImA9WhRaEkQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-3849271509166835940</id><published>2012-02-15T10:49:00.001+02:00</published><updated>2012-02-15T10:49:21.729+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T10:49:21.729+02:00</app:edited><title>C# for Gaming: AltDevConf This Weekend</title><content type="html">&lt;div class='posterous_autopost'&gt;It is a great honor to participate this weekend on the online AltDevConf conference. This is an online two-day event&lt;p /&gt;    Our goal is twofold: To provide free access to a comprehensive selection of game development topics taught by leading industry experts, and to create a space where bright and innovative voices can also be heard. We are able to do this, because as an online conference we are not subject to the same logistic and economic constrains imposed by the traditional conference model. &lt;p /&gt; I will be participating in the talk on Cross Platform Game Development using C# with Matthieu Laban and Philippe Rollin. &lt;p /&gt;Read more: &lt;a href="http://tirania.org/blog/archive/2012/Feb-09.html"&gt;Personal blog of Miguel de Icaza&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="Feb-09.html" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://tirania.org/blog/archive/2012/Feb-09.html" alt="Feb-09.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-3849271509166835940?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=xim-uSyOFaA:TeyRl2S6C2A: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=xim-uSyOFaA:TeyRl2S6C2A:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=xim-uSyOFaA:TeyRl2S6C2A:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=xim-uSyOFaA:TeyRl2S6C2A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=xim-uSyOFaA:TeyRl2S6C2A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=xim-uSyOFaA:TeyRl2S6C2A: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/xim-uSyOFaA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/3849271509166835940/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/c-for-gaming-altdevconf-this-weekend.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3849271509166835940?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3849271509166835940?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/xim-uSyOFaA/c-for-gaming-altdevconf-this-weekend.html" title="C# for Gaming: AltDevConf This Weekend" /><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/c-for-gaming-altdevconf-this-weekend.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AFQnczeyp7ImA9WhRaEkQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-7013934163064798758</id><published>2012-02-15T10:48:00.001+02:00</published><updated>2012-02-15T10:48:33.983+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T10:48:33.983+02:00</app:edited><title>MonoTouch 5.2 is Here!</title><content type="html">&lt;div class='posterous_autopost'&gt;Build Great iOS Apps in C#&lt;p /&gt;We’re very proud to announce the availability of MonoTouch 5.2. This release represents months of improvements, with over 300 new features, bugfixes, and enhancements. This is without question the best release of MonoTouch to date.&lt;p /&gt; Here’s a quick rundown of some of the new features in MonoTouch 5.2.&lt;p /&gt;Read more: &lt;a href="http://blog.xamarin.com/2012/02/08/monotouch-5-2-is-here/"&gt;Xamarin&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://blog.xamarin.com/2012/02/08/monotouch-5-2-is-here/" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://blog.xamarin.com/2012/02/08/monotouch-5-2-is-here/" alt="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://blog.xamarin.com/2012/02/08/monotouch-5-2-is-here/" /&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-7013934163064798758?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=_MQtn1MVwag:QB594KG0njQ: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=_MQtn1MVwag:QB594KG0njQ:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=_MQtn1MVwag:QB594KG0njQ:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=_MQtn1MVwag:QB594KG0njQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=_MQtn1MVwag:QB594KG0njQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=_MQtn1MVwag:QB594KG0njQ: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/_MQtn1MVwag" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/7013934163064798758/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/monotouch-52-is-here.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7013934163064798758?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7013934163064798758?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/_MQtn1MVwag/monotouch-52-is-here.html" title="MonoTouch 5.2 is Here!" /><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/monotouch-52-is-here.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EDQHc_eSp7ImA9WhRaEkQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-7034844976056556061</id><published>2012-02-15T10:47:00.001+02:00</published><updated>2012-02-15T10:47:51.941+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T10:47:51.941+02:00</app:edited><title>Fancy use of exception handling in FormatMessage leads to repeated "discovery" of security flaw</title><content type="html">&lt;div class='posterous_autopost'&gt;Every so often, somebody &amp;quot;discovers&amp;quot; an alleged security vulnerability in the Format­Message function. You can try it yourself:&lt;p /&gt;#include &amp;lt;windows.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;p /&gt; char buf[2048];&lt;br /&gt;char extralong[128*1024];&lt;p /&gt;int __cdecl main(int argc, char **argv)&lt;br /&gt;{&lt;br /&gt; memset(extralong, &amp;#39;x&amp;#39;, 128 * 1024 - 1);&lt;br /&gt; DWORD_PTR args[] = { (DWORD_PTR)extralong };&lt;br /&gt; FormatMessage(FORMAT_MESSAGE_FROM_STRING |&lt;br /&gt;                FORMAT_MESSAGE_ARGUMENT_ARRAY, &amp;quot;%1&amp;quot;, 0, 0,&lt;br /&gt;               buf, 2048, (va_list*)args);&lt;br /&gt; return 0;&lt;br /&gt;} &lt;p /&gt;&lt;br /&gt;Read more: &lt;a href="http://blogs.msdn.com/b/oldnewthing/archive/2012/02/10/10266256.aspx"&gt;The old new thing&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="10266256.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/02/10/10266256.aspx" alt="10266256.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-7034844976056556061?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=JZcXI_Roexc:N4q5CLeWIsI: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=JZcXI_Roexc:N4q5CLeWIsI:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=JZcXI_Roexc:N4q5CLeWIsI:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=JZcXI_Roexc:N4q5CLeWIsI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=JZcXI_Roexc:N4q5CLeWIsI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=JZcXI_Roexc:N4q5CLeWIsI: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/JZcXI_Roexc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/7034844976056556061/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/fancy-use-of-exception-handling-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7034844976056556061?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7034844976056556061?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/JZcXI_Roexc/fancy-use-of-exception-handling-in.html" title="Fancy use of exception handling in FormatMessage leads to repeated &amp;quot;discovery&amp;quot; of security flaw" /><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/fancy-use-of-exception-handling-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MFRHw5eyp7ImA9WhRaEkQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-3155836000408945700</id><published>2012-02-15T10:43:00.001+02:00</published><updated>2012-02-15T10:43:35.223+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T10:43:35.223+02:00</app:edited><title>Wayback gaming today... Warzone 2100 (free, cross platform and OSS too)</title><content type="html">&lt;div class='posterous_autopost'&gt;&lt;div style="text-align: center;"&gt;&lt;img title="file.php?id=4047&amp;amp;mode=view" src="http://forums.wz2100.net/download/file.php?id=4047&amp;amp;mode=view" height="315" alt="file.php?id=4047&amp;amp;mode=view" width="420" /&gt;&lt;br /&gt; &lt;/div&gt;&lt;br /&gt;    I love freeware games – especially once store-bought titles gone public domain. That is, you once had to shell out money for ‘em. Now, gratis. Well, if you’re any kind of fan of strategy, I have a pretty good pick for this week – Warzone 2100. Rebuild civilization and design your own weapons of mass destruction along the way. ...&lt;p /&gt;     Real-time strategy games have been kicking around for well over a while now and this lesser known title had some unique stuff going for it back in the day. This game was kind of a builder’s paradise – with a focus on finding ancient relics, researching them and using the design pieces to mix-and-match and create a mobile machine gun turret tank….or whatever else you can dream up. With over 400 technologies you can develop and the unit design system, there’s a surprisingly vast choice of units and tactics you can try.&lt;p /&gt;     I actually remember playing the original game when it came out in 1999 – yep, I feel old. ANYhow, the game went public domain around 2004 and since then, it’s been an on again, off again labor of love to update the open code.&lt;p /&gt;     One of the nice benefits of how it worked out: You get a full retail game – granted, it’s over 12 years old – but that just means you can play it on just about any computer out there, without a problem. ...&lt;p /&gt; &lt;br /&gt;Read more: &lt;a href="http://coolthingoftheday.blogspot.com/2012/02/wayback-gaming-today-warzone-2100-free.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://h20435.www2.hp.com/t5/The-Next-Bench-Blog/Freeware-Friday-Warzone-2100/ba-p/76611"&gt;Freeware Friday: Warzone 2100&lt;/a&gt;&lt;br /&gt; QR: &lt;img title="76611" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=http://h20435.www2.hp.com/t5/The-Next-Bench-Blog/Freeware-Friday-Warzone-2100/ba-p/76611" alt="76611" /&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-3155836000408945700?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=j2LH_C0Q_B0:vIgpomqpeq0: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=j2LH_C0Q_B0:vIgpomqpeq0:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=j2LH_C0Q_B0:vIgpomqpeq0:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=j2LH_C0Q_B0:vIgpomqpeq0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=j2LH_C0Q_B0:vIgpomqpeq0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=j2LH_C0Q_B0:vIgpomqpeq0: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/j2LH_C0Q_B0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/3155836000408945700/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/wayback-gaming-today-warzone-2100-free.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3155836000408945700?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/3155836000408945700?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/j2LH_C0Q_B0/wayback-gaming-today-warzone-2100-free.html" title="Wayback gaming today... Warzone 2100 (free, cross platform and OSS too)" /><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/wayback-gaming-today-warzone-2100-free.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QFRHs7fSp7ImA9WhRaEkQ.&quot;"><id>tag:blogger.com,1999:blog-4428930216417783699.post-7595169868895814518</id><published>2012-02-15T10:41:00.001+02:00</published><updated>2012-02-15T10:41:55.505+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T10:41:55.505+02:00</app:edited><title>Code signing for the independent developer</title><content type="html">&lt;div class='posterous_autopost'&gt;One of the features introduced with Silverlight 4 was the out-of-browser feature, enabling you to create an application that can be installed, run offline, automatically updated, etc.  As a part of that feature, some of the major code signing certificate vendors (for Authenticode certs) provided our team with test certificates so that we could go through the same process as a developer would to acquire the cert and apply it to an app…and, of course, validate it works.&lt;p /&gt; During that time some of those vendors had promotional codes for the first year for Silverlight developers, providing reduced-rate (but not reduced quality) code-signing certificates for their apps.  Still during this time there were a lot that questioned why some providers were still expensive and didn’t value “the little guy.”  By that I mean that there are a lot of smaller firms or independent personal developers.  The thought of dropping a few hundred dollars on a cert is sometimes tough.&lt;p /&gt; Last week a representative contacted me about their offerings as a premier partner of one of those providers.  Certs4less.com is now offering Thawte code-signing certificates for individual developers.  They are doing this at a price of $99 per year (less for multi-year). &lt;p /&gt;     NOTE: As a part of this, like before with SL4, Certs4Less graciously offered a promotional cert for me to validate the end-to-end process so that I could speak accurately about it.  I do not use any of these certs provided by these companies for testing purpose toward any production application and they are for testing purposes only.  Besides, I’ve not found the time to write production code for apps lately ;-).  I am not getting paid for this post, nor am I getting another promo code for personal use myself.  I am simply providing what I think is valuable information and get no compensation from Thawte or Certs4Less.&lt;p /&gt; I went through the process of obtaining this cert from Certs4Less.com and it produced exactly what you’d expect, a valid Authenticode code-signing certificate I can use for my Silverlight and Windows 8 application packages!  I shared a few points of feedback with the contact there and will enumerate them here for you as well (as well as some tips)&lt;p /&gt; Read more: &lt;a href="http://timheuer.com/blog/archive/2011/12/12/code-signing-for-independent-developer.aspx"&gt;Method ~ of ~ failed&lt;/a&gt;&lt;br /&gt;QR: &lt;img title="code-signing-for-independent-developer.aspx" src="http://chart.googleapis.com/chart?chs=80x80&amp;amp;cht=qr&amp;amp;choe=UTF-8&amp;amp;chl=timheuer.com/blog/archive/2011/12/12/code-signing-for-independent-developer.aspx" alt="code-signing-for-independent-developer.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-7595169868895814518?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=u4_tbi84J8E:8nmse2J8ZUg: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=u4_tbi84J8E:8nmse2J8ZUg:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=u4_tbi84J8E:8nmse2J8ZUg:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=u4_tbi84J8E:8nmse2J8ZUg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/jasper22/net-info?i=u4_tbi84J8E:8nmse2J8ZUg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/jasper22/net-info?a=u4_tbi84J8E:8nmse2J8ZUg: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/u4_tbi84J8E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jasper-net.blogspot.com/feeds/7595169868895814518/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jasper-net.blogspot.com/2012/02/code-signing-for-independent-developer.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7595169868895814518?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4428930216417783699/posts/default/7595169868895814518?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/jasper22/net-info/~3/u4_tbi84J8E/code-signing-for-independent-developer.html" title="Code signing for the independent developer" /><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/code-signing-for-independent-developer.html</feedburner:origLink></entry></feed>

