<?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>Exponential Fault &#187; google</title>
	<atom:link href="http://weblog.lo2k.net/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.lo2k.net</link>
	<description></description>
	<lastBuildDate>Fri, 25 Feb 2011 16:26:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Faire un cluster de calcul avec JavaScript.</title>
		<link>http://weblog.lo2k.net/2011/02/faire-un-cluster-de-calcul-avec-javascript/</link>
		<comments>http://weblog.lo2k.net/2011/02/faire-un-cluster-de-calcul-avec-javascript/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 08:40:53 +0000</pubDate>
		<dc:creator>X-Blaster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Web Toolkit]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://weblog.lo2k.net/?p=483</guid>
		<description><![CDATA[Je vais vous proposez une idée simple, &#8220;faire un cluster avec l&#8217;idle CPU des gens qui trainent sur des sites webs&#8221;. Comment ? En JavaScript bien sûr ! Vous vous souvenez tous de Folding@Home (ou Seti@Home même si le coté UFO me botte beaucoup moins), pourquoi ne pas reprendre l&#8217;idée en AJAX ? Rapide coup [...]]]></description>
			<content:encoded><![CDATA[<p>Je vais vous proposez une idée simple, &#8220;faire un cluster avec l&#8217;idle CPU des gens qui trainent sur des sites webs&#8221;. Comment ? En JavaScript bien sûr !</p>
<p>Vous vous souvenez tous de <a class="zem_slink" title="Folding@home" rel="wikipedia" href="http://en.wikipedia.org/wiki/Folding%40home">Folding@Home</a> (ou Seti@Home même si le coté UFO me botte beaucoup moins), pourquoi ne pas reprendre l&#8217;idée en AJAX ?</p>
<h2>Rapide coup d&#8217;oeil des technos existantes</h2>
<p>Les navigateurs Web récents on fait un énorme bon en terme de performance sur l’interprétation du JavaScript. Vous trouverez facilement sur google de nombreux articles qui traitent du sujet.</p>
<p><img class="alignnone" title="Spider Benchmark" src="http://s.techairlines.com/wp-content/uploads/2010/03/SunSpiderResults.png" alt="" width="463" height="328" /></p>
<p>Si vous suivez ce blog vous avez dû tester un petit portage que j&#8217;avais fais de JBox2D avec GWT et les Canvas. Je vous laisse retenter l’expérience et vous verrez que <a href="http://labs.lo2k.net/gwt-physical-engine-2/">le moteur physique</a> est beaucoup plus rapide qu&#8217;il y a un an.</p>
<p>Pour rappel, GWT (<a class="zem_slink" title="Google Web Toolkit" rel="homepage" href="http://code.google.com/webtoolkit/">Google Web Toolkit</a>) permet de traduire du code Java en JavaScript. Bon ce n&#8217;est pas magique et il y a des limites mais ce compilateur permet assez facilement de porter des choses assez complexes.</p>
<p>Un langage de plus en plus rapide, un bon compilateur passons donc a l&#8217;étape suivante !</p>
<h2>Mise en oeuvre</h2>
<p>Le JavaScript est un langage de script fournit par le serveur et exécuté par le client. Il n&#8217;y a donc aucune installation et aucune restrictions (sauf en terme de sécurité, et ça se comprend) mais il n&#8217;y a aucune limitation en terme d&#8217;usage CPU.</p>
<p>Il est donc facile de faire un script qui récupère des données a traiter et l&#8217;algo de traitement (tant qu&#8217;a faire) effectue un certain nombre de calculs complexes puis transmet la réponse (en json par exemple) a un serveur.</p>
<p>Votre navigateur web permet donc (en terme pompeux), l&#8217;injection en javascript des données, le traitement et la transmission des résultats a un serveur.</p>
<p>Ici la seule difficulté, c&#8217;est le développement d&#8217;un serveur qui envoie les données a traiter et récupère les résultats et il faut le dire&#8230; c&#8217;est vraiment pas compliqué.</p>
<p><strong>Vous avez donc grâce au couple HTML/JS un outil de déploiement facile de cluster.</strong> Et ben ça alors ! J&#8217;irais même plus loin en disant qu&#8217;il est UNIVERSEL puisqu&#8217;ici même votre téléphone (Android ou IPhone) pourra aussi contribuer au cluster. Tout ce qui peut aller sur le net (et qui a un navigateur JS) pourra contribuer aux calculs.</p>
<p>Mais, il y a forcément un bémol. L&#8217;utilisateur doit consciemment ou inconsciemment laisser son navigateur sur une page ou le script de calcul est présent. Je dis bien &#8220;inconsciemment&#8221; car l&#8217;utilisateur ne sais pas que du javascript tourne en arrière plan d&#8217;une page web. <strong>Un utilisateur mal intentionné pourrait donc recycler son site web en une énorme ferme de calcul </strong>(Je ne parlerais même pas ici d&#8217;attaque de <a class="zem_slink" title="Cross-site scripting" rel="wikipedia" href="http://en.wikipedia.org/wiki/Cross-site_scripting">cross site scripting</a>) . Il faut bien comprendre qu&#8217;une simple balise SCRIPT dans une page web transforme un simple ordi en une partie du cluster.<script type="text/javascript">// <![CDATA[
 " pourait transformer un navigateur en une partie du cluster.
// ]]&gt;</script></p>
<h2>Applications possibles dès à présent</h2>
<p>Je vais ici proposer 3 idées d&#8217;utilisation d&#8217;un tel système de cluster.</p>
<h3>Google labs dans le domaine médical</h3>
<p>Vous l&#8217;aurez compris il faut que l&#8217;utilisateur soit présent sur la page pour que le calcul se fasse.</p>
<p>Imaginons que Google demande a ses utilisateurs de GMail et Google Docs de participer a un projet de calcul pour le domaine médical (type folding@Home). Il suffirait que l&#8217;utilisateur accepte (en connaissance de cause) et le script JS pourrait être lancer en arrière plan.</p>
<p>Des centaines de milliers de navigateur utiliseraient donc leur temps idle CPU pour le domaine médicale. Merveilleux <img src='http://weblog.lo2k.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<h3>Crack de clé WPA</h3>
<p>Ici on est dans un domaine moins glamour. Un étudiant a prouver qu&#8217;il était possible de <a href="http://www.livehacking.com/2011/01/11/amazon-ec2-used-to-hack-wi-fi-wpa-now-redundant/">cracker des clé WPA avec le cloud d&#8217;Amazon</a>, ici il suffirait de transposer ce principe sur un site web. Tout utilisateurs se connectant ce site web pourrait donc contribuer (sans le savoir) au hack de cette clé WPA.</p>
<p>L&#8217;utilisateur mal intentionné pourrait rajouter volontairement un script sur son site web ou alors l&#8217;injecter sur un site très connu par une attaque de type &#8220;cross site scripting&#8221; injectant ainsi son code de clustering.</p>
<p>J&#8217;insiste lourdement là dessus <strong>mais ce genre de pratique ne pourra JAMAIS être détecté </strong>car vous n&#8217;avez aucun contrôle sur les intentions du code JavaScript d&#8217;un site web.</p>
<h3>Open Cloud</h3>
<p>Ici l&#8217;idée est de faire un système de peer2peer mais en terme de temps CPU.</p>
<p>Toutes personnes restant sur la page de &#8220;l&#8217;open cloud&#8221; obtiendrait un crédit temps CPU. Si il souhaite utiliser le cloud il pourra exécuter grâce a une API JS ou même GWT du code qui sera exécuté plus ou moins rapidement en fonction de son crédit temps.</p>
<p>Imaginez le super calculateur qui pourrait émerger d&#8217;une telle structure !</p>
<h2>Conclusion</h2>
<p>L&#8217;évolution d&#8217;application en AJAX nous réserve a mon avis bien des surprises. Ce sujet me passionne particulièrement en ce moment et j&#8217;espère assez rapidement mettre en place une sorte de &#8220;Proof Of Concept&#8221; avec un challenge de clé Sha1.</p>
<p>J&#8217;espère que cet article vous aura intéressé et n&#8217;hésitez pas a laisser un commentaire <img src='http://weblog.lo2k.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=a3afa766-dd37-4e09-8aa5-55182215e5cb" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://weblog.lo2k.net/2011/02/faire-un-cluster-de-calcul-avec-javascript/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>4 raisons d&#8217;avoir choisi un téléphone sous Android plutôt qu&#8217;un iPhone</title>
		<link>http://weblog.lo2k.net/2010/04/4-raisons-davoir-choisi-un-telephone-sous-android-plutot-quun-iphone/</link>
		<comments>http://weblog.lo2k.net/2010/04/4-raisons-davoir-choisi-un-telephone-sous-android-plutot-quun-iphone/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 06:36:21 +0000</pubDate>
		<dc:creator>X-Blaster</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://weblog.lo2k.net/?p=320</guid>
		<description><![CDATA[iPhone vs Android&#8230; je me suis posé la question TRES TRES longtemps avant de sauter le pas et de prendre un téléphone sous Android. Voici mon constat. Android Market vs AppStore Apple ferme beaucoup trop son marché. Si l&#8217;on veut faire ou récupérer une  application, elle doit être disponible sur l&#8217;Apple store. Pour être sur l&#8217;AppStore il [...]]]></description>
			<content:encoded><![CDATA[<p>iPhone vs Android&#8230; je me suis posé la question TRES TRES longtemps avant de sauter le pas et de prendre un téléphone sous Android. Voici mon constat.</p>
<h2>Android Market vs AppStore</h2>
<p>Apple ferme beaucoup trop son marché.</p>
<p>Si l&#8217;on veut faire ou récupérer une  application, elle doit être disponible sur l&#8217;Apple store. Pour être sur l&#8217;AppStore il faut payer 99$ et en plus&#8230; avoir un mac !</p>
<p>Je pense sincèrement que cela en rebutera plus d&#8217;un. Même si pour l&#8217;instant l&#8217;AppStore a plus d&#8217;applications  que l&#8217;Android Market (même si les plus utile se retrouve déjà sur Android) je ne metterais pas ma main a coupé que l&#8217;AppStore conserve sa suprématie sur le marché.</p>
<h2>Apple a choisis une technologie obscure</h2>
<p>L&#8217;Objective-C ! C&#8217;est le langage proposé par Apple pour dev sur l&#8217;iPhone ! Qui de nos jours a déjà fait de l&#8217;Objective-C si il n&#8217;a jamais touché a un mac de sa vie ? Dans quel université est-ce que l&#8217;Objective-C est enseigné ?</p>
<p>Alors que Google et Android reposent sur du bon vieux Java qu&#8217;a peu prêt tout le monde connait, le choix d&#8217;Apple reste clairement d&#8217;imposer une technologie qui n&#8217;a d&#8217;intérêt a être appris que si l&#8217;on est un Apple Fan.</p>
<p>Ne me faites pas dire non plus qu&#8217;ils ont choisit un langage complètement inadapté genre Cobol ou Tcl/Tk <img src='http://weblog.lo2k.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>En ce qui concerne les outils de développement, on retrouve sur Android notre bon vieil Eclipse et au final on ne perd pas trop ses habitudes. Je pense sincèrement que le développement sous Android est beaucoup plus abordable.</p>
<h2>Android a un OS abouti</h2>
<p>Android repose sur un noyau linux. Il faut être clair qu&#8217;il n&#8217;a pas fallu la version 2 pour avoir un copier/coller et la version 4 pour avoir du pseudo multi tache.</p>
<p>Même si les arguments d&#8217;Apple sont un peu fondés en ce qui concerne le multi tache et l&#8217;utilisation de la batterie, c&#8217;est clairement une  excuse a but commercial pour expliquer le retard qu&#8217;ils ont par rapport a la concurrence.</p>
<p>Même avec l&#8217;iPhone OS version 4, les possibilités restent limitées a cause de l&#8217;API du téléphone et c&#8217;est bien dommage.</p>
<h2>Apple prend ses développeurs en otages et ses clients pour des pigeons</h2>
<p>Il aura fallu un bon bout de temps avant que l&#8217;iPhone ne puisse envoyer des MMS, le copier/coller et j&#8217;en passe.</p>
<p>Souvenez vous des clients de l&#8217;iPhone 1 qui galère encore avec une connexion Edge et pensé aux futur utilisateurs de l&#8217;iPad sans 3G.</p>
<p>Apple a clairement l&#8217;intention de faire de l&#8217;argent et ne s&#8217;en cache absolument pas. J&#8217;ai un MacBook et j&#8217;en suis très content mais pour autant je n&#8217;ai pas envie de m&#8217;investir dans le développement d&#8217;application pour aider une firme qui par moment a pour seul but de faire de l&#8217;argent.</p>
<p>Apple vend volontairement des produits non aboutis pour préparer déjà la nouvelle version et vous revendre encore un nouvel appareil. Pour moi l&#8217;iPhone 3G aurait dû être la première version de l&#8217;iPhone.</p>
<p>Les dernières modifications de licence pour le développement sur l&#8217;iPhone OS4 m&#8217;ont donné le coup de grâce. Obliger les développeurs a faire de l&#8217;Objective-C ou d&#8217;autre langage de dinosaure m&#8217;a clairement fait comprendre que c&#8217;est Apple qui mène la danse parce qu&#8217;il a une position dominante.</p>
<p>A choisir entre Big Brother Google ou Commercial Apple, je préfère encore être pour le voyeuriste.</p>
<p>Et vous avez de la chance&#8230; je parle pas d&#8217;iTunes et de linux <img src='http://weblog.lo2k.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.lo2k.net/2010/04/4-raisons-davoir-choisi-un-telephone-sous-android-plutot-quun-iphone/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>

