<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pavel Podlipensky</title>
	<atom:link href="http://podlipensky.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://podlipensky.com</link>
	<description>The art of programming the Web</description>
	<lastBuildDate>Wed, 10 Jun 2015 00:45:35 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.7.27</generator>
	<item>
		<title>Kaggle competition aftermath</title>
		<link>http://podlipensky.com/2015/06/kaggle-competition-aftermath/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=kaggle-competition-aftermath</link>
		<comments>http://podlipensky.com/2015/06/kaggle-competition-aftermath/#comments</comments>
		<pubDate>Tue, 09 Jun 2015 23:11:25 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=316</guid>
		<description><![CDATA[<p>After taking Andrew Ng&#8217;s class and reading couple books about machine learning, I finally found time to do something with it. This was my first Kaggle competition and it was really fun! The problem was to find robots in some penny-like online auction. The data consists of a list of bid events (auction id, user [&#8230;]</p><p>The post <a href="http://podlipensky.com/2015/06/kaggle-competition-aftermath/">Kaggle competition aftermath</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2015/06/kaggle-competition-aftermath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What’s Bitcoin good for, anyway?</title>
		<link>http://podlipensky.com/2014/03/whats-bitcoin-good-for-anyway/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=whats-bitcoin-good-for-anyway</link>
		<comments>http://podlipensky.com/2014/03/whats-bitcoin-good-for-anyway/#comments</comments>
		<pubDate>Mon, 03 Mar 2014 16:46:08 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=297</guid>
		<description><![CDATA[<p>​The idea of using Bitcoins instead of “normal” monetary currencies has been getting a lot of attention lately, and a lot of people seem to be wondering why anyone would want to use Bitcoin in the first place. This is, of course, a question worth pondering, but I think it has been sufficiently addressed. Entrepreneur [&#8230;]</p><p>The post <a href="http://podlipensky.com/2014/03/whats-bitcoin-good-for-anyway/">What’s Bitcoin good for, anyway?</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2014/03/whats-bitcoin-good-for-anyway/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Escape unescaped</title>
		<link>http://podlipensky.com/2013/11/escape-unescaped/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=escape-unescaped</link>
		<comments>http://podlipensky.com/2013/11/escape-unescaped/#comments</comments>
		<pubDate>Mon, 18 Nov 2013 14:03:50 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=268</guid>
		<description><![CDATA[<p>JavaScript has earned reputation of tricky and well, the most popular language nowadays. But in day-to-day programming life software engineers try to avoid any hacks, shortcuts and tricks. This make code simple, easy to maintain and even more reliable. Although there is a flip side of the coin &#8211; security, which requires more deep understanding [&#8230;]</p><p>The post <a href="http://podlipensky.com/2013/11/escape-unescaped/">Escape unescaped</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2013/11/escape-unescaped/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CSS-only: Load images on demand</title>
		<link>http://podlipensky.com/2013/06/css-only-load-images-on-demand/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=css-only-load-images-on-demand</link>
		<comments>http://podlipensky.com/2013/06/css-only-load-images-on-demand/#comments</comments>
		<pubDate>Wed, 05 Jun 2013 14:40:32 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=218</guid>
		<description><![CDATA[<p>The brain is a muscle, and as all muscles, it needs regular exercise to keep sharp. Thats why I decided to take very old (but efficient) web optimization technique and implement it in new crazy way. You most likely heard about loading images (and other resources) on demand &#8211; which is not only a common sense, but also [&#8230;]</p><p>The post <a href="http://podlipensky.com/2013/06/css-only-load-images-on-demand/">CSS-only: Load images on demand</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2013/06/css-only-load-images-on-demand/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Another scriptless clickjacking vector</title>
		<link>http://podlipensky.com/2013/04/scriptless-clickjacking-vector/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scriptless-clickjacking-vector</link>
		<comments>http://podlipensky.com/2013/04/scriptless-clickjacking-vector/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 14:15:49 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=183</guid>
		<description><![CDATA[<p>Recently, one of my colleagues showed to me that Google do the following trick on their search results page. If you search for something, initially search results contains html with anchors we&#8217;d expect: &#60;a class="l" onmousedown="return rwt(this,'','','','1','AFQjCNGGfyJjOyiWYPB3FW-h7Pt6A5uwlA','4k2v33QNU7tijpC6ZLriyQ','0CDIQFjAA','','',event)" href="http://en.wikipedia.org/wiki/Cross-site_scripting"&#62;&#60;em&#62;Cross-site scripting&#60;/em&#62; - Wikipedia, the free encyclopedia&#60;/a&#62; But have you noted onmousedown event handler? Let&#8217;s see what it [&#8230;]</p><p>The post <a href="http://podlipensky.com/2013/04/scriptless-clickjacking-vector/">Another scriptless clickjacking vector</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2013/04/scriptless-clickjacking-vector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unbound methods in JavaScript</title>
		<link>http://podlipensky.com/2012/08/hiding-execution-context-javascript/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hiding-execution-context-javascript</link>
		<comments>http://podlipensky.com/2012/08/hiding-execution-context-javascript/#comments</comments>
		<pubDate>Mon, 27 Aug 2012 21:51:41 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=160</guid>
		<description><![CDATA[<p>In my previous blog post I described technique how to avoid context object exposure in Observer pattern. publish: function (publication) { for (var i = 0, len = subscribers.length; i &#60; len; i++) { subscribers[i].call(undefined, publication); //hide context by specifying undefined as new execution context } } But foo.call(undefined, ...) may lead to assumption that context [&#8230;]</p><p>The post <a href="http://podlipensky.com/2012/08/hiding-execution-context-javascript/">Unbound methods in JavaScript</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2012/08/hiding-execution-context-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Third-party JavaScript API security</title>
		<link>http://podlipensky.com/2012/08/third-party-javascript-api-security/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=third-party-javascript-api-security</link>
		<comments>http://podlipensky.com/2012/08/third-party-javascript-api-security/#comments</comments>
		<pubDate>Mon, 13 Aug 2012 14:03:16 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=151</guid>
		<description><![CDATA[<p>Third-party JavaScript is a pattern of JavaScript programming that enables the creation of highly distributable web applications. Many websites (publishers) embed untrusted JavaScript code into their pages in order to provide advertisements, social integration, user’s analytics and so on. Since JavaScript may change look and feel of the contained page, steal cookies or force user [&#8230;]</p><p>The post <a href="http://podlipensky.com/2012/08/third-party-javascript-api-security/">Third-party JavaScript API security</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2012/08/third-party-javascript-api-security/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cursor spoofing and cursorjacking</title>
		<link>http://podlipensky.com/2012/08/cursor-spoofing-cursorjacking/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cursor-spoofing-cursorjacking</link>
		<comments>http://podlipensky.com/2012/08/cursor-spoofing-cursorjacking/#comments</comments>
		<pubDate>Mon, 06 Aug 2012 14:03:59 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Clickjacking]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=100</guid>
		<description><![CDATA[<p>Today I’d like to continue clickjacking topic and review another kind of attack named – cursorjacking. It was introduced last year by Eddy Bordi. Attack compromising pointer integrity &#8211; the guarantee that users can rely on cursor feedback to select locations for their input events. One of the advantages of such attack vector is that [&#8230;]</p><p>The post <a href="http://podlipensky.com/2012/08/cursor-spoofing-cursorjacking/">Cursor spoofing and cursorjacking</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2012/08/cursor-spoofing-cursorjacking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Infinite loop as a way for DoS attack</title>
		<link>http://podlipensky.com/2012/07/infinite-loop-as-way-for-dos-attack/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=infinite-loop-as-way-for-dos-attack</link>
		<comments>http://podlipensky.com/2012/07/infinite-loop-as-way-for-dos-attack/#comments</comments>
		<pubDate>Mon, 30 Jul 2012 03:48:30 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=140</guid>
		<description><![CDATA[<p>An infinite loop  is a sequence of instructions in a computer program which loops endlessly, either due to the loop having no terminating condition, having one that can never be met, or one that causes the loop to start over. For example, while(true){ //do nothing here } or for(;;); There are a few situations when [&#8230;]</p><p>The post <a href="http://podlipensky.com/2012/07/infinite-loop-as-way-for-dos-attack/">Infinite loop as a way for DoS attack</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2012/07/infinite-loop-as-way-for-dos-attack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clickjacking explained</title>
		<link>http://podlipensky.com/2012/07/clickjacking-explained/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=clickjacking-explained</link>
		<comments>http://podlipensky.com/2012/07/clickjacking-explained/#comments</comments>
		<pubDate>Mon, 23 Jul 2012 15:03:02 +0000</pubDate>
		<dc:creator><![CDATA[podlipensky]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Clickjacking]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://podlipensky.com/?p=78</guid>
		<description><![CDATA[<p>Clickjacking attacks are an emerging threat on the web. Let’s consider first type of such attacks which compromising target display integrity &#8211; the guarantee that users can fully see and recognize the target element before an input action. First, let me explain clickjacking basics. Let&#8217;s say you added &#8220;Follow&#8221; button from Twitter. &#60;a href="https://twitter.com/podlipensky" class="twitter-follow-button" [&#8230;]</p><p>The post <a href="http://podlipensky.com/2012/07/clickjacking-explained/">Clickjacking explained</a> appeared first on <a href="http://podlipensky.com">Pavel Podlipensky</a>.</p>]]></description>
		<wfw:commentRss>http://podlipensky.com/2012/07/clickjacking-explained/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
