<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>ADN Informatique</title>
	<link>http://www.adninformatique.net</link>
	<description>Another place holder for documents</description>
	<pubDate>Tue, 18 Nov 2008 15:49:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Programmation objet</title>
		<link>http://www.adninformatique.net/archives/90</link>
		<comments>http://www.adninformatique.net/archives/90#comments</comments>
		<pubDate>Tue, 18 Nov 2008 15:49:20 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Computer]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/90</guid>
		<description><![CDATA[ Extrait d&#8217;une entrevue avec le créateur du langage Erlang.  Il parle de sa vision de la programmation orientée objet.
Ref: http://www.infoq.com/interviews/Erlang-Joe-Armstrong
You&#8217;ve been reading my OOP sucks blogs. I saw a blog yesterday, they said Erlang is actually more object oriented, truer to the spirit of pure object orientation than all object oriented languages. You could take [...]]]></description>
			<content:encoded><![CDATA[<p> Extrait d&#8217;une entrevue avec le créateur du langage Erlang.  Il parle de sa vision de la programmation orientée objet.<br />
Ref: <a href="http://www.infoq.com/interviews/Erlang-Joe-Armstrong">http://www.infoq.com/interviews/Erlang-Joe-Armstrong</a></p>
<p>You&#8217;ve been reading my OOP sucks blogs. I saw a blog yesterday, they said Erlang is actually more object oriented, truer to the spirit of pure object orientation than all object oriented languages. You could take two views: you could say either Erlang isn&#8217;t object oriented - which I used to say a few years ago - or you could say it&#8217;s more object oriented than all the object oriented languages. Alan Kay said that he made a mistake in not really emphasizing the messaging aspect of object oriented programming. He said in SmallTalk you talk about sending a message to an object, but you don&#8217;t, you do a function call. I think function calls and remote procedure calls are too high-level in the sense that a function call or a remote procedure call returns to the person who made it.</p>
<p>If I do remote procedure call against you, I can say &#8220;Hey, do this!&#8221; and the answer automatically comes back to me, but that&#8217;s not how we work. I could say &#8220;You do that&#8221; and reply to this guy. Why am I involved? That&#8217;s how we behave. If you are a manager at office you say &#8220;Can you check this out? When you&#8217;ve done it, tell this guy&#8221;. This is just an asynchronous message passing model. I think when you talk about object orientated programming, when you model a world, you are encouraged to think in terms of objects and I don&#8217;t see objects. I also have what you would call the categorization problem: which object do I put my code in? Sorry I just don&#8217;t get this. Let&#8217;s suppose you have a method, in SmallTalk terms, that manipulates time of a directory structure or something like that, is this a subclass of a time object or is it a subclass of a directory object? I don&#8217;t know.</p>
<p>Years ago I&#8217;ve started several projects staff - file my data/my letters, physical papers and research reports and things like that. Every time I&#8217;ve done that it failed, because I get files and I put something on this line - it says &#8220;Correspondence&#8221;, &#8220;Lectures&#8221;, &#8220;Papers&#8221;. Then I get this thing: it&#8217;s a paper, I put it in the file called papers; this is a letter which contains a paper &#8220;Do I put it in &#8216;Correspondence&#8217; or do I put it in &#8216;Lecture notes&#8217;?&#8221;. It breaks down because I don&#8217;t know where to put it. I think if you&#8217;ve got objects in your function, which object do you put it in? I made another filing scheme, in which I just numbered everything, and I have files and I go over my office and the first file says 1-167 and the next file says 168- something. I have a single file that goes 1,2,3,4 and some text. I use emacs to create, I use grep to search, and it&#8217;s a brilliant system!</p>
<p>This is how we organize things in English. We have a dictionary and when we want to know what the word means, we look it up in the dictionary. Everything is in alphabetical order - that&#8217;s a good way to organize data. I think object oriented programming is not a good way to organize data. There is a principle in programming &#8220;Never write something twice&#8221; - yes, it&#8217;s a fine principle, a great principle, but let&#8217;s think about this: &#8220;How do I find the old stuff, that I am going to reuse?&#8221; That becomes extremely difficult, in fact, I think people have been deluded into thinking that this choice is easy. When I started programming, there were no choices, I programmed everything in Fortran - Fortran was the only language I had on my machine. Nowadays, some poor sod&#8217;s got to choose the programming language: &#8220;Should I have Java or C# or C++ or Lua or F# or Pascal or Prologue or Erlang or Haskell? On what should I do it?&#8221; &#8220;You don&#8217;t want something in the-NET framework or a Java framework that runs on the JVM or on Mac OSX?&#8221;</p>
<p>You have all these decisions, incredibly difficult to make, and then you got bosses. You don&#8217;t write this stuff in scratch! You got to reuse somebody else&#8217;s code. After all that is. Somebody else&#8217;s code doesn&#8217;t do exactly what you want - it does something that&#8217;s subtly different. Then, the time taken to modify and understand this old code takes an incredible amount of time. Have you ever sat there with code that somebody else has written and have to modify it? You spend hours and hours doing it. You can&#8217;t reuse object oriented code, because all the stuff it inherited has to be there as well. You can&#8217;t just take this stuff out and put it in your program cut and paste, like you did in C, or Erlang or Prologue or Perl, you got to take all the stuff it inherits from.</p>
<p>One of the problems I had with object oriented programming, one guy said: &#8220;You wanted a banana but what you got was a gorilla that was holding the banana and the entire jungle. You got a lot of stuff in it and all you wanted was just a little bit of code&#8221;. The Lisp idea - lots of little functions - ubiquitous data structures like Lists, everywhere, and lots of very small functions that work on this, that these are highly reusable. Code that&#8217;s referentially transparent, that means if you call it twice with the same arguments, you get the same value - it&#8217;s very reusable. To them the question is &#8220;How do we reorganize all this stuff? I think something like a dictionary, like the English dictionary, put in alphabetical order. Don&#8217;t put lots of modules, just put one module! If code is referentially transparent, it&#8217;s small functions, then it doesn&#8217;t belong to object. Where does it belong? What is the containing object? There isn&#8217;t one! So, just put them all in alphabetical order and use Google to search it and you&#8217;ll find the code easily.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/90/feed</wfw:commentRss>
		</item>
		<item>
		<title>REST, RESTFull, RESTLess the saga</title>
		<link>http://www.adninformatique.net/archives/89</link>
		<comments>http://www.adninformatique.net/archives/89#comments</comments>
		<pubDate>Mon, 20 Oct 2008 19:55:06 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Computer]]></category>

		<category><![CDATA[Internet]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[rest]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/89</guid>
		<description><![CDATA[Un bon vieux principe élémentaire du web.. un URL c&#8217;est supposé être un document.
Du Full REST (et même du rest less) implique donc qu&#8217;un URL correspond à 1 document et soit &#8220;cachable&#8221;.
La nomenclature d&#8217;une URL du type
http://&#8221;HOST_NAME&#8221;/usedcar/fullloadbygeocoordinates?lat=43.345&#38;long=-79.801&#38;dist=250

serait donc fautive.. il faudrait utiliser un format
GET http://&#8230;./fullloadbygeocoordinates/43.345,-79.801
pour être plus conforme.
Cependant l&#8217;utilisation avec des paramètres pourrait être faite [...]]]></description>
			<content:encoded><![CDATA[<p>Un bon vieux principe élémentaire du web.. un URL c&#8217;est supposé être un document.</p>
<p>Du Full REST (et même du rest less) implique donc qu&#8217;un URL correspond à 1 document et soit &#8220;cachable&#8221;.</p>
<p>La nomenclature d&#8217;une URL du type</p>
<p>http://&#8221;HOST_NAME&#8221;/usedcar/fullloadbygeocoordinates?lat=43.345&amp;long=-79.801&amp;dist=250<strong><font size="2" color="red" face="Arial"><span lang="EN-CA"><br />
</span></font></strong></p>
<p>serait donc fautive.. il faudrait utiliser un format</p>
<p>GET http://&#8230;./fullloadbygeocoordinates/43.345,-79.801</p>
<p>pour être plus conforme.</p>
<p>Cependant l&#8217;utilisation avec des paramètres pourrait être faite en utilisant préalablement un POST pour créer un document</p>
<p>POST http://&#8221;HOST_NAME&#8221;/usedcar/fullloadbygeocoordinates?lat=43.345&amp;long=-79.801&amp;dist=250<strong><font size="2" color="red" face="Arial"><span lang="EN-CA"><br />
</span></font></strong><br />
qui retournerai l&#8217;URL d&#8217;un nouveau document créé en utilisant les coordonnées en paramètre et par la suite appellé en GET</p>
<p>GET http://&#8230;.url retourné&#8230; ?page=1&amp;encoding=json<br />
Ce nouveau document peut être référé par plusieurs requêtes POST avec plus ou moins de précisions sur les coordonnées, permet de faire varier l&#8217;ordre des paramètres, etc.  Ce nouveau document est également référençable et &#8220;cachable&#8221;.</p>
<p>L&#8217;utilisation de l&#8217;URL fautive (avec les lon/lat en paramêtre dans la requête GET) devrait au moins retourner une redirection (302) sur un URL correctement forgé avec les coordonnées dans l&#8217;URL comme référence au nom du document et non pas en paramètre.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/89/feed</wfw:commentRss>
		</item>
		<item>
		<title>Mac Os X - Barre d&#8217;application</title>
		<link>http://www.adninformatique.net/archives/87</link>
		<comments>http://www.adninformatique.net/archives/87#comments</comments>
		<pubDate>Mon, 22 Sep 2008 00:12:38 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Computer]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[technologie]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/87</guid>
		<description><![CDATA[Saviez-vous qu&#8217;on peut retirer facilement des icones de la barre d&#8217;application au haut (par défaut) dans Os X?  Il suffit de cliquer dessus en maintenant la touche commande (la pomme) enfoncée et de &#8220;dragger&#8221; les icones hors de la basse.  C&#8217;est de cette manière dont je me suis débarassé de l&#8217;icone de &#8220;mobile me&#8221; que [...]]]></description>
			<content:encoded><![CDATA[<p>Saviez-vous qu&#8217;on peut retirer facilement des icones de la barre d&#8217;application au haut (par défaut) dans Os X?  Il suffit de cliquer dessus en maintenant la touche commande (la pomme) enfoncée et de &#8220;dragger&#8221; les icones hors de la basse.  C&#8217;est de cette manière dont je me suis débarassé de l&#8217;icone de &#8220;mobile me&#8221; que je n&#8217;ai jamais demandé de voir apparaître!.L&#8217;on peut également de cette manière, réorganiser les icones présentes dans la barre en les déplaçant sur la barre. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/87/feed</wfw:commentRss>
		</item>
		<item>
		<title>Building PNG Images</title>
		<link>http://www.adninformatique.net/archives/86</link>
		<comments>http://www.adninformatique.net/archives/86#comments</comments>
		<pubDate>Thu, 18 Sep 2008 15:26:31 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Computer]]></category>

		<category><![CDATA[source-code]]></category>

		<category><![CDATA[image]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[png]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/86</guid>
		<description><![CDATA[Did you ever try to build a png image (with a programming language, not an image editor)?  A lot of code sample are available on the internet.  But most if not all are using libpng or some high level libraries like gd.
But what happend if you can&#8217;t install libraries on the system where you&#8217;re working?  [...]]]></description>
			<content:encoded><![CDATA[<p>Did you ever try to build a png image (with a programming language, not an image editor)?  A lot of code sample are available on the internet.  But most if not all are using libpng or some high level libraries like gd.</p>
<p>But what happend if you can&#8217;t install libraries on the system where you&#8217;re working?  Ever thing about building an image from scratch?  Here is what I do in PHP.</p>
<p>This isn&#8217;t the most performant code, but at least it generate a valid PNG image without any non standard libraries.   (Some one could say that zlib or crc are php external libs.. but I haven&#8217;t see any php distribution whitout them in a while!)</p>

<div class="wp_syntax"><div class="code"><pre class="php">&amp;lt;?php
<span style="color: #808080; font-style: italic;">/*
* Title: PNG Image Generation
* Author: Jean-Luc Cyr
* Date: 2008-09-17
* License: GNU GPL2
* Description: Generate a simple PNG image
* directly in PHP without using external libs
* like GD.
*/</span>
&nbsp;
<span style="color: #000066;">header</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;content-type: image/png&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> long2string<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$long</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #0000ff;">$string</span> = <span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$long</span>&amp;amp;0xFF000000<span style="color: #66cc66;">&#41;</span>&amp;gt;&amp;gt;<span style="color: #cc66cc;">24</span><span style="color: #66cc66;">&#41;</span>.
<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$long</span>&amp;amp;0xFF0000<span style="color: #66cc66;">&#41;</span>&amp;gt;&amp;gt;<span style="color: #cc66cc;">16</span><span style="color: #66cc66;">&#41;</span>.
<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$long</span>&amp;amp;0xFF00<span style="color: #66cc66;">&#41;</span>&amp;gt;&amp;gt;<span style="color: #cc66cc;">8</span><span style="color: #66cc66;">&#41;</span>.
<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$long</span>&amp;amp;0xFF<span style="color: #66cc66;">&#41;</span>&amp;gt;&amp;gt;<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$string</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #808080; font-style: italic;">// long2string()</span>
<span style="color: #000000; font-weight: bold;">function</span> build_png<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$matrix</span>, <span style="color: #0000ff;">$w</span>, <span style="color: #0000ff;">$h</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #808080; font-style: italic;">////////////////////////////////////////////////////////////////</span>
<span style="color: #808080; font-style: italic;">//PNG Header</span>
<span style="color: #0000ff;">$image</span> = <span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span>0x89<span style="color: #66cc66;">&#41;</span>.<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span>0x50<span style="color: #66cc66;">&#41;</span>.<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span>0x4E<span style="color: #66cc66;">&#41;</span>.<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span>0x47<span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$image</span> .= <span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span>0x0D<span style="color: #66cc66;">&#41;</span>.<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span>0x0A<span style="color: #66cc66;">&#41;</span>.<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span>0x1A<span style="color: #66cc66;">&#41;</span>.<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span>0x0A<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">////////////////////////////////////////////////////////////////</span>
<span style="color: #808080; font-style: italic;">//Header Chunk</span>
&nbsp;
<span style="color: #808080; font-style: italic;">//Chunk type</span>
<span style="color: #0000ff;">$chunk</span> = <span style="color: #ff0000;">&quot;IHDR&quot;</span>;
<span style="color: #808080; font-style: italic;">//Chunk data</span>
<span style="color: #808080; font-style: italic;">//Width</span>
<span style="color: #0000ff;">$data</span> = long2string<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$w</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//Height</span>
<span style="color: #0000ff;">$data</span> .= long2string<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$h</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//Depth</span>
<span style="color: #0000ff;">$data</span> .= <span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Bits per sample</span>
<span style="color: #808080; font-style: italic;">//Color Type</span>
<span style="color: #0000ff;">$data</span> .= <span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//RGB</span>
<span style="color: #808080; font-style: italic;">//Compression method</span>
<span style="color: #0000ff;">$data</span> .= <span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//Filter method</span>
<span style="color: #0000ff;">$data</span> .= <span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//Interlaced method</span>
<span style="color: #0000ff;">$data</span> .= <span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">$crc</span> = <span style="color: #000066;">crc32</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$chunk</span>.<span style="color: #0000ff;">$data</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//Add length at start</span>
<span style="color: #0000ff;">$chunk</span> = long2string<span style="color: #66cc66;">&#40;</span><span style="color: #000066;">strlen</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$data</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0000ff;">$chunk</span>.<span style="color: #0000ff;">$data</span>;
<span style="color: #808080; font-style: italic;">//Add CRC at the end</span>
<span style="color: #808080; font-style: italic;">//Dump chunk</span>
<span style="color: #0000ff;">$chunk</span> = <span style="color: #0000ff;">$chunk</span>.long2string<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$crc</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$image</span> .= <span style="color: #0000ff;">$chunk</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">////////////////////////////////////////////////////////////////</span>
<span style="color: #808080; font-style: italic;">//Data Chunk</span>
&nbsp;
<span style="color: #808080; font-style: italic;">//Chunk type</span>
<span style="color: #0000ff;">$chunk</span> = <span style="color: #ff0000;">&quot;IDAT&quot;</span>;
<span style="color: #808080; font-style: italic;">//Data (2x2 rgb 8bits)</span>
<span style="color: #0000ff;">$s</span> = <span style="color: #cc66cc;">3</span>; <span style="color: #808080; font-style: italic;">//samples per pixels</span>
<span style="color: #808080; font-style: italic;">#$matrix  =&quot;\0\0\0\0\0\0\0\0\0&quot;;</span>
<span style="color: #808080; font-style: italic;">#$matrix .=&quot;\0\0\0\0\0\0\0\0\0&quot;;</span>
<span style="color: #808080; font-style: italic;">#$matrix .=&quot;\0\0\0\0\0\0\0\0\0&quot;;</span>
<span style="color: #808080; font-style: italic;">// No filter so add 0 to beginning of each scan line</span>
<span style="color: #0000ff;">$datas</span> = <span style="color: #ff0000;">''</span>;
<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$c</span>=<span style="color: #cc66cc;">0</span>; <span style="color: #0000ff;">$c</span>&amp;lt;<span style="color: #0000ff;">$h</span>; <span style="color: #0000ff;">$c</span>++<span style="color: #66cc66;">&#41;</span>
<span style="color: #0000ff;">$datas</span> .= <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\0</span>&quot;</span>. <span style="color: #000066;">substr</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$matrix</span>,<span style="color: #0000ff;">$c</span>*<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$w</span>*<span style="color: #0000ff;">$s</span><span style="color: #66cc66;">&#41;</span>,<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$w</span>*<span style="color: #0000ff;">$s</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Compress Data</span>
<span style="color: #808080; font-style: italic;">#$zdata = gzencode($data,9,FORCE_DEFLATE);</span>
<span style="color: #808080; font-style: italic;">#$zdata = gzdeflate($data,0);</span>
<span style="color: #0000ff;">$zdata</span> = <span style="color: #000066;">gzcompress</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$datas</span>,<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Calculate CRC</span>
<span style="color: #0000ff;">$crc</span> = <span style="color: #000066;">crc32</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$chunk</span>.<span style="color: #0000ff;">$zdata</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Add length at start</span>
<span style="color: #0000ff;">$l</span> = <span style="color: #000066;">strlen</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$zdata</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$chunk</span> = long2string<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$l</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0000ff;">$chunk</span>.<span style="color: #0000ff;">$zdata</span>;
<span style="color: #808080; font-style: italic;">// Add CRC at the end</span>
<span style="color: #0000ff;">$chunk</span> = <span style="color: #0000ff;">$chunk</span>.long2string<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$crc</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$image</span> .= <span style="color: #0000ff;">$chunk</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">////////////////////////////////////////////////////////////////</span>
<span style="color: #808080; font-style: italic;">//End Chunk</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// Chunk type</span>
<span style="color: #0000ff;">$chunk</span> = <span style="color: #ff0000;">&quot;IEND&quot;</span>;
<span style="color: #808080; font-style: italic;">// Data</span>
<span style="color: #0000ff;">$data</span> = <span style="color: #ff0000;">&quot;&quot;</span>;
<span style="color: #808080; font-style: italic;">// Calculate CRC</span>
<span style="color: #0000ff;">$crc</span> = <span style="color: #000066;">crc32</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$chunk</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Add length at start</span>
<span style="color: #0000ff;">$chunk</span> = long2string<span style="color: #66cc66;">&#40;</span><span style="color: #000066;">strlen</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$data</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0000ff;">$chunk</span>.<span style="color: #0000ff;">$data</span>;
<span style="color: #808080; font-style: italic;">// Add CRC at the end</span>
<span style="color: #0000ff;">$chunk</span> = <span style="color: #0000ff;">$chunk</span>.long2string<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$crc</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$image</span> .= <span style="color: #0000ff;">$chunk</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Send out the image</span>
<span style="color: #000066;">echo</span> <span style="color: #0000ff;">$image</span>;die<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #808080; font-style: italic;">// build_png()</span>
<span style="color: #808080; font-style: italic;">////////////////////////////////////////////////////////////////</span>
<span style="color: #808080; font-style: italic;">// Demo code</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// Build a simple image matrix</span>
<span style="color: #808080; font-style: italic;">// 256 x 256 x 8rgb</span>
&nbsp;
<span style="color: #0000ff;">$w</span>=<span style="color: #cc66cc;">256</span>; <span style="color: #808080; font-style: italic;">// width</span>
<span style="color: #0000ff;">$h</span>=<span style="color: #cc66cc;">256</span>; <span style="color: #808080; font-style: italic;">// height</span>
<span style="color: #0000ff;">$s</span>=<span style="color: #cc66cc;">3</span>;   <span style="color: #808080; font-style: italic;">// 3 x 8 bits samples per pixel (8bits rgb)</span>
<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$x</span>=<span style="color: #cc66cc;">0</span>; <span style="color: #0000ff;">$x</span>&amp;lt;<span style="color: #0000ff;">$h</span>; <span style="color: #0000ff;">$x</span>++<span style="color: #66cc66;">&#41;</span>
<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$y</span>=<span style="color: #cc66cc;">0</span>; <span style="color: #0000ff;">$y</span>&amp;lt;<span style="color: #0000ff;">$w</span>; <span style="color: #0000ff;">$y</span>++<span style="color: #66cc66;">&#41;</span>
<span style="color: #808080; font-style: italic;">//    for($z=0; $z&amp;lt;$s; $z++) //Ordered R G B</span>
<span style="color: #0000ff;">$matrix</span> .=
<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$y</span>/<span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>&amp;lt;<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> &amp;amp;&amp;amp; <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$y</span>/<span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>&amp;gt;<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>?<span style="color: #0000ff;">$x</span>:<span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>. <span style="color: #808080; font-style: italic;">// R</span>
<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$y</span>/<span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>&amp;lt;<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> &amp;amp;&amp;amp; <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$y</span>/<span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>&amp;gt;<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>?<span style="color: #0000ff;">$x</span>:<span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>. <span style="color: #808080; font-style: italic;">// G</span>
<span style="color: #000066;">chr</span><span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$y</span>/<span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>&amp;lt;<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> &amp;amp;&amp;amp; <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$y</span>/<span style="color: #cc66cc;">64</span><span style="color: #66cc66;">&#41;</span>&amp;gt;<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>?<span style="color: #0000ff;">$x</span>:<span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">// B</span>
&nbsp;
build_png<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$matrix</span>,<span style="color: #0000ff;">$w</span>,<span style="color: #0000ff;">$h</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000066;">die</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">////////////////////////////////////////////////////////////////</span>
<span style="color: #808080; font-style: italic;">// Hex dump image for debugging</span>
&nbsp;
<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$x</span>=<span style="color: #cc66cc;">0</span>; <span style="color: #0000ff;">$x</span>&amp;lt;strlen<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$image</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #0000ff;">$x</span>++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #000066;">printf</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;%02X &quot;</span>,<span style="color: #000066;">ord</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$image</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$x</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$x</span><span style="color: #cc66cc;">+1</span><span style="color: #66cc66;">&#41;</span>%<span style="color: #cc66cc;">16</span><span style="color: #66cc66;">&#41;</span>==<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #000066;">printf</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;&amp;lt;br/&amp;gt;&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/86/feed</wfw:commentRss>
		</item>
		<item>
		<title>Agile - Scrum</title>
		<link>http://www.adninformatique.net/archives/83</link>
		<comments>http://www.adninformatique.net/archives/83#comments</comments>
		<pubDate>Thu, 10 Jul 2008 13:39:59 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Computer]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/83</guid>
		<description><![CDATA[Mais qu&#8217;est-ce que c&#8217;est que ça Agile et Scrum?
Selon WikiPedia: 
&#8220;Scrum est une méthode agile pour la gestion de projets.&#8220; 
et
&#8220;La notion de méthode agile se limite actuellement aux méthodes ciblant le développement d&#8217;une application informatique. Ces méthodes Agiles permettent de concevoir des logiciels en impliquant au maximum le demandeur (client), ce qui permet une grande réactivité à ses demandes. Les méthodes agiles se veulent plus pragmatiques que les méthodes traditionnelles. Elles visent la satisfaction réelle du besoin du client, et non d&#8217;un contrat établi préalablement. La notion de méthode agile est née à travers un Manifeste Agile signé par 17 personnalités.&#8221;
J&#8217;ai essayer de trouver quelques liens intéressants sur le sujet.
En premier, voici deux podcasts (en anglais) dont l&#8217;un avec un des &#8221;inventeurs&#8221; du scrum.

hanselminutes.com
conchango.com


Et voici les autres

Agile Manifesto
Scrum Alliance
Pyxis (formation)
Agile Québec

Il y a également plusieurs volumes intéressants et d&#8217;autres liens pertinents.


New methodology (martin fowler)
Alistair Coburn 



]]></description>
			<content:encoded><![CDATA[<div>Mais qu&#8217;est-ce que c&#8217;est que ça Agile et Scrum?<br/></div>
<div>Selon WikiPedia:<br/> </p>
<p>&#8220;<em>Scrum est une méthode agile pour la gestion de projets.</em>&#8220;<br/> </p>
<p>et<br/></p>
<p>&#8220;<em>La notion de méthode agile se limite actuellement aux méthodes ciblant le développement d&#8217;une application informatique. Ces méthodes Agiles permettent de concevoir des logiciels en impliquant au maximum le demandeur (client), ce qui permet une grande réactivité à ses demandes. Les méthodes agiles se veulent plus pragmatiques que les méthodes traditionnelles. Elles visent la satisfaction réelle du besoin du client, et non d&#8217;un contrat établi préalablement. La notion de méthode agile est née à travers un Manifeste Agile signé par 17 personnalités</em>.&#8221;<br/></div>
<div>J&#8217;ai essayer de trouver quelques liens intéressants sur le sujet.<br/><br />
En premier, voici deux podcasts (en anglais) dont l&#8217;un avec un des &#8221;inventeurs&#8221; du scrum.<br/></p>
<ul>
<li><a href="http://www.hanselminutes.com/default.aspx?showID=137">hanselminutes.com</a></li>
<li><a href="http://blogs.conchango.com/howardvanrooijen/archive/2005/10/25/2296.aspx">conchango.com</a></li>
</ul>
<p><br/><br />
Et voici les autres<br/></p>
<ul>
<li><a href="http://agilemanifesto.org/">Agile Manifesto</a></li>
<li><a href="http://www.scrumalliance.org/">Scrum Alliance</a></li>
<li><a href="http://www.pyxis-tech.com/">Pyxis (formation)</a></li>
<li><a href="http://www.agilequebec.ca/default.aspx">Agile Québec</a></li>
</ul>
<div>Il y a également plusieurs volumes intéressants et d&#8217;autres liens pertinents.</div>
<div>
<ul>
<li><a href="http://martinfowler.com/articles/newMethodology.html">New methodology (martin fowler)</a></li>
<li><a href="http://alistair.cockburn.us/index.php/Main_Page">Alistair Coburn</a> </li>
</ul>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/83/feed</wfw:commentRss>
		</item>
		<item>
		<title>iPod Touch - Note/GTD Applications</title>
		<link>http://www.adninformatique.net/archives/82</link>
		<comments>http://www.adninformatique.net/archives/82#comments</comments>
		<pubDate>Mon, 19 May 2008 16:29:18 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Internet]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[technologie]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/82</guid>
		<description><![CDATA[J&#8217;ai récemment essayé plusieurs applications.  Particulièrement dans le but de trouver quelque chose qui se rapproche de la méthode GTD pour organiser les tâches à faire.  Parmi mes critères, il devait rouler sur le iPod Touch, mais également se synchroniser avec mon portable et/ou d&#8217;autres ordinateurs.  Idéalement la synchronisation pourrait se faire par réseau sans [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai récemment essayé plusieurs applications.  Particulièrement dans le but de trouver quelque chose qui se rapproche de la méthode GTD pour organiser les tâches à faire.  Parmi mes critères, il devait rouler sur le iPod Touch, mais également se synchroniser avec mon portable et/ou d&#8217;autres ordinateurs.  Idéalement la synchronisation pourrait se faire par réseau sans fil (wifi) et non pas avec le cable USB.  De plus, il ne devait pas s&#8217;agir d&#8217;application web (qui ne fonctionne pas s&#8217;il n&#8217;y a pas de réseau comme durant l&#8217;épicerie). Celle dont je me rappelle:
<ul>
<li> Todo</li>
<li>MobileToDoList</li>
<li>ShopList</li>
</ul>
<div>Finalement j&#8217;ai opté (temporairement) pour l&#8217;utilisation de l&#8217;application native de note (qui ressemble à des petits post-it jaunes) du ipod jumelé avec une application web qui permet de consulter et modifier les notes via une interface web à partir d&#8217;autres appareils connectés sur le même réseau sans-fil.</div>
<div>
<ul>
<li>RemoteNote</li>
</ul>
</div>
<div>Il y a également plusieurs application web de disponibles mais elle ne répondaient pas à mes critères de base.</div>
<div>
<ul>
<li><a href="http://nozbe.com/">Nozbe</a></li>
<li><a href="http://www.vitalist.com/">Vitalist</a></li>
<li><a href="http://43actions.com/">43 actions</a></li>
<li><a href="http://glueynotes.com/">GlueyNote</a></li>
</ul>
</div>
<div> </div>
]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/82/feed</wfw:commentRss>
		</item>
		<item>
		<title>Ipod Touch password change</title>
		<link>http://www.adninformatique.net/archives/81</link>
		<comments>http://www.adninformatique.net/archives/81#comments</comments>
		<pubDate>Mon, 19 May 2008 16:12:11 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[technologie]]></category>

		<category><![CDATA[ipod touch]]></category>

		<category><![CDATA[jailbreak]]></category>

		<category><![CDATA[password]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/81</guid>
		<description><![CDATA[Il m&#8217;a été recommandé de ne pas changé le mot de passe &#8216;root&#8217; de mon ipod touch.  Cela sous prétexte que la fonction &#8216;passwd&#8217; serait brisée.  Mais puis-je vraiment laisser mon appareil ouvert à tous avec un mot de passe connu? Et non!  Après quelques recherche, j&#8217;ai trouvé que l&#8217;on peut changer le mot de passe [...]]]></description>
			<content:encoded><![CDATA[<p>Il m&#8217;a été recommandé de ne pas changé le mot de passe &#8216;root&#8217; de mon ipod touch.  Cela sous prétexte que la fonction &#8216;passwd&#8217; serait brisée.  Mais puis-je vraiment laisser mon appareil ouvert à tous avec un mot de passe connu? Et non!  Après quelques recherche, j&#8217;ai trouvé que l&#8217;on peut changer le mot de passe manuellement en modifiant le fichier &#8216;/etc/master.passwd&#8217;.  Pour trouver le contenu a y placer, utiliser la fonction suivante: </p>
<p><code>perl -e 'print crypt("MonNouveauMotDePasse", "/s");' </code></p>
<p>  Vous n&#8217;avez qu&#8217;a copier-coller le résultat. <a href="https://help.ubuntu.com/community/PortableDevices/iPhone">Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/81/feed</wfw:commentRss>
		</item>
		<item>
		<title>PHP Post</title>
		<link>http://www.adninformatique.net/archives/80</link>
		<comments>http://www.adninformatique.net/archives/80#comments</comments>
		<pubDate>Mon, 28 Apr 2008 18:57:36 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Computer]]></category>

		<category><![CDATA[Internet]]></category>

		<category><![CDATA[Network]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[source-code]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/80</guid>
		<description><![CDATA[Here a quick example of how-to post some data over the web in a simple php script.

&#60;?php
$datastream = array&#40;
'short_msg'=&#38;gt;'this is a simple message',
'address'=&#38;gt;'98887996662',
&#41;;
// create a new cURL resource
$ch = curl_init&#40;&#41;;
// set URL and other appropriate options
curl_setopt&#40;$ch, CURLOPT_POST, 1&#41;;
curl_setopt&#40;$ch, CURLOPT_HEADER, 0&#41;;
curl_setopt&#40;$ch, CURLOPT_URL, &#60;a href=&#34;http://psms.canoe-inc.com/send_sms&#34; class=&#34;moz-txt-link-rfc2396E&#34;&#62;&#34;http://psms.canoe-inc.com/send_sms&#34;&#60;/a&#62;&#41;;
$o=&#34;&#34;;
foreach &#40;$datastream as $k=&#38;gt;$v&#41;
&#123;
$o.= &#34;$k=&#34;.utf8_encode&#40;$v&#41;.&#34;&#38;amp;&#34;;
&#125;
$post_data=substr&#40;$o,0,-1&#41;;
curl_setopt&#40;$ch, CURLOPT_POSTFIELDS, $post_data&#41;;
// grab URL and pass it [...]]]></description>
			<content:encoded><![CDATA[<p>Here a quick example of how-to post some data over the web in a simple php script.</p>

<div class="wp_syntax"><div class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #0000ff;">$datastream</span> = <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span>
<span style="color: #ff0000;">'short_msg'</span>=&amp;gt;<span style="color: #ff0000;">'this is a simple message'</span>,
<span style="color: #ff0000;">'address'</span>=&amp;gt;<span style="color: #ff0000;">'98887996662'</span>,
<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// create a new cURL resource</span>
<span style="color: #0000ff;">$ch</span> = curl_init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// set URL and other appropriate options</span>
curl_setopt<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$ch</span>, CURLOPT_POST, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
curl_setopt<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$ch</span>, CURLOPT_HEADER, <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
curl_setopt<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$ch</span>, CURLOPT_URL, &lt;a href=<span style="color: #ff0000;">&quot;http://psms.canoe-inc.com/send_sms&quot;</span> <span style="color: #000000; font-weight: bold;">class</span>=<span style="color: #ff0000;">&quot;moz-txt-link-rfc2396E&quot;</span>&gt;<span style="color: #ff0000;">&quot;http://psms.canoe-inc.com/send_sms&quot;</span>&lt;/a&gt;<span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$o</span>=<span style="color: #ff0000;">&quot;&quot;</span>;
<span style="color: #b1b100;">foreach</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$datastream</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$k</span>=&amp;gt;<span style="color: #0000ff;">$v</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #0000ff;">$o</span>.= <span style="color: #ff0000;">&quot;$k=&quot;</span>.<span style="color: #000066;">utf8_encode</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$v</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">&quot;&amp;amp;&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #0000ff;">$post_data</span>=<span style="color: #000066;">substr</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$o</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">-1</span><span style="color: #66cc66;">&#41;</span>;
curl_setopt<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$ch</span>, CURLOPT_POSTFIELDS, <span style="color: #0000ff;">$post_data</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// grab URL and pass it to the browser</span>
curl_exec<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// close cURL resource, and free up system resources</span>
curl_close<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$ch</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/80/feed</wfw:commentRss>
		</item>
		<item>
		<title>Graphical widgets</title>
		<link>http://www.adninformatique.net/archives/78</link>
		<comments>http://www.adninformatique.net/archives/78#comments</comments>
		<pubDate>Wed, 23 Apr 2008 13:28:23 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Computer]]></category>

		<category><![CDATA[Internet]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/78</guid>
		<description><![CDATA[Are you like me, programming a lot but not been a graphical designer?  I&#8217;ve found a project offering all the icons we could need to make some pretty apps without loosing our time drawing (which will be obviously ugly) icons.
Juste go and take a look at Tango Desktop Project.
How did i find it?  I was [...]]]></description>
			<content:encoded><![CDATA[<p>Are you like me, programming a lot but not been a graphical designer?  I&#8217;ve found a project offering all the icons we could need to make some pretty apps without loosing our time drawing (which will be obviously ugly) icons.</p>
<p>Juste go and take a look at <a href="http://tango.freedesktop.org/Tango_Desktop_Project">Tango Desktop Project</a>.</p>
<p>How did i find it?  I was just reading my daily stuff (newsforge, slashdot, etc) and I discover<a href="http://luminotes.com/"> luminote</a>, a web based note collector which use tango for their design.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/78/feed</wfw:commentRss>
		</item>
		<item>
		<title>Utilisation de sphinx sous os x</title>
		<link>http://www.adninformatique.net/archives/75</link>
		<comments>http://www.adninformatique.net/archives/75#comments</comments>
		<pubDate>Wed, 27 Feb 2008 02:04:14 +0000</pubDate>
		<dc:creator>jlcyr</dc:creator>
		
		<category><![CDATA[Computer]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[db]]></category>

		<category><![CDATA[indexation]]></category>

		<category><![CDATA[recherche]]></category>

		<category><![CDATA[sphinx]]></category>

		<guid isPermaLink="false">http://www.adninformatique.net/archives/75</guid>
		<description><![CDATA[Sphinx est un engin de base de donnée et de recherche plein texte.Pour installer sphinx, vous devez installer plusieurs paquetages GNU.  Pour ce faire sous mac os-x le plus simple est d&#8217;utiliser macport.  Vous devez en autre installer mysql. (Commande: sudo port install mysql5)Par la suive vous devez compiler sphinx avec la commande suivante: ./configure --with-mysql=/opt/local/ --with-mysql-includes=/opt/local/include/mysql5/mysql/ --with-mysql-libs=/opt/local/lib/mysql5/mysql/ Je [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sphinxsearch.com/">Sphinx</a> est un engin de base de donnée et de recherche plein texte.Pour installer sphinx, vous devez installer plusieurs paquetages GNU.  Pour ce faire sous mac os-x le plus simple est d&#8217;utiliser <a href="http://www.macports.org/">macport</a>.  Vous devez en autre installer mysql. (Commande: <code>sudo port install mysql5</code>)Par la suive vous devez compiler sphinx avec la commande suivante: .<code>/configure --with-mysql=/opt/local/ --with-mysql-includes=/opt/local/include/mysql5/mysql/ --with-mysql-libs=/opt/local/lib/mysql5/mysql/ </code>Je vous donnerai plus de détails bientôt sur son utilisation. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.adninformatique.net/archives/75/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
