<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">

<channel>
	<title>Moro Blog</title>
	<link>http://www.moroblog.info/</link>
	<description>Blog local à tendance informatique</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>





	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/moroblog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="moroblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Ruby and oracle shared libraries</title>
		<link>http://www.moroblog.info/Ruby-and-oracle-shared-libraries.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/Ruby-and-oracle-shared-libraries.html</guid>
		<dc:date>2009-07-24T13:30:26Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Systeme-.html">Système</category>


		<description>You may experience the same problem as below if you are using the ruby-oci8 gem to connect to an oracle database : &lt;br /&gt;require 'oci8' &lt;br /&gt;$ ruby test.rb /usr/lib/ruby/gems/1.8/gems/ruby-oci8-1.0.6/lib/oci8lib.so : libclntsh.so.10.1 : cannot open shared object file : No such file or directory - /usr/lib/ruby/gems/1.8/gems/ruby-oci8-1.0.6/lib/oci8lib.so (LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from (...)


-
&lt;a href="http://www.moroblog.info/-Systeme-.html" rel="directory"&gt;Système&lt;/a&gt;


		</description>



		

	</item>



	<item>
		<title>Creating and Applying Patches</title>
		<link>http://www.moroblog.info/Creating-and-Applying-Patches.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/Creating-and-Applying-Patches.html</guid>
		<dc:date>2009-06-24T14:40:09Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Developpement-.html">Développement</category>


		<description>You sometimes need to use patches to hold some code changes to keep it safe and eventually apply it again later. &lt;br /&gt;Using Subversion &lt;br /&gt;You can easily create a path file from a svn checkout like this : $ svn diff Index : testfile =================================================================== &lt;br /&gt;testfile	(révision 68) +++ testfile	(copie de travail) @@ -1,5 +1,6 @@ 1 2 +I've been inserted ! 3 4 end $ svn diff &gt; insert.patch &lt;br /&gt;You use the output of svn diff to create the patch file and then (...)


-
&lt;a href="http://www.moroblog.info/-Developpement-.html" rel="directory"&gt;Développement&lt;/a&gt;


		</description>



		

	</item>



	<item>
		<title>Max execution time with ruby threads</title>
		<link>http://www.moroblog.info/Max-execution-time-with-ruby.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/Max-execution-time-with-ruby.html</guid>
		<dc:date>2009-06-10T10:29:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Developpement-.html">Développement</category>


		<description>This post will describe a way to define a maximum execution time for a operation using threads. &lt;br /&gt;Let's start with a really simple program which takes 5 seconds to run : &lt;br /&gt;start=Time.now sleep 5 puts "Script finished in #Time.now-start" &lt;br /&gt;Let's write a simple 'timeout.rb' program to have a timeout on this sleep action : &lt;br /&gt;start = Time.now timeout = ARGV[0].to_i &lt;br /&gt;call = Thread.new(start) do ; s ; puts "start thread" sleep(5) puts "stop thread" end loop do if not call.status then puts (...)


-
&lt;a href="http://www.moroblog.info/-Developpement-.html" rel="directory"&gt;Développement&lt;/a&gt;


		</description>



		

	</item>



	<item>
		<title>JVM Out Of Memory notification</title>
		<link>http://www.moroblog.info/JVM-Out-Of-Memory-notification.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/JVM-Out-Of-Memory-notification.html</guid>
		<dc:date>2009-06-04T09:52:55Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Developpement-.html">Développement</category>


		<description>This is a quick tip to share a technic to be notified of an OutOfMemory exception. This has been made possible thanks to the new 1.6.0 -XX:OnOutOfMemoryError JVM option. &lt;br /&gt;Let's write a simple memory consumer java program : &lt;br /&gt;public class Oom private static void again(String s) again(s+s) ; &lt;br /&gt;public static void main(String[] args) again("eat me") ; &lt;br /&gt;Let's run this program with a low memory limitation : &lt;br /&gt;javac Oom.java &lt;br /&gt;java -Xms32m -Xmx32m Oom Exception in thread "main" (...)


-
&lt;a href="http://www.moroblog.info/-Developpement-.html" rel="directory"&gt;Développement&lt;/a&gt;


		</description>



		

	</item>



	<item>
		<title>Metaprogrammation ruby</title>
		<link>http://www.moroblog.info/Metaprogrammation-ruby.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/Metaprogrammation-ruby.html</guid>
		<dc:date>2009-04-05T13:54:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Developpement-.html">Développement</category>


		<description>Pour suivre cet article sur les metaclass ruby, il faut bien avoir en tête certaines bases du langage ruby. &lt;br /&gt;Soupçonner l'existence des metaclass &lt;br /&gt;Ruby vous permet de définir et redéfinir à volonté des méthodes sur n'importe quel objet : &lt;br /&gt;o = Object.new &lt;br /&gt;def o.hello "Hello !" end &lt;br /&gt;puts o.hello #=&gt; "Hello !" puts Object.new.hello #=&gt; undefined method `hello' &lt;br /&gt;Ici on a définit la méthode hello uniquement pour une instance de Object : o. Les autres instances d'Object n'auront pas cette (...)


-
&lt;a href="http://www.moroblog.info/-Developpement-.html" rel="directory"&gt;Développement&lt;/a&gt;


		</description>



		

	</item>



	<item>
		<title>Quelques bases de ruby</title>
		<link>http://www.moroblog.info/Quelques-bases-de-ruby.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/Quelques-bases-de-ruby.html</guid>
		<dc:date>2009-04-02T20:54:10Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Developpement-.html">Développement</category>


		<description>Ce billet en prépare un autre sur les metaclass de ruby. Mais pour bien pouvoir le comprendre, il faut bien avoir conscience de certaines notions fondamentales sur le langage. &lt;br /&gt;1. Visibilité des méthodes &lt;br /&gt;public : toujours accessible. &lt;br /&gt;private : accessible seulement par cet instance. On dit souvent que les méthodes privée ne peuvent avoir de receveur explicite, même self. Ainsi, les méthodes privées ne sont accessibles qu'au sein d'un contexte où self été fixé à l'instance voulue. Ceci inclue bien (...)


-
&lt;a href="http://www.moroblog.info/-Developpement-.html" rel="directory"&gt;Développement&lt;/a&gt;


		</description>



		

	</item>



	<item>
		<title>Buffer overflow : détournement de variable</title>
		<link>http://www.moroblog.info/Buffer-overflow-detournement-de.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/Buffer-overflow-detournement-de.html</guid>
		<dc:date>2008-12-30T13:11:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Securite-.html">Sécurité</category>


		<description>Voici un deuxième tutoriel sur les buffer overflow, après le premier qui n'était pour moi qu'une initiation. J'ai depuis approfondis le sujet sur la base du mythique Smashing the stack for fun and profit duquel je me suis largement inspiré. &lt;br /&gt;Cet article requiert un minimum de connaissance en assembleur et sur l'architecture d'un programme en mémoire. On travaillera sur un processeur 32 bits intel x86 sous Linux. &lt;br /&gt;Objectif &lt;br /&gt;Considérons le programme suivant : &lt;br /&gt;/* buf.c */ #include &lt;br /&gt;void t() &lt;br /&gt;int (...)


-
&lt;a href="http://www.moroblog.info/-Securite-.html" rel="directory"&gt;Sécurité&lt;/a&gt;


		</description>



		

	</item>



	<item>
		<title>Javascript et cross domain</title>
		<link>http://www.moroblog.info/Javascript-et-cross-domain.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/Javascript-et-cross-domain.html</guid>
		<dc:date>2008-12-14T22:26:57Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Web-.html">Web</category>


		<description>Comme vous le savez sûrement, les moteurs Javascript des navigateurs restreignent l'accès dynamique à des URLs qui sont sur des noms de domaine différents de la page courante, et cela pour des raison de sécurité ( voir XSS ). &lt;br /&gt;Ainsi, le script suivant ne fonctionnera pas : &lt;br /&gt;function xhr() if (window.XMLHttpRequest) xhr = new XMLHttpRequest() ; else if (window.ActiveXObject) xhr = new ActiveXObject("Microsoft.XMLHTTP") ; (...)


-
&lt;a href="http://www.moroblog.info/-Web-.html" rel="directory"&gt;Web&lt;/a&gt;


		</description>



		

	</item>



	<item>
		<title>Les alertes Zabbix</title>
		<link>http://www.moroblog.info/Les-alertes-Zabbix.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/Les-alertes-Zabbix.html</guid>
		<dc:date>2008-10-01T14:40:34Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Systeme-.html">Système</category>


		<description>Deuxième billet sur Zabbix en forme de mini tutoriel comme toujours. Aujourd'hui on va voir comment on configure Zabbix pour recevoir des alertes mail lorsqu'un trigger remonte une erreur. &lt;br /&gt;Ca n'est pas tellement compliqué mais on oublie facilement une étape. &lt;br /&gt;Quelque chose à monitorer &lt;br /&gt;D'abord on va se créer un petit service simple qu'on pourra monitorer. Je me suis servi d'un petit script ruby open_port.rb qui écoute sur le port 20000. &lt;br /&gt;require "socket" dts = TCPServer.new(20000) loop do (...)


-
&lt;a href="http://www.moroblog.info/-Systeme-.html" rel="directory"&gt;Système&lt;/a&gt;


		</description>



		

	</item>



	<item>
		<title>Zabbix 1.4.1 - premiers pas</title>
		<link>http://www.moroblog.info/Zabbix-1-4-1-premiers-pas.html</link>
		<guid isPermaLink="true">http://www.moroblog.info/Zabbix-1-4-1-premiers-pas.html</guid>
		<dc:date>2008-09-28T21:36:31Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Benjamin Jaton</dc:creator>

<category domain="http://www.moroblog.info/-Systeme-.html">Système</category>


		<description>Un petit billet sur Zabbix, un outil de monitoring intéressant qui fait de plus en plus d'adeptes. &lt;br /&gt;Installation &lt;br /&gt;Note pour les utilisateurs de dédibox - Sept 08 : Si vous voulez installer Zabbix sur une dédibox en lenny vous pourriez avoir un problème avec libldap2 : la version du paquet zabbix-agent est trop vielle et dépend du package libldap2 qui n'existe plus (il a été renommé depuis). Dans ce cas, vous pouvez rajouter le repository debian officiel de lenny dans votre 'source.list'. &lt;br /&gt;Zabbix se (...)


-
&lt;a href="http://www.moroblog.info/-Systeme-.html" rel="directory"&gt;Système&lt;/a&gt;


		</description>



		

	</item>





</channel>

</rss>
