<?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/"
	>

<channel>
	<title>kops</title>
	<atom:link href="http://jeremie.le.lamah.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://jeremie.le.lamah.info</link>
	<description>Kops Online PageS</description>
	<pubDate>Tue, 13 Oct 2009 18:41:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>La clé 3G c&#8217;est bieng</title>
		<link>http://jeremie.le.lamah.info/la-cle-3g-cest-bien/</link>
		<comments>http://jeremie.le.lamah.info/la-cle-3g-cest-bien/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 19:05:05 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=63</guid>
		<description><![CDATA[Ouais, c'est cool. J'avais un forfait 2h qui m'a servi cet hiver à la montagne, ça marchait bien. Là je ne suis pas chez moi pendant 1 mois. Si on veut du net vite fait bien fait, suffit de prendre un pass clé 3G. J'ai déjà le modem 3G dans mon pc Samsung Q45, donc [...]]]></description>
			<content:encoded><![CDATA[<p>Ouais, c'est cool. J'avais un forfait 2h qui m'a servi cet hiver à la montagne, ça marchait bien. Là je ne suis pas chez moi pendant 1 mois. Si on veut du net vite fait bien fait, suffit de prendre un pass clé 3G. J'ai déjà le modem 3G dans mon pc Samsung Q45, donc j'ai pas eu besoin d'acheter la clé usb 3G. Du coup on repart avec une carte SIM avec 2 heures de connexion offertes pour rien du tout. Je dis "bravo" parce que c'est super cool.</p>
<p>Juste 2 choses à savoir :</p>
<ul>
<li>L'APN pour un Pass Everywhere Orange, c'est <code>orange.ie</code> (avant j'utilisais <code>orange.fr</code> pour un Forfait Everywhere) ;</li>
<li>pour la numérotation j'utilise wvdial qui utilise pppd, c'est tout bête faut juste la bonne configuration (cf. les fichiers joints).</li>
</ul>
<p>Et ça marche bien, j'ai fait un vieux test débit sur le site l'Internaute, faut pas demander la lune et ça donne ça :</p>
<p><img class="aligncenter size-full wp-image-64" title="Débits up/down pass iew" src="http://jeremie.le.lamah.info/wp-content/uploads/2009/08/debits_pass_iew.png" alt="Débits up/down pass iew" width="380" height="57" /></p>
<p>Fichiers :<br />
<a href="http://jeremie.le.lamah.info/wp-content/uploads/2009/08/etc_ppp_chat-secrets">/etc/ppp/chat-secrets</a><br />
<a href="http://jeremie.le.lamah.info/wp-content/uploads/2009/08/etc_wvdial.conf">/etc/wvdial.conf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/la-cle-3g-cest-bien/feed/</wfw:commentRss>
		</item>
		<item>
		<title>De la Javadoc pour SWT/Jface dans Eclipse</title>
		<link>http://jeremie.le.lamah.info/de-la-javadoc-pour-swtjface-dans-eclipse/</link>
		<comments>http://jeremie.le.lamah.info/de-la-javadoc-pour-swtjface-dans-eclipse/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 18:56:28 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[Dev]]></category>

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

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

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

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=43</guid>
		<description><![CDATA[Voilà plusieurs années que je développe des interfaces en SWT/JFace avec Eclipse, et autant d'années que je me galère à consulter la Javadoc de l'API en ligne.
Voilà comment obtenir la Javadoc dans Eclipse :

en théorie vous avez mis les jars dans votre build path et ils apparaissent dans l'item Referenced Librairies de l'arborescence de votre [...]]]></description>
			<content:encoded><![CDATA[<p>Voilà plusieurs années que je développe des interfaces en SWT/JFace avec Eclipse, et autant d'années que je me galère à consulter la Javadoc de l'API en ligne.</p>
<p>Voilà comment obtenir la Javadoc dans Eclipse :</p>
<ul>
<li>en théorie vous avez mis les <em>jars</em> dans votre <em>build path</em> et ils apparaissent dans l'item <em>Referenced Librairies</em> de l'arborescence de votre projet ;</li>
<li>clic droit sur l'un d'eux pour sélectionner les propriétés ;</li>
<li>Dans l'item <em>Java Source Attachment</em>, vous n'avez qu'à saisir l'endroit où se situe le fichier jar qui contient les sources (par exemple pour <code>org.eclipse.jface_3.4.0.I20080606-1300.jar</code> ça sera  <code>org.eclipse.jface.source_3.4.0.I20080606-1300.jar</code> dans le répertoire  <code>plugins</code> d'Eclipse) ;</li>
<li>si vous n'avez pas les fichiers jars contenant les sources, vous pouvez toujours faire un lien avec l'API en ligne. ça marche tout pareil, sauf qu'il y a une légère latence plus ou moins supportable, à vous de voir. Il suffit d'aller dans l'item <em>Javadoc Location</em> pour y entrer l'URL où se situe la documentation en ligne.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/de-la-javadoc-pour-swtjface-dans-eclipse/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Zzzzzz</title>
		<link>http://jeremie.le.lamah.info/zzzzzz/</link>
		<comments>http://jeremie.le.lamah.info/zzzzzz/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 00:11:19 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[Non classé]]></category>

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

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

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=38</guid>
		<description><![CDATA[La zolie Kawa Z750... Depuis le temps que j'attendais ça (le 23 novembre 2007 pour être précis), la patience paye. En effet, vendredi dernier je débarque en Vendée avec deux potes pour aller chercher ça :
Muahaha, elle sera assurée demain. \o/
]]></description>
			<content:encoded><![CDATA[<p>La zolie Kawa Z750... Depuis le temps que j'attendais ça (le 23 novembre 2007 pour être précis), la patience paye. En effet, vendredi dernier je débarque en Vendée avec deux potes pour aller chercher ça :</p>
<p><img class="aligncenter size-full wp-image-39" title="Z750" src="http://jeremie.le.lamah.info/wp-content/uploads/2009/06/img_4575.jpg" alt="Z750" width="480" height="360" />Muahaha, elle sera assurée demain. \o/</p>
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/zzzzzz/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Du changement dans le système</title>
		<link>http://jeremie.le.lamah.info/du-changement-dans-le-systeme/</link>
		<comments>http://jeremie.le.lamah.info/du-changement-dans-le-systeme/#comments</comments>
		<pubDate>Sat, 30 May 2009 02:15:12 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[GNU/Linux]]></category>

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

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

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=32</guid>
		<description><![CDATA[Les exams passés, le projet multimessenger rendu, ainsi que la vidéo d'animation, il était temps de faire du ménage sur le pc. J'ai cherché un nouveau système à essayer. La contrainte était d'avoir un environnement sous Kde4. Pourquoi ne pas essayer autre chose que du linux ? Je regarde vite fait du côté des BSD [...]]]></description>
			<content:encoded><![CDATA[<p>Les exams passés, le projet multimessenger rendu, ainsi que la vidéo d'animation, il était temps de faire du ménage sur le pc. J'ai cherché un nouveau système à essayer. La contrainte était d'avoir un environnement sous Kde4. Pourquoi ne pas essayer autre chose que du linux ? Je regarde vite fait du côté des BSD les plus connus : OpenBSD, FreeBSD et NetBSD. Le choix part pour <a title="NetBSD" href="http://www.netbsd.org/" onclick="pageTracker._trackPageview('/outgoing/www.netbsd.org/?referer=');">NetBSD</a>... Pourquoi pas ?</p>
<p>Installation du système de base pas plus compliquée qu'un autre système, le serveur X ne pose pas des masses de problèmes non plus, c'est quasiment tout automatisé par des scripts. Maintenant, pour installer KDE4 faut aller utiliser le projet <a title="Projet PKSRC-WIP" href="http://pkgsrc-wip.sourceforge.net/" onclick="pageTracker._trackPageview('/outgoing/pkgsrc-wip.sourceforge.net/?referer=');">WIP</a>, qui signifie "Work In Progress". Déjà ça rebute un peu quand on veut se construire un environnement pour une utilisation de tous les jours. Qu'à cela ne tienne, c'est parti... On lance la compilation de l'usine à gaz. Ça a fini par fonctionner, mais finalement c'est pas ce qu'il me faut. Si je me permet de comparer le système <a title="Projet pkgsrc" href="http://www.pkgsrc.org/" onclick="pageTracker._trackPageview('/outgoing/www.pkgsrc.org/?referer=');">pkgsrc</a> de NetBSD à portage de Gentoo, je trouve portage bien plus simple à utiliser (quand on installe depuis les sources bien sûr). Les "use flags" de Gentoo sont plus simple à mettre en place que les "options" de NetBSD.</p>
<p>Du coup, j'ai un élan de lucidité : Et si j'essayais un truc où on compile pas tout ? Un truc ou y'a tout qu'est intégré, et qu'on optimise pas ? Je persiste du côté BSD, et là je sors <a title="PCBSD" href="http://www.pcbsd.org/" onclick="pageTracker._trackPageview('/outgoing/www.pcbsd.org/?referer=');">PCBSD</a>. Basé sur FreeBSD et il a déjà l'environnement de bureau KDE4 ! Testé sur mon portable aucun soucis, ça tournait. Mais sur mon pc de bureau, pas moyen de passer l'installation, le pc freeze au milieu de la copie des fichiers. Il est 3h du mat', il me faut une solution sans me prendre la tête.</p>
<p>Et je teste Arch Linux. Installé en moins d'une heure (largement) avec un KDE4 qui marche parfaitement bien. La simplicité d'installation est impressionnante. J'ai même failli me laisser tenter par remonter un RAID + LVM sur mes 3 disques durs Raptor. La raison m'a rappelé à l'ordre, pour ce que ça apporte, j'ai remis ça à plus tard. Mais n'empêche que ça doit être possible de mettre ça en place en deux coups de baguette magique.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/du-changement-dans-le-systeme/feed/</wfw:commentRss>
		</item>
		<item>
		<title>La sérialisation en Java</title>
		<link>http://jeremie.le.lamah.info/la-serialisation-en-java/</link>
		<comments>http://jeremie.le.lamah.info/la-serialisation-en-java/#comments</comments>
		<pubDate>Mon, 04 May 2009 05:53:30 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[Dev]]></category>

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

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

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=29</guid>
		<description><![CDATA[Je passe une soirée à glander avant de passer aux choses sérieuses... et je me dis que je vais sérialiser mes objets Java à la main pour mon projet Asyd. Il suffit d'implémenter l'interface Externalizable et de jouer avec les flux :
public void writeExternal&#40;ObjectOutput out&#41; throws IOException &#123;
	ByteArrayOutputStream bout = new ByteArrayOutputStream&#40;&#41;;
	DataOutputStream dout = new [...]]]></description>
			<content:encoded><![CDATA[<p>Je passe une soirée à glander avant de passer aux choses sérieuses... et je me dis que je vais sérialiser mes objets Java à la main pour mon projet <a href="http://asyd.lamah.info/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/asyd.lamah.info/?referer=');">Asyd</a>. Il suffit d'implémenter l'interface <code>Externalizable</code> et de jouer avec les flux :</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> writeExternal<span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AObjectOutput+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AObjectOutput+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">ObjectOutput</span></a> out<span style="color: #66cc66;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AIOException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AIOException+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">IOException</span></a> <span style="color: #66cc66;">&#123;</span>
	<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AByteArrayOutputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AByteArrayOutputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">ByteArrayOutputStream</span></a> bout = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AByteArrayOutputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AByteArrayOutputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">ByteArrayOutputStream</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ADataOutputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3ADataOutputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">DataOutputStream</span></a> dout = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ADataOutputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3ADataOutputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">DataOutputStream</span></a><span style="color: #66cc66;">&#40;</span>bout<span style="color: #66cc66;">&#41;</span>;
	dout.<span style="color: #006600;">writeInt</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
	dout.<span style="color: #006600;">writeUTF</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;muahaha&quot;</span><span style="color: #66cc66;">&#41;</span>;
	out.<span style="color: #006600;">writeInt</span><span style="color: #66cc66;">&#40;</span>bout.<span style="color: #006600;">size</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
	<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGZIPOutputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AGZIPOutputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">GZIPOutputStream</span></a> gzout = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGZIPOutputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AGZIPOutputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">GZIPOutputStream</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AOutputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AOutputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">OutputStream</span></a><span style="color: #66cc66;">&#41;</span> out<span style="color: #66cc66;">&#41;</span>;
	gzout.<span style="color: #006600;">write</span><span style="color: #66cc66;">&#40;</span>bout.<span style="color: #006600;">toByteArray</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
	gzout.<span style="color: #006600;">finish</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
<p>Ci-dessus on applique un coup de compression GZip sur les données qu'on écrit, pratique pour les objets qui ont beaucoup d'informations à sérializer.</p>
<p>Et pour désérializer, il ne reste plus qu'à faire la même chose dans l'autre sens :</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">void</span> readExternal<span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AObjectInput+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AObjectInput+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">ObjectInput</span></a> in<span style="color: #66cc66;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AIOException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AIOException+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">IOException</span></a>, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AClassNotFoundException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AClassNotFoundException+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">ClassNotFoundException</span></a> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #993333;">int</span> size = in.<span style="color: #006600;">readInt</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGZIPInputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AGZIPInputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">GZIPInputStream</span></a> gzin = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGZIPInputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AGZIPInputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">GZIPInputStream</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AInputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AInputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">InputStream</span></a><span style="color: #66cc66;">&#41;</span> in<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #993333;">byte</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> data = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #993333;">byte</span><span style="color: #66cc66;">&#91;</span>size<span style="color: #66cc66;">&#93;</span>;
	<span style="color: #993333;">byte</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> buf = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #993333;">byte</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1024</span><span style="color: #66cc66;">&#93;</span>;
	<span style="color: #993333;">int</span> len;
	<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>len = gzin.<span style="color: #006600;">read</span><span style="color: #66cc66;">&#40;</span>buf<span style="color: #66cc66;">&#41;</span> != <span style="color: #cc66cc;">-1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3ASystem+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">arrayCopy</span><span style="color: #66cc66;">&#40;</span>buf, <span style="color: #cc66cc;">0</span>, data, len<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
	<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AByteArrayInputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AByteArrayInputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">ByteArrayInputStream</span></a> bin = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AByteArrayInputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AByteArrayInputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">ByteArrayInputStream</span></a><span style="color: #66cc66;">&#40;</span>data<span style="color: #66cc66;">&#41;</span>;
	<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ADataInputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3ADataInputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">DataInputStream</span></a> din = <span style="color: #000000; font-weight: bold;">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ADataInputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3ADataInputStream+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">DataInputStream</span></a><span style="color: #66cc66;">&#40;</span>bin<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #993333;">int</span> deux = in.<span style="color: #006600;">readIn</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky" onclick="pageTracker._trackPageview('/outgoing/www.google.com/search?hl=en_amp_q=allinurl_3AString+java.sun.com_amp_btnI=I_27m_20Feeling_20Lucky&amp;referer=');"><span style="color: #aaaadd; font-weight: bold;">String</span></a> muahaha = in.<span style="color: #006600;">readUTF</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
<p>Mouais, ça a l'air bien ennuyant pour pas grand chose... Voyons ce que ça donne. Ma classe représente un dossier et contient dans un tableau de string tous les sous fichiers/dossiers.</p>
<table border="0" cellspacing="0" style="border: 1px solid grey; float: left; margin-right: 15px;">
<tr style="border-bottom: 1px dotted grey">
<th style="border-bottom: 1px solid grey; padding: 0 5px">Nombre de sous dossiers/fichiers</th>
<th style="border-bottom: 1px solid grey; padding: 0 5px">Sérialisation par défaut</th>
<th style="border-bottom: 1px solid grey; padding: 0 5px">Sérialisation à la main</th>
</tr>
<tr>
<td style="border-bottom: 1px dotted grey; padding-left: 15px">6</td>
<td style="border-bottom: 1px dotted grey; padding-left: 15px">757 octets</td>
<td style="border-bottom: 1px dotted grey; padding-left: 15px">161 octets</td>
</tr>
<tr>
<td style="border-bottom: 1px dotted grey; padding-left: 15px">38</td>
<td style="border-bottom: 1px dotted grey; padding-left: 15px">2,3 Ko</td>
<td style="border-bottom: 1px dotted grey; padding-left: 15px">360 octets</td>
</tr>
<tr>
<td style="padding-left: 15px">232</td>
<td style="padding-left: 15px">14 Ko</td>
<td style="padding-left: 15px">3,4 Ko</td>
</tr>
</table>
<p>Ça marche plutot bien dans tous les cas <img src='http://jeremie.le.lamah.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="clear: both;">
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/la-serialisation-en-java/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Révisions</title>
		<link>http://jeremie.le.lamah.info/revisions/</link>
		<comments>http://jeremie.le.lamah.info/revisions/#comments</comments>
		<pubDate>Sun, 03 May 2009 15:49:29 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=26</guid>
		<description><![CDATA[Voilà, j'ai une semaine pour préparer les exams.
On va commencer par se mettre à l'aise, donc ranger un bon coup.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://jeremie.le.lamah.info/wp-content/uploads/2009/05/imag0086.jpg"><img class="alignright size-thumbnail wp-image-28" title="bordel_piaule" src="http://jeremie.le.lamah.info/wp-content/uploads/2009/05/imag0086-150x150.jpg" alt="" width="150" height="150" /></a>Voilà, j'ai une semaine pour préparer les exams.<br />
On va commencer par se mettre à l'aise, donc ranger un bon coup.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/revisions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nouveau PC : Samsung Q45</title>
		<link>http://jeremie.le.lamah.info/nouveau-pc-samsung-q45/</link>
		<comments>http://jeremie.le.lamah.info/nouveau-pc-samsung-q45/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 00:16:26 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[GNU/Linux]]></category>

		<category><![CDATA[3G]]></category>

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

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=24</guid>
		<description><![CDATA[
J'ai pensé plusieurs fois changer de PC, mais j'ai à chaque fois oublié l'idée. Difficile de trouver un PC portable avec une bonne finition, donc j'ai tendance à regarder du côté des mac. Rhaaa, les Macbook, ça coûte une fortune pour ce que c'est. Et donc samedi dernier c'est les "soldes" au boulot, on vend [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jeremie.le.lamah.info/wp-content/uploads/2009/01/samsung-q45-xiv-1.jpg"><img class="alignright size-medium wp-image-25" title="Samsung Q45 XIV" src="http://jeremie.le.lamah.info/wp-content/uploads/2009/01/samsung-q45-xiv-5750865903-300x139.jpg" alt="photo du Samsung Q45 XIV" width="300" height="139" /></a><br />
J'ai pensé plusieurs fois changer de PC, mais j'ai à chaque fois oublié l'idée. Difficile de trouver un PC portable avec une bonne finition, donc j'ai tendance à regarder du côté des mac. Rhaaa, les Macbook, ça coûte une fortune pour ce que c'est. Et donc samedi dernier c'est les "soldes" au boulot, on vend des PC ultra portables Samsung Q45 : 799€ -50%... 399€ un portable avec un Core 2 Duo 2Ghz, 2Go de ram, et une carte graphique ignoblement pourrie. 10 minutes pour réfléchir, j'en prend un.</p>
<p>A première vue, la finition est plutôt mauvaise. Habitué à mon bon vieux iBook, là je vois la différence : les plastiques sont "mous", on a l'impression qu'ils vont fêler à la moindre petite chute.  D'autre part on voit des ouvertures par endroits. À 400€, je vais pas trop me plaindre, même si le design date quand même de plusieurs années car il semble reprendre celui du du Q35.</p>
<p>Premier démarrage (cool je vais tester Windows Vista pour la première fois)... c'est affreusement long. Bon ok, c'est le premier démarrage avec la création du compte utilisateur etc. Second mauvais point, Samsung qui en rajoute une couche avec son utilitaire de restauration qui doit faire redémarrer le pc pour créer une image disque. Je me demande si ça n'aurait pas pu être fait avant la sortie d'usine.</p>
<p>L'installation de Linux commence mal, difficile de trouver un livecd qui boot du premier coup. Evidemment j'ai commencé par le dernier Gentoo 2008.0 LiveCD 64bits, j'ai eu un joli freeze au boot. Du coup je me retranche sur les vieux Live CD qui me tombent sous la main (Ubuntu, Debian, LFS...) Au final le problème a été résolu en bootant avec l'option "nofb".</p>
<p>Le boot passé tout va bien. Les nombreux guides sur le site <a href="http://www.gentoo.org/doc" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.gentoo.org/doc?referer=');">Gentoo</a> permettent d'optimiser et de personnaliser facilement le PC. Quoique, la majorité des boutons "FN + F1.... F12" ne fonctionnent pas, et là où ça devient ennuyant c'est pour couper le wifi quand on en n'a pas besoin. Ou bien quand on veut baisser/augmenter la luminosité de l'écran, pour le moment la solution est d'utiliser le logiciel <em>xbacklight</em>.</p>
<p>Bon, résumons les choses intéressantes, ce qui marche bien :</p>
<ul>
<li>Le touchpad fonctionne avec le driver Synaptics, donc y'a moyen de s'amuser avec.</li>
<li>La webcam fonctionne avec <em>Video4Linux2</em></li>
<li>Le wifi fonctionne avec le module <em>iwl2945</em></li>
<li>Le module 3G+ fonctionne parfaitement avec le module <em>hso</em></li>
<li>La gestion de l'autonomie fonctionne pas trop mal globalement (si on met de côté l'écran, le wifi etc)</li>
</ul>
<p>Voyons ce que je n'ai pas encore essayé/reussi à faire fonctionner (ça ne saurait tarder) :</p>
<ul>
<li>Le bluetooth</li>
<li>Les touches FN + F* (wifi on/off, rétro-éclairage +/-...)</li>
<li>L'accélération matérielle semble ne pas fonctionner avec le driver intel en 64bits.</li>
</ul>
<p>En bref j'en suis assez content <img src='http://jeremie.le.lamah.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/nouveau-pc-samsung-q45/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Accès internet en carton</title>
		<link>http://jeremie.le.lamah.info/acces-internet-en-carton/</link>
		<comments>http://jeremie.le.lamah.info/acces-internet-en-carton/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 21:29:14 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[GNU/Linux]]></category>

		<category><![CDATA[traffic shaping]]></category>

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=22</guid>
		<description><![CDATA[Parfois on a de grosses quantités de données à envoyer sur un serveur, et forcément quand on upload 3Go, à 50Ko/s, ça prend du temps. Et pendant ce temps on se retrouve avec une connexion qui n'est plus réactive. Ok, peut etre qu'on peut utiliser un logiciel du style Filezilla pour envoyer ses fichiers et [...]]]></description>
			<content:encoded><![CDATA[<p>Parfois on a de grosses quantités de données à envoyer sur un serveur, et forcément quand on upload 3Go, à 50Ko/s, ça prend du temps. Et pendant ce temps on se retrouve avec une connexion qui n'est plus réactive. Ok, peut etre qu'on peut utiliser un logiciel du style Filezilla pour envoyer ses fichiers et limiter la vitesse de l'envoi, mais c'est pas drole. Alors qu'il suffit d'ajouter 2 ou 3 modules à son noyau pour arranger tout ça en 5 minutes.</p>
<p>TBF est un genre de file d'attente qui permet de limiter le débit. Il a ses limites, voir <code>man tc-tbf</code>.</p>
<p>Voici le chemin à parcourir pour mon noyau 2.6.24 :</p>
<ul>
<li>Networking support
<ul>
<li>Networking options
<ul>
<li>QoS and/or fair queueing
<ul>
<li>Token Bucket Filter (TBF)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>Pour remplacer la file d'attente par défaut de type fifo, il suffit d'exécuter la commande suivante :</p>
<pre class="bash">tc qdisc add dev eth0 root handle <span style="color: #000000;">1</span>:<span style="color: #000000;">0</span> tbf rate 400kbit burst 4kb latency 60ms</pre>
<p><code>tc</code> est disponible dans le paquet <a href="http://www.linuxfoundation.org/en/Net:Iproute2" target="_self" onclick="pageTracker._trackPageview('/outgoing/www.linuxfoundation.org/en/Net_Iproute2?referer=');">iproute2</a>.</p>
<p>liens :</p>
<ul>
<li><a href="http://lartc.org/howto/" target="_self"target="_blank" onclick="pageTracker._trackPageview('/outgoing/lartc.org/howto/?referer=');">Linux Advanced Routing &amp; Traffic Control HOWTO</a></li>
<li><a href="http://fr.gentoo-wiki.zugaina.org/index.php/HOWTO_Index#Qualit.C3.A9_de_service" target="_blank" onclick="pageTracker._trackPageview('/outgoing/fr.gentoo-wiki.zugaina.org/index.php/HOWTO_Index_Qualit.C3.A9_de_service?referer=');">Gentoo wiki : Qualité de service</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/acces-internet-en-carton/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Joyeux anniversaie</title>
		<link>http://jeremie.le.lamah.info/joyeux-anniversaie/</link>
		<comments>http://jeremie.le.lamah.info/joyeux-anniversaie/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 00:32:17 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[GNU/Linux]]></category>

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

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=17</guid>
		<description><![CDATA[C'était y'a un mois et demi, et j'ai toujours pas vraiment profité de mon tout nouvel iPod Shuffle. Donc là c'ets parti je me motive à le faire fonctionner avec mon linux (parce que lancer un osx juste pour y mettre de la musique c'est lourd).
Donc après 2 - 3 recherches, je comprend qu'on ne [...]]]></description>
			<content:encoded><![CDATA[<p>C'était y'a un mois et demi, et j'ai toujours pas vraiment profité de mon tout nouvel iPod Shuffle. Donc là c'ets parti je me motive à le faire fonctionner avec mon linux (parce que lancer un osx juste pour y mettre de la musique c'est lourd).</p>
<p>Donc après 2 - 3 recherches, je comprend qu'on ne peut pas tout simplement glisser/déposer des musiques dedans. Il faut un logiciel pour faire la conversion. Après avoir essayé <a title="GTKPod" href="http://www.gtkpod.org/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.gtkpod.org/?referer=');">Gtkpod</a>, qui à mon gout ressemble à une grosse usine à gaz, je tente <a title="FUSEPod sur sourcefoge" href="http://sourceforge.net/projects/fusepod/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/sourceforge.net/projects/fusepod/?referer=');">FUSEPod</a> mais finalement c'est pas ça : un module de plus au noyau, deux montages à effectuer... bref, je préfere aller coder un petit script pour se charger de ça quand j'aurai un peu de temps. Il semble exister un genre de soft en python pour faire les transferts en ligne de commande (<a title="libgpod" href="http://www.gtkpod.org/libgpod.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.gtkpod.org/libgpod.html?referer=');">liste des projets libgpod</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/joyeux-anniversaie/feed/</wfw:commentRss>
		</item>
		<item>
		<title>De l&#8217;imap dans windows mobile</title>
		<link>http://jeremie.le.lamah.info/de-limap-dans-windows-mobile/</link>
		<comments>http://jeremie.le.lamah.info/de-limap-dans-windows-mobile/#comments</comments>
		<pubDate>Tue, 27 May 2008 20:14:14 +0000</pubDate>
		<dc:creator>kops</dc:creator>
		
		<category><![CDATA[Non classé]]></category>

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

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

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

		<guid isPermaLink="false">http://jeremie.le.lamah.info/?p=13</guid>
		<description><![CDATA[Ouais, le client mail de Windows Mobile 2006 gère le protocole IMAP pour relever vos mails ! Si c'est pas ouf ça, franchement. Ça permet vraiment de gérer ses mails proprement où que l'on soit.
]]></description>
			<content:encoded><![CDATA[<p>Ouais, le client mail de Windows Mobile 2006 gère le protocole IMAP pour relever vos mails ! Si c'est pas ouf ça, franchement. Ça permet vraiment de gérer ses mails proprement où que l'on soit.</p>
]]></content:encoded>
			<wfw:commentRss>http://jeremie.le.lamah.info/de-limap-dans-windows-mobile/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
