<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Divergent Thinking Works</title>
	<atom:link href="http://garabedyan.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://garabedyan.wordpress.com</link>
	<description>Garo Garabedyan&#039;s Divergent Thinking Blog</description>
	<lastBuildDate>Thu, 19 Jan 2012 18:30:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='garabedyan.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Divergent Thinking Works</title>
		<link>http://garabedyan.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://garabedyan.wordpress.com/osd.xml" title="Divergent Thinking Works" />
	<atom:link rel='hub' href='http://garabedyan.wordpress.com/?pushpress=hub'/>
		<item>
		<title>2011 in review</title>
		<link>http://garabedyan.wordpress.com/2012/01/02/2011-in-review/</link>
		<comments>http://garabedyan.wordpress.com/2012/01/02/2011-in-review/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 12:16:58 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1502</guid>
		<description><![CDATA[The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog. Here&#8217;s an excerpt: A San Francisco cable car holds 60 people. This blog was viewed about 3,300 times in 2011. If it were a cable car, it would take about 55 trips to carry that many people. Click here to see the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1502&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.</p>
<p><a href="/2011/annual-report/"><img style="border-color:initial;border-style:initial;border-width:0;" src="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" alt="" width="100%" height="340" /></a></p>
<p>Here&#8217;s an excerpt:</p>
<blockquote><p>A San Francisco cable car holds 60 people. This blog was viewed about <strong>3,300</strong> times in 2011. If it were a cable car, it would take about 55 trips to carry that many people.</p></blockquote>
<p><a href="/2011/annual-report/">Click here to see the complete report.</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1502/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1502&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2012/01/02/2011-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>

		<media:content url="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/emailteaser.jpg" medium="image" />
	</item>
		<item>
		<title>World Community Grid: The Human Proteome Folding project</title>
		<link>http://garabedyan.wordpress.com/2011/10/26/world-community-grid-the-human-proteome-folding-project/</link>
		<comments>http://garabedyan.wordpress.com/2011/10/26/world-community-grid-the-human-proteome-folding-project/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 19:33:53 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1420</guid>
		<description><![CDATA[The Boinc software application (http://boinc.berkeley.edu/), developed in the University of California, Berkley, allows every personal computer to use its unused computational power to solve tasks automatically downloaded from the Internet from projects benefitting humanity like the World Community Grid (supported by IBM http://www.worldcommunitygrid.org/). Global statistics about the WCGrid can be found at http://www.worldcommunitygrid.org/stat/viewGlobal.do. WCGrid is a virtual [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1420&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Boinc software application <a href="//boinc.berkeley.edu/">(http://boinc.berkeley.edu/</a>), developed in the University of California, Berkley, allows every personal computer to use its unused computational power to solve tasks automatically downloaded from the Internet from projects benefitting humanity like the World Community Grid (supported by IBM<a href="http://www.worldcommunitygrid.org/"> http://www.worldcommunitygrid.org/</a>). Global statistics about the WCGrid can be found at <a href="http://www.worldcommunitygrid.org/stat/viewGlobal.do" rel="nofollow" target="_blank">http://www.worldcommunitygrid.org/stat/viewGlobal.do</a>.</p>
<p>WCGrid is a virtual supercomputer who&#8217;s power will help address whole range of humanitarian concerns from healthcare, AIDS, cancer, finding better strains of rice that are more nutritious. It is an amazing opportunity for people to get involved in humanitarian issues. WCGrid is doing a study of all of the proteins in rice to come up with stronger strains of rice to improve the World food supply.</p>
<p>IBM&#8217;s innovation technology allows people to donate the unused power of their individual computers to address problems in the world and this is a new level of contribution-donating something that costs nothing to the donors, that they do not use and can make change in the world.</p>
<p>A huge work is invested to secure the widely open volunteer system. There are people in IBM called &#8220;ethical hackers&#8221; who are paid to try to hack the open access grid.</p>
<p>WCGrid is harvesting spare processing time from computers around the world using that computing power to accelerate research. One half of a million years of computer time has been already donated to important research projects in the WCGrid.</p>
<p>Explaination about World Community Grid by IBM&#8217;s How it works at <a href="http://www.ibm.com/podcasts/howitworks/021307/index.shtml">http://www.ibm.com/podcasts/howitworks/021307/index.shtml</a></p>
<p>Human Proteome Folding Explained</p>
<p><object width="700" height="394"><param name="movie" value="http://www.youtube.com/v/gv0us1SWLAQ?version=3&#038;feature=oembed"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/gv0us1SWLAQ?version=3&#038;feature=oembed" type="application/x-shockwave-flash" width="700" height="394" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.youtube.com/user/WCGrid">YouTube channel of WCGrid</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1420/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1420/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1420/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1420&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2011/10/26/world-community-grid-the-human-proteome-folding-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>
	</item>
		<item>
		<title>Crockford: JavaScript&#8217;s bad and good parts</title>
		<link>http://garabedyan.wordpress.com/2011/07/05/crockford-javascripts-bad-and-good-parts/</link>
		<comments>http://garabedyan.wordpress.com/2011/07/05/crockford-javascripts-bad-and-good-parts/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 18:33:00 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Java Script]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1339</guid>
		<description><![CDATA[Douglas Crockford, a programmer involved in the ongoing development of JavaScript, popularizing the JSON (JavaScript Object Notation) data format and currently a senior JavaScript architect at Yahoo!, have wrote a book and gave talks about the good and bad parts in JavaScript proving that most of the professional developers using JavaScript are not aware of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1339&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a title="Douglas Crockford's Wrrrld Wide Web" href="http://www.crockford.com/">Douglas Crockford</a>, a programmer involved in the ongoing development of JavaScript, popularizing the <a title="RFC-4627 The application/json Media Type for JavaScript Object Notation (JSON)" href="http://tools.ietf.org/html/rfc4627">JSON (JavaScript Object Notation)</a> data format and currently a senior JavaScript architect at Yahoo!, <a title="Douglas Crockford, JavaScript: The Good Parts" href="http://www.amazon.com/exec/obidos/ASIN/0596517742/wrrrldwideweb">have wrote a book</a> and <a href="http://googlecode.blogspot.com/2009/03/doug-crockford-javascript-good-parts.html">gave talk</a>s about the good and bad parts in JavaScript proving that most of the professional developers using JavaScript are not aware of the beauty of a programming language hosted on more virtual machines than anything else on the planet—on every fully-capable web browser. With a series of interesting examples Crockford outlines the most common problems in developing JavaScript applications, provides workarounds and outlines the good practices.</p>
<p><a href="http://www.ecmascript.org/">ECMAScript</a> is widely used for scripts executed on the client (Internet applications separated between the server and the client) in the form of well known dialects like JavaScript, JScript and ActionScript. There is a project to the ECMAScript&#8217;s dialect JavaScript as a server-side engine (<a href="http://nodejs.org/">Node.js</a>).</p>
<p>JavaScript is criticised by advanced developers in other programming languages for its weak type system and lack of raising proper exceptions, but it is irrefutable that there is no such programming language in the world like JavaScript, which to be used by such a wide range of users- starting with copy-and-pasters to professional software developers using JavaScript for scientific purposes.</p>
<p>ECMAScript supports object-oriented programming. Objects in ECMAScript are values with named properties. Object properties that are functions can be called as methods. ECMAScript functions are objects and can be stored as properties, passed as arguments, and returned as results. This powerful idiom from functional programming allows your functions and methods to import functionality from their caller in a simple and flexible way. ECMAScript objects inherit properties from prototype objects. Prototype-based programming facilitates easy delegation and flexible overriding of object behavior. [About ECMAScript. <a href="http://www.ecmascript.org/about.php">http://www.ecmascript.org/about.php</a>]</p>
<p>Crockford&#8217;s experience reveals that JavaScript is a language that people use without bothering to learn it first.</p>
<h2>JavaScript&#8217;s Bad Parts</h2>
<ul>
<li>Global variables: Due to the lack of a linker in JavaScript, compiling took place in a global namespace where any variable can collide and interfere with each other. XSS attacks are fundamentally enabled by JavaScript&#8217;s use of global variables.</li>
<li>Operator + adds and concatenates: This overloading in a type-unsafe programming environment causes problems.</li>
<li>Semicolon insertions: JavaScript tries to put semicolons instead of the programmer in order to make the C syntax easier for beginners. When the compiler gets an error, it goes back, looks for a line feed and replaces it with a semicolon.</li>
<li>Operator typeof: JavaScript typeof operator returns for the type of an array object and for the type of null object.</li>
<li>With statement: slows the execution too much.</li>
<li>Eval function: mostly misused function in JavaScript.</li>
<li>Phony arrays: While in most languages arrays are linear sequences of memory divided into regularly spaced buckets where easily an address can be computed to the element in the array, in JavaScript arrays are essentially hash tables in which the keys are turned into strings. Due to this behavior arrays have a terrible performance in JavaScript, but makes the programming model easier as an array&#8217;s dimension is not set.</li>
<li>== and != do type coercion.</li>
<li>Too many bottom values like false, null, undefined, NaN.</li>
</ul>
<p>Consequences of type coercion of the double-equal operator (very strange and ruled by a complicated rules- <a href="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262%20edition%205.1,%20June%202011.pdf">http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262%20edition%205.1,%20June%202011.pdf</a> Section 11.9.3  The Abstract Equality Comparison Algorithm):</p>
<p><pre class="brush: jscript;">
'' == '0' //false
0 == '' //true
0 == '0' //true
false == 'false' //false
false == '0' //false
false == undefined //false
false == null //false
null == undefined //true
&quot; \t\r\n &quot; == 0 //true
</pre></p>
<p>JavaScript has a triple-equal operator which checks types in making a comparison. The triple-equal operator is highly recommended.</p>
<pre><span class="Apple-style-span" style="font-family:Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;font-size:13px;line-height:19px;white-space:normal;">The for in operator is troublesome as it makes a deep dredge on the all members of the object.</span></pre>
<p>Blockless statements, expression statements, floating point arithmetic, ++ and &#8212; operators, switch operator are a bad heritage. Switch statement is replaced by advanced JavaScript developers with an object encapsulating the possible cases of the switch block (<a href="http://www.sitepoint.com/google-closure-how-not-to-write-javascript/">http://www.sitepoint.com/google-closure-how-not-to-write-javascript/</a>).</p>
<h2>JavaScript&#8217;s Good Parts</h2>
<ul>
<li>Lambda.</li>
<li>Dynamic objects: At any time a property can be added to an object. Developer does not need to add the property to a class. Dynamic objects turned out to be amazingly powerful. A form of reflection occurs in JavaScript when you ask an object about the value of a property which it has not-JavaScript returns undefined.</li>
<li>Loose Typing.</li>
<li>Object Literals: a very nice notation for describing objects. JavaScript&#8217;s object literals were the inspiration for the JSON data interchange format.</li>
</ul>
<h2>Inheritance in JavaScript</h2>
<p>Inheritance is object-oriented code reuse. There are two schools: classical and prototypal. Prototypal inheritance is class-free where objects inherit from objects. In JavaScript an inherited object contains a link (named __proto__) to the parent object. This inheritance is called Delegation or Differential Inheritance.</p>
<p>Below is a pattern of object creation with inheritance in JavaScript:</p>
<p><pre class="brush: jscript;">
function myPowerConstructor(x) {
    var that = otherMaker(x); /* create an object by Object literal,
                                 or with new keyword,
                                 or Object.create,
                                 or call another power constructor */
    var secret = f(x);
    that.priv = function () {
        ... secret x that ...
    };
    return that;
}
</pre></p>
<p>Variable called &#8220;that&#8221; (without the quotes) is used to contain the new object. Please note that &#8220;this&#8221; (without the quotes) is a reserved name. The variable &#8220;secret&#8221; (without the quotes) is private. Method called &#8220;priv&#8221; (without the quotes) is a closure and, thus, has access to all private variables and can be invoked by the outside world. Closures are functions referencing the environment in which they were created (their context).</p>
<p>Right-curlies (&#8220;block {&#8221; all on the same line) is the only acceptable style in JavaScript. Due to the insertion of semicolon on every line returning an error a return clause must be followed on the same line with a right-curlie or a value.</p>
<h2>JSLint</h2>
<p>JSLint is a code quality analyzer for JavaScript code freely available at <a href="http://www.jslint.com/">http://www.jslint.com/</a> . JSLint defines a professional subset of JavaScript. It imposes a programming discipline that makes developers much more confident in a dynamic, loosely-typed environment.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1339&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2011/07/05/crockford-javascripts-bad-and-good-parts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>
	</item>
		<item>
		<title>Chess BFS search with heuristic static evaluation functions. Parallel algorithm on OpenMP</title>
		<link>http://garabedyan.wordpress.com/2011/04/29/chess-bfs-search-with-heuristic-static-evaluation-function-parallel-algorithm-on-openmp/</link>
		<comments>http://garabedyan.wordpress.com/2011/04/29/chess-bfs-search-with-heuristic-static-evaluation-function-parallel-algorithm-on-openmp/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 18:51:22 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[breadth-first search]]></category>
		<category><![CDATA[chess]]></category>
		<category><![CDATA[openmp]]></category>
		<category><![CDATA[Shannon-type]]></category>
		<category><![CDATA[tree search]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1116</guid>
		<description><![CDATA[Garry Kasparov (World Chess Champion 1985-2000) vs. Deep Blue (IBM&#8217;s chess engine) in 1997 IBM&#8217;s DeepBlue analyzes 200,000,000 possible moves per second (brute force approach) with an array of 256 CPUs. I would like to present you my long-term project-A Chess game engine using Breadth-First Search with static heuristic evaluation functions. Chess is a two-player [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1116&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Garry Kasparov (World Chess Champion 1985-2000) vs. Deep Blue (IBM&#8217;s chess engine) in 1997</h3>
<span style="text-align:center; display: block;"><a href="http://garabedyan.wordpress.com/2011/04/29/chess-bfs-search-with-heuristic-static-evaluation-function-parallel-algorithm-on-openmp/"><img src="http://img.youtube.com/vi/NJarxpYyoFI/2.jpg" alt="" /></a></span>
<p>IBM&#8217;s DeepBlue analyzes 200,000,000 possible moves per second (brute force approach) with an array of 256 CPUs.</p>
<p>I would like to present you my long-term project-A Chess game engine using Breadth-First Search with static heuristic evaluation functions. Chess is a two-player zero-sum game. The worst the possible moves of the opponent are, the better is your move. I have used <a title="Beowulf Computer Chess Engine, Home page. http://www.frayn.net/beowulf/" href="http://www.frayn.net/beowulf/">an open-source chess player Beowulf</a> v. 2.4a and have move it to use OpenMP to become parallel. The Beowulf is the chess engine of ChessBrain project, a project winning <a title="Guinness, Largest networked chess computer. http://www.guinnessworldrecords.com/Search/Details/Largest-networked-chesscomputer/59375.htm" href="http://www.guinnessworldrecords.com/Search/Details/Largest-networked-chesscomputer/59375.htm">a world record</a> for computation in 2004, networking together 2,070 computers located in 56 countries to play a single game of chess. <a title="OpenMP, About OpenMP. http://openmp.org/wp/about-openmp/" href="http://openmp.org/wp/about-openmp/">OpenMP</a> is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer.</p>
<p align="LEFT"><span style="font-size:small;">Due to their special structure, tree search algorithms can be naturally parallelized (data parallization: the same function running on a parallel environment processing different input, compared to functional parallization where the processing units take semantically different input), which makes them a very attractive area research in parallel computing. The main elements of tree search algorithms include the following [</span><strong>Yan Xu</strong>, <em>Scalable Algorithms For Parallel Tree Search</em>, 2007<span class="Apple-style-span" style="font-size:small;">].</span></p>
<ul>
<li> <span class="Apple-style-span" style="font-size:x-small;"><span style="font-family:Times-Italic, cursive;"><span style="font-size:small;"><em>Processing method</em></span></span><span style="font-size:small;">: A method for computing path cost and testing whether the current node contains a goal state.</span></span></li>
<li> <span class="Apple-style-span" style="font-size:x-small;"><span style="font-family:Times-Italic, cursive;"><span style="font-size:small;"><em>Successor function</em></span></span><span style="font-size:small;">: A method for creating a new set of nodes from a given node by expanding the state defined by that node.</span></span></li>
<li> <span class="Apple-style-span" style="font-size:x-small;"><span style="font-family:Times-Italic, cursive;"><span style="font-size:small;"><em>Search strategy</em></span></span><span style="font-size:small;">: A method for determining which node should be processed next.</span></span></li>
<li> <span style="font-family:Times-Italic, cursive;"><span style="font-size:small;"><em>Pruning rule</em></span></span><span style="font-size:small;">: A method for determining when it is possible to discard nodes whose successors cannot produce solutions better than those found already or who cannot produce a solution at all.</span></li>
</ul>
<p>Theoretically, the fundamentals of chess program have three major segments: move generator, evaluation function and search algorithm. Decision tree that is the base of search algorithm grows exponentially with factors depending of position, hash tables, number of pieces on the board&#8230; If we suppose that on the first level of the decision tree one has node with normal 40 exists, on the second level it will be 402 = 1600 nodes, on the third 403 it will be 64000 etc. It is obvious that number of nodes and processing time depends exponentially of the level – depth of the search tree. In theory, that effect is called combinational explosion. On the other hand, the quality of computer play strongly depends on depth of the decision tree so the effect of the exponential explosion limits the computer chess strength. There are generally two approaches to overcome this problem: <em>Shannon-type-A</em> [By the name of its inventor in 1949 Claude Elwood Shannon (1916 – 2001) (See <a href="http://chessprogramming.wikispaces.com/Claude+Shannon">http://chessprogramming.wikispaces.com/Claude+Shannon</a>)] (full-width approach) and <em>Shannon-type-B</em> (selective search). The first one tries to solve the problem by using the simple pruning mechanisms based on Alpha-Beta technique with idea to decrease maximally the time needed to compute one single node. This approach benefits maximally of the rapidly increasing speed of the modern CPU-s and also incorporates standard (cluster) parallelization. The second approach (Type-B) is concentrate on heuristic pruning based on relatively extensive portion of knowledge directly programmed into the evaluation or move generator function. This approach is very depended on the programmer skill and the quality of the implemented pruning, so the results could be very relative. On today’s level of knowledge in this area, the best combination is to use near full-width approach in main searcher, and selective searcher in q-search (quiesce) procedure. The algorithms could be combined: <em>Alpha-Beta</em>, <em>Null Move</em> and <em>PVS (NegaScout)</em>. [<strong>Vladan V. Vuckovic</strong>, <em>The Method of The Chess Search Algorithms Parallelization Using Two-Processor Distributed System</em>, Ser. Math. Inform. Vol. 22, No. 2 (2007), pp. 175-188]</p>
<p>Why Quiescence Search? The problem with abruptly stopping a search at a fixed depth is something called the &#8216;horizon effect&#8217;. It might be that you have just captured an opponent&#8217;s pawn at depth 0, then you return that score being justifiably proud. However, if you had searched another ply deeper you would have seen that the opponent could recapture your queen! [<strong>Colin Frayn</strong>, <em>Computer Chess Programming Theory</em>, 2005. <a href="http://www.frayn.net/beowulf/theory.html">http://www.frayn.net/beowulf/theory.html</a>]</p>
<p><div id="attachment_1138" class="wp-caption aligncenter" style="width: 549px"><a href="http://garabedyan.files.wordpress.com/2011/04/chess-shannon-type-a.png"><img class="size-full wp-image-1138         " style="border-color:initial;border-style:initial;" title="Chess-Shannon-type-A" src="http://garabedyan.files.wordpress.com/2011/04/chess-shannon-type-a.png?w=700" alt=""   /></a><p class="wp-caption-text">Shannon-type-A tree of chess moves [Colin Frayn and Carlos Justiniano, The ChessBrain Project - Massively Distributed Chess Tree Search, Studies in Computational Intelligence (SCI) 71, 91–115 (2007)</p></div>Chess Breadth-first search can degenerate as not only positions with the same distance to the start are evaluated together. Variations of chess players&#8217; moves involve subcomputations whose amount of work is not known in advance, and hence the work can only be distributed at runtime, the parallel algorithm is irregular. [<strong>Michael Sub and Claudia Leopold</strong>, <em>Implementing Irregular Parallel Algorithms with OpenMP</em>]</p>
<p>Deferred thread cancellation was implemented by hand as OpenMP does not provide an ability a thread to cancel another thread from the outside. [<strong>Michael Sub and Claudia Leopold</strong>, <em>Implementing Irregular Parallel Algorithms with OpenMP</em>] Deferred cancellation is possible in POSIX threads as well. [POSIX standard, <a title="POSIX standard, pthread_setcancelstate. http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_setcancelstate.html" href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_setcancelstate.html">pthread_setcancelstate</a>] Below is shown how deferred thread cancellation was implemented:</p>
<p><pre class="brush: cpp;">
// parallel cancel threads workaround
if (IsCancelThreads)
    break;
...
// parallel critical region: workaround a return clause
#pragma omp critical (ReturnResultFromThread)
{
    if (!IsResultFound) {
        ResultFromThread = CMSCORE - ply - 1;
        IsResultFound = TRUE;
    }
    IsCancelThreads = TRUE;
} //includes implicit flush
if (IsCancelThreads)
    break;
...
IsCancelThreads = TRUE;
#pragma omp flush (IsCancelThreads)
if (IsCancelThreads)
    break;
...
</pre></p>
<p>Download the parallel open-source version of Beowulf (for Unix systems) from <a href="http://garabedyan.files.wordpress.com/2011/04/parallelbeowulf-rar1.odt">ParallelBeowulf.rar</a>. (<span style="color:#ff0000;">Change the file extension from ODT to RAR and unrar the archive</span>. WordPress.com restricts file upload extensions.)</p>
<p>A set of 1285 <a title="PGN - Portable Game Notation, Sect. 16.2. http://www.ewccf.com/pgn.htm" href="http://www.ewccf.com/pgn.htm">Extended Position Description (EPD) Chess</a> tests were ran toward the parallel and sequential Beowulf versions running on a same computer environment (CPU: AMD Opteron 64 Dual Core Processor 1.8 GHz RAM: 2GB 800 MHz HDD: 2x160GB Hitachi SATA in RAID 0 MB: Asus M2N-LR OS: Scientific Linux 5.3 64 bit Middleware: MPICH2 1.1.1p2). The compared results can be found here: <a title="PDF file of 1,222 pages" href="http://garabedyan.files.wordpress.com/2011/04/sequential-output-parallel-output.pdf">sequential-output &#8211; parallel-output</a>. After revealing the results it seems that the parallel version performs faster by examining many more moves (higher computational speed) but fails short in evaluating the best move. It took the parallel algorithm too much time to find the best move compared with the sequential Beowulf and in some of the test cases the time limit of half of a minute was not enough for the parallel Beowulf to find the correct move while the sequential algorithm succeeds.</p>
<p>EPD specifies the piece placement, the active color, the castling availability, and the en passant target square of a position. The castling availability field indicates potential future castling that may or may not be possible at the moment due to blocking pieces or enemy attacks. An EPD test contains a list (single or many items) of best moves which are compared with the algorithm&#8217;s best move in order to determine is the test passed or failed.</p>
<p><em>IDE Note</em>: While Visual Studio 2008 and 2010 <a title="MSDN, OpenMP in Visual C++. http://msdn.microsoft.com/en-us/library/tt15eb9t.aspx" href="http://msdn.microsoft.com/en-us/library/tt15eb9t.aspx">support OpenMP 2.0 for Visual C++</a>, it is a shame that <a title="Microsoft Connect, OpenMP 3.0 Support, 2010. https://connect.microsoft.com/VisualStudio/feedback/details/545147/openmp-3-0-support" href="https://connect.microsoft.com/VisualStudio/feedback/details/545147/openmp-3-0-support">Visual Studio 2010 does not support OpenMP 3.0</a>.</p>
<h2></h2>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1116&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2011/04/29/chess-bfs-search-with-heuristic-static-evaluation-function-parallel-algorithm-on-openmp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>

		<media:content url="http://garabedyan.files.wordpress.com/2011/04/chess-shannon-type-a.png" medium="image">
			<media:title type="html">Chess-Shannon-type-A</media:title>
		</media:content>
	</item>
		<item>
		<title>Ajax enabled web unfolds many new CSRF security problems</title>
		<link>http://garabedyan.wordpress.com/2011/04/28/ajax-enabled-web-unfolds-many-new-csrf-security-problems/</link>
		<comments>http://garabedyan.wordpress.com/2011/04/28/ajax-enabled-web-unfolds-many-new-csrf-security-problems/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 14:26:44 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[intranet security]]></category>
		<category><![CDATA[Same Origin Policy]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1098</guid>
		<description><![CDATA[SPI Dynamics, Inc., a leading provider of web application security assessment software and services, which was acquired by HP in 2007, have revealed JavaScript techniques for compromising the intranet security of a user browsing hacker&#8217;s web page. Sadly, I have failed short to find an URL to the original paper but the hacking approach is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1098&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>SPI Dynamics, Inc., a leading provider of web application security assessment software and services, which was <a title="HP Newsroom, HP to Acquire SPI Dynamics, Strengthening Capabilities in Application Quality Management, 2007. http://www.hp.com/hpinfo/newsroom/press/2007/070619xb.html" href="http://www.hp.com/hpinfo/newsroom/press/2007/070619xb.html">acquired by HP in 2007</a>, have revealed JavaScript techniques for compromising the intranet security of a user browsing hacker&#8217;s web page. Sadly, I have failed short to find an URL to the original paper but the hacking approach is explained in details in <a title="Martin Johns, A First Approach to Counter ”JavaScript Malware”, 2006. http://events.ccc.de/congress/2006/Fahrplan/attachments/1161-2006_11_15_23C3.pdf" href="http://events.ccc.de/congress/2006/Fahrplan/attachments/1161-2006_11_15_23C3.pdf">Martin Johns, A First Approach to Counter ”JavaScript Malware”, 2006</a>.</p>
<p>The Intranet scanning scenario using JavaScript loaded in the browser from an ordinary Internet web site:</p>
<ol>
<li>The script constructs a local URL that contains the IP address and the port that shall be scanned.</li>
<li>Then the script includes an element in the webpage that is addressed by this URL. Such elements can be, e.g., images, iframes or remote scripts.</li>
<li>Using JavaScript’s time-out functions and eventhandlers like <em>onload</em> and <em>onerror</em> the script can decide whether the host exists and the given port is open: If a time-out occurs, the port is probably closed. If an <em>onload</em>- or <em>onerror</em>-event happens, the host answered with some data, indicating that the host is up and is listening on the targeted port.</li>
</ol>
<p>The cross-domain networking capabilities of JavaScript are restricted by the Same origin policy (SOP). However, this policy allows including elements from cross domain http hosts into the DOM tree of the document that contains the JavaScript. This exception in the networking policy and the fact that the SOP applies on a document level creates a loophole in SOP.</p>
<p>A carefully crafted JavaScript code can port scan the intranet network of a web visitor and access its resources. Simply relying on the ﬁrewall to protect intranet http server against unauthorized access is not sufﬁcient.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1098/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1098/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1098/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1098&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2011/04/28/ajax-enabled-web-unfolds-many-new-csrf-security-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>
	</item>
		<item>
		<title>Nokia&#8217;s Qt Framework with an innovative mechanism of object communication</title>
		<link>http://garabedyan.wordpress.com/2011/04/26/nokias-qt-framework-with-an-innovative-mechanism-of-object-communication/</link>
		<comments>http://garabedyan.wordpress.com/2011/04/26/nokias-qt-framework-with-an-innovative-mechanism-of-object-communication/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 16:15:32 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1090</guid>
		<description><![CDATA[Qt Development Frameworks is a cross-platform application and UI framework on C++ from Nokia targeting mobile phone devices and many more. While most toolkits in C/C++ implement event-driven architecture with pointers to functions (callbacks), Qt provides an innovative Signals &#38; Slots mechanism. Back in 2008 I was developing a framework on C implementing a custom event-driven architecture [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1090&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a title="Qt, About us. http://qt.nokia.com/about" href="http://qt.nokia.com/about">Qt Development Frameworks</a> is a cross-platform application and UI framework on C++ from Nokia targeting mobile phone devices and many more. While most toolkits in C/C++ implement event-driven architecture with pointers to functions (callbacks), Qt provides an innovative <a title="Qt Reference Documentation, Signals &amp; Slots. http://doc.trolltech.com/4.7/signalsandslots.html" href="http://doc.trolltech.com/4.7/signalsandslots.html">Signals &amp; Slots</a> mechanism.</p>
<p>Back in 2008 I was developing <a title="Garo Garabedyan, eventBased Framework. http://garabedyan.wordpress.com/2008/12/17/eventbasedframework/" href="http://garabedyan.wordpress.com/2008/12/17/eventbasedframework/">a framework on C</a> implementing a custom event-driven architecture relying on pointers to functions, and, thus, injecting type-unsafe conversions to <em>void</em> and backward.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1090/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1090/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1090/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1090&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2011/04/26/nokias-qt-framework-with-an-innovative-mechanism-of-object-communication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>
	</item>
		<item>
		<title>The fierce urgency of now about the Armenian genocide</title>
		<link>http://garabedyan.wordpress.com/2011/04/23/the-fierce-urgency-of-now/</link>
		<comments>http://garabedyan.wordpress.com/2011/04/23/the-fierce-urgency-of-now/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 11:08:45 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[24 april]]></category>
		<category><![CDATA[armenian genocide]]></category>
		<category><![CDATA[barack obama]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1064</guid>
		<description><![CDATA[Tomorrow, April 24, 2011, the U.S. President Barack Obama will have an opportunity to name the mass massacre of Armenians in Ottoman Turkey in 1915 with its legal term of genocide. The date 24 April commemorates the Armenian notables deported from the Ottoman capital in 1915, as the precursor to the ensuing genocide.  The brutal costs [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1064&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Tomorrow, April 24, 2011, the U.S. President Barack Obama will have an opportunity to name the mass massacre of Armenians in Ottoman Turkey in 1915 with its legal term of genocide. The date 24 April commemorates the Armenian notables deported from the Ottoman capital in 1915, as the precursor to the ensuing genocide.  The brutal costs of the Armenian genocide&#x2014;until now carried by its innocent victims&#x2014;can be borne by those who continue to benefit from the fruits of this unpunished crime.</p>
<p>The Armenian Genocide was conceived and carried out by the Ottoman Empire from 1915 to 1923, resulting in the deportation of nearly 2,000,000 Armenians, of whom 1,500,000 men, women, and children were killed, 500,000 survivors were expelled from their homes, and which succeeded in the elimination of the over 2,500-year presence of Armenians in their historic homeland. The present government of Turkey continues its position of censorship and mostly Western and North American democracies are targeted to its state-sponsored denial propaganda of the Armenian genocide, the second most studied genocide after the Holocaust.</p>
<p>Until now Armenians around the world and in Armenia have systematized the studies of the crime, have asked different political and religious leaders to speak about the massacres, and have constantly stand for truth and demanded justice always when possible. Genocide is the ultimate crime. The Armenian diaspora, the Armenians around the world, is mainly formed in the aftermath of the 1915 massacres.</p>
<p>Barack Obama has <a title="ANCA, Barack Obama’s Track Record of Armenian Genocide Recognition. http://www.anca.org/change/docs/Obama_Armenian_Genocide.pdf" href="http://www.anca.org/change/docs/Obama_Armenian_Genocide.pdf">a long track record of commemorating the Armenian Genocide</a>, has spoken compellingly of the moral imperative of U.S. condemnation of this crime against humanity, and has publicly pledged several times, in clear and forceful language, to fully and properly recognize the Armenian Genocide.</p>
<p>In the <a title="The White House, Statement of President Barack Obama on Armenian Remembrance Day, April 24, 2010. http://www.whitehouse.gov/the-press-office/statement-president-barack-obama-armenian-remembrance-day" href="http://www.whitehouse.gov/the-press-office/statement-president-barack-obama-armenian-remembrance-day">Statement of President Barack Obama on Armenian Remembrance Day on April 24, 2010</a> Barack Obama avoided the term genocide by calling the events Meds Yeghern which translated from Armenian means &#8220;Great Calamity&#8221; and is the way Armenians have called the 1915 massacres before Raphael Lemkin, a Polish lawyer of Jewish descent, coined the term genocide in 1943. In April 1, 2011 the Armenian President Serzh Sarkisian said that he have asked the U.S. President to explicitly describe the 1915 killings of Armenians as genocide. <sup>[<a title="Radio Free Europe, Sarkisian Asks Obama To 'Recognize Armenian Genocide', April 1, 2011. http://www.rferl.org/content/sarkisian_obama_recognize/3543550.html" href="http://www.rferl.org/content/sarkisian_obama_recognize/3543550.html">source</a>]</sup></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1064/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1064/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1064/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1064&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2011/04/23/the-fierce-urgency-of-now/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>
	</item>
		<item>
		<title>CSRF on changing browser&#8217;s state</title>
		<link>http://garabedyan.wordpress.com/2011/04/15/csrf-on-changing-browsers-state/</link>
		<comments>http://garabedyan.wordpress.com/2011/04/15/csrf-on-changing-browsers-state/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 21:38:37 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[internet attack]]></category>
		<category><![CDATA[login CSRF]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1040</guid>
		<description><![CDATA[Attacks like malicious logging in the account of the hacker or other CSRF (Cross-Site Request Forgery) attacks causing browser state change have been newly decribed in the field of Internet security. Let&#8217;s describe a log-in CSRF. Many search engines, including Yahoo! and Google, allow their users to opt-in to saving their search history and provide [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1040&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Attacks like malicious logging in the account of the hacker or other CSRF (Cross-Site Request Forgery) attacks causing browser state change have been newly decribed in the field of Internet security. Let&#8217;s describe a log-in CSRF. Many search engines, including Yahoo! and Google, allow their users to opt-in to saving their search history and provide an interface for a user to review his or her personal search history. Search queries contain sensitive details about the user&#8217;s interests and activities and could be used by an attacker to embarrass the user, to steal the user&#8217;s identity, or to spy on the user. An attacker can spy on a user&#8217;s search history by logging the user into the search engine as the attacker. The user&#8217;s search queries are then stored in the attacker&#8217;s search history, and the attacker can retrieve the queries by logging into his or her own account. <sup>[1]</sup></p>
<p>An overwhelming amount of Internet sites change the browser&#8217;s state (mainly by setting a cookie) from insecure to CSRF HTML forms (using primarily GET, POST, or PUT methods) or even simple links (based on GET method). The HTML spec defines GET method among the safe methods as GET must not cause any side effects but simply retrieve information <sup>[2]</sup>, but this is massively violated rule mainly in log-out links of web applications.</p>
<p>The modern trend in Internet applications is to keep track of the user preferences and to advise him to read/watch similar content, YouTube and Amazon to name only a few. Amazon.com sets a cookie for every search you perform with the aim to offer you a similar book to these you have searched for. Amazon articles can be loaded with GET methods. YouTube on his homepage will accumulate related content to the previously watched videos in it&#8217;s video sharing network. YouTube videos can be loaded with GET methods.</p>
<p>There will be some problems in performing such attack but it is irrefutable that most Internet applications change the browser&#8217;s state by insecure to CSRF requests. Such CSRF attacks unfold a potential for new spam techniques.</p>
<p>Many bussiness analysators rely on statistics on what users have searched on their sites, but it is important to note that such statistics can be powerfully manipulated by CSRF attacks. Forcing unaware web visitors to hidenly perform predefined searches on competitor&#8217;s web site can prevent a more clear vision of the current desires of the potential customers.</p>
<p><strong>Cited sources:</strong></p>
<p>1. <strong>Adam Barth, Collin Jackson, John C. Mitchell.</strong> <em>Robust Defenses for Cross-Site Request Forgery</em>, ACM 2007, 2007 Vol. Proceedings of the 15th ACM Conference on Computer and Communications Security, <a href="http://www.adambarth.com/papers/2008/barth-jackson-mitchell-b.pdf">http://www.adambarth.com/papers/2008/barth-jackson-mitchell-b.pdf</a></p>
<p>2. <em>Hypertext Transfer Protocol &#8212; HTTP/1.1</em>, Section 9.1.1 Safe methods, 1991. <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html">http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1040/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1040/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1040/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1040/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1040/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1040/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1040/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1040/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1040/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1040/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1040/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1040/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1040/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1040/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1040&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2011/04/15/csrf-on-changing-browsers-state/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>
	</item>
		<item>
		<title>CSRF on JSON data</title>
		<link>http://garabedyan.wordpress.com/2011/04/13/csrf-on-json-data/</link>
		<comments>http://garabedyan.wordpress.com/2011/04/13/csrf-on-json-data/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 05:30:41 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[browser vulnerability]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[json]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1032</guid>
		<description><![CDATA[A report on Cross-site Request Forgery on JavaScript Object Notation data can be downloaded from Garabedyan, CSRF on JSON data here (in Bulgarian only).<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1032&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A report on Cross-site Request Forgery on JavaScript Object Notation data can be downloaded from <a href="http://garabedyan.files.wordpress.com/2011/04/garabedyancsrf-on-json-data.pdf">Garabedyan, CSRF on JSON data</a> here (in Bulgarian only).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1032/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1032/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1032/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1032&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2011/04/13/csrf-on-json-data/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>
	</item>
		<item>
		<title>2010 review of the blog</title>
		<link>http://garabedyan.wordpress.com/2011/01/02/2010-review-of-the-blog/</link>
		<comments>http://garabedyan.wordpress.com/2011/01/02/2010-review-of-the-blog/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 10:58:08 +0000</pubDate>
		<dc:creator>garabedyan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://garabedyan.wordpress.com/?p=1027</guid>
		<description><![CDATA[The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health: The Blog-Health-o-Meter™ reads Minty-Fresh™. Crunchy numbers A helper monkey made this abstract painting, inspired by your stats. A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1027&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here&#8217;s a high level summary of its overall blog health:</p>
<p><img style="border:1px solid #ddd;background:#f5f5f5;padding:20px;" src="http://s0.wp.com/i/annual-recap/meter-healthy.gif" alt="Healthy blog!" width="250" height="183" /></p>
<p>The <em>Blog-Health-o-Meter™</em> reads Minty-Fresh™.</p>
<h2>Crunchy numbers</h2>
<div style="width:288px;float:right;border:1px solid #ddd;background:#fff;margin:0 0 1em 1em;padding:6px;">
<p><img src="http://s0.wp.com/i/annual-recap/abstract-stats-3.png" alt="Featured image" /></p>
<p><em>A helper monkey made this abstract painting, inspired by your stats.</em></p>
</div>
<p>A Boeing 747-400 passenger jet can hold 416 passengers.  This blog was viewed about <strong>1,300</strong> times in 2010.  That&#8217;s about 3 full 747s.</p>
<p>&nbsp;</p>
<p>In 2010, there were <strong>7</strong> new posts, growing the total archive of this blog to 66 posts. There were <strong>4</strong> pictures uploaded, taking up a total of 103kb.</p>
<p>The busiest day of the year was October 20th with <strong>24</strong> views. The most popular post that day was <a style="color:#08c;" href="http://garabedyan.wordpress.com/about-me/ai-research/">My Research</a>.</p>
<h2>Where did they come from?</h2>
<p>The top referring sites in 2010 were <strong>stackoverflow.com</strong>, <strong>jeremiahgrossman.blogspot.com</strong>, <strong>en.wordpress.com</strong>, <strong>bigextracash.com</strong>, and <strong>facebook.com</strong>.</p>
<p>Some visitors came searching, mostly for <strong>json vulnerabilities</strong>, <strong>norm judah</strong>, <strong>norm judah microsoft</strong>, <strong>garo garabedyan</strong>, and <strong>oops. your chat connection may have been interrupted</strong>.</p>
<h2>Attractions in 2010</h2>
<p>These are the posts and pages that got the most views in 2010.</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">1</div>
<p><a style="margin-right:10px;" href="http://garabedyan.wordpress.com/about-me/ai-research/">My Research</a> <span style="color:#999;font-size:8pt;">May 2007</span><br />
1 comment</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">2</div>
<p><a style="margin-right:10px;" href="http://garabedyan.wordpress.com/2009/05/17/object-oriented-design-heuristics/">Object-Oriented Design Heuristics</a> <span style="color:#999;font-size:8pt;">May 2009</span><br />
1 comment</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">3</div>
<p><a style="margin-right:10px;" href="http://garabedyan.wordpress.com/2009/05/25/resource-aware-programming/">MetaOCaml-Resource Aware Programming</a> <span style="color:#999;font-size:8pt;">May 2009</span></p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">4</div>
<p><a style="margin-right:10px;" href="http://garabedyan.wordpress.com/2009/10/08/norm-judah-cto-microsoft-worldwide-services-it-lecture-in-bulgaria/">Norm Judah, CTO Microsoft Worldwide Services &amp; IT, lecture in Bulgaria</a> <span style="color:#999;font-size:8pt;">October 2009</span><br />
1 comment</p>
<div style="clear:left;float:left;font-size:24pt;line-height:1em;margin:-5px 10px 20px 0;">5</div>
<p><a style="margin-right:10px;" href="http://garabedyan.wordpress.com/about-me/">About the Author</a> <span style="color:#999;font-size:8pt;">May 2007</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/garabedyan.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/garabedyan.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/garabedyan.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/garabedyan.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/garabedyan.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/garabedyan.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/garabedyan.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/garabedyan.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/garabedyan.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/garabedyan.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/garabedyan.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/garabedyan.wordpress.com/1027/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/garabedyan.wordpress.com/1027/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/garabedyan.wordpress.com/1027/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=garabedyan.wordpress.com&amp;blog=1046712&amp;post=1027&amp;subd=garabedyan&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://garabedyan.wordpress.com/2011/01/02/2010-review-of-the-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">garabedyan</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/meter-healthy.gif" medium="image">
			<media:title type="html">Healthy blog!</media:title>
		</media:content>

		<media:content url="http://s0.wp.com/i/annual-recap/abstract-stats-3.png" medium="image">
			<media:title type="html">Featured image</media:title>
		</media:content>
	</item>
	</channel>
</rss>
