<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Planet Grep</title>
	<link>http://planet.grep.be</link>
	<language>en</language>
	<description>Planet Grep - http://planet.grep.be</description>

<item>
	<title>FOSDEM organizers: FOSDEM dance</title>
	<guid>http://www.fosdem.org/209 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/fosdem-dance</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Unfortunately, due to time constraints we were unable to entertain the crowd with our usual FOSDEM dance.&lt;br /&gt;
To make up for this, we have rescheduled it to after the closing talk.&lt;/p&gt;</description>
	<pubDate>Sat, 04 Feb 2012 11:14:19 +0000</pubDate>
</item>
<item>
	<title>Frank Goossens: Fiesta: WP YouTube Lyte reaches 1.0.0</title>
	<guid>http://blog.futtta.be/?p=7197</guid>
	<link>http://feedproxy.google.com/~r/futtta/~3/mqbWz4nmzZ4/</link>
	<description>&lt;p&gt;I just released the one dot ohhhh dot ohhhhhhhhhh version of &lt;a href=&quot;http://wordpress.org/extend/plugins/wp-youtube-lyte&quot; title=&quot;WP YouTube Lyte on wordpress.org&quot;&gt;WP YouTube Lyte&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;From the changelog:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;new: also works on (manual) excerpts; just add a httpv link to the “excerpt” field on the post/page admin (based on feedback from &lt;a href=&quot;http://www.tuttingegneri.com/&quot; rel=&quot;nofollow&quot;&gt;Ruben@tuttingegneri&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;new: if youtube-url contains “start” or “showinfo” parameters, these are used when playing the actual video. This means that you can now jump to a specific time in the YouTube video or stop the title/ author from being displayed (based on feedback from a.o. Miguel and Josh D)&lt;/li&gt;
&lt;li&gt;update: javascript now initiates either after full page load or after 1 second (whatever comes first), thus avoiding video not showing due to other requests taking too long&lt;/li&gt;
&lt;li&gt;update: bonus feature stops lockerz.com tracking by addtoany (you’ll still want to &lt;a href=&quot;http://share.lockerz.com/buttons/customize/hide_lockerz_earn_ptz_tab&quot; rel=&quot;nofollow&quot;&gt;hide the “earn pointz” tab though&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;bugfix: prevent the playing video to be in front of e.g. a dropdown-menu or lightbox (thanks to Matt Whittingham)&lt;/li&gt;
&lt;li&gt;bugfix: solve overlap between player and text when option was set not to show links (reported by Josh D)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And an appropriate vid to go with this new release:&lt;/p&gt;
&lt;div class=&quot;lyte&quot; id=&quot;WYL_rHdrwIffcWw&quot; style=&quot;width: 640px; height: 360px;&quot;&gt;&amp;lt;noscript&amp;gt;&amp;lt;a href=&quot;http://youtu.be/rHdrwIffcWw&quot;&amp;gt;&amp;lt;img alt=&quot;&quot; height=&quot;340&quot; src=&quot;http://img.youtube.com/vi/rHdrwIffcWw/0.jpg&quot; width=&quot;640&quot; /&amp;gt;&amp;lt;/a&amp;gt; Embedded with WP YouTube Lyte.&amp;lt;/noscript&amp;gt;&lt;/div&gt;
&lt;div class=&quot;lL&quot;&gt;Watch this video &lt;a href=&quot;http://youtu.be/rHdrwIffcWw&quot;&gt;on YouTube&lt;/a&gt; or on &lt;a href=&quot;http://icant.co.uk/easy-youtube/?http://www.youtube.com/watch?v=rHdrwIffcWw&quot;&gt;Easy Youtube&lt;/a&gt;.&lt;/div&gt;
&lt;p&gt;Possibly related twitterless twaddle:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2010/06/16/embedding-html5-youtube-video-with-wp-youtube-lyte/&quot; rel=&quot;bookmark&quot; title=&quot;Embedding HTML5 YouTube video with WP YouTube Lyte&quot;&gt;Embedding HTML5 YouTube video with WP YouTube Lyte&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2011/11/08/wp-youtube-lyte-0-9-0-size-matters/&quot; rel=&quot;bookmark&quot; title=&quot;WP YouTube Lyte 0.9.0: size matters&quot;&gt;WP YouTube Lyte 0.9.0: size matters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2010/11/19/the-bulleted-wp-youtube-lyte-bulletin/&quot; rel=&quot;bookmark&quot; title=&quot;The bulleted WP YouTube Lyte bulletin&quot;&gt;The bulleted WP YouTube Lyte bulletin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=mqbWz4nmzZ4:ho9xbDe6460:D7DqB2pKExk&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?i=mqbWz4nmzZ4:ho9xbDe6460:D7DqB2pKExk&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=mqbWz4nmzZ4:ho9xbDe6460:yIl2AUoC8zA&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=yIl2AUoC8zA&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=mqbWz4nmzZ4:ho9xbDe6460:qj6IDK7rITs&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=qj6IDK7rITs&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=mqbWz4nmzZ4:ho9xbDe6460:I9og5sOYxJI&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=I9og5sOYxJI&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/futtta/~4/mqbWz4nmzZ4&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sat, 04 Feb 2012 07:23:24 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Schedule changes</title>
	<guid>http://www.fosdem.org/208 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/schedule-changes</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;The following are last-minute changes and are not in the booklet or printed schedule:&lt;/p&gt;

&lt;h3&gt;Saturday&lt;/h3&gt;
&lt;h4&gt;&lt;b&gt;Opening talk:&lt;/b&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;only&lt;/b&gt; in Janson
&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;&lt;b&gt;Open Mobile Linux devroom:&lt;/b&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;new: 'Clouds over computing' by Jens Wiik at 18:00
&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;&lt;b&gt;Virtualization and Cloud devroom:&lt;/b&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;cancelled: 'Application scheduling on OpenStack' at 12:00
&lt;/li&gt;&lt;/ul&gt;


&lt;h3&gt;Sunday&lt;/h3&gt;
&lt;h4&gt;&lt;b&gt;Telephony and Communications devroom:&lt;/b&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;talk swap: 'Mobicents, TelScale and RestComm' now at 10:30
&lt;/li&gt;&lt;li&gt;talk swap: 'Enhancing FreePBX with Adhearsion' now at 13:20
&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;&lt;b&gt;Free Java devroom:&lt;/b&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;'OpenJDK on ARM: Quo vadis' not 60 minutes but 30 minutes
&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;&lt;b&gt;Perl devroom:&lt;/b&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;new: 'LedgerSMB: Open source accounting running on Perl' at 12:25
&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;&lt;b&gt;Graph Processing devroom:&lt;/b&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;replaced: Bio4j talk by 'Birds of a feather - Graph processing, future trends!' at 11:10
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.fosdem.org/2012/news/schedule-changes&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Feb 2012 20:55:43 +0000</pubDate>
</item>
<item>
	<title>Claudio Ramirez: Perl devroom @ FOSDEM2012</title>
	<guid>http://nxadm.wordpress.com/?p=871</guid>
	<link>http://nxadm.wordpress.com/2012/02/03/perlfosdem201/</link>
	<description>&lt;p&gt;&lt;img alt=&quot;fosdem&quot; class=&quot;alignleft size-full wp-image-874&quot; src=&quot;http://nxadm.files.wordpress.com/2012/02/116316-96-20100105085124.png?w=460&quot; title=&quot;fosdem&quot; /&gt;Just a short reminder of the &lt;a href=&quot;http://fosdem.org/2012/schedule/track/perl_devroom&quot; target=&quot;_blank&quot;&gt;Perl talks at FOSDEM2012&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The Perl dev-room will be held this Sunday February 5th, from 9 to 17h on room AW1.121. We have a wide range of talks. Some talks target Perl programmers with subjects ranging from a beginner to an advanced level. Other talks don’t focus on the language itself, but rather on projects that use Perl as a building stone.&lt;/p&gt;
&lt;p&gt;So please, drop by if you are at FOSDEM…&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan=&quot;4&quot;&gt;Room: &lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan=&quot;4&quot;&gt;Sunday 2012-02-05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Event&lt;/th&gt;
&lt;th&gt;Speaker&lt;/th&gt;
&lt;th&gt;Room&lt;/th&gt;
&lt;th&gt;When&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/welcome_perldevroom&quot;&gt;Welcome to the Perl devroom&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/claudio_ramirez&quot;&gt;Claudio Ramirez&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;09:00-09:05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/moose_primer&quot;&gt;Moose Primer&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/nicholas_perez&quot;&gt;Nicholas Perez&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;09:05-09:25&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/advanced_moose&quot;&gt;Advanced Moose Techniques&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/nicholas_perez&quot;&gt;Nicholas Perez&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;09:35-09:55&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/perlude&quot;&gt;Perlude: a taste of Haskell in Perl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/marc_chantreux&quot;&gt;Marc Chantreux&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;10:05-10:45&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/perlito&quot;&gt;Perlito&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/flavio_glock&quot;&gt;Flávio Glock&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;11:05-11:45&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/lemonldapng&quot;&gt;The LemonLDAP::NG Project&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/clement_oudot&quot;&gt;Clément Oudot&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;11:55-12:15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/ledgersmb_perl&quot;&gt;LedgerSMB: Open source accounting running on Perl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/erik_huelsmann&quot;&gt;Erik Huelsmann&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;12:25-12:45&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/modern_perlcommerce&quot;&gt;Modern PerlCommerce&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/stefan_hornburg&quot;&gt;Stefan Hornburg&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;13:25-14:05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/gd&quot;&gt;Rapid real-world testing using git-deploy&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/AEvar_arnfjoerd_bjarmason&quot;&gt;Ævar Arnfjörð Bjarmason&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;14:15-14:35&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/posix1003&quot;&gt;POSIX::1003&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/mark_overmeer&quot;&gt;Mark Overmeer&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;15:00-15:40&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/fusioninventory&quot;&gt;The FusionInventory Project&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/guillaume_rousse&quot;&gt;Guillaume Rousse&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;15:50-16:10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/event/moose_memcached&quot;&gt;Using Moose objects with Memcached&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/speaker/marius_olsthoorn&quot;&gt;Marius Olsthoorn&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://fosdem.org/2012/schedule/room/aw1121&quot;&gt;AW1.121&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;16:20-16:40&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt;Filed under: &lt;a href=&quot;http://nxadm.wordpress.com/category/uncategorized/&quot;&gt;Uncategorized&lt;/a&gt; Tagged: &lt;a href=&quot;http://nxadm.wordpress.com/tag/dev-room/&quot;&gt;dev-room&lt;/a&gt;, &lt;a href=&quot;http://nxadm.wordpress.com/tag/fosdem/&quot;&gt;fosdem&lt;/a&gt;, &lt;a href=&quot;http://nxadm.wordpress.com/tag/fosdem2012/&quot;&gt;FOSDEM2012&lt;/a&gt;, &lt;a href=&quot;http://nxadm.wordpress.com/tag/perl/&quot;&gt;Perl&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/nxadm.wordpress.com/871/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/nxadm.wordpress.com/871/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/nxadm.wordpress.com/871/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/nxadm.wordpress.com/871/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gofacebook/nxadm.wordpress.com/871/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/nxadm.wordpress.com/871/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gotwitter/nxadm.wordpress.com/871/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/nxadm.wordpress.com/871/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/nxadm.wordpress.com/871/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/nxadm.wordpress.com/871/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/nxadm.wordpress.com/871/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/nxadm.wordpress.com/871/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/nxadm.wordpress.com/871/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/nxadm.wordpress.com/871/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=nxadm.wordpress.com&amp;amp;blog=1467330&amp;amp;post=871&amp;amp;subd=nxadm&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Feb 2012 20:29:54 +0000</pubDate>
</item>
<item>
	<title>Xavier Mertens: Get The Most of Your Monitoring/Security Tools!</title>
	<guid>http://blog.rootshell.be/?p=9133</guid>
	<link>http://blog.rootshell.be/2012/02/03/get-the-most-of-your-monitoringsecurity-tools/</link>
	<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img alt=&quot;Use the right tool&quot; class=&quot;alignleft size-medium wp-image-9135&quot; height=&quot;207&quot; src=&quot;http://blog.rootshell.be/wp-content/uploads/2012/02/use-the-right-tool-300x207.jpg&quot; title=&quot;Use the right tool&quot; width=&quot;300&quot; /&gt;The idea of this article popped in my mind after a colleague of mine asked me to investigate a security incident. Nothing brand new, a customer’s server not properly patched and secured was pwned. I found that the server was hit by the &lt;a href=&quot;http://eromang.zataz.com/2011/10/25/jboss-worm-analysis-in-details/&quot; title=&quot;Link to the website&quot;&gt;JBoss worm&lt;/a&gt; which started to spread in October 2010. Then the server started to scan for other victims, etc. Why was the server not patched and why it was able to access Internet directly, I don’t know. I won’t start a new debate here. I just would like to insist on the ways (read: tools) that can be used to detect such incident at the right time.&lt;span id=&quot;more-9133&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;When I started my investigations, I had a limited number of data sources: The firewall logs and a network monitoring appliance. No log management solution and the server was turned off “&lt;em&gt;to avoid more problems&lt;/em&gt;” (OMG!). The firewall logs gave me of course some relevant information but what about the network monitoring appliance? This is the same kind of appliance that I’m using during the &lt;a href=&quot;http://www.brucon.org&quot; title=&quot;Link to the website&quot;&gt;BruCON&lt;/a&gt; conference to keep an eye on the visitors traffic. Very nice statistics can be &lt;a href=&quot;http://blog.rootshell.be/2011/09/26/post-brucon-network-analyzis/&quot; title=&quot;Link to the website&quot;&gt;generated&lt;/a&gt;. Basically, this appliance performs three tasks:&lt;/p&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li&gt;Collection of all network flows + statistics (like &lt;a href=&quot;http://www.cisco.com/en/US/products/ps6601/products_ios_protocol_group_home.html&quot; title=&quot;Link to the website&quot;&gt;Netflow&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;IDS (packets are analyzed via a built-in Snort)&lt;/li&gt;
&lt;li&gt;Web categorization&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;My investigations continued on this appliance and, as you can imagine, I found a multitude of evidences:&lt;/p&gt;
&lt;ul&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Snort alerts (IRC traffic, id, wget, root alerts)&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Unusual traffic from servers to the Internet&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Suspicious web sites (domains &amp;amp; categories)&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;By having a look at the information reported by the appliance, the customer could at an early stage (even in real-time!) be alerted of the attack. But those features were simply… not used! The appliance was installed to monitor the network performances, that’s it! But it could do much more!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;That’s an effect of the “&lt;em&gt;Microsoft Syndrome&lt;/em&gt;“! What is this? I found a good definition on &lt;a href=&quot;http://www.computerworld.com/s/article/9206221/Preston_Gralla_Is_Google_suffering_from_Microsoft_syndrome_&quot; title=&quot;Link to the website&quot;&gt;computerworld.com&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;“&lt;em&gt;There are several symptoms. One is when a tech company becomes so successful in a market and grows so quickly that it overlooks potential new markets. Another is when a tech company gets so large that it becomes increasingly difficult for it to innovate.&lt;/em&gt;“&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;From my point of view, I would like to extend this definition on the technical aspect of IT products:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;“&lt;em&gt;Another symptom is when a software becomes so complex that you only use a few percentage of its features and forgot or don’t know how to use the others.&lt;/em&gt;“&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;A typical example is Microsoft Word. I’m a Word user but, honestly, I must use 10% of all the features! Sometimes, I’m working on RFP which go very deep in the feature requirements and, finally, most of them will remain unused or unimplemented.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I think it’s time to remind the principle of “&lt;em&gt;more with less&lt;/em&gt;“. Implementing security solutions is very expensive and budgets are often frozen or reduced. If you put some (lot of) bucks into a solution, be sure to use it at 100%! Read the manuals (you know, “RTFM!”), follow trainings, invest some time! Sometimes, cool features could be used for other purposes and increase the ROI! This reflexion goes in the same direction as one of my previous &lt;a href=&quot;http://blog.rootshell.be/2011/07/21/implementing-security-controls-via-nagios/&quot; title=&quot;Link to the website&quot;&gt;article&lt;/a&gt; about implementing security controls using Nagios.&lt;/p&gt;
&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/dev/rand/~4/waGj6gugMII&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Feb 2012 16:33:08 +0000</pubDate>
</item>
<item>
	<title>Guy Van Sanden: Why does the upgrade-manager in precise insist on removing skype?</title>
	<guid>http://guy.vsbnet.be/257 at http://guy.vsbnet.be</guid>
	<link>http://guy.vsbnet.be/content/why-does-upgrade-manager-precise-insist-removing-skype</link>
	<description>&lt;p&gt;After upgrading to Precise, I noticed that Skype was uninstalled.  But it was easily fixed by downloading the deb from Skype's site.&lt;/p&gt;
&lt;p&gt;But now, at each update via-update manager, it says the skype package should have been removed and I need to remove it before proceeding?&lt;/p&gt;
&lt;p&gt;Is this a bug?  Any workaround?&lt;/p&gt;</description>
	<pubDate>Fri, 03 Feb 2012 09:39:21 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Friday build-up</title>
	<guid>http://www.fosdem.org/207 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/friday-build</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;FOSDEM is almost upon us.&lt;/p&gt;
&lt;p&gt;We will begin building up the ULB campus on Friday at 13:00. If you are around and want to help out, do join us!&lt;/p&gt;
&lt;p&gt;Most work could be finished by 18:00, if you are hesitating to join in the late-afternoon, check this post whether that's still needed.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.fosdem.org/2012/news/friday-build&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Feb 2012 00:09:09 +0000</pubDate>
</item>
<item>
	<title>Frank Goossens: Is Lana del Rey een Meat Puppet?</title>
	<guid>http://blog.futtta.be/?p=7175</guid>
	<link>http://feedproxy.google.com/~r/futtta/~3/OzA3PzTr-3o/</link>
	<description>&lt;p&gt;De &lt;a href=&quot;http://en.wikipedia.org/wiki/Meat_puppets&quot; title=&quot;de Meat Puppets op wikipedia&quot;&gt;Meat Puppets&lt;/a&gt; schreven het, maar Nirvana stal er de show mee:&lt;/p&gt;
&lt;div class=&quot;lyte&quot; id=&quot;WYL_zh1lce1PwmY&quot; style=&quot;width: 640px; height: 360px;&quot;&gt;&amp;lt;noscript&amp;gt;&amp;lt;a href=&quot;http://youtu.be/zh1lce1PwmY&quot;&amp;gt;&amp;lt;img alt=&quot;&quot; height=&quot;340&quot; src=&quot;http://img.youtube.com/vi/zh1lce1PwmY/0.jpg&quot; width=&quot;640&quot; /&amp;gt;&amp;lt;/a&amp;gt; Embedded with WP YouTube Lyte.&amp;lt;/noscript&amp;gt;&lt;/div&gt;
&lt;div class=&quot;lL&quot;&gt;Watch this video &lt;a href=&quot;http://youtu.be/zh1lce1PwmY&quot;&gt;on YouTube&lt;/a&gt; or on &lt;a href=&quot;http://icant.co.uk/easy-youtube/?http://www.youtube.com/watch?v=zh1lce1PwmY&quot;&gt;Easy Youtube&lt;/a&gt;.&lt;/div&gt;
&lt;p&gt;En Lana Del Rey, da’s ook een vleespop, luister maar;&lt;/p&gt;
&lt;div class=&quot;lyte&quot; id=&quot;WYL_HO1OV5B_JDw&quot; style=&quot;width: 640px; height: 360px;&quot;&gt;&amp;lt;noscript&amp;gt;&amp;lt;a href=&quot;http://youtu.be/HO1OV5B_JDw&quot;&amp;gt;&amp;lt;img alt=&quot;&quot; height=&quot;340&quot; src=&quot;http://img.youtube.com/vi/HO1OV5B_JDw/0.jpg&quot; width=&quot;640&quot; /&amp;gt;&amp;lt;/a&amp;gt; Embedded with WP YouTube Lyte.&amp;lt;/noscript&amp;gt;&lt;/div&gt;
&lt;div class=&quot;lL&quot;&gt;Watch this video &lt;a href=&quot;http://youtu.be/HO1OV5B_JDw&quot;&gt;on YouTube&lt;/a&gt; or on &lt;a href=&quot;http://icant.co.uk/easy-youtube/?http://www.youtube.com/watch?v=HO1OV5B_JDw&quot;&gt;Easy Youtube&lt;/a&gt;.&lt;/div&gt;
&lt;p&gt;Dat &lt;a href=&quot;http://blog.futtta.be/2007/07/06/vive-la-fete-teveel-aan-het-elixir-gezeten/&quot; title=&quot;Vive La Fête: teveel aan het elixir gezeten?&quot;&gt;horen van vage gelijkenissen is misschien een kleine afwijking&lt;/a&gt;, maar … seriously Lana?&lt;/p&gt;
&lt;p&gt;Possibly related twitterless twaddle:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2007/10/25/good-god-die-nieuwe-anouk-swingt-een-eind-weg/&quot; rel=&quot;bookmark&quot; title=&quot;Good God, die nieuwe Anouk swingt een eind weg!&quot;&gt;Good God, die nieuwe Anouk swingt een eind weg!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2007/07/06/vive-la-fete-teveel-aan-het-elixir-gezeten/&quot; rel=&quot;bookmark&quot; title=&quot;Vive La Fête: teveel aan het elixir gezeten?&quot;&gt;Vive La Fête: teveel aan het elixir gezeten?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2009/04/03/ook-funky-muziek-is-wiskunde/&quot; rel=&quot;bookmark&quot; title=&quot;Ook funky muziek is wiskunde&quot;&gt;Ook funky muziek is wiskunde&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=OzA3PzTr-3o:786SJIB1hgU:D7DqB2pKExk&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?i=OzA3PzTr-3o:786SJIB1hgU:D7DqB2pKExk&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=OzA3PzTr-3o:786SJIB1hgU:yIl2AUoC8zA&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=yIl2AUoC8zA&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=OzA3PzTr-3o:786SJIB1hgU:qj6IDK7rITs&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=qj6IDK7rITs&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=OzA3PzTr-3o:786SJIB1hgU:I9og5sOYxJI&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=I9og5sOYxJI&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/futtta/~4/OzA3PzTr-3o&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Thu, 02 Feb 2012 17:21:18 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: PGP Keysigning participants list</title>
	<guid>http://www.fosdem.org/206 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/pgp-keysigning-participants-list</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;The PGP Keysigning participants list is &lt;a href=&quot;http://www.fosdem.org/2012/keysigning&quot;&gt;online&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Thu, 02 Feb 2012 12:38:12 +0000</pubDate>
</item>
<item>
	<title>Guy Van Sanden: Any recommendations for a Linux/BSD based community Spambox?</title>
	<guid>http://guy.vsbnet.be/255 at http://guy.vsbnet.be</guid>
	<link>http://guy.vsbnet.be/content/any-recommendations-linuxbsd-based-community-spambox</link>
	<description>&lt;p&gt;I'm looking for an integrated distribution/VM appliance to do virus and SPAM filtering, much in the way that spamtitan does it.  Having a GUI for users would be a huge plus.&lt;/p&gt;
&lt;p&gt;So far, I only found proprietary solutions, so if anyone knows a community project that does the same, please recommend it to me!&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;PS.  Yes, I know mailscanner and amavis, been running them for years :-)&lt;/p&gt;</description>
	<pubDate>Thu, 02 Feb 2012 10:42:51 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Wrong room name: U.218A is UA2.118</title>
	<guid>http://www.fosdem.org/205 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/wrong-room-name-u218a-ua2118</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;We had a slight (or not so slight) typo in one of the room names up to now: &quot;U.218A&quot; is actually &lt;a href=&quot;http://www.fosdem.org/2012/schedule/room/ua2118&quot;&gt;UA2.118 (aka &quot;Henrion&quot;)&lt;/a&gt;.&lt;br /&gt;
Unfortunately, the room name will remain wrong in the booklet which is distributed to all visitors at the infodesks.&lt;/p&gt;</description>
	<pubDate>Wed, 01 Feb 2012 23:54:56 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Printable schedule</title>
	<guid>http://www.fosdem.org/204 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/printable-schedule</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Despite having a lot more sessions this year (around 430 as compared to 320 in 2011 and 2010), we managed to cram it all into 4 A4 pages for you to print. It provides an almost convenient overview of all the sessions for you to plan your weekend at the conference.&lt;/p&gt;
&lt;p&gt;The PDF is &lt;a href=&quot;http://www.fosdem.org/2012/schedule/schedule.pdf&quot;&gt;available here&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Wed, 01 Feb 2012 23:51:04 +0000</pubDate>
</item>
<item>
	<title>Frederic Descamps: Fosdem 2012</title>
	<guid>http://www.lefred.be/151 at http://www.lefred.be</guid>
	<link>http://www.lefred.be/?q=node/151</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fred&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Once again, I will spend my week-end in Brussels for the FOSDEM. &lt;a href=&quot;http://www.fosdem.org&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting&quot; src=&quot;http://www.fosdem.org/promo/going-to&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I will start on Friday with the traditional Beer Event.&lt;br /&gt;
On Saturday, I will visit some stands and attend to some talks... and in the evening, I will take part of the &lt;a href=&quot;http://mysqlfosdem2012-estw.eventbrite.com/&quot;&gt; MySQL &amp;amp; Friends Meetup&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you search me on Sunday, I wil be locked in the &lt;a href=&quot;http://fosdem.org/2012/schedule/track/mysql_and_friends_devroom&quot;&gt;MySQL &amp;amp; Friends' Devroom&lt;/a&gt;. I will finish my fosdem by a presentation related to &lt;a href=&quot;http://fosdem.org/2012/schedule/event/percona_toolkit&quot;&gt;Percona Toolkit&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See you there and enjoy Fosdem 2012 !&lt;/p&gt;</description>
	<pubDate>Wed, 01 Feb 2012 23:00:05 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Cold weather</title>
	<guid>http://www.fosdem.org/203 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/cold-weather</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;The &lt;a href=&quot;http://www.meteo.be&quot;&gt;Royal Meteorological Institute of Belgium&lt;/a&gt; is predicting &lt;a href=&quot;http://www.meteo.be/meteo/view/en/65656-Weather.html&quot;&gt;exceptionally cold weather&lt;/a&gt; for Saturday and Sunday. As it will be cold outside, while possibly very warm in some devrooms, make sure your clothing has multiple layers. This way, you won't freeze to death or sweat like a pig. Hopefully.&lt;/p&gt;</description>
	<pubDate>Wed, 01 Feb 2012 18:02:06 +0000</pubDate>
</item>
<item>
	<title>Lionel Dricot: Google moins, web et vie privée</title>
	<guid>urn:md5:786eccfea4c26569e2f14b19800315ad</guid>
	<link>http://ploum.net/post/google-moins</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/ploum100&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Vous en avez certainement entendu parler: &lt;a href=&quot;http://www.numerama.com/magazine/21415-c-est-officiel-google-utilisera-tout-ce-qu-il-sait-sur-vous.html&quot;&gt;Google change ses conditions de service&lt;/a&gt;. En gros, toutes les données que Google possède sur vous vont être centralisées. C'est énorme : chacune de vos recherches, chacun des sites que vous visitez et qui utilise Google Analytics, chacun de vos emails et de vos messages instantanées si vous êtes sur GMail, tout cela permet de faire de vous un &lt;a href=&quot;http://korben.info/que-sait-google-sur-moi.html&quot;&gt;portrait robot&lt;/a&gt; afin de vous proposer des publicités très personnalisées. Minority Report n'est pas loin !&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;Une barrière en bois fermée par une chaîne&quot; src=&quot;http://ploum.net/images/locked2.jpg&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Si la majorité silencieuse accepte ces conditions sans les lire, beaucoup se posent des questions. Et hésitent : le confort ou la vie privée ? Personnellement, je pense que les deux sont possibles si vous êtes prêt à investir un minimum.&lt;/p&gt;


&lt;p&gt;Moi-même, je vous ai raconté &lt;a href=&quot;http://ploum.net/post/facebook-la-pause-clope-2&quot;&gt;pourquoi j'avais quitté Facebook&lt;/a&gt; et combien il était important d'utiliser &lt;a href=&quot;http://ploum.net/post/odd2011&quot;&gt;des services décentralisés&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Cependant, je suis loin d'être pur. Je suis en effet très attaché à certains services entièrement centralisés. Je suis &lt;a href=&quot;http://ploum.net/post/quel-twitteur-es-tu&quot;&gt;fanatique de Twitter&lt;/a&gt;, j'adore &lt;a href=&quot;https://flattr.com/profile/ploum&quot;&gt;Flattr&lt;/a&gt; (même si j'ai déjà réfléchi à &lt;a href=&quot;http://ploum.net/post/bitcoin-banking&quot;&gt;un système de paiement décentralisé&lt;/a&gt; et, ô comble de l'horreur, j'utilise &lt;a href=&quot;https://plus.google.com/u/0/118165493193465533929&quot;&gt;Google+&lt;/a&gt;, au point d'avoir créé une &lt;a href=&quot;https://plus.google.com/u/0/b/108513871125761641892/108513871125761641892/posts&quot;&gt;page G+ pour ce blog&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Suis-je un traître ? Je ne pense pas car, malgré tout cela, Google prétend ne rien savoir de moi. Ni de mes goûts, ni de ma vie privée. Comment est-ce possible ? Je vous explique…&lt;/p&gt;    &lt;h3&gt;Image publique&lt;/h3&gt;


&lt;p&gt;Tout ce que je poste sur Twitter ou sur Google+ ne sont que des informations entièrement publiques. Vous vous souvenez ? Je &lt;a href=&quot;http://ploum.net/post/noyez-le-poisson&quot;&gt;vous l'avais déjà expliqué&lt;/a&gt;. Rien de révolutionnaire là-dedans donc. Je prends grand soin de séparer ma vie privée de ma vie en ligne. Mais surtout, je ne fais pas confiance aux &quot;Cercles&quot; ou aux posts privés. Je les utilise mais en prenant toujours pour acquis que ce que j'y mets peut se retrouver sur la place publique.&lt;/p&gt;


&lt;h3&gt;Correspondance privée&lt;/h3&gt;


&lt;p&gt;Par contre, je n'ai pas de mail ni de chat ni de calendrier chez Google. C'est privé et trop important. À la place, j'ai mis en place mon propre hébergeur, &lt;a href=&quot;http://fritalk.com&quot;&gt;Fritalk&lt;/a&gt;. Fritalk est un service qui propose des mails (webmail ou imap), une adresse XMPP correspondante et un blog ou un site sur mesure (et bientôt un calendrier). Le tout est garanti sans pub et sans intrusion dans votre vie privée. Bref, un très bon moyen de gérer son &lt;a href=&quot;http://ploum.net/post/building-your-web-identity&quot;&gt;identité web&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;L'astuce ? Je facture. Bien entendu, le service de base est à 2 ou 3 euros par mois, rien de dramatique. Mais, malgré tout, &lt;a href=&quot;http://www.framablog.org/index.php/post/2011/12/31/gratuite-publicite-facebook&quot;&gt;payer est devenu impensable&lt;/a&gt;. On se plaint de Google mais on préfère être le produit vendu plutôt que le client. Moi-même, je ne rentre pas dans mes frais mais j'estime que c'est le prix de ma liberté.&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;Un cadenas&quot; src=&quot;http://ploum.net/images/locked1.jpg&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Un surf sain et équilibré&lt;/h3&gt;


&lt;p&gt;Le surf, c'est comme le sport: il faut prendre des habitudes saines. Pour éviter la mainmise de Google, je reste un fidèle utilisateur de Firefox. Je le couple avec un &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/extensions/privacy-security/&quot;&gt;bon nombre d'extensions&lt;/a&gt; :  La panoplie &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/adblock-plus/?src=search&quot;&gt;AdBlock Plus&lt;/a&gt;, &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/flashblock/?src=search&quot;&gt;Flashblock&lt;/a&gt; et surtout &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/noscript/?src=cb-dl-mostpopular&quot;&gt;NoScript&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;NoScript es une extension qui va, par défaut, bloquer le JavaScript sur les pages que vous visitez. Vous devez explicitement autoriser un domaine à faire usage du JavaScript. Mon conseil: bloquer facebook.com et google-analytics.com. Vous seriez surpris du nombre incroyable de sites comportant des JavaScript google-analytics. Il n'est donc pas étonnant que Google puisse vous profiler aussi bien. En bloquant google-analytics, vous devenez tout simplement invisible aux yeux de Google. Sebsauvage propose lui &lt;a href=&quot;http://sebsauvage.net/rhaa/index.php?2011/09/20/16/19/40-ghostery-vous-aide-a-proteger-votre-vie-privee-sur-le-web&quot;&gt;d'utiliser Ghostery&lt;/a&gt;. Je pense que c'est kif-kif mais lui l'explique mieux que moi.&lt;/p&gt;


&lt;p&gt;Depuis quelques temps, j'ai également migré mon moteur de recherche par défaut vers &lt;a href=&quot;http://duckduckgo.com/&quot;&gt;DuckDuckGo&lt;/a&gt;. Comportant beaucoup de fonctions que j'apprécie, il me permet même de retomber sur les résultats Google en faisant précéder ma recherche de « !g ». La plupart du temps, je n'en ai pas besoin.&lt;/p&gt;


&lt;p&gt;Il s'en suit que, malgré ma page G+, Google ne connait ni ma vie privée ni mes habitudes de surf ni mes recherches.&lt;/p&gt;


&lt;h3&gt;Respect de mes lecteurs&lt;/h3&gt;


&lt;p&gt;Enfin, j'essaie de faire des efforts pour respecter mes lecteurs de la même manière. Ainsi, comme tout site hébergé sur Fritalk, ploum.net ne fait pas appel à Google Analytics pour les statistiques mais à une instance locale du logiciel libre &lt;a href=&quot;http://fr.piwik.org/&quot;&gt;Piwik&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Tout comme &lt;a href=&quot;http://sebsauvage.net/rhaa/index.php?2012/01/23/13/42/15-cloudflare-le-syndrome-akismet-&quot;&gt;Sebsauvage&lt;/a&gt;, je reste très circonspect face au succès de CloudFlare et j'évite l'utilisation de tel services.&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;Une barrière dans la prairie&quot; src=&quot;http://ploum.net/images/fence1.jpg&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;La seule entorse que je me suis permise est d'utiliser le service FeedBurner pour le &lt;a href=&quot;http://ploum.net/feed/atom&quot;&gt;flux d'abonnement&lt;/a&gt;. FeedBurner est propriété de Google, diable ! J'ai donc désactivé les statistiques de ce flux afin que Google ne sache pas sur quoi vous cliquez. Je dispose également d'un flux indépendant dont je donne l'adresse à ceux qui en font la demande.&lt;/p&gt;


&lt;h3&gt;Au final&lt;/h3&gt;


&lt;p&gt;Bien entendu, rien n'est parfait. Je dois certainement exposer des informations que je crois privées, j'utilise des services centralisés. Mais je fais un effort. J'investis du temps, de l'énergie et de l'argent dans des solutions alternatives. Protéger son intimité est, à mes yeux, extrêmement important. Et sans tomber dans l'extrême des chapeaux en aluminium, nous pouvons tous faire un effort.&lt;/p&gt;


&lt;p&gt;Au final, j'espère que des solutions comme &lt;a href=&quot;https://joindiaspora.com/u/ploum&quot;&gt;Diaspora&lt;/a&gt;, &lt;a href=&quot;https://jappix.org/&quot;&gt;Jappix&lt;/a&gt;, &lt;a href=&quot;http://buddycloud.com/&quot;&gt;BuddyCloud&lt;/a&gt; et &lt;a href=&quot;http://identi.ca/ploum&quot;&gt;Status.net&lt;/a&gt; me permettront de me passer totalement des services centralisés. Ce jour là, &lt;a href=&quot;http://ploum.net/post/futur-economie&quot;&gt;on paiera en bitcoin&lt;/a&gt;, on recherchera avec &lt;a href=&quot;https://fr.wikipedia.org/wiki/Seeks&quot;&gt;seeks&lt;/a&gt; et on ira se promener dans &lt;a href=&quot;http://ploum.net/post/123-un-petit-air-de-liberte&quot;&gt;la forêt musicale&lt;/a&gt;. Il me tarde d'y être !
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Photos par &lt;a href=&quot;http://www.flickr.com/photos/dakotilla/2129004768/&quot;&gt;Dakotilla&lt;/a&gt;, &lt;a href=&quot;http://www.flickr.com/photos/iphil_photos/4962369046/&quot;&gt;Phil Photostream&lt;/a&gt; et &lt;a href=&quot;http://www.flickr.com/photos/60700203@N03/5550038755/&quot;&gt;Charlie Day DayTimeStudios&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href=&quot;https://flattr.com/submit/auto?user_id=ploum&amp;amp;url=http://ploum.net/post/google-moins&amp;amp;title=Google moins, web et vie privée&amp;amp;tags=&amp;amp;category=text&quot;&gt;&lt;img alt=&quot;Flattr our API Documentation&quot; src=&quot;https://api.flattr.com/button/flattr-badge-large.png&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Wed, 01 Feb 2012 11:15:00 +0000</pubDate>
</item>
<item>
	<title>Guy Van Sanden: If the nmbs becomes any less punctual</title>
	<guid>http://guy.vsbnet.be/254 at http://guy.vsbnet.be</guid>
	<link>http://guy.vsbnet.be/content/if-nmbs-becomes-any-less-punctual</link>
	<description>&lt;ul&gt;
&lt;li&gt;People will start applauding IF a train makes it to the destination like they do when airplanes land&lt;/li&gt;
&lt;li&gt;you start looking for the hidden interdimensional wormhole to get back to your own reality should a train arrive on time&lt;/li&gt;
&lt;li&gt;You'll have to check the news on a smartphone from within the station to know if they are on strike or not because there's no difference in service level&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Wed, 01 Feb 2012 11:11:59 +0000</pubDate>
</item>
<item>
	<title>Kris Buytaert: #monitoringsucks hackathon  6&amp;7 february  Practical details:</title>
	<guid>http://www.krisbuytaert.be/1059 at http://www.krisbuytaert.be/blog</guid>
	<link>http://www.krisbuytaert.be/blog/monitoringsucks-hackathon-67-february-practical-details</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/sdog&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;As announced &lt;a href=&quot;http://www.krisbuytaert.be/blog/monitoringsucks-and-well-fix-it&quot;&gt;earlier&lt;/a&gt; next monday and tuesday we're opening up the Inuits offices for everybody working on monitoring problems.&lt;/p&gt;
&lt;p&gt;There's already a &lt;a href=&quot;https://github.com/monitoringsucks/werefixingit/wiki&quot;&gt;good number of people&lt;/a&gt; that have confirmed their presence and some people have asked &lt;/p&gt;
&lt;p&gt;As for practical details .. the plan is simple.&lt;br /&gt;
I`m going to be at the place somewhere between 8:30 and 9:00 on monday.  ( Hey .. it's the day after Fosdem you know :)) &lt;/p&gt;
&lt;p&gt;The only thing I've planned is to do a get to know eachother round around 10:30  after that I`m expecting the hackathon to be self organising,  &lt;/p&gt;
&lt;p&gt;There will be water, coffee , etc , IP connectivity, and electricity. &lt;/p&gt;
&lt;p&gt;The location is still Duboisstraat 50, Antwerp&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.inuits.eu/sites/default/files/contact_inuitsmap.png&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Free parking is on the Hardenvoort or Kempenstraat ( 3minutes walk) , paid parking right in front of the door.&lt;/p&gt;</description>
	<pubDate>Wed, 01 Feb 2012 07:48:55 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Last speaker interviews</title>
	<guid>http://www.fosdem.org/201 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/last-speaker-interviews</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;To finish our &lt;a href=&quot;http://fosdem.org/2012/interviews&quot;&gt;collection&lt;/a&gt; of informative interviews with the FOSDEM 2012 main track speakers, we proudly present:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/juan-david-gonzalez-cobas-and-javier-serrano&quot;&gt;Juan David Gonzalez Cobas and Javier Serrano (open hardware)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/bryan-ostergaard&quot;&gt;Bryan Østergaard (community management)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/ben-klang&quot;&gt;Ben Klang (Adhearsion)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/soren-hansen&quot;&gt;Soren Hansen (monitoring)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/kristian-hogsberg&quot;&gt;Kristian Høgsberg (Wayland)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/anil-madhavapeddy&quot;&gt;Anil Madhavapeddy (UNIX I/O)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/carl-daniel-hailfinger&quot;&gt;Carl-Daniel Hailfinger (coreboot)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/claire-corgnou&quot;&gt;Claire Corgnou (average Jane and Joe)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See you at FOSDEM this weekend!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.fosdem.org/2012/news/last-speaker-interviews&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 31 Jan 2012 20:11:06 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Video streaming URLs</title>
	<guid>http://www.fosdem.org/198 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/video-streaming-urls</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;As previously announced, FOSDEM will be streaming video for a select number of our rooms, in WebM and Theora codecs.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.fosdem.org/2012/news/video-streaming-urls&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 31 Jan 2012 15:00:26 +0000</pubDate>
</item>
<item>
	<title>Jan Vansteenkiste: Why not to use Puppet::Parser::Functions.autoloader.loadall</title>
	<guid>http://vstone.eu/?p=187</guid>
	<link>http://vstone.eu/why-not-to-use-puppetparserfunctions-autoloader-loadall/</link>
	<description>&lt;p&gt;Recently (about 5 minutes ago), I was writing a custom puppet-function to offload some puppet magic. In short: I’m writing a wrapper around &lt;a href=&quot;http://docs.puppetlabs.com/references/stable/type.html#create_resources&quot; target=&quot;_blank&quot; title=&quot;Puppetlabs Function Guide: create_resources&quot;&gt;&lt;em&gt;create_resources&lt;/em&gt;&lt;/a&gt; so I can keep syntax for the end-users of my module crispy clean. This means I need the &lt;em&gt;create_resources&lt;/em&gt; function to be available in my custom function. This can be done by using &lt;em&gt;Puppet::Parser::Functions.autoloader.loadall&lt;/em&gt; as suggested on the &lt;a href=&quot;http://docs.puppetlabs.com/guides/custom_functions.html&quot; target=&quot;_blank&quot; title=&quot;Puppetlabs Guide: Custom Functions&quot;&gt;puppetlabs custom modules guide&lt;/a&gt;. Unfortunately, when using &lt;em&gt;#loadall&lt;/em&gt;, all functions will be loaded.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Why unfortunately&lt;/em&gt;? In my case: A function defined in puppet-foreman depends on the rest-client gem and I do not have this installed. Some people might say: Just install the gem and be done with it! This is hardly a proper solution. The way to go would to be only include the function I really  need, being &lt;em&gt;create_resources&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;And here is how:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;ruby&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #6666ff; font-weight: bold;&quot;&gt;Puppet::Parser::Functions&lt;/span&gt;.&lt;span style=&quot;color: #9900CC;&quot;&gt;autoloader&lt;/span&gt;.&lt;span style=&quot;color: #CC0066; font-weight: bold;&quot;&gt;load&lt;/span&gt;&lt;span style=&quot;color: #006600; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff3333; font-weight: bold;&quot;&gt;:create_resources&lt;/span&gt;&lt;span style=&quot;color: #006600; font-weight: bold;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #9966CC; font-weight: bold;&quot;&gt;unless&lt;/span&gt; &lt;span style=&quot;color: #6666ff; font-weight: bold;&quot;&gt;Puppet::Parser::Functions&lt;/span&gt;.&lt;span style=&quot;color: #9900CC;&quot;&gt;autoloader&lt;/span&gt;.&lt;span style=&quot;color: #9900CC;&quot;&gt;loaded&lt;/span&gt;?&lt;span style=&quot;color: #006600; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ff3333; font-weight: bold;&quot;&gt;:create_resources&lt;/span&gt;&lt;span style=&quot;color: #006600; font-weight: bold;&quot;&gt;)&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will basically load the &lt;em&gt;create_resources&lt;/em&gt; function after checking that it has not been loaded before. This (the function already being loaded) could be the case if you properly depend on puppetlabs-create_resources in your manifests. Side note: I &lt;a href=&quot;https://github.com/puppetlabs/puppetlabs-create_resources/pull/4&quot; target=&quot;_blank&quot; title=&quot;Added a dummy class for inclusion.&quot;&gt;added a small dummy class&lt;/a&gt; so my modules can depend on this function being available.&lt;/p&gt;
&lt;p&gt;This has resolved my issues with &lt;em&gt;#loadall&lt;/em&gt;, but if I ever needed to include another function that DOES use &lt;em&gt;#loadall&lt;/em&gt;, I’ll be screwed all over again. So (pretty) pls, don’t use &lt;em&gt;#loadall&lt;/em&gt;.&lt;/p&gt;</description>
	<pubDate>Tue, 31 Jan 2012 10:43:39 +0000</pubDate>
</item>
<item>
	<title>Dries Buytaert: Mollom.com website redesign (Woot!)</title>
	<guid>http://buytaert.net/2636 at http://buytaert.net</guid>
	<link>http://buytaert.net/mollom-com-website-redesign</link>
	<description>&lt;p&gt;We're proud to present a new design for the &lt;a href=&quot;http://mollom.com&quot;&gt;Mollom.com website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We first launched the Mollom.com site in 2007.  For more than four years, Mollom.com was using the same design. As we grew Mollom, we wanted to address some of the issues that we've been stewing over since our original design.  We have been planning to redesign the site for over a year now but work on the &lt;a href=&quot;http://mollom.com/how-mollom-works&quot;&gt;Mollom web service&lt;/a&gt; and developing &lt;a href=&quot;http://mollom.com/moderation&quot;&gt;new Mollom products&lt;/a&gt; have always had a higher priority so we haven't found the time to complete the new design until now.&lt;/p&gt;

&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;Mollom.com January 2012&quot; src=&quot;http://buytaert.net/sites/buytaert.net/files/cache/mollom-mollom-com-january-2012-500x500.jpg&quot; style=&quot;border: 1px solid #ccc; padding: 4px;&quot; /&gt;
&lt;p&gt;The old Mollom.com design that we used from 2007 to early 2012.&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;The new design is the first step in our plans to reorganize the website. We still have updates to make to the content of some pages, for example. Already, we think the new design is a fresh new change that improves usability.&lt;/p&gt;

&lt;p&gt;Take a look at the new &lt;a href=&quot;http://mollom.com&quot;&gt;mollom.com&lt;/a&gt;, we hope you like it!&lt;/p&gt;

&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;Mollom.com February 2012&quot; src=&quot;http://buytaert.net/sites/buytaert.net/files/cache/mollom-mollom-com-february-2012-500x500.jpg&quot; style=&quot;border: 1px solid #ccc; padding: 4px;&quot; /&gt;
&lt;p&gt;The new Mollom.com website design.&lt;/p&gt;

&lt;/div&gt;</description>
	<pubDate>Mon, 30 Jan 2012 22:13:41 +0000</pubDate>
</item>
<item>
	<title>Jan Vansteenkiste: Puppet Module Patterns</title>
	<guid>http://vstone.eu/?p=74</guid>
	<link>http://vstone.eu/puppet-module-patterns/</link>
	<description>&lt;h3 id=&quot;introduction&quot;&gt;INTRODUCTION&lt;/h3&gt;
&lt;p&gt;I’ve used puppet quite intensively since a couple of months (about 4 I would guess). Before that, I’ve played with it, change something here and there. But quite not as much as now. I’ve used several puppet modules from wherever google leads me, roamed github, inherited a few from colleagues and created several from scratch. While doing so, I saw a lot of stuff I disliked and learned a lot on how we I can (ab)use puppet to do what I want it to do. Over those last months, I have grown my set of ideas on how a puppet module should look. So, before every statement I make, you should probably add ‘IMHO’.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-74&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 id=&quot;who&quot;&gt;WHO THE F.&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Why the hell would this guy (me) have anything to say about puppet modules&lt;/em&gt;. Let’s situate first.&lt;/p&gt;
&lt;p&gt;I’m now an Open Source Consultant. I’ve been (in order) a Java programmer, sysadmin, Drupal developer and now back sysadmin (doing devopsy things). Last 3 positions I worked for (and still work for): &lt;a href=&quot;http://inuits.eu&quot; target=&quot;_blank&quot; title=&quot;Inuits&quot;&gt;Inuits&lt;/a&gt; – Open Source company in Belgium. Currently, I’m positioned at &lt;a href=&quot;http://unifiedpost.com&quot; target=&quot;_blank&quot; title=&quot;UnifiedPost&quot;&gt;UnifiedPost&lt;/a&gt; (About 100 people but thinking big!). I help out with daily maintenance (and there is plenty) and starting to adopt puppet as much as possible. Puppet was already in use at UP (UnifiedPost), but knowledge was rather thin as I came in. They did however manage some hosts with it (about 300-400). I dove in the puppet code rather fast and stumbled upon several patterns that increased pressure on my mouse heavily. Even modules I grabbed from the net (whatever the source is) made my grip firmer.&lt;/p&gt;
&lt;h3 id=&quot;problems&quot;&gt;PROBLEMS&lt;/h3&gt;
&lt;p&gt;Before trying to fix the problem, we should find exactly what bothers me with all these modules I lay my eyes on. I’ll try to keep it organized.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Modules are not classes!&lt;/li&gt;
&lt;li&gt;Too hard to use by non-developers&lt;/li&gt;
&lt;li&gt;Poor interaction with third-party modules&lt;/li&gt;
&lt;li&gt;Not versioned&lt;/li&gt;
&lt;li&gt;Not pretty at all do down right f_ugly&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;modules-are-not-classes&quot;&gt;1. Modules are not classes!&lt;/h4&gt;
&lt;p&gt;Although a module exists out of several classes, it should not behave like one.&lt;/p&gt;
&lt;p&gt;An example to clarify what I mean: The accounts &lt;em&gt;module&lt;/em&gt;. (I’m sure this is the case for may organizations that have an accounts module).&lt;/p&gt;
&lt;p&gt;I can think of a several valid reasons why you would have one. (Keep reading nevertheless!). What does our accounts module contain: A definition to ease the use and do some customization (set defaults, create some files, …). We also find a list of users, passwords and authorized_ssh keys. This (specific) user information does not belong in a module. It should either be in a class (below the manifests folder) or stored externally. In my point of view: Nodes use classes. They register the kind of machine and define what should be installed. Classes include modules and change settings. Possibly parameterized so we can keep it node specific. All module parameters values reside in the node or the class(es) it includes.&lt;/p&gt;
&lt;h4 id=&quot;too-hard-to-use&quot;&gt;2. Too hard to use by non-developers&lt;/h4&gt;
&lt;p&gt;This brings us to our next point. Can I just grab your module and start using it? Or do I need to weed out hardcoded strings, change host names or edit templates. Do I need to understand the complete way it works ‘under the hood’. I have written a short &lt;a href=&quot;http://vstone.eu/puppet-modules-and-using-dot-graphs-both-are-unrelated-but-related-to-each-other/&quot; target=&quot;_blank&quot; title=&quot;Puppet modules and using dot graphs (both are unrelated but related to each other)&quot;&gt;post&lt;/a&gt; recently, expressing my feelings about this. Bottom line: If I need to edit any file within your module to get it working the way I want it to, there is something wrong with it. Sure, features and/or support might be missing. but if my $::operatingsystem is supported, I should get it working without touching anything of the module code.&lt;/p&gt;
&lt;h4 id=&quot;poor-interaction&quot;&gt;3. Poor interaction with third-party modules&lt;/h4&gt;
&lt;p&gt;I have reused (or attempted to) several modules found on github and always had the same problem, it does not play well with our current puppet-tree. The best example for this is probably the apache (or httpd) module. Almost any puppet modules that has a dependency on apache being installed, comes with its own implementation and/or dependency. Most companies already have a apache module and change the new module to work properly together with theirs. &lt;em&gt;There goes upstream support&lt;/em&gt;. I have run into this issue with puppet-foreman recently and this will probably be my first big test case for my coding pattern.&lt;/p&gt;
&lt;h4 id=&quot;not-versioned&quot;&gt;4. Not versioned&lt;/h4&gt;
&lt;p&gt;Most modules you will find only live on one branch, master. Some may have a develop branch, but most of the time, there is no saying in what version you are using. Unless you elevate hash-tags to version numbers. (Using git submodules does this at some extend). But updating a submodule is always a dangerous thing to do, there is no way to tell what will break.&lt;/p&gt;
&lt;p&gt;Besides the ‘version’ of a module, we also have to take the puppet version into account. I tend to be a cutting-edge user for all my software, but I can easily understand if you don’t for whatever reason. So keeping puppet-modules backwards compatible is a must (is it?).&lt;/p&gt;
&lt;h4 id=&quot;not-pretty-formatted&quot;&gt;5. Not &lt;span style=&quot;color: #ffcc00;&quot;&gt;p&lt;span style=&quot;color: #ff00ff;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color: #33cccc;&quot;&gt;t&lt;/span&gt;&lt;span style=&quot;color: #339966;&quot;&gt;t&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;y&lt;/span&gt;&lt;/span&gt; at all do down right f_ugly&lt;/h4&gt;
&lt;p&gt;Why is properly formatted code important: for anybody else that ever has to ever change or even use it. This could be a colleague or someone (anyone) else that found your module and wants to improve (here is when YOU win time, if somebody else does the job for you) or change it. Even if you did not have time for writing up documentation, most people will have to stroll through your code. Having properly formatted code is always a nice-to-have feature then.&lt;/p&gt;
&lt;h3 id=&quot;requirements&quot;&gt;REQUIREMENTS&lt;/h3&gt;
&lt;p&gt;So now that we know what I dislike about puppet modules, let’s try to define something more positive. What is a good baseline for a puppet-module.&lt;/p&gt;
&lt;ol start=&quot;0&quot;&gt;
&lt;li&gt;VCS (This one is pretty obvious, I will not elaborate on this any further.)&lt;/li&gt;
&lt;li&gt;Follows &lt;a href=&quot;http://docs.puppetlabs.com/guides/style_guide.html&quot; title=&quot;Puppet Style Guide&quot;&gt;style guidelines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use of centralized parameters / settings&lt;/li&gt;
&lt;li&gt;Fully(!) parameterized&lt;/li&gt;
&lt;li&gt;Easy and centralized handling of compatibility (&lt;em&gt;$::operatingsystem&lt;/em&gt;-ish stuff)&lt;/li&gt;
&lt;li&gt;Documented&lt;/li&gt;
&lt;li&gt;Releases&lt;/li&gt;
&lt;li&gt;Puppet compatibility&lt;/li&gt;
&lt;li&gt;Integration: is uniquely identifiable&lt;/li&gt;
&lt;li&gt;Easy to extend&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;style-guidelines&quot;&gt;1. Style Guidelines&lt;/h4&gt;
&lt;p&gt;Why? Some valid reasons are so you make fewer mistakes and are more aware of what you are doing Do you really need double quotes? Using single quotes for static string values will prevent you from forgetting to quote ‘$’ (commands anyone?). Always using a default case will make you more aware that more than one distro exists in the world. At least fail when your module is not fit for a certain operating system to prevent unexpected behavior. If you read through the style guideline, you will see that many of these items are easily to do if you just remember to do so when you are writing the actual code.&lt;/p&gt;
&lt;h4 id=&quot;centralized-parameters-settings&quot;&gt;2. Centralized parameters / settings&lt;/h4&gt;
&lt;p&gt;Does your module support &lt;em&gt;distro&lt;/em&gt;? Just check the params.pp file. Everything is there. It does not get much easier than this to add support for a new distro.&lt;/p&gt;
&lt;h4 id=&quot;fully-parameterized&quot;&gt;3. Fully Parameterized&lt;/h4&gt;
&lt;p&gt;This might seem like I’m making the same point twice, but we should differentiate between our general ‘settings’ that configure the working of our module, and specific definitions that have parameters. You define where all your vhosts are but each vhosts definition you create also takes parameters. Same rule applies for a definition as for a module, we should be able to use it without having to change anything in the code. Often, this means making more stuff than you need – at time of writing your module – dynamical (parameterized). You can hard-code a ‘Listen 80′ or template it using a $ports parameter.&lt;/p&gt;
&lt;h4 id=&quot;compatibility handling&quot;&gt;4. Compatibility handling&lt;/h4&gt;
&lt;p&gt;As an exampe: my colleague asked me: &lt;em&gt;Does your module work for Debian&lt;/em&gt;? I was happy to answer: You just need to add support to the params.pp file. That’s all whats needed (and maybe add some templates).&lt;/p&gt;
&lt;h4 id=&quot;documentation&quot;&gt;5. Documentation&lt;/h4&gt;
&lt;p&gt;When thinking as a developer when writing a module, we know we need to offer easy documentation for the end-user. This is no different when writing a puppet module. It’s always a good thing to keep people out of your code as much as possible. Proper documentation is the first step. I try to write as much as possible, main reason being when a colleague asks how to use it, I can point him to the documentation instead of going over the code myself to remember what exactly is going on. On a side note: ATM, I’m having some troubles with &lt;a href=&quot;http://projects.puppetlabs.com/issues/11384&quot; title=&quot;Hash in class parameter breaks doc generation&quot;&gt;bug #11384&lt;/a&gt;. Votes – and a patch even more – welcome ;)&lt;/p&gt;
&lt;p&gt;Beside top-level documentation, inline (code) documentation should also be written. Not for the obvious stuff, but when you do something more advanced, explain to a fellow coder (or yourself some weeks later) why and what you are doing.&lt;/p&gt;
&lt;h4 id=&quot;releases&quot;&gt;6. Releases&lt;/h4&gt;
&lt;p&gt;Puppet modules should also have releases. This would an easier way of drawing attention when we change the API (or definition parameters) or when we fix a bug. This is also a great sign when our module is no longer backward compatible with old code (breaking API). I try to support old code as much as possible. But at some point, we will have to weed the old so it does not clutter the new. Keeping stuff simple/stupid (although I have passed that bridge a looooong time) is still a good principle.&lt;/p&gt;
&lt;h4&gt;7. Puppet Compatibility&lt;/h4&gt;
&lt;p&gt;We need to know with what version of puppet your module is compatible. Some features of the puppet language you use might or might not be available in older releases. You can check the &lt;a href=&quot;http://docs.puppetlabs.com/guides/language_guide.html&quot; target=&quot;_blank&quot; title=&quot;Puppet Language Guide&quot;&gt;Puppet Language Guide&lt;/a&gt; for what is introduced in what version, but there are a lot of other differences that are not so much documented. I’ve been using the create_resources function quite a lot but it’s only in core puppet for versions 2.7 and up. Luckily, there is &lt;a href=&quot;https://github.com/puppetlabs/puppetlabs-create_resources&quot; target=&quot;_blank&quot; title=&quot;Function to dynamically create resources from hashes&quot;&gt;a backport for 2.6 on the puppetlabs’ github&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&quot;integration-is-uniquely-identifiable&quot;&gt;8. Integration:  is uniquely identifiable&lt;/h4&gt;
&lt;p&gt;To improve compatibility, we first need must be able to tell what module we are integrating with. I personally started to use a $modulename and $moduleversion param in the main class of my module. Modulefiles like puppetlabs requires them for the puppet forge are cool, but we can not use them in our code.  We could write a fact for this so we don’t need to duplicate code. I won’t add this to my to-do list as I already have a way-to-long backlog, but feel free to add it to yours.&lt;/p&gt;
&lt;p&gt;With this information, we could do different things based on the module and version we are working with.&lt;/p&gt;
&lt;h4 id=&quot;easy-to-extend&quot;&gt;9. Easy to extend&lt;/h4&gt;
&lt;p&gt;In this part, the developer in me is taking the overhand and it will depend on personal preference a lot more than any of the previous points. A quick example: I wanted to use a conf.d/* configuration style. Even more, for certain configuration files, order is important so we need to prefix files with 00_, 01_, … I could have easily done this for each type of configuration file I want to store here. In stead, I wrote a confd wrapper definition/class that does this for me. It’s a 2 step process: You &lt;a href=&quot;https://github.com/Inuits/puppet-apache/blob/feature/confd_style/manifests/setup/listen.pp&quot; target=&quot;_blank&quot; title=&quot;Conf.d style folder example (a listen.d folder)&quot;&gt;initialize/setup&lt;/a&gt; a&lt;a href=&quot;http://vstone.eu/puppet-modules-and-using-dot-graphs-both-are-unrelated-but-related-to-each-other/&quot; target=&quot;_blank&quot; title=&quot;Conf.d base helper&quot;&gt; conf.d folder&lt;/a&gt; and then &lt;a href=&quot;https://github.com/Inuits/puppet-apache/blob/feature/confd_style/manifests/listen.pp&quot; target=&quot;_blank&quot; title=&quot;Example usage of a conf.d folder&quot;&gt;define&lt;/a&gt; your&lt;a href=&quot;https://github.com/Inuits/puppet-apache/blob/feature/confd_style/manifests/confd&quot; target=&quot;_blank&quot; title=&quot;conf.d different file types.&quot;&gt;resources&lt;/a&gt; within them. I’m realizing now that this should have been a separate module. I have added it to my &lt;a href=&quot;https://github.com/Inuits/puppet-apache/issues/2&quot; target=&quot;_blank&quot; title=&quot;Split off conf.d logic Issue&quot;&gt;to-do&lt;/a&gt; list.The main advantage is I can easily re-implement conf.d style folders now without worrying about the logic behind it.&lt;/p&gt;
&lt;h3 id=&quot;solutions&quot;&gt;SOLUTIONS&lt;/h3&gt;
&lt;p&gt;Quick wins! These go without saying, start using them now.&lt;/p&gt;
&lt;h4 id=&quot;check-style-formatting&quot;&gt;Check your code for formatting and style.&lt;/h4&gt;
&lt;p&gt;For this, we have&lt;a href=&quot;http://github.com/rodjek/puppet-lint&quot; title=&quot;Puppet-lint project on github.&quot;&gt; puppet-lint&lt;/a&gt;. This tool will deal with most common problems and errors/warnings against the style guide. This tool takes one puppet manifest as argument and displays the errors/warnings it finds. You can easily&lt;a href=&quot;http://vstone.eu/puppet-modules-in-jenkins/&quot; title=&quot;Puppet modules in Jenkins.&quot;&gt; integrate it with jenkins&lt;/a&gt; since the log-format argument has been added.&lt;/p&gt;
&lt;h4&gt;Documentation.&lt;/h4&gt;
&lt;p&gt;I suppose most people will have issues with this. Good documentation is essential and not much hard work if you do it right. I prefer to START with documenting what a class will do and implement afterwards. This is a lot like writing tests first and then use them to see if you are writing proper / working code. The danger is of course that you change the internal working but forget to update your documentation. After each feature I add, I tend to go over the documentation and see that everything is still up to date. Once documentation has been written, you can generate it using&lt;em&gt; puppet doc&lt;/em&gt;. To work around certain puppet doc’s ugliness, I wrote a small wrapper script for my Jenkins jobs that does some post processing on them. See &lt;a href=&quot;http://vstone.eu/puppet-modules-in-jenkins/&quot; title=&quot;Puppet modules in Jenkins.&quot;&gt;previous post&lt;/a&gt; for that.&lt;/p&gt;
&lt;h4&gt;Releases&lt;/h4&gt;
&lt;p&gt;I’ll be quick about this one: Use &lt;a href=&quot;http://nvie.com/posts/a-successful-git-branching-model/&quot; target=&quot;_blank&quot; title=&quot;A successful Git branching model: git-flow&quot;&gt;git-flow&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;General / Initial module structure.&lt;/h4&gt;
&lt;p&gt;For creating your initial puppet module structure, there is always the puppet-module tool. Install it by installing the gem. I have tried using it, but I’m relying on my &lt;a href=&quot;https://github.com/vStone/vStone-various/blob/master/bash-scripts/bashrc_puppet&quot; target=&quot;_blank&quot; title=&quot;My additions to my bashrc for doing puppet.&quot;&gt;own bash magic&lt;/a&gt; for creating classes.&lt;/p&gt;
&lt;p&gt;This is my basic structure I re-use over and over.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;./manifests/init.pp&lt;/li&gt;
&lt;li&gt;./manifests/params.pp&lt;/li&gt;
&lt;li&gt;./manifests/packages.pp&lt;/li&gt;
&lt;li&gt;./manifests/setup.pp&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One note on these filenames: always try to avoid confusion! I have seen a lot of config.pp classes and params.pp classes where the config.pp actually does configuration of the package on the system while params.pp is for configuring the behavior of the puppet-module. I like setup.pp better than config.pp, since it’s easier to figure out what the class does: It sets up the system! Another good option would be install.pp.&lt;/p&gt;
&lt;h3&gt;OUTRO&lt;/h3&gt;
&lt;p&gt;I realize these solutions are no where near finished but since FOSDEM 2012 is coming up and I’m running low on time, I wanted to publish this post so anybody can starting giving their opinion on the matter before coming to a final out-of-the-box solution most people can relate to. So, actually, this is a big fat &lt;strong&gt;TO BE CONTINUED&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Matters we need to discuss:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Compatibility handling (both to other modules and puppet)&lt;/li&gt;
&lt;li&gt;Making modules easy to integrate and/or extend.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;</description>
	<pubDate>Mon, 30 Jan 2012 17:30:58 +0000</pubDate>
</item>
<item>
	<title>Matt Casters: Big Kettle News</title>
	<guid>http://www.ibridge.be/?p=207</guid>
	<link>http://www.ibridge.be/?p=207</link>
	<description>&lt;p&gt;Dear Kettle fans,&lt;/p&gt;
&lt;p&gt;Today I’m really excited to be able to &lt;a href=&quot;http://www.marketwire.com/press-release/Pentaho-Open-Sources-Big-Data-Capabilities-to-Further-Fuel-Widespread-Adoption-1612600.htm&quot;&gt;announce&lt;/a&gt; a few really important changes to the Pentaho Data Integration landscape.  To me, the changes that are being announced today compare favorably to reaching Kettle version 1.0 some 9 years ago, or reaching version 2.0 with plugin support or even open sourcing Kettle itself…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;First of all…&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pentaho is again open sourcing an important piece of software.  Today we’re bringing all big data related software to you as open source software.  This includes all currently available capabilities to access HDFS, MongoDB, Cassandra, HBase, the specific VFS drivers we created as well as the ability to execute work inside of Hadoop (MapReduce), Amazon EMR, Pig and so on.&lt;/p&gt;
&lt;p&gt;This is important to you because it means that you can now use Kettle to integrate a multitude of technologies, ranging from files over relational databases to big data and NoSQL.  You can do this in other words without writing any code.  Take a look at how easy it is to program for Hadoop MapReduce:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;In other words, this part of the big news of today allows you to use the best tool for the job, whatever that tool is.  You can now combine the large set of steps and job entries with all the available data sources and use that to integrate everything.  Especially for Hadoop the time it takes to implement a MapReduce job is really small taking the sting out of costly and long training and testing cycles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;But that’s not all…&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pentaho Data Integration as well as the new big data plugins are now available under the Apache License 2.0.  This means that it’s now very easy to integrate Kettle or the plugins in 3rd party software.  In fact, for Hadoop, all major distributions are already supported including: Amazon Elastic MapReduce, Apache Hadoop, Cloudera’s Distribution including Apache Hadoop (CDH), Cloudera Enterprise, EMC Greenplum HD, HortonWorks Data Platform powered by Apache Hadoop, and MapR’s M3 Free and M5 Edition.&lt;br /&gt;
The change of Kettle from LGPL to Apache License 2.0 was broadly supported by our community and acts as an open invitation for other projects (and companies) to integrate Kettle.  I hope that more NoSQL, Big Data and Big Search communities will reach out to us to work together to even broaden our portfolio.  The way I see it, the Kettle community just got a whole lot bigger!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;Where are the goodies?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The main &lt;a href=&quot;http://wiki.pentaho.com/display/BAD/Pentaho+Big+Data+Community+Home&quot;&gt;landing page for the Big Data community&lt;/a&gt; is placed on our wiki to emphasize our intention to closely work with the various communities to make Pentaho Big Data a success.  You can find all information over there, including a set of videos, PDI 4.3.0 preview download (including Big Data plugins), Hadoop installation instructions, PRD configuration information and much more.&lt;/p&gt;
&lt;p&gt;Thanks for your time reading this and thanks for using Pentaho software!&lt;/p&gt;
&lt;p&gt;Matt&lt;/p&gt;</description>
	<pubDate>Mon, 30 Jan 2012 14:57:26 +0000</pubDate>
</item>
<item>
	<title>Ruben Vermeersch: Awesome details</title>
	<guid>http://weblog.savanne.be/?p=503</guid>
	<link>http://weblog.savanne.be/503-awesome-details</link>
	<description>&lt;p&gt;I like small details in software. Here’s a nice one I spotted the other day:&lt;/p&gt;

&lt;a href=&quot;http://weblog.savanne.be/503-awesome-details/img_0070&quot; title=&quot;IMG_0070&quot;&gt;&lt;img alt=&quot;IMG_0070&quot; class=&quot;attachment-thumbnail&quot; height=&quot;150&quot; src=&quot;http://weblog.savanne.be/IMG_0070-150x150.png&quot; title=&quot;IMG_0070&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://weblog.savanne.be/503-awesome-details/img_0071&quot; title=&quot;IMG_0071&quot;&gt;&lt;img alt=&quot;IMG_0071&quot; class=&quot;attachment-thumbnail&quot; height=&quot;150&quot; src=&quot;http://weblog.savanne.be/IMG_0071-150x150.png&quot; title=&quot;IMG_0071&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://weblog.savanne.be/503-awesome-details/img_0072&quot; title=&quot;IMG_0072&quot;&gt;&lt;img alt=&quot;IMG_0072&quot; class=&quot;attachment-thumbnail&quot; height=&quot;150&quot; src=&quot;http://weblog.savanne.be/IMG_0072-150x150.png&quot; title=&quot;IMG_0072&quot; width=&quot;150&quot; /&gt;&lt;/a&gt;

&lt;p&gt;The &lt;a href=&quot;http://www.amazon.com/gp/feature.html/ref=kcp_ipad_mkt_lnd?docId=1000490441&quot;&gt;Amazon Kindle app for iPad&lt;/a&gt; changes its background depending on the hour of the day. It even has some very nice effects, for instance, when switching to the night view, a falling star flies by.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Small details and nice polish shows your users that you care. Don’t be happy when it works, go the extra mile.&lt;/strong&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 30 Jan 2012 14:14:23 +0000</pubDate>
</item>
<item>
	<title>Lionel Dricot: Les Non-humains, tome 2 - Liberté et brosses à dent</title>
	<guid>urn:md5:4b2023d3d693b9bab49c63adfa9cfb85</guid>
	<link>http://ploum.net/post/nons-humains-tome2</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/ploum100&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;img alt=&quot;Brosse à dent&quot; src=&quot;http://ploum.net/images/brosse_a_dent.jpg&quot; style=&quot;float: right; margin: 0 0 1em 1em;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Il y a près de trois ans, je vous présentais Lilo et Vista, un chargeur de bottes et une jeune femme issue de la frange dominante de la société. Si vous n'étiez pas encore sur ce blog, je vous invite à &lt;a href=&quot;http://ploum.net/post/212-les-nons-humains&quot;&gt;lire leurs aventures&lt;/a&gt; avant de continuer dans ce billet.&lt;/p&gt;


&lt;p&gt;À l'époque, vous aviez été nombreux (si, si, trois personnes c'est nombreux) à réclamer une suite. Hélas, c'est une éventualité que je n'avais pas envisagée et j'avais préféré laisser Lilo et Vista à leur intimité.&lt;/p&gt;


&lt;p&gt;Je n'ai jamais eu l'idée ni l'envie d'écrire une suite. Mais il y a une semaine, alors que j'observais les réactions &lt;a href=&quot;http://ploum.net/post/je-suis-un-pirate&quot;&gt;à mon billet sur le piratage&lt;/a&gt;, Lilo est soudainement réapparu.&lt;/p&gt;    &lt;p&gt;— Ploum !&lt;br /&gt;
— Lilo ! Et bien ça fait un bail. Comment va Vista ?&lt;br /&gt;
— Écoute Ploum, Il faut absolument que je te parle. Je pense que ce qui se passe chez nous est vraiment important. Raconte-le !&lt;br /&gt;
— Tu sais, je n'ai jamais envisagé de continuer à raconter ta vie. Je ne suis pas sûr que ce soit une bonne idée. Les lecteurs risquent d'être déçus. Il n'y aura plus l'effet de surprise, la fraîcheur initiale. Écrire une nouvelle originale demande une idée, et j'en regorge. Écrire une suite demande du talent, c'est plus difficile.&lt;br /&gt;
Faisant fi de mes arguments, Lilo s'assis dans le canapé face à mon bureau.&lt;br /&gt;
— Tiens, tu as un nouveau clavier ?&lt;br /&gt;
— Euh… ah oui ! Quand on s'est rencontré, je ne le savais pas encore mais c'était le tout dernier texte que j'écrivais en Azerty. Je tape uniquement en &lt;a href=&quot;http://ploum.net/post/216-le-bepo-sur-le-bout-des-doigts&quot;&gt;Bépo&lt;/a&gt; à présent.&lt;br /&gt;
— Et bien prends ton Bépo, je te raconte. Tout a commencé avec une brosse à dent…&lt;br /&gt;
&lt;br /&gt;
Lilo ne m'ayant pas laissé le choix, j'espère que vous ne me tiendrez pas rigueur pour cette suite impromptue.
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://ploum.net/images/textes/nonhumains2.pdf&quot;&gt;&lt;img alt=&quot;PDF&quot; src=&quot;http://ploum.net/images/icones/pdf2.png&quot; style=&quot;float: left; margin: 0 1em 1em 0;&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://ploum.net/images/textes/nonhumains2.pdf&quot;&gt;Les Non-humains (PDF)&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://ploum.net/images/textes/nonhumains2.odt&quot;&gt;Les Non-humains (OpenDocument)&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;em&gt;Image de &lt;a href=&quot;http://www.flickr.com/photos/jeremybrooks/4149617602/&quot;&gt;Jeremy Brooks&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href=&quot;https://flattr.com/submit/auto?user_id=ploum&amp;amp;url=http://ploum.net/post/nons-humains-tome2&amp;amp;title=Les Non-humains, tome 2 - Liberté et brosses à dent&amp;amp;tags=&amp;amp;category=text&quot;&gt;&lt;img alt=&quot;Flattr our API Documentation&quot; src=&quot;https://api.flattr.com/button/flattr-badge-large.png&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Mon, 30 Jan 2012 10:18:00 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: LPI Item Writing Workshop on Sunday</title>
	<guid>http://www.fosdem.org/197 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/lpi_item_writing_workshop</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://www.lpi.org/&quot;&gt;LPI&lt;/a&gt; holds an &lt;a href=&quot;http://www.fosdem.org/2012/schedule/event/lpi_workshop&quot;&gt;open attendance item development workshop&lt;/a&gt; for the new exam &quot;Linux Essentials&quot; on Sunday. &lt;a href=&quot;http://www.fosdem.org/2012/schedule/speaker/g_matthew_rice&quot;&gt;G. Matthew Rice&lt;/a&gt;, Director of Product Development at LPI, will guide this workshop.&lt;br /&gt;
For further information, please &lt;a href=&quot;http://www.fosdem.org/2012/schedule/event/lpi_workshop&quot;&gt;read the details here&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Sun, 29 Jan 2012 23:02:49 +0000</pubDate>
</item>
<item>
	<title>Wim Coekaerts: The latest bits around ocfs2</title>
	<guid>http://blogs.oracle.com/wim/entry/the_latest_bits_around_ocfs2</guid>
	<link>http://blogs.oracle.com/wim/entry/the_latest_bits_around_ocfs2</link>
	<description>It's been a while since we last posted something about ocfs2 on our Oracle blogs but that doesn't mean the filesystem hasn't evolved. I had to write a bit of a summary for a customer so I figured it would be a good idea to just add a blog entry and document it here as well.
&lt;p&gt;
OCFS2 is a native Linux cluster filesystem that has been around for quite a few years now and was developed at Oracle and also has had a ton of contributions from the folks at SuSE over several years. The filesystem got officially merged into 2.6.16 and all the changes since have been going into mainline first and then trickled down into versions we build for Linux distributions. So we have ocfs2 versions 1.2, 1.4, 1.6 (1.8 for Oracle VM 3) which are specific snapshots of the filesystem code and then released for specific kernels like 2.6.18 or 2.6.32.
&lt;/p&gt;&lt;p&gt;
SLES has a version of ocfs2 that they build, other vendors decided to not compile in the filesystem so for Oracle Linux, we of course make sure we have current versions available as well. We also provide support for the filesystem as part of Oracle Linux support. You do not need to buy extra clustering or filesystem add-on options, the code is part of Oracle Linux and the support is part of our regular Oracle Linux support subscriptions. 
&lt;/p&gt;&lt;p&gt;
Many of the ocfs2 users, use the filesystem as an alternative to nfs, when I read the articles on the ocfs2 public maillists, this is a comment that comes back frequently. So there must be some truth to it as these are all unsolicited 3rd party comments :)... One nice thing with ocfs2 is that it's so very easy to set up. Just a simple text file (config file) on each node with the list of hostnames, ip addresses and you're basically good to go. One does need shared storage as it's a real cluster filesystem. This shared storage can be iscsi, san/fc or shared scsi and we highly recommend a private network so that you can isolate the cluster traffic. The main problem reports we get tend to be due to overloading servers. In a cluster filesystem you have to ensure that you know really what is going on with all servers, otherwise there is the potential for data corruption. This means that if a node gets in trouble, overloaded network or running out of memory, it will likely end up halting or rebooting the node so that the other servers can happily continue. A large percentage of customer reports tend to be related to misconfigured networks (share the interconnect / cluster traffic with everything else) or bad/slow disk subsystems that get overloaded and the heartbeat IOs cannot make it to the device.
&lt;/p&gt;&lt;p&gt;
One of the reasons ocfs2 is so trivial to configure, is that the entire ecosystem is integrated. It comes with its own embedded clustering stack, o2cb. This mini, specialized clusterstack provides node membership, heartbeat services and a distributed lock manager. This stack is not designed to be a general purpose userspace clusterstack but really tailored towards the basic requirements for our filesystem. Another really cool feature, I'd say it's in my top 3 cool features list for ocfs2, is dlmfs. dlmfs is a virtual filesystem that exposes a few simple locktypes : shared read, exclusive and trylock. There's a libo2dlm to use this in applications or you can simply use your shell to create a domain and locks just by doing mkdir and touch of files. Someone with some time on their hands could theoretically with some shell magic hack together a little userspace cluster daemon that could monitor applications or nodes and handle start, stop, restart. It's on my todo list but I haven't had time :) anyway, it's a very nifty feature.
&lt;/p&gt;&lt;p&gt;
Anyway, I digress... so one of the customer questions I had recently was about what's going on with ocfs2 and has there been any development effort. I decided to go look at the linux kernels since &lt;b&gt;2.6.27&lt;/b&gt; and collect the list of checkins that have happened since. These features are also in our latest ocfs2 as part of Oracle VM 3.0 and for the most part also in our kernel (Unbreakable Enterprise Kernel). Here is the list, I think it's pretty impressive :&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;pre&gt;    Remove JBD compatibility layer 
    Add POSIX ACLs
    Add security xattr support (extended attributes for SELinux)
    Implement quota recovery 
    Periodic quota syncing 
    Implementation of local and global quota file handling
    Enable quota accounting on mount, disable on umount 
    Add a name indexed b-tree to directory inodes 
    Optimize inode allocation by remembering last group
    Optimize inode group allocation by recording last used group.
    Expose the file system state via debugfs 
    Add statistics for the checksum and ecc operations.
    Add CoW support. (reflink is unlimited inode-based (file based) writeable snapshots - very very useful for virtualization)
    Add ioctl for reflink. 
    Enable refcount tree support. 
    Always include ACL support 
    Implement allocation reservations, which reduces fragmentation significantly 
    Optimize punching-hole code, speeds up significantly some rare operations 
    Discontiguous block groups, necessary to improve some kind of allocations. It is a feature that marks an incompatible bit, ie, it makes a forward-compatible change
    Make nointr (&quot;don't allow file operations to be interrupted&quot;) a default mount option 
    Allow huge (&amp;gt; 16 TiB) volumes to mount   (support for huge volumes)
    Add a mount option &quot;coherency=*&quot; to handle cluster coherency for O_DIRECT writes.
    Add new OCFS2_IOC_INFO ioctl: offers the none-privileged end-user a possibility to get filesys info gathering 
    Add support for heartbeat=global mount option (instead of having a heartbeat per filesystem you can now have a single heartbeat)
    SSD trimming support 
    Support for moving extents (preparation for defragmentation)

&lt;/pre&gt;
&lt;p&gt;
There are a number of external articles written about ocfs2, one that I found is &lt;a href=&quot;http://lwn.net/Articles/402287/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;
Have fun...&lt;/p&gt;</description>
	<pubDate>Sun, 29 Jan 2012 07:17:57 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Social Media</title>
	<guid>http://www.fosdem.org/192 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/social-media</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;the following social media accounts are available for FOSDEM2012&lt;/p&gt;
&lt;p&gt;Facebook:&lt;br /&gt;
&lt;a href=&quot;http://www.facebook.com/fosdem&quot; title=&quot;http://www.facebook.com/fosdem&quot;&gt;http://www.facebook.com/fosdem&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;twitter:&lt;/p&gt;
&lt;p&gt;@fosdem&lt;/p&gt;
&lt;p&gt;http://twitter.com/#!/fosdem&lt;/p&gt;
&lt;p&gt;Hashtag #fosdem&lt;/p&gt;</description>
	<pubDate>Sat, 28 Jan 2012 23:24:04 +0000</pubDate>
</item>
<item>
	<title>Frederic Hornain: Build your own Social Community Platform with Enterprise Open Source Softwares – Brussels, Belgium</title>
	<guid>http://fhornain.wordpress.com/?p=1402</guid>
	<link>http://fhornain.wordpress.com/2012/01/27/build-your-own-social-community-platform-with-enterprise-open-source-software-brussels-belgium/</link>
	<description>&lt;p&gt;&lt;img alt=&quot;&quot; class=&quot;alignleft  wp-image-1403&quot; height=&quot;346&quot; src=&quot;http://fhornain.files.wordpress.com/2012/01/buildyourownsocialcommunityplatform.png?w=460&amp;amp;h=346&quot; title=&quot;BuildYourOwnSocialCommunityPlatform&quot; width=&quot;460&quot; /&gt;&lt;br /&gt;
Dear *,&lt;/p&gt;
&lt;p&gt;We plan to organize an small event this year – 2012 – in Belgium on how to build your own social community Platform with Enterprise Open Source Softwares inside your company.&lt;/p&gt;
&lt;p&gt;This event should cover the user experiences services like :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enterprise Social&lt;/li&gt;
&lt;li&gt;Communication&lt;/li&gt;
&lt;li&gt;Collaboration&lt;/li&gt;
&lt;li&gt;Content Management&lt;/li&gt;
&lt;li&gt;Custom Application Development&lt;/li&gt;
&lt;li&gt;Mobile Applications&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, If you or your company are based in BeNeLux and are interested by this subject, then just let me know and I will arrange a Meeting for you.&lt;/p&gt;
&lt;p&gt;BR&lt;/p&gt;
&lt;p&gt;Frederic&lt;/p&gt;
&lt;br /&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/fhornain.wordpress.com/1402/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/fhornain.wordpress.com/1402/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/fhornain.wordpress.com/1402/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/fhornain.wordpress.com/1402/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gofacebook/fhornain.wordpress.com/1402/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/fhornain.wordpress.com/1402/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gotwitter/fhornain.wordpress.com/1402/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/fhornain.wordpress.com/1402/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/fhornain.wordpress.com/1402/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/fhornain.wordpress.com/1402/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/fhornain.wordpress.com/1402/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/fhornain.wordpress.com/1402/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/fhornain.wordpress.com/1402/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/fhornain.wordpress.com/1402/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=fhornain.wordpress.com&amp;amp;blog=6345193&amp;amp;post=1402&amp;amp;subd=fhornain&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 27 Jan 2012 17:07:24 +0000</pubDate>
</item>
<item>
	<title>Lionel Dricot: FlattrStat, a small statistic tool for Flattr</title>
	<guid>urn:md5:a0889ec20e2461cffb009606ffcb9ffb</guid>
	<link>http://ploum.net/post/flattrstat</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/ploum100&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;I'm a big fan of &lt;a href=&quot;http://flattr.com&quot;&gt;Flattr&lt;/a&gt;. But I find it hard to have some statistics about your things that have been flattered.&lt;/p&gt;


&lt;p&gt;On my &lt;a href=&quot;https://flattr.com/profile/ploum&quot;&gt;Flattr account&lt;/a&gt;, I receive flatts for both my blog and for &lt;a href=&quot;http://gtg.fritalk.com&quot;&gt;Getting Things GNOME!&lt;/a&gt;. But I want to keep a clear separation. There are multiple persons now involved in GTG and they deserve part of the money (we will use that to buy beers at &lt;a href=&quot;http://fosdem.org&quot;&gt;FOSDEM&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;Also, on my own blog, I was interested to know which posts where the more successful, speaking of revenue. I knew that, so far, &lt;a href=&quot;http://ploum.net/post/bitcoin-bubble&quot;&gt;this post&lt;/a&gt; had the most clicks but I had no idea which one received the most money (for the curious, it is &lt;a href=&quot;http://ploum.net/post/tout-peut-etre-compris&quot;&gt;that one&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;In order to do that, I quickly wrote &lt;a href=&quot;https://github.com/ploum/FlattrStat&quot;&gt;FlattrStat&lt;/a&gt;, a python script. You need to download all the csv files from flatr, put them in a folder then run the script with &quot;python flattrstat.py&quot;.&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;output of flattrstat&quot; src=&quot;http://ploum.net/images/flattrstat.png&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;It will outputs the total clicks and revenues for each domain separately and, for each domain, sort all your things from the most successful to the least one.&lt;/p&gt;


&lt;p&gt;Ideally, it should download the CSV files automatically and have a nice GUI but I don't really need that. It was for my own needs but I realize that it might be useful to someone else. So, feel free to use it or to contribute, it is under the &lt;a href=&quot;http://sam.zoy.org/wtfpl/&quot;&gt;WTFPL license&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;https://github.com/ploum/FlattrStat&quot;&gt;FlattrStat on GitHub&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href=&quot;https://flattr.com/submit/auto?user_id=ploum&amp;amp;url=http://ploum.net/post/flattrstat&amp;amp;title=FlattrStat, a small statistic tool for Flattr&amp;amp;tags=&amp;amp;category=text&quot;&gt;&lt;img alt=&quot;Flattr our API Documentation&quot; src=&quot;https://api.flattr.com/button/flattr-badge-large.png&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Fri, 27 Jan 2012 16:58:00 +0000</pubDate>
</item>
<item>
	<title>Paul Cobbaut: staking</title>
	<guid>tag:blogger.com,1999:blog-18697195.post-6987038370567944695</guid>
	<link>http://cobbaut.blogspot.com/2012/01/staking.html</link>
	<description>Vakbonden hebben in het verleden zeker hun functie gehad om op te komen voor basis mensenrechten voor arbeiders. Dat is gelukt, ondertussen leven we in België allemaal in grote luxe. Hoeveel stakers bezitten een eigen huis, eigen wagen, laptop, flatscreen TV, smartphone en hebben nog geld over voor een reis?&lt;br /&gt;&lt;br /&gt;Met de bedrijven gaat het minder goed. Het is crisis en de concurrentie uit het Oostblok en uit Azie is moordend. Het laatste wat een bedrijf vandaag nodig heeft, zijn stakers. Staken kost geld, en de winstmarges van de industrie zijn al lang niet meer wat ze vroeger waren. Als ge frustraties hebt met de banken, ga dan naar een andere bank. Er zijn voldoende kleine banken die niet gokken op de financiële markten. Maar werk uw frustraties niet uit op onze bedrijven aub.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Maandag wordt er niet gestaakt voor mensenrechten, wel om invloed uit te oefenen op de regering. De vakbonden willen het beleid van dit land bepalen. Als ze het dan toch zoveel beter weten, dat ze dan een partij oprichten. Eigenlijk zou Di Rupo en zijn regering maandag ontslag moeten nemen en tegen de vakbonden zeggen &quot;Doen jullie het maar, en neem ineens het parlement (of alle parlementen sic) over!&quot;.&lt;br /&gt;&lt;br /&gt;We hebben in dit land teveel! Teveel parlementen ok, maar vooral ook teveel luxe. Vergelijk met Azie, het Oostblok, Noord-Afrika waar men nog volop moet zorgen voor basis produkten zoals riolering, electriciteit, proper water enzovoorts. Daar zijn nog veel mensen die willen werken, die hard willen werken en die blij zijn dat ze werk hebben. Wees dus niet boos als na de staking van maandag blijkt dat bedrijven liever in Azie een filiaal openen dan hier.&lt;br /&gt;&lt;br /&gt;Ik ga werken op maandag, want staken heeft alleen maar nadelen voor ons land!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/18697195-6987038370567944695?l=cobbaut.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 27 Jan 2012 09:07:53 +0000</pubDate>
</item>
<item>
	<title>Frederic Hornain: [RHEV 3.0] Presentation @ Altimate in February 2012 – Brussels, Belgium</title>
	<guid>http://fhornain.wordpress.com/?p=1397</guid>
	<link>http://fhornain.wordpress.com/2012/01/26/rhev-3-0-presentation-altimate-in-february-2012-brussels-belgium/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://fhornain.files.wordpress.com/2012/01/myrhev3-0.png&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;alignleft size-medium wp-image-1398&quot; height=&quot;228&quot; src=&quot;http://fhornain.files.wordpress.com/2012/01/myrhev3-0.png?w=300&amp;amp;h=228&quot; title=&quot;MyRHEV3.0&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;Dear all,&lt;/p&gt;
&lt;p&gt;I am going to do a presentation about “Red Hat Enterprise Virtualization 3.0” @ Altimate in Brussels in February 2012.&lt;br /&gt;
If your company or you are based in BeNeLux and are interested by this presentation, just let me know and I will try to arrange a Meeting for you.&lt;/p&gt;
&lt;p&gt;Ref :  &lt;a href=&quot;http://www.redhat.com/promo/rhev3&quot; target=&quot;_blank&quot; title=&quot;Red Hat Enterprise Virtualization 3.0 &quot;&gt;http://www.redhat.com/promo/rhev3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ref : &lt;a href=&quot;http://www.altimate.be/brand/17694b441900027b/Red-Hat-JBoss.html&quot; title=&quot;Altimate Belgium&quot;&gt;http://www.altimate.be/brand/17694b441900027b/Red-Hat-JBoss.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ref : &lt;a href=&quot;http://www.altimate.be/local/17694b44190000f9/1e1537a81840686a/Red-Hat-RHEV-3-0-Launch-party-on-the-2nd-of-February-.html&quot; target=&quot;_blank&quot; title=&quot;Red Hat RHEV 3.0 Launch party&quot;&gt;http://www.altimate.be/local/17694b44190000f9/1e1537a81840686a/Red-Hat-RHEV-3-0-Launch-party-on-the-2nd-of-February-.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best Regards&lt;/p&gt;
&lt;p&gt;Frederic&lt;/p&gt;
&lt;br /&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/fhornain.wordpress.com/1397/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/fhornain.wordpress.com/1397/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/fhornain.wordpress.com/1397/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/fhornain.wordpress.com/1397/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gofacebook/fhornain.wordpress.com/1397/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/fhornain.wordpress.com/1397/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gotwitter/fhornain.wordpress.com/1397/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/fhornain.wordpress.com/1397/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/fhornain.wordpress.com/1397/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/fhornain.wordpress.com/1397/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/fhornain.wordpress.com/1397/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/fhornain.wordpress.com/1397/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/fhornain.wordpress.com/1397/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/fhornain.wordpress.com/1397/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=fhornain.wordpress.com&amp;amp;blog=6345193&amp;amp;post=1397&amp;amp;subd=fhornain&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 27 Jan 2012 08:42:11 +0000</pubDate>
</item>
<item>
	<title>Grégoire de Hemptinne: Présentation de Wazaabi UI Framework au Fosdem</title>
	<guid>urn:md5:4e5891c2395d27561318904b3280fc84</guid>
	<link>http://theclimber.fritalk.com/post/2012/01/26/Pr%C3%A9sentation-de-Wazaabi-UI-Framework-au-Fosdem</link>
	<description>&lt;div class=&quot;external-media&quot; style=&quot;float: right; margin: 0 0 1em 1em;&quot;&gt;
&lt;a href=&quot;http://www.fosdem.org&quot;&gt;&lt;img alt=&quot;I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting&quot; src=&quot;http://www.fosdem.org/promo/going-to&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;



&lt;p&gt;&lt;a href=&quot;http://wazaabi.org/&quot;&gt;Wazaabi&lt;/a&gt; est un framework open-source pour faciliter la création d'interfaces graphiques dans des applications de client riche tel que Eclipse RCP. Si vous avez déjà programmé des interfaces graphiques pour ce types d'applications, vous avez pu remarquer à quel point c'est une réelle prise de tête pour faire quelque chose de bien ficelé et de robuste. Je ne vous parle même pas de la maintenance de l'interface graphique lorsque le cahier des charges évolue et qu'il faut faire évoluer l'application. Et il est évidement impensable d'envisager de récupérer des parties de code d'une application pour la recoller dans une autre sous prétexte qu'on veut +/- la même interface graphique.&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;wazaabi.png&quot; src=&quot;http://wazaabi.org/uploads/media_items/wazaabi-model-your-ui-live.300.300.s.png&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Tous les développeurs qui ont déjà du développer des interfaces graphiques pour des applications client riches (RCP) ont déjà rencontré ce type de problèmes qui sont des prises de têtes assez importante pour s'en sortir. C'est la raison pour laquelle Wazaabi est là. Nous avons remarqués que de plus en plus d'applications sont développées sur base d'une approche modèle (tel un modèle business) et qu'une interface graphique peut être structurée de la même manière.&lt;/p&gt;


&lt;p&gt;L'approche Wazaabi est de rendre le développement de l'interface graphique : simple, facile à maintenir, portable. Wazaabi est depuis peu un projet officiel de la &lt;a href=&quot;http://eclipse.org/&quot;&gt;fondation Eclipse&lt;/a&gt;. Wazaabi n'est pas basé sur une librairie graphique en particulier. Si vous développez en Swing, en SWT ou même si vous développez sur Android, Wazaabi est une surcouche générique à la librairie que vous utilisez. L'idée est donc de vous permettre facilement, avec une même logique fonctionnelle, d'avoir plusieurs UI en fonction de votre librairie graphique.&lt;/p&gt;


&lt;p&gt;Samedi prochain, à l'occasion du &lt;a href=&quot;http://fosdem.org/2012&quot;&gt;Fosdem&lt;/a&gt;, je tiendrais un lightning talk pour vous présenter wazaabi en détail. Ca aura lieu &lt;a href=&quot;http://fosdem.org/2012/schedule/event/wazaabi&quot;&gt;samedi 4 février à 18h40 dans l'auditoire Ferrer&lt;/a&gt;. Si vous êtes développeur eclipse/java, venez découvrir ce framework qui vous intéressera surement !&lt;/p&gt;


&lt;p&gt;En attendant, pour en savoir plus, allez faire un tour sur le site de wazaabi ou sur la page de proposition du projet sur Eclipse.org :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.eclipse.org/Wazaabi/CreationReview&quot; title=&quot;http://wiki.eclipse.org/Wazaabi/CreationReview&quot;&gt;http://wiki.eclipse.org/Wazaabi/Cre...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wazaabi.org/&quot; title=&quot;http://wazaabi.org/&quot;&gt;http://wazaabi.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Thu, 26 Jan 2012 16:11:33 +0000</pubDate>
</item>
<item>
	<title>Frank Goossens: jailbreaking !== jail</title>
	<guid>http://blog.futtta.be/?p=7139</guid>
	<link>http://feedproxy.google.com/~r/futtta/~3/SaqdrIEHKWQ/</link>
	<description>&lt;p&gt;&lt;a href=&quot;https://www.jailbreakingisnotacrime.org/&quot; title=&quot;petition-site by eff &amp;amp; &amp;quot;bunnie&amp;quot;&quot;&gt;Jailbreaking is not a crime&lt;/a&gt;, but we shouldn’t take that for granted, because as Bunnie (XBox hacker) writes;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Three years ago, the [U.S.] Copyright Office agreed to create an exemption to the Digital Millennium Copyright Act so that folks could jailbreak their smartphones. But that exemption is about to expire.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Given the fact that the U.S. jailbreaking-scene is an important contributor, I &lt;a href=&quot;https://www.jailbreakingisnotacrime.org/&quot; title=&quot;eff &amp;amp; bunnie want you to sign! me too! sign! now! go! ... please?&quot;&gt;signed the EFF petition&lt;/a&gt; which asks the Copyright Office for continued support for jailbreakers;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Being an avid Android-user, jailbreaking permits me to replace heavily customized (and in some ways crippled, think CarrierIQ) vendor-specific versions of Android with clean, crisp, fast and secure after-market “mods” such as CyanogenMod.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You should really &lt;a href=&quot;https://www.jailbreakingisnotacrime.org/&quot; title=&quot;this is already the 3rd link to that page, why didn't you click earlier? ;-)&quot;&gt;sign this as well&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Possibly related twitterless twaddle:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2010/08/02/wordpress-stats-oddity/&quot; rel=&quot;bookmark&quot; title=&quot;WordPress stats oddity&quot;&gt;WordPress stats oddity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2009/10/27/google-loves-html5-in-android-2-0/&quot; rel=&quot;bookmark&quot; title=&quot;Google loves html5 (in Android 2.0)&quot;&gt;Google loves html5 (in Android 2.0)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2011/07/11/the-magics-gone-enter-samsung-galaxy-s-ii/&quot; rel=&quot;bookmark&quot; title=&quot;The Magic’s gone, enter Samsung Galaxy S II&quot;&gt;The Magic’s gone, enter Samsung Galaxy S II&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=SaqdrIEHKWQ:rN9g5PanJDQ:D7DqB2pKExk&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?i=SaqdrIEHKWQ:rN9g5PanJDQ:D7DqB2pKExk&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=SaqdrIEHKWQ:rN9g5PanJDQ:yIl2AUoC8zA&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=yIl2AUoC8zA&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=SaqdrIEHKWQ:rN9g5PanJDQ:qj6IDK7rITs&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=qj6IDK7rITs&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=SaqdrIEHKWQ:rN9g5PanJDQ:I9og5sOYxJI&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=I9og5sOYxJI&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/futtta/~4/SaqdrIEHKWQ&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Thu, 26 Jan 2012 10:41:00 +0000</pubDate>
</item>
<item>
	<title>Paul Cobbaut: iSCSI mini howto</title>
	<guid>tag:blogger.com,1999:blog-18697195.post-2950656433226598726</guid>
	<link>http://cobbaut.blogspot.com/2011/11/iscsi-mini-howto.html</link>
	<description>Some things in life, like &lt;b&gt;iSCSI&lt;/b&gt;, are simple!&lt;br /&gt;iSCSI is a protocol that allows you to have SCSI over IP.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;The iSCSI Target&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The host containing the physical hardware is called the iSCSI target and is easy to setup on Linux using &lt;b&gt;iscsitarget&lt;/b&gt;.&lt;br /&gt;&lt;pre&gt;aptitude install iscsitarget&lt;br /&gt;aptitude install iscsitarget-dkms (Debian 6)&lt;/pre&gt;&lt;br /&gt;After enabling it in /etc/default/iscsitarget you can use files, hd devices, partitions, lvm volumes or software raid mdadm devices as 'physical hardware disks'&lt;br /&gt;&lt;pre&gt;root@debby6:/etc/iet# cat ietd.conf&lt;br /&gt;Target iqn.2010-02.be.linux-training:storage.lun1&lt;br /&gt;IncomingUser isuser hunter2&lt;br /&gt;OutgoingUser&lt;br /&gt;Lun 0 Path=/iscsi/lun1.img,Type=fileio&lt;br /&gt;Alias LUN1&lt;/pre&gt;&lt;br /&gt;Where /iscsi/lun1.img is a zeroed file created with &lt;br /&gt;&lt;pre&gt;dd if=/dev/zero of=/iscsi/lun1.img count= bs=&lt;/pre&gt;&lt;br /&gt;Add the device to the allowed list:&lt;br /&gt;&lt;pre&gt;root@debby6:/etc/iet# cat initiators.allow&lt;br /&gt;iqn.2010-02.be.linux-training:storage.lun1&lt;/pre&gt;&lt;br /&gt;and start the server. You should see this:&lt;br /&gt;&lt;pre&gt;root@debby6:/etc/iet# cat /proc/net/iet/session&lt;br /&gt;tid:1 name:iqn.2010-02.be.linux-training:storage.lun1&lt;/pre&gt;&lt;b&gt;&lt;u&gt;The iSCSI Initiator&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The host that connects to this target server is called the &lt;b&gt;Initiator&lt;/b&gt;. Most Linux distros have this available as &lt;b&gt;open-iscsi&lt;/b&gt;.&lt;br /&gt;&lt;pre&gt;aptitude install open-iscsi&lt;/pre&gt;&lt;br /&gt;A discovery will show available devices on the target:&lt;br /&gt;&lt;pre&gt;root@ubu1104:/etc/iscsi# iscsiadm -m discovery -t st -p debby6&lt;br /&gt;192.168.1.31:3260,1 iqn.2010-02.be.linux-training:storage.lun2&lt;/pre&gt;&lt;br /&gt;Configuration with chap user and password takes a couple of commands:&lt;br /&gt;&lt;pre&gt;root@ubu1104:/etc/iscsi# iscsiadm -m node --targetname &quot;iqn.2010-02.be.linux-training:storage.lun1&quot; --portal &quot;debby6:3260&quot; --op=update --name node.session.auth.authmethod --value=CHAP&lt;br /&gt;root@ubu1104:/etc/iscsi# iscsiadm -m node --targetname &quot;iqn.2010-02.be.linux-training:storage.lun1&quot; --portal &quot;debby6:3260&quot; --op=update --name node.session.auth.username --value=isuser&lt;br /&gt;root@ubu1104:/etc/iscsi# iscsiadm -m node --targetname &quot;iqn.2010-02.be.linux-training:storage.lun1&quot; --portal &quot;debby6:3260&quot; --op=update --name node.session.auth.password --value=hunter2&lt;/pre&gt;&lt;br /&gt;That's it! Now (re)start the open-iscsi service and use &lt;b&gt;fdisk&lt;/b&gt; to see your iSCSI device.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/18697195-2950656433226598726?l=cobbaut.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 26 Jan 2012 10:32:46 +0000</pubDate>
</item>
<item>
	<title>Thomas Vander Stichele: GStreamer 0.11 Application Porting Hackfest</title>
	<guid>http://thomas.apestaart.org/log/?p=1429</guid>
	<link>http://thomas.apestaart.org/log/?p=1429</link>
	<description>&lt;p&gt;I’m in the quiet town of Malaga these three days to attend the GStreamer hackfest.  The goal is to port applications over to the 0.11 API which will eventually be 1.0  There’s about 18 people here, which is a good number for a hackfest.&lt;/p&gt;
&lt;p&gt;The goal for me is to figure out everything that needs to be done to have Flumotion working with GStreamer 0.11.  It looks like there is more work than expected, since some of the things we rely on haven’t been ported successfully.&lt;/p&gt;
&lt;p&gt;Luckily back in the day we spent quite a bit of time to layer parts as best as possible so they don’t depend too much on each other.  Essentially, Flumotion adds a layer on top of GStreamer where GStreamer pipelines can be run in different processes and on different machines, and be connected to each other over the network.  To that end, the essential communication between elements is abstracted and wrapped inside a data protocol, so that raw bytes can be transferred from one process to another, and the other end ends up receiving those same GStreamer buffers and events.&lt;/p&gt;
&lt;p&gt;First up, there is the GStreamer Data protocol.  Its job is to serialize buffers and events into a byte stream.&lt;/p&gt;
&lt;p&gt;Second, there is the concept of streamheaders (which is related to the DELTA_UNIT flag in GStreamer).  These are buffers that always need to be send at the beginning of a new stream to be able to interpret the buffers coming after it.  In 0.10, that meant that at least a GDP version of the caps needed to be in the streamheader (because the other side cannot interpret a running stream without its caps), and in more recent versions a new-segment event.  These streamheaders are analogous to the new sticky event concept in 0.11 – some events, like CAPS and TAG and SEGMENT are now sticky to the pad, which means that a new element connected to that pad will always see those events to make sense of the new data it’s getting.&lt;/p&gt;
&lt;p&gt;Third, the actual network communication is done using the multifdsink element (and an fdsrc element on the other side).  This element just receives incoming buffers, keeps them on a global buffer list, and sends all of them to the various clients added to it by file descriptor.  It understands about streamheaders, and makes sure clients get the right ones for wherever they end up in the buffer list.  It manages the buffers, the speed of clients, the bursting behaviour, … It doesn’t require GDP at all to work – Flumotion uses this element to stream Ogg, mp3, asf, flv, webm, … to the outside world.  But to send GStreamer buffers, it’s as simple as adding a gdppay before multifdsink, and a gdpdepay after fdsrc.  Also, at the same level, there are tcpserversink/tcpclientsrc and tcpclientsink/tcpserversrc elements that do the same thing over a simple TCP connection.&lt;/p&gt;
&lt;p&gt;Fourth, there is an interface between multifdsink/fdsrc and Python.  We let Twisted set up the connections, and then steal the file descriptor and hand those off to multifdsink and fdsrc.  This makes it very easy to set up all sorts of connections (like, say, in SSL, or just pipes) and do things to them before streaming (like, for example, authentication).  But by passing the actual file descriptor, we don’t lose any performance – the low-level streaming is still done completely in C.  This is a general design principle of Flumotion: use Python and Twisted for setup, teardown, and changes to the system, and where we need a lot of functionality and can sacrifice performance; but use C and GStreamer for the lower-level processor-intensive stuff, the things that happen in steady state, processing the signal.&lt;/p&gt;
&lt;p&gt;So, there is work to do in GStreamer 0.11:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The GStreamer data protocol has not really been ported.  gdppay/depay are still there, but don’t entirely work.&lt;/li&gt;
&lt;li&gt;streamheaders in those elements will need adapting to handle sticky events.&lt;/li&gt;
&lt;li&gt;multifdsink was moved to -bad and left with broken unit tests.  There is now multisocketsink.  But sadly it looks like GSocket isn’t meant to handle pure file descriptors (which we use in our component that records streams to disk for example)&lt;/li&gt;
&lt;li&gt;0.11 doesn’t have the traditional Python bindings.  It uses gobject-introspection instead.  That will need a lot of work on the Flumotion side, and ideally we would want to keep the codebase working against both 0.10 and 0.11 as we did for the 0.8-&amp;gt;0.10 move.  Apparently these days you cannot mix gi-style binding with old-style binding anymore, because they create separate class trees.  I assume this also means we need to port the glib2/gtk2 reactors in Twisted to using gobject-introspection.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, there is a lot of work to be done it looks like.  Luckily &lt;a href=&quot;http://www.ylatuya.es/&quot;&gt;Andoni&lt;/a&gt; arrived today too, so we can share some work.&lt;/p&gt;
&lt;p&gt;After discussing with Wim, Tim, and Sebastien, my plan is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;create a common base class for multihandlesink, and refactor multisocketsink and multifdsink as subclasses of it&lt;/li&gt;
&lt;li&gt;create g_value_transform functions to bytestreams for basic objects like Buffers and Events&lt;/li&gt;
&lt;li&gt;use these transform functions as the basis for a new version of GDP, which we’ll make typefindable this time around&lt;/li&gt;
&lt;li&gt;support sticky events&lt;/li&gt;
&lt;li&gt;ignore metadata for now, as it is not mandatory; although in the future we could let gdppay decide which metadata it wants to serialize, so the application can request to do so&lt;/li&gt;
&lt;li&gt;try multisocketsink as a transport for inside Flumotion and/or for the streaming components.&lt;/li&gt;
&lt;li&gt;In the latter case, do some stress testing – on our platform, we have pipelines with multifdsink running for months on end without crashing or leaking, sometimes going up to 10000 connections open.&lt;/li&gt;
&lt;li&gt;Make twisted reactors&lt;/li&gt;
&lt;li&gt;prototype flumotion-launch with 0.11 code by using gir&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That’s probably not going to be finished over this week, but it’s a good start.  Last night I started by fixing the unit tests for multifdsink, and now I started refactoring multisocketsink and multifdsink with that.  I’ll first try and make unit tests for multisocketsink though, to verify that I’m refactoring properly.&lt;/p&gt;</description>
	<pubDate>Thu, 26 Jan 2012 10:16:27 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Betagroup Coworking invitation</title>
	<guid>http://www.fosdem.org/188 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/betagroup-coworking-invitation</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;there have been some requests from people attending FOSDEM that would like to go to the Betagroup Coworking to work on Friday and Monday. So they thought that it would be a good idea to host as many partcipants as they could... for&lt;br /&gt;
free!&lt;/p&gt;
&lt;p&gt;Please see details and signup info here:&lt;br /&gt;
&lt;a href=&quot;http://coworking.betagroup.be/hosting-the-fosdem-participants/&quot; title=&quot;http://coworking.betagroup.be/hosting-the-fosdem-participants/&quot;&gt;http://coworking.betagroup.be/hosting-the-fosdem-participants/&lt;/a&gt; Space is limited and signup will be disabled when they reach their limit.&lt;/p&gt;</description>
	<pubDate>Thu, 26 Jan 2012 09:06:44 +0000</pubDate>
</item>
<item>
	<title>Xavier Mertens: First 2012 OWASP Belgium Chapter Meeting Wrap-Up</title>
	<guid>http://blog.rootshell.be/?p=9115</guid>
	<link>http://blog.rootshell.be/2012/01/25/first-2012-owasp-belgium-chapter-meeting-wrap-up/</link>
	<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;img alt=&quot;OWASP Belgium Attendees&quot; class=&quot;alignleft size-medium wp-image-9120&quot; height=&quot;225&quot; src=&quot;http://blog.rootshell.be/wp-content/uploads/2012/01/IMG_1731-300x225.jpg&quot; title=&quot;OWASP Belgium Attendees&quot; width=&quot;300&quot; /&gt;A new year started and why change good habits? I’m just back from the first OWASP Belgium Chapter meeting of 2012. Here is my quick wrap-up. The organization remains the same, the first few minutes were dedicated to some news from the OWASP organization given by &lt;a href=&quot;http://twitter.com/sebadele&quot; title=&quot;Link to the website&quot;&gt;Seba&lt;/a&gt;. A survey was organized by the Belgium chapter about the attendees and their expectations. Some results were presented. Most part of the members define their knowledge between “&lt;em&gt;security aware&lt;/em&gt;” and “&lt;em&gt;experienced&lt;/em&gt;“. Good news, lot of people are ready to participate and submit talk ideas! What’s on their wishlist for 2012? Mobile security, HTML5, SDLC, SAP and more demos/hands-on sessions. One recommendation for this year: more interaction between the chapter meetings (via forums, mailing lists?).&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-9115&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The first speaker was &lt;a href=&quot;http://www.krisbuytaert.be/bio.shtml&quot; title=&quot;Link to the website&quot;&gt;Kris Buytaert&lt;/a&gt; about “&lt;em&gt;Devops, secops, devsec or *ops ? A gentle introduction to Devops&lt;/em&gt;“. Based on his professional experience, Kris had the opportunity to work as a developer and later to move to the other side: system administration. With his knowledge of both worlds, he is an active member of the “&lt;em&gt;devops&lt;/em&gt;” movement. What is “&lt;em&gt;devops&lt;/em&gt;“? There are multiple &lt;a href=&quot;http://dev2ops.org/blog/2010/2/22/what-is-devops.html&quot; title=&quot;Link to the website&quot;&gt;definitions&lt;/a&gt;. It started in Belgium with a first meeting in October 2009 and a basic question: “&lt;em&gt;How to go from source to production?&lt;/em&gt;“. This is now a growing movement which cannot (still) answer all the issues but which tries to reach different communities. The real problem is to deploy better applications at less costs in less time at lower risks. How? A good principle is CAMS (“&lt;em&gt;Culture, Automation, Measurement and Sharing&lt;/em&gt;“). In the old days, deployment of an application could be resumed like this: “&lt;em&gt;Here is a tarball, put it in production now!&lt;/em&gt;“. But what about security, dependencies, performance impacts? And such deployments were blocked by other system or security constraints. That’s why people hate sysadmins and security officers!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;How to address this problem? By talking about non functional requirements like backup procedures, high-availability, upgrade path, scalability, etc. Try to break the silos between developers and sysadmins. Put people together in the same room. If you successfully address all those issues, you will be able to deploy quickly and safely at any time without the fear of “&lt;em&gt;breaking something&lt;/em&gt;“. What’s also important? Make all environments the same, define good set of test data, put configurations in revision control systems. A golden rule is to automate as much as possible. A manual deployment will certainly introduce typo errors in configuration files. There are very powerful tools to implement this (like &lt;a href=&quot;http://puppetlabs.com/&quot; title=&quot;Link to the website&quot;&gt;Puppet&lt;/a&gt;). Don’t forget to monitor your applications/systems. Events are organized worldwide to discuss about this topic, have a look at &lt;a href=&quot;http://www.devopsdays.org&quot; title=&quot;Link to the website&quot;&gt;devopdays.org&lt;/a&gt;. Some people started to think of a broaden “devops” which could integrate security guys. That’s why other names were introduced like “&lt;em&gt;secops&lt;/em&gt;” or “&lt;em&gt;*ops&lt;/em&gt;“. If you are interesting on this topic follow &lt;a href=&quot;http://twitter.com/KrisBuytaert&quot; title=&quot;Link to the website&quot;&gt;Kris&lt;/a&gt; and the hashtag &lt;a href=&quot;http://twitter.com/#!/search/%23devops&quot; title=&quot;Link to the website&quot;&gt;#devops&lt;/a&gt; on Twitter.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;After a short break, the second speaker, Erwin Geirnaert from &lt;a href=&quot;http://www.zionsecurity.com&quot; title=&quot;Link to the website&quot;&gt;ZionSecurity&lt;/a&gt;, talked about “&lt;em&gt;Hardening web applications against malware attacks&lt;/em&gt;“. Erwin presented his personal definition of a “&lt;em&gt;malware&lt;/em&gt;“: This is some piece of code which is non destructive, steals information, hijacks credentials and injects fraudulent transactions into applications (like e-banking). Funny remark: they are state of the art devops &lt;img alt=&quot;:)&quot; class=&quot;wp-smiley&quot; src=&quot;http://blog.rootshell.be/wp-includes/images/smilies/icon_smile.gif&quot; /&gt;  Indeed they are deployed automatically, they are extensively tested. Some well-known malwares are &lt;a href=&quot;http://en.wikipedia.org/wiki/Zeus_%28trojan_horse%29&quot; title=&quot;Link to wikipedia.org&quot;&gt;Zeus&lt;/a&gt; or &lt;a href=&quot;http://www.norman.com/spyeye&quot; title=&quot;Link to the website&quot;&gt;SpyEye&lt;/a&gt;. Malwares do not only target financial applications. Some of them attacks social network and, this is the Erwin’s prediction, they could attack cloud applications like SalesForce or Google Apps!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;They are really evil pieces of software and can defeat classic protections. They perform fake web content injections, they can bypass two-factors authentication, inject or remove HTML code to hide information (like hiding the stolen money by displaying the old bank account summary). They can bypass VPN and virtual keyboards (by taking screenshots after each mouse click to “&lt;em&gt;see&lt;/em&gt;” your passwords). Finally they are always optimized to be undetectable. Example: they introduce timeouts during the data input to prevent a too quick transaction (which could be detected as suspicious). They simulate the human behavior.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;To protect against those attack, applications hardening is mandatory. How?&lt;/p&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li&gt;By reduce attack surface&lt;/li&gt;
&lt;li&gt;By eliminating vulnerabilities&lt;/li&gt;
&lt;li&gt;By mitigating the impact of vulnerabilities&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Unfortunately, it’s not always easy to find documentation how to harden a web application. Erwin made some queries on Google to search for “&lt;em&gt;&amp;lt;product&amp;gt; hardening guide&lt;/em&gt;“. There is clearly a lack of resources. But hardening must occur at all layers: Not only switches, firewalls, operating systems and webservers configuration must be reviewed but developers have to build and maintain secure code. This is a very good example of devops implementation as explained just before by Kris. Unused features must be disabled, access to console must be limited and admin access, content management systems access must be prohibited from non secure networks.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;What about core review? It became more and more difficult to perform a complete code review due to the size and complexity of modern applications. So, why not install a WAF (“&lt;em&gt;Web Application Firewall&lt;/em&gt;“) say companies! Good idea but it must be properly implemented. Most WAF’s are left running in non-blocking mode. If you are interested in WAF’s, have a look at the &lt;a href=&quot;http://www.slideshare.net/lbsuto/analyzing-the-effectivess-of-web-application-firewalls&quot; title=&quot;Link to the website&quot;&gt;tests&lt;/a&gt; performed by Larry Suto in November 2011. A WAF will never make your application bullet-proof!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Ok, you hardened your servers and applications. But what about the weakest link,just after the user of course, the end point or… the browser! Browsers became a nice target for hackers because they are easy to hack. Hackers will always use the easiest way to perform their malicious activities. Browsers must also be hardened by patching them and using sandbox mechanisms. The next step? Our mobile devices. According to Erwin, “&lt;em&gt;2012 will be Android hell!&lt;/em&gt;“&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;To conclude, he gave some malware attack examples against e-banking applications and lot of interesting questions raised about the security of bank operations on mobile devices. My point of view is very simple: Do you really need to perform financial transactions while on the road? Personally when I’m doing my homework (like paying my bills), I do this from home with all the required documents near me.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The next chapter meeting will be scheduled around the 6th or March… See you there!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/dev/rand/~4/TDKWFSRTKbs&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 25 Jan 2012 22:58:52 +0000</pubDate>
</item>
<item>
	<title>Mark Van den Borre: NO to ACTA (thank you Poland!)</title>
	<guid>tag:blogger.com,1999:blog-2099374008738347758.post-4538418313128863815</guid>
	<link>http://feedproxy.google.com/~r/MarkVanDenBorre/~3/01C1E6Lrb6g/no-to-acta-thank-you-poland.html</link>
	<description>The Polish are angry about &lt;a href=&quot;http://en.wikipedia.org/wiki/Anti-Counterfeiting_Trade_Agreement&quot;&gt;ACTA&lt;/a&gt;. Rightly so, just like the rest of the world should have been. Thank you Poland! And let's hope your protest actually makes some difference.&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/2099374008738347758-4538418313128863815?l=blog.markvdb.be&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/MarkVanDenBorre/~4/01C1E6Lrb6g&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 25 Jan 2012 22:19:00 +0000</pubDate>
</item>
<item>
	<title>Pieter Colpaert: Thesis</title>
	<guid>http://bonsansnom.wordpress.com/?p=409</guid>
	<link>http://bonsansnom.wordpress.com/2012/01/25/thesis/</link>
	<description>&lt;p&gt;Today I handed in my thesis for a degree in applied engineering. It feels good to finally have the result of one year of work and absorbing knowledge right there in your hand.&lt;/p&gt;
&lt;p&gt;The purpose of the dissertation was to develop a module upon The DataTank in order to allow developers to work with more appropriately structured information from multiple data sources through a single call. The result of this was a language we designed for this thesis called SPECTQL. You can test it over &lt;a href=&quot;http://data.irail.be/spectql&quot; target=&quot;_blank&quot; title=&quot;SPECTQL demo at iRail&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Before all else, a literature study researches the meaning of open data, the leitmotif throughout this dissertation. Besides discussing current legislation on open data and copyright, the organisation of Apps for Ghent, an open data event, have been discussed. The second part of the literature study focuses on the relational model, explains semantics and gives an introduction to the Semantic Web.&lt;/p&gt;
&lt;p&gt;You can read the full dissertation in Dutch over here: &lt;a href=&quot;http://pieter.demo.thedatatank.com/scriptie.php&quot; target=&quot;_blank&quot; title=&quot;Thesis&quot;&gt;http://pieter.demo.thedatatank.com/scriptie.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pieter&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;br /&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/bonsansnom.wordpress.com/409/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/bonsansnom.wordpress.com/409/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/bonsansnom.wordpress.com/409/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/bonsansnom.wordpress.com/409/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gofacebook/bonsansnom.wordpress.com/409/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/bonsansnom.wordpress.com/409/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gotwitter/bonsansnom.wordpress.com/409/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/bonsansnom.wordpress.com/409/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/bonsansnom.wordpress.com/409/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/bonsansnom.wordpress.com/409/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/bonsansnom.wordpress.com/409/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/bonsansnom.wordpress.com/409/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/bonsansnom.wordpress.com/409/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/bonsansnom.wordpress.com/409/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=bonsansnom.wordpress.com&amp;amp;blog=11228669&amp;amp;post=409&amp;amp;subd=bonsansnom&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 25 Jan 2012 21:43:02 +0000</pubDate>
</item>
<item>
	<title>Dries Buytaert: Core Conversations at DrupalCon Denver</title>
	<guid>http://buytaert.net/2631 at http://buytaert.net</guid>
	<link>http://buytaert.net/core-conversations-at-drupalcon-denver</link>
	<description>&lt;p&gt;Like at previous DrupalCon's, I'm co-organizing a &lt;a href=&quot;http://denver2012.drupal.org/core-conversations&quot;&gt;Core Conversations track at DrupalCon Denver&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The Core Conversations track is a place for people actively working on Drupal or Drupal.org to meet and plan the future of Drupal. Each session is either two 15 minute or one 30 minute presentation, followed by 30 minutes of discussion.&lt;/p&gt;
&lt;p&gt;I know a lot of you contribute to Drupal or want to start contributing.  If so, Core Conversations are a unique opportunity to present in front of key Drupal contributors, and to make the case for why we need to do more of A or B (e.g. authoring experience improvements, API overhauls, etc.). We need UX conversations, performance conversations, feature conversations, etc. Please share your ideas with the world through Drupal core.&lt;/p&gt;
&lt;p&gt;If you have ideas for Drupal core, and you are attending DrupalCon, I suggest that you submit a proposal as soon as possible.  The deadline is February 1st so don't wait too long. To get your ideas flowing, here are our conversations from &lt;a href=&quot;http://london2011.drupal.org/conference/selected-coreconversations%E2%80%9D&quot;&gt;Drupalcon London&lt;/a&gt; and &lt;a href=&quot;http://chicago2011.drupal.org/schedule/core%E2%80%9D&quot;&gt;Drupal Chicago&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Wed, 25 Jan 2012 21:03:19 +0000</pubDate>
</item>
<item>
	<title>Guy Van Sanden: kernvragen.be: Gaan mijn kleinkinderen last hebben van ons kernafval?</title>
	<guid>http://guy.vsbnet.be/253 at http://guy.vsbnet.be</guid>
	<link>http://guy.vsbnet.be/content/kernvragenbe-gaan-mijn-kleinkinderen-last-hebben-van-ons-kernafval</link>
	<description>&lt;blockquote&gt;&lt;p&gt;GAAN MIJN KLEINKINDEREN LAST HEBBEN VAN HET KERNAFVAL DAT WE VANDAAG PRODUCEREN ? &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Antwoord van kernvragen &lt;a href=&quot;http://www.forumnucleaire.be/questions/nl/vraag/gaan-mijn-kleinkinderen-last-hebben-van-het-kernafval-dat-we-vandaag-produceren&quot;&gt;hier&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Jullie stellen in het kort:&lt;/p&gt;
&lt;p&gt;1. Nucleair afval is maar 1% van alle jaarlijks giftig afval&lt;br /&gt;
2. het is goed opspoorbaar&lt;br /&gt;
3. wat niet ter zake doende opmerkingen over toekomstige technieken.&lt;/p&gt;
&lt;p&gt;Als je weet dat bv. plutonium 239 een halveringstijd heeft van 24000 jaar ga je dat dus voor 240000 jaar van het milieu moeten isoleren.  Hoe kan je garanderen dat de huidige technieken inderdaad garanties bieden voor honderduizenden jaren in de toekomst, welke geologische veranderingen zich ook voordoen?    En gezien we afval blijven bijproduceren komt er toch een punt waar de hoeveelheid afval voor een duurtijd van 10duizenden tot honderduizenden jaren moet worden opgeslagen onrealistisch groot is?&lt;/p&gt;</description>
	<pubDate>Wed, 25 Jan 2012 14:51:19 +0000</pubDate>
</item>
<item>
	<title>Jan Vansteenkiste: Reducing vagrant box size</title>
	<guid>http://vstone.eu/?p=166</guid>
	<link>http://vstone.eu/reducing-vagrant-box-size/</link>
	<description>&lt;p&gt;Here are some tricks I use to make my vagrant boxes as small as possible:&lt;/p&gt;
&lt;h3&gt;Tips:&lt;/h3&gt;
&lt;h4&gt;Booting in single user mode:&lt;/h4&gt;
&lt;p&gt;I boot in single user mode since it will prevent running services that could output logs. I do this because I zero out all my logs before packaging the box.&lt;/p&gt;
&lt;h4&gt;Updating:&lt;/h4&gt;
&lt;p&gt;After updating any package, run yum clean (or the apt equivalent).&lt;/p&gt;
&lt;p&gt;When booted in single user mode, don’t forget to start-up your network before updating.&lt;/p&gt;
&lt;p&gt;When updating kernels, install the kernel packages, reboot and remove the old kernel packages that are no longer in use. &lt;em&gt;Remember to re-install the VirtualBox add-ons too after a kernel update.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Cleanup:&lt;/h4&gt;
&lt;p&gt;After doing whatever you need to do with the box, I do some rather nasty stuff to make sure the box uses as little as possible place. If you are using a RAW hard-disks, these might be a bad idea (stuff gets BIG).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zero out all remaining unused disk space&lt;/li&gt;
&lt;li&gt;Zero out the swap&lt;/li&gt;
&lt;li&gt;Clear out all log files (I just make them empty, I do NOT delete them)&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;Script:&lt;/h5&gt;
&lt;p&gt;(You can find this script – or an older version in &lt;code&gt;/root/tools/cleanup_diskspace.sh&lt;/code&gt; on my newer &lt;a href=&quot;http://packages.vstone.eu/vagrant-boxes&quot; target=&quot;_blank&quot; title=&quot;Vagrant Boxes&quot;&gt;vagrant boxes&lt;/a&gt;.)&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;bash&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; - &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; EOWARNING 
WARNING: This script will fill up your left over disk space.
 
DO NOT RUN THIS WHEN YOUR VIRTUAL HD IS RAW&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!!!!!&lt;/span&gt;
 
You should NOT &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; this on a running system. 
This is purely &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; making vagrant boxes damn small. 
 
Press Ctrl+C within the next &lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt; seconds &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; you want to abort&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!!&lt;/span&gt; 
 
EOWARNING 
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sleep&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;10&lt;/span&gt;; 
 
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'Cleanup log files'&lt;/span&gt;;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;var&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;log &lt;span style=&quot;color: #660033;&quot;&gt;-type&lt;/span&gt; f &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; f; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-ne&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;''&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;gt; &lt;span style=&quot;color: #007800;&quot;&gt;$f&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;;
 
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'Whiteout root'&lt;/span&gt;;
&lt;span style=&quot;color: #007800;&quot;&gt;count&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;df&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--sync&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-kP&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tail&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-n1&lt;/span&gt;  &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;awk&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-F&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;' '&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'{print $4}'&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;if&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zero &lt;span style=&quot;color: #007800;&quot;&gt;of&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;whitespace &lt;span style=&quot;color: #007800;&quot;&gt;bs&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;1024&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;count&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$count&lt;/span&gt;;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;tmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;whitespace;
 
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'Whiteout /boot'&lt;/span&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;count&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;df&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--sync&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-kP&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;boot &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tail&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-n1&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;awk&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-F&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;' '&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'{print $4}'&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;if&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zero &lt;span style=&quot;color: #007800;&quot;&gt;of&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;boot&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;whitespace &lt;span style=&quot;color: #007800;&quot;&gt;bs&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;1024&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;count&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$count&lt;/span&gt;;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;boot&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;whitespace;
 
&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;### Repeat the above for other partitions you have.&lt;/span&gt;
 
&lt;span style=&quot;color: #007800;&quot;&gt;swappart&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cat&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;proc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;swaps &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tail&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-n1&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;awk&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-F&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;' '&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'{print $1}'&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;`&lt;/span&gt;
swapoff &lt;span style=&quot;color: #007800;&quot;&gt;$swappart&lt;/span&gt;;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;if&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zero &lt;span style=&quot;color: #007800;&quot;&gt;of&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$swappart&lt;/span&gt;
mkswap &lt;span style=&quot;color: #007800;&quot;&gt;$swappart&lt;/span&gt;;
swapon &lt;span style=&quot;color: #007800;&quot;&gt;$swappart&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Furthermore – about this script – &lt;strong&gt;USE IT AT YOUR OWN RISK&lt;/strong&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 25 Jan 2012 10:19:39 +0000</pubDate>
</item>
<item>
	<title>Frank Goossens: Act up against ACTA</title>
	<guid>http://blog.futtta.be/?p=7129</guid>
	<link>http://feedproxy.google.com/~r/futtta/~3/yEEFXS8tTCw/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://static.blog.futtta.be/wp-content/uploads/2012/01/acta_agitprop_smaller.png&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;alignright size-full wp-image-7132&quot; height=&quot;231&quot; src=&quot;http://static.blog.futtta.be/wp-content/uploads/2012/01/acta_agitprop_smaller.png&quot; title=&quot;great image, as found on the web ...&quot; width=&quot;158&quot; /&gt;&lt;/a&gt;The European Parliament will soon vote on ACTA, an &lt;strong&gt;international trade agreement&lt;/strong&gt; that might have a &lt;strong&gt;huge impact on the internet&lt;/strong&gt; as we know it. The YouTube video below explains some of the ramifications (in a propaganda-esque kind of way, but still) and &lt;a href=&quot;http://en.wikipedia.org/wiki/Anti-Counterfeiting_Trade_Agreement&quot; title=&quot;acta on wikipedia&quot;&gt;this Wikipedia-article provides some more objective information&lt;/a&gt; and contains links to -a lot- more detailed reviews and criticisms.&lt;/p&gt;
&lt;p&gt;The bottom-line: if you’re European and you were supporting the great anti-SOPA-protests in the U.S., this is the &lt;strong&gt;time to act&lt;/strong&gt; yourself! &lt;strong&gt;Spread the word&lt;/strong&gt; and sign one or more of these &lt;strong&gt;petitions against ACTA&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ipetitions.com/petition/belgiumagainstacta&quot; title=&quot;belgium against acta&quot;&gt;Belgium Against ACTA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.accessnow.org/page/s/just-say-no-to-acta&quot; title=&quot;accessnow.org petition&quot;&gt;Just say “NO” to ACTA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.stopp-acta.info/english/get+involved/petition/petition.html&quot; title=&quot;stopp-acta.info petition&quot;&gt;stopp-acta.info petition&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The video:&lt;/p&gt;
&lt;div class=&quot;lyte&quot; id=&quot;WYL_citzRjwk-sQ&quot; style=&quot;width: 640px; height: 360px;&quot;&gt;&amp;lt;noscript&amp;gt;&amp;lt;a href=&quot;http://youtu.be/citzRjwk-sQ&quot;&amp;gt;&amp;lt;img alt=&quot;&quot; height=&quot;340&quot; src=&quot;http://img.youtube.com/vi/citzRjwk-sQ/0.jpg&quot; width=&quot;640&quot; /&amp;gt;&amp;lt;/a&amp;gt; Embedded with WP YouTube Lyte.&amp;lt;/noscript&amp;gt;&lt;/div&gt;
&lt;div class=&quot;lL&quot;&gt;Watch this video &lt;a href=&quot;http://youtu.be/citzRjwk-sQ&quot;&gt;on YouTube&lt;/a&gt; or on &lt;a href=&quot;http://icant.co.uk/easy-youtube/?http://www.youtube.com/watch?v=citzRjwk-sQ&quot;&gt;Easy Youtube&lt;/a&gt;.&lt;/div&gt;
&lt;p&gt;Possibly related twitterless twaddle:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2010/06/16/embedding-html5-youtube-video-with-wp-youtube-lyte/&quot; rel=&quot;bookmark&quot; title=&quot;Embedding HTML5 YouTube video with WP YouTube Lyte&quot;&gt;Embedding HTML5 YouTube video with WP YouTube Lyte&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2010/01/25/enhanced-privacy-for-embedded-youtube/&quot; rel=&quot;bookmark&quot; title=&quot;Enhanced privacy for embedded YouTube&quot;&gt;Enhanced privacy for embedded YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.futtta.be/2010/05/18/lite-youtube-embeds-in-wordpress/&quot; rel=&quot;bookmark&quot; title=&quot;Lite YouTube Embeds in WordPress&quot;&gt;Lite YouTube Embeds in WordPress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=yEEFXS8tTCw:YkDyUakgaKU:D7DqB2pKExk&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?i=yEEFXS8tTCw:YkDyUakgaKU:D7DqB2pKExk&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=yEEFXS8tTCw:YkDyUakgaKU:yIl2AUoC8zA&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=yIl2AUoC8zA&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=yEEFXS8tTCw:YkDyUakgaKU:qj6IDK7rITs&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=qj6IDK7rITs&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/futtta?a=yEEFXS8tTCw:YkDyUakgaKU:I9og5sOYxJI&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://feeds.feedburner.com/~ff/futtta?d=I9og5sOYxJI&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/futtta/~4/yEEFXS8tTCw&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 25 Jan 2012 08:57:55 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: Third batch of FOSDEM 2012 speaker interviews</title>
	<guid>http://www.fosdem.org/187 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/news/third-batch-fosdem-2012-speaker-interviews</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;Here is the third batch of interviews with our main track speakers:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/bdale-garbee&quot;&gt;Bdale Garbee (FreedomBox)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/finne-boonen&quot;&gt;Finne Boonen (healthy communities)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/guido-trotter&quot;&gt;Guido Trotter (Ganeti)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/wim-godden&quot;&gt;Wim Godden (caching and tuning)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/simon-phipps&quot;&gt;Simon Phipps (OSI)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/renzo-davoli&quot;&gt;Renzo Davoli (Internet of Threads)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://fosdem.org/2012/interview/garrett-serack&quot;&gt;Garrett Serack (CoApp)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://www.fosdem.org/2012/news/third-batch-fosdem-2012-speaker-interviews&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 24 Jan 2012 21:56:47 +0000</pubDate>
</item>
<item>
	<title>Guy Van Sanden: Kernvragen.be</title>
	<guid>http://guy.vsbnet.be/252 at http://guy.vsbnet.be</guid>
	<link>http://guy.vsbnet.be/content/kernvragenbe</link>
	<description>&lt;p&gt;The Belgian nuclear forum is launching a very aggressive marketing campaign which supposedly provides answers about nuclear energy to the public.&lt;/p&gt;
&lt;p&gt;Reading through the questions and answers seems to confirm my original feeling that this is nothing more than a marketing campaign designed to ease the fears surrounding nuclear enegery instead of actually providing honest answers.  &lt;/p&gt;
&lt;p&gt;So, as someone with 4 years of experience in the nuclear energy, I will be asking them some questions and I'll be curious to hear the answers.&lt;/p&gt;
&lt;p&gt;The first question that I launched yesterday was roughly translated this:&lt;/p&gt;
&lt;p class=&quot;rteindent1&quot;&gt;&quot;Why should we trust the answers provided by kernvragen.be as this site is operated by the nuclear forum, which is a lobby-group of nuclear companies and research institutions?&quot;&lt;/p&gt;
&lt;p&gt;I'm still awaiting an answer...&lt;br /&gt;
 &lt;/p&gt;</description>
	<pubDate>Tue, 24 Jan 2012 11:05:38 +0000</pubDate>
</item>
<item>
	<title>Amedee Van Gasse</title>
	<guid>http://amedee.be/at http://amedee.be</guid>
	<link>http://vangasse.eu/mijn-bca5-presentatie-mijn-stamboom-maken-genicom</link>
	<description>niet beschikbaar</description>
	<pubDate>Sun, 22 Jan 2012 22:30:18 +0000</pubDate>
</item>
<item>
	<title>Jan Vansteenkiste: Puppet modules in Jenkins.</title>
	<guid>http://vstone.eu/?p=106</guid>
	<link>http://vstone.eu/puppet-modules-in-jenkins/</link>
	<description>&lt;h2&gt;Code style checking&lt;/h2&gt;
&lt;h3&gt;Prerequisites:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;You will need a recent enough version of &lt;a href=&quot;http://github.com/rodjek/puppet-lint&quot; target=&quot;_blank&quot; title=&quot;Puppet-lint project on github.&quot;&gt;puppet-lint&lt;/a&gt; that supports the &lt;code&gt;--log-format&lt;/code&gt; flag. Install the gem so that the Jenkins can use it.&lt;/li&gt;
&lt;li&gt;On Jenkins, you will need the &lt;a href=&quot;https://wiki.jenkins-ci.org/display/JENKINS/Warnings+Plugin&quot; target=&quot;_blank&quot; title=&quot;Jenkins: Warnings Plugin&quot;&gt;Warnings Plugin&lt;/a&gt; and the&lt;a href=&quot;https://wiki.jenkins-ci.org/display/JENKINS/HTML+Publisher+Plugin&quot; target=&quot;_blank&quot; title=&quot;Jenkins: HTML Publisher Plugin&quot;&gt; HTML Publisher Plugin&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Make sure that when checking the module from your VCS, it ends up in WORKSPACE/modules/module_name.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Configuration:&lt;/h3&gt;
&lt;h4&gt;Jenkins&lt;/h4&gt;
&lt;p&gt;&lt;del&gt;Go to the &lt;em&gt;Configure System&lt;/em&gt; page and find the &lt;em&gt;Compiler Warnings&lt;/em&gt; settings. Add a new console log parser and call it puppet-lint. I use following configuration for parsing puppet-lint warnings and errors.&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;The warnings plugin has been updated and now has puppet-lint support out of the box! So configuring puppet-lint manually is kind of useless now.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Name:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;puppet-lint&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Regular Expression:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;^\s*([^:]+):([0-9]+):([^:]+):([^:]+):\s*(.*)$&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Mapping Script:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;groovy&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #a1a100;&quot;&gt;hudson.plugins.warnings.parser.Warning&lt;/span&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// map regular expression to strings&lt;/span&gt;
&lt;span style=&quot;color: #aaaadd; font-weight: bold;&quot;&gt;String&lt;/span&gt; fileName &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; matcher.&lt;span style=&quot;color: #006600;&quot;&gt;group&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #aaaadd; font-weight: bold;&quot;&gt;String&lt;/span&gt; lineNumber &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; matcher.&lt;span style=&quot;color: #006600;&quot;&gt;group&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #aaaadd; font-weight: bold;&quot;&gt;String&lt;/span&gt; kind &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; matcher.&lt;span style=&quot;color: #006600;&quot;&gt;group&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #aaaadd; font-weight: bold;&quot;&gt;String&lt;/span&gt; check &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; matcher.&lt;span style=&quot;color: #006600;&quot;&gt;group&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #aaaadd; font-weight: bold;&quot;&gt;String&lt;/span&gt; message &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; matcher.&lt;span style=&quot;color: #006600;&quot;&gt;group&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// return a Warning.&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Warning&lt;span style=&quot;color: #66cc66;&quot;&gt;(&lt;/span&gt;fileName, &lt;span style=&quot;color: #aaaadd; font-weight: bold;&quot;&gt;Integer&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;parseInt&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;(&lt;/span&gt;lineNumber&lt;span style=&quot;color: #66cc66;&quot;&gt;)&lt;/span&gt;, check, kind, message&lt;span style=&quot;color: #66cc66;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Example Log Message:&lt;/strong&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;text&quot; style=&quot;font-family: monospace;&quot;&gt;./manifests/params.pp:25:autoloader_layout:error:apache::params not in autoload module layout&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4&gt;Jenkins job configuration&lt;/h4&gt;
&lt;p&gt;We will add several &lt;strong&gt;build steps&lt;/strong&gt; that will run certain actions on our puppet modules.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Check syntax&lt;/li&gt;
&lt;li&gt;Check style&lt;/li&gt;
&lt;li&gt;Generate documentation&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;1. For the &lt;strong&gt;syntax check&lt;/strong&gt;, I use following shell script (add a build step):&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;bash&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;file&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; . &lt;span style=&quot;color: #660033;&quot;&gt;-iname&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'*.pp'&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;)&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;
  puppet parser validate &lt;span style=&quot;color: #660033;&quot;&gt;--color&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;false&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--render-as&lt;/span&gt; s &lt;span style=&quot;color: #660033;&quot;&gt;--modulepath&lt;/span&gt;=modules &lt;span style=&quot;color: #007800;&quot;&gt;$file&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;||&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2. For the &lt;strong&gt;style check&lt;/strong&gt;, we use puppet-lint (add another build step):&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;bash&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; . &lt;span style=&quot;color: #660033;&quot;&gt;-iname&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.pp &lt;span style=&quot;color: #660033;&quot;&gt;-exec&lt;/span&gt; puppet-lint &lt;span style=&quot;color: #660033;&quot;&gt;--log-format&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;%{path}:%{linenumber}:%{check}:%{KIND}:%{message}&quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;}&lt;/span&gt; \;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;3. And for generating &lt;strong&gt;documentation&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;bash&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;## Cleanup old docs.&lt;/span&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;amp;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;amp; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-rf&lt;/span&gt; doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;## Dummy manifests folder.&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; manifests&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;amp;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;amp;&lt;/span&gt;amp; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; manifests&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;## Generate docs&lt;/span&gt;
puppet doc &lt;span style=&quot;color: #660033;&quot;&gt;--mode&lt;/span&gt; rdoc &lt;span style=&quot;color: #660033;&quot;&gt;--manifestdir&lt;/span&gt; manifests&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--modulepath&lt;/span&gt; .&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;modules&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--outputdir&lt;/span&gt; doc
 
&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;## Fix docs to how I want them, I don't like that the complete workspace is included in all file paths.&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;[&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${WORKSPACE}&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;files&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #800000;&quot;&gt;${WORKSPACE}&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;modules &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;]&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
  &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mv&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;&lt;span style=&quot;color: #007800;&quot;&gt;${WORKSPACE}&lt;/span&gt;/doc/files/&lt;span style=&quot;color: #007800;&quot;&gt;${WORKSPACE}&lt;/span&gt;/modules&quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;&lt;span style=&quot;color: #007800;&quot;&gt;${WORKSPACE}&lt;/span&gt;/doc/files/modules&quot;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-l&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-R&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${WORKSPACE}&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; fname; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&quot;s@&lt;span style=&quot;color: #007800;&quot;&gt;${WORKSPACE}&lt;/span&gt;/@/@g&quot;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$fname&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In your &lt;strong&gt;post build&lt;/strong&gt; section:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enable &lt;em&gt;Scan for compiler warnings&lt;/em&gt; and select &lt;em&gt;puppet-lint&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Enable publish HTML reports (use ‘&lt;em&gt;doc&lt;/em&gt;‘, ‘&lt;em&gt;index.html&lt;/em&gt;‘ and ‘&lt;em&gt;Puppet Docs&lt;/em&gt;‘ as values). This will add a link to the Job page linking your generated puppet docs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That’s about it! Any suggestions / improvements on this are always welcome!&lt;/p&gt;
&lt;h3&gt;Notes:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I have some examples/tests setup on my Jenkins instance for testing at &lt;a href=&quot;http://jenkins.vstone.eu&quot;&gt;http://jenkins.vstone.eu&lt;/a&gt;. Since I use this for testing, it might be offline / broken / buggy at times.&lt;/li&gt;
&lt;li&gt;The scripts I use may also require some changes if you are using an older version of puppet. I’m currently using 2.7.x for testing my modules.&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Sat, 21 Jan 2012 18:39:35 +0000</pubDate>
</item>
<item>
	<title>Mattias Geniar: Linux application/script debugging with ‘strace’</title>
	<guid>http://mattiasgeniar.be/?p=3247</guid>
	<link>http://feedproxy.google.com/~r/mattiasgeniar/~3/ilsLA9TQCOw/</link>
	<description>&lt;p&gt;Every now and then, you'll encounter a problem with an application or a script that is not clear straight away. After the normal troubleshooting, it can be helpful to see the actual system calls that occur when that script executes. Using a tool like &lt;strong&gt;strace&lt;/strong&gt; (&lt;a href=&quot;http://linux.die.net/man/1/strace&quot;&gt;manpage&lt;/a&gt;) can help you in identifying what is causing the system to slow down or misbehave.&lt;/p&gt;
&lt;p&gt;In this blogpost I'll show you some examples where &lt;strong&gt;strace&lt;/strong&gt; can be useful for you. Most of it will be with PHP code but they're easy enough anyone can understand them.&lt;span id=&quot;more-3247&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1&gt;Installing strace&lt;/h1&gt;
&lt;p&gt;Strace isn't installed by default on most distributions. To install, do a simple &lt;strong&gt;yum install strace&lt;/strong&gt; when on CentOS/Red Hat or &lt;strong&gt;apt-get install strace&lt;/strong&gt; on Debian/Ubuntu systems.&lt;/p&gt;
&lt;h1&gt;Getting output from strace&lt;/h1&gt;
&lt;p&gt;You can use strace in two different ways. You can attach it to an already running process or you can use it to start a custom application or script and follow all system calls from the very beginning.&lt;/p&gt;
&lt;p&gt;In short, here's how it goes. If you want to start your application and troubleshoot it from beginning to end, you do this:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;~# &lt;strong&gt;strace -f $command&lt;/strong&gt;&lt;br /&gt;
~# &lt;strong&gt;strace -f php -q somefile.php&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Or you want to attach to a running process, use this:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;~# &lt;strong&gt;strace -f -p $pid&lt;/strong&gt;&lt;br /&gt;
~# &lt;strong&gt;strace -f -p 8151&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The -f parameter tells strace to follow any children or processes that are spawned/forked from the application. &lt;/p&gt;
&lt;h1&gt;Standard usage of strace&lt;/h1&gt;
&lt;p&gt;By default, &lt;strong&gt;strace&lt;/strong&gt; will show you &lt;em&gt;-all-&lt;/em&gt; system calls that your application or script is performing. That can get pretty overwhelming, but it's a good place to start. Take for instance the following simple script called 'test1.php'.&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;php&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt;
   &lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;/* Simple buggy script */&lt;/span&gt;
   &lt;span style=&quot;color: #b1b100;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #000088;&quot;&gt;$i&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$i&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$i&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;
      &lt;span style=&quot;color: #990000;&quot;&gt;sleep&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The command above will simply iterate over the loop and sleep (do absolutely nothing) for 1 second on each iteration. So, this would do nothing for exactly 5 seconds. Best script I've ever written! ;-)&lt;/p&gt;
&lt;p&gt;If you were to strace the execution of the script, it would look like this.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;~# &lt;strong&gt;strace php -q test1.php&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;execve&lt;/strong&gt;(&quot;/usr/bin/php&quot;, [&quot;php&quot;, &quot;-q&quot;, &quot;test1.php&quot;], [/* 23 vars */]) = 0&lt;br /&gt;
brk(0)                                  = 0xa036000&lt;br /&gt;
&lt;strong&gt;access&lt;/strong&gt;(&quot;/etc/ld.so.preload&quot;, R_OK)      = -1 ENOENT (No such file or directory)&lt;br /&gt;
&lt;strong&gt;open&lt;/strong&gt;(&quot;/etc/ld.so.cache&quot;, O_RDONLY)      = 3&lt;br /&gt;
...&lt;br /&gt;
&lt;strong&gt;nanosleep&lt;/strong&gt;({1, 0}, {1, 0})               = 0&lt;br /&gt;
...&lt;br /&gt;
&lt;strong&gt;nanosleep&lt;/strong&gt;({1, 0}, {1, 0})               = 0&lt;br /&gt;
...&lt;br /&gt;
&lt;strong&gt;nanosleep&lt;/strong&gt;({1, 0}, {1, 0})               = 0&lt;br /&gt;
...
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;At first, it's overwhelming. You don't need to understand every system call (sure, it helps, but the names of most functions explain the actions anyhow), but the execution can show you a few remarkable things straight away. When it's running, you'll see the application hang every second with the &lt;strong&gt;nanosleep({1, 0}, {1, 0}) = 0&lt;/strong&gt; message. The nanosleep() is the system call for the sleep() method in PHP. Without having seen the source code of the application, this tells you the application specifically requested to sleep() there and waited.&lt;/p&gt;
&lt;p&gt;But since the output was a bit too much to work with, let's look at filtering it.&lt;/p&gt;
&lt;h1&gt;Filtering the strace output to something more meaningfull&lt;/h1&gt;
&lt;p&gt;Have a look at the following simple script as a new example.&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;php&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;?php&lt;/span&gt;
   &lt;span style=&quot;color: #000088;&quot;&gt;$fp&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #990000;&quot;&gt;fsockopen&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;'www.google.be'&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;80&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$errno&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #000088;&quot;&gt;$errstr&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #cc66cc;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It opens a socket to www.google.be over port 80, a very simple action. The same kind of action would occur when connecting to remote MySQL databases, accessing a remote API via curl/fsockopen/file_get_contents/... If you strace it, the network connectivity won't immediately be obvious because of all the other sysetm calls. That's why you can pass some extra arguments to strace to make that more clear.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;~# &lt;strong&gt;strace -e trace=network&lt;/strong&gt; php -q test2.php&lt;br /&gt;
...&lt;br /&gt;
&lt;strong&gt;connect&lt;/strong&gt;(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr(&quot;193.239.211.254″)}, 28) = 0&lt;br /&gt;
&lt;strong&gt;send&lt;/strong&gt;(3, &quot;&amp;lt;b\1\0\0\1\0\0\0\0\0\0\3www\6google\2be\0\0\1\0\1″, 31, MSG_NOSIGNAL) = 31&lt;br /&gt;
&lt;strong&gt;recvfrom&lt;/strong&gt;(3, &quot;&amp;lt;b\201\200\0\1\0\2\0\4\0\4\3www\6google\2be\0\0\1\0\1\300″..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr(&quot;193.239.211.254″)}, [16]) = 219&lt;br /&gt;
&lt;strong&gt;socket&lt;/strong&gt;(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3&lt;br /&gt;
&lt;strong&gt;connect&lt;/strong&gt;(3, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr(&quot;74.125.79.94″)}, 16) = -1 EINPROGRESS (Operation now in progress)&lt;br /&gt;
getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This shows you a few specific things. The first &lt;strong&gt;connect&lt;/strong&gt;, &lt;strong&gt;send&lt;/strong&gt; and &lt;strong&gt;recvfrom&lt;/strong&gt; are to translate the hostname &quot;www.google.be&quot; to the IP address &quot;74.125.79.94″, so DNS resolving. The last &lt;strong&gt;connect&lt;/strong&gt; is the actual connection attempt based on the IP address to the Google systems. It shows you the IP, the port and the state (Operation now in progress).&lt;/p&gt;
&lt;p&gt;If I were to change my script to connect to port 85 instead of 80, the results would be quite different, since the connection to port 85 will not succeed.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;~# &lt;strong&gt;strace -r -e trace=network&lt;/strong&gt; php -q test2.php&lt;br /&gt;
...&lt;br /&gt;
  0.000107 connect(3, {sa_family=AF_INET, sin_port=&lt;strong&gt;htons(85)&lt;/strong&gt;, sin_addr=&lt;strong&gt;inet_addr(&quot;74.125.79.94″)&lt;/strong&gt;}, 16) = -1 EINPROGRESS&lt;br /&gt;
20.999554 getsockopt(3, SOL_SOCKET, SO_ERROR, [110], [4]) = 0&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I've changed the strace call a bit, by adding the '-r' parameter. That shows you timestamps of how long that specific call took relative to the previous call. By stracing, you will notice immediately that your application or script is waiting for the &lt;strong&gt;connect()&lt;/strong&gt; call to finish. That may not immediately be obvious from just executing the script via php, but it does show clearly when using &lt;strong&gt;strace&lt;/strong&gt;. In this case, it took exactly 20s for that connection to timeout. Either that's because your connection is blocked by a firewall, the service on the other end did not respond or took too long to respond.&lt;/p&gt;
&lt;p&gt;Other means of filtering the output are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;-e trace=file&lt;/strong&gt;: show all system calls that take a file as argument. This can show you where a lot of disk I/O may occur. Every open, stat, chmod, unlink, ... shows up there;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-e trace=process&lt;/strong&gt;: track forks of the script&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;-e trace=open&lt;/strong&gt;: show all calls that invoke the open() method.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can substitute the &lt;strong&gt;-e trace=xxx&lt;/strong&gt; with any kind of system call. That can be open, close, read, write, stat, chmod, unlink, ...&lt;/p&gt;
&lt;h1&gt;Spotting query output in strace&lt;/h1&gt;
&lt;p&gt;When using strace to trace an Apache process for instance, you can often find output like this.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;munmap(0xb7973000, 1314816) = 0&lt;br /&gt;
brk(0x1027b000) = 0x1027b000&lt;br /&gt;
poll([{fd=740, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)&lt;br /&gt;
&lt;strong&gt;write(740, &quot;\200\0\0\0\3SELECT `something` &quot;..., 132) = 132&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;read(740, &quot;\1\0\0\1!n\0\0\2\3def\fdbname\35something&quot;..., 16384) = 3931&lt;/strong&gt;&lt;br /&gt;
mmap2(NULL, 1314816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7973000&lt;br /&gt;
...&lt;br /&gt;
munmap(0xb77f0000, 1314816) = 0&lt;br /&gt;
poll([{fd=740, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)&lt;br /&gt;
&lt;strong&gt;write(740, &quot;\200\0\0\0\3SELECT `something` &quot;..., 132) = 132&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;read(740, &quot;\1\0\0\1!n\0\0\2\3def\fdbname\35something&quot;..., 16384) = 3931&lt;/strong&gt;&lt;br /&gt;
mmap2(NULL, 1314816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77f0000&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If you look at (parts of) the strace above, you will notice the lines in bold. In this case, a script kept on looping and launching a query to the backend database. A loop like that only shows up as very high CPU usage of an Apache process, with strace you can gain the insights in to &lt;strong&gt;why&lt;/strong&gt; that process is looping or causing a high load. Again, you don't need to understand every call that strace will output, but you will notice the SQL statements that are sent in plain text over the wire.&lt;/p&gt;
&lt;h1&gt;Why use strace?&lt;/h1&gt;
&lt;p&gt;I often fall back to strace to troubleshoot applications that are running for an abnormally long time (using &lt;strong&gt;strace -p PID&lt;/strong&gt;, where PID is the process ID of that particular script or application). It's very useful to be able to attach to a running process and see what it is doing. Even when you don't fully understand the output, you do notice repetitive tasks very easily, which could indicate the program is in some kind of loopt.&lt;/p&gt;
&lt;p&gt;In hosting environments, it's not uncommon for me to strace certain Apache or FastCGI processes to detect why it's causing an abnormally high load or why it's running for an abnormally long time.&lt;/p&gt;
&lt;p&gt;When you're debugging applications that appear to stop or crash halfway with no immediate error message (because errors are being suppressed somewhere in the middle of application execution), stracing it could be a good way to see the final system calls before the application halts.&lt;/p&gt;
&lt;h1&gt;Other resources&lt;/h1&gt;
&lt;p&gt;If you want to read more, I suggest taking a look at the following articles.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hokstad.com/5-simple-ways-to-troubleshoot-using-strace.html&quot;&gt;5 simple ways to troubleshoot with strace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/aix/library/au-unix-strace.html&quot;&gt;Fun with strace and the GDB Debugger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://serverfault.com/questions/13012/why-would-brk-in-strace-output-be-taking-several-seconds&quot;&gt;Why would brk() in strace output be taking several seconds?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have any other useful strace-tips, please share them in the comments!&lt;/p&gt;
&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/mattiasgeniar/~4/ilsLA9TQCOw&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sat, 21 Jan 2012 14:21:47 +0000</pubDate>
</item>
<item>
	<title>Mattias Geniar: WordPress plugin: undo the default WordPress formatting (single/double quotes/dashes)</title>
	<guid>http://mattiasgeniar.be/?p=3229</guid>
	<link>http://feedproxy.google.com/~r/mattiasgeniar/~3/i60ibpWafQQ/</link>
	<description>&lt;p&gt;I've been cursing at this quite often. Since this is a tech-related blog with code snippets, command line arguments, ... running it on wordpress means that it always results in having characters replaced by the WordPress default formatting. In the end, that means that a single quote ' or a double quote &quot; would always get replaced by a better-looking HTML character. That made copy/pasting from this blog to a terminal near impossible.&lt;/p&gt;
&lt;p&gt;Previously, I would just hack the WordPress core (for &lt;a href=&quot;http://mattiasgeniar.be/2012/01/03/wordpress-3-3-stop-replacing-double-dashes-and-single-quotes/&quot;&gt;WordPress 3.3&lt;/a&gt; and &lt;a href=&quot;http://mattiasgeniar.be/2010/08/23/wordpress-dont-replace-double-single-dash-quotes/&quot;&gt;3.2 or 3.1&lt;/a&gt;) by editting some files. But any update would of course undo my change, since hacking the core of anything makes kittens cry.&lt;span id=&quot;more-3229&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Therefore it was time to create a solid fix, one that would last through the different updates. So I present to you, my &lt;strong&gt;Undo WordPress Default Formatting plugin for WordPress&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;It's a very simple thing but I'm sure it applies to a lot of techblogs out there running on WordPress.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download directly&lt;/strong&gt;: &lt;a href=&quot;http://mattiasgeniar.be/wp-content/plugins/undo_wordpress_default_formatting.tar.gz&quot;&gt;undo_wordpress_default_formatting.tar.gz&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;Plugin page at WordPress: &lt;/strong&gt;&lt;a href=&quot;http://wordpress.org/extend/plugins/undo-wordpress-default-formatting/&quot;&gt;http://wordpress.org/extend/plugins/undo-wordpress-default-formatting/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'll keep the subversion repository up-to-date, so feel free to report any findings via the page at &lt;a href=&quot;http://wordpress.org/extend/plugins/undo-wordpress-default-formatting/&quot;&gt;wordpress.org&lt;/a&gt;.&lt;/p&gt;
&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/mattiasgeniar/~4/i60ibpWafQQ&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sat, 21 Jan 2012 09:09:51 +0000</pubDate>
</item>
<item>
	<title>Les Jeudis du Libre: Bruxelles: l’intégration continue avec Jenkins (Hudson)</title>
	<guid>http://jeudisdulibre.be/?p=745</guid>
	<link>http://jeudisdulibre.be/2012/01/19/bruxelles-lintegration-continue-avec-jenkins-hudson/</link>
	<description>&lt;br /&gt;&lt;div class=&quot;wp-caption alignleft&quot; id=&quot;attachment_746&quot; style=&quot;width: 160px;&quot;&gt;&lt;img alt=&quot;Ivan Torres Fally&quot; class=&quot;size-full wp-image-746&quot; height=&quot;123&quot; src=&quot;http://jeudisdulibre.be/wp-content/uploads/2012/01/ivantorresfally.jpg&quot; title=&quot;Ivan Torres Fally&quot; width=&quot;150&quot; /&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;Ivan Torres Fally&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Ce &lt;strong&gt;jeudi 2 février 2012&lt;/strong&gt; à &lt;strong&gt;19h&lt;/strong&gt; se déroulera la deuxième séance bruxelloises des &lt;a href=&quot;http://jeudisdulibre.be/&quot; rel=&quot;nofollow&quot; title=&quot;http://jeudisdulibre.be&quot;&gt;Jeudis du Libre de Belgique&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Le sujet de cette séance : &lt;strong&gt;l’intégration continue avec Jenkins (Hudson)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Thématique : &lt;strong&gt;développement&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Public : &lt;strong&gt;développeurs, intégrateurs, agilitateurs&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;L’animateur conférencier : &lt;strong&gt;Ivan Torres Fally&lt;/strong&gt; (&lt;a href=&quot;https://www.bilbu.be/&quot; title=&quot;__AUTHOR_WWW&quot;&gt;Site perso&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Lieu de cette séance : &lt;strong&gt;&lt;a href=&quot;http://coworking.betagroup.be/&quot; title=&quot;Betagroup Coworking Brussels&quot;&gt;Betagroup Coworking Brussels&lt;/a&gt; at &lt;a href=&quot;http://www.icabrussel.be/&quot; title=&quot;ICAB Business &amp;amp; Technology Incubator&quot;&gt;ICAB Business &amp;amp; Technology Incubator&lt;/a&gt;&lt;/strong&gt; (cf. &lt;a href=&quot;http://www.openstreetmap.org/?lat=50.82584&amp;amp;lon=4.3989&amp;amp;zoom=17&amp;amp;layers=M&amp;amp;mlat=50.82682&amp;amp;mlon=4.40019&quot; rel=&quot;nofollow&quot; title=&quot;plan&quot;&gt;ce plan&lt;/a&gt; sur le site d’Openstreetmap).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img alt=&quot;Logo Jenkins&quot; class=&quot; wp-image-747 aligncenter&quot; height=&quot;128&quot; src=&quot;http://jeudisdulibre.be/wp-content/uploads/2012/01/jenkins_logo.png&quot; title=&quot;Logo Jenkins&quot; width=&quot;398&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-745&quot;&gt;&lt;/span&gt;La participation sera gratuite et la séance sera suivie &lt;strong&gt;d’un restau dans le quartier (merci de préciser si vous restez manger lors de l’inscription)&lt;/strong&gt; si affinités.&lt;/p&gt;
&lt;p&gt;Si vous êtes intéressé(e) par ce cycle mensuel, n’hésitez pas à consulter l’&lt;a href=&quot;http://jeudisdulibre.be/grille-pour-bruxelles/&quot; rel=&quot;nofollow&quot; title=&quot;http://jeudisdulibre.be/grille-pour-bruxelles/&quot;&gt;agenda&lt;/a&gt; et à vous inscrire sur la &lt;a href=&quot;http://lists.jeudisdulibre.be/mailman/listinfo/evenements&quot; rel=&quot;nofollow&quot; title=&quot;http://lists.jeudisdulibre.be/mailman/listinfo/evenements&quot;&gt;liste de diffusion&lt;/a&gt; afin de recevoir systématiquement les annonces, ou à nous contacter à l’adresse &lt;a href=&quot;mailto:jeudisdulibre@loligrub.be&quot; title=&quot;jeudisdulibre@loligrub.be&quot;&gt;jeudisdulibre@loligrub.be&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pour rappel, les Jeudis du Libre se veulent des rencontres autour de thématiques des Logiciels Libres. Les rencontres bruxelloises se déroulent chaque premier jeudi du mois, et sont organisées avec le concours de l’A.S.B.L. &lt;a href=&quot;https://www.bilbu.be/&quot; rel=&quot;nofollow&quot; title=&quot;http://www.loligrub.be/&quot;&gt;LoLiGrUB&lt;/a&gt; !&lt;/p&gt;
&lt;h2&gt;Description&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://jenkins-ci.org/&quot;&gt;Jenkins (Hudson)&lt;/a&gt; est un outil d’intégration continue permettant entre autres d’améliorer la &lt;strong&gt;qualité d’un logiciel&lt;/strong&gt; en accélérant et en automatisant aussi bien les processus de &lt;strong&gt;contrôle du code&lt;/strong&gt; que le &lt;strong&gt;déploiement&lt;/strong&gt; dans les environnements de test, de recette et pourquoi pas de production.&lt;/p&gt;
&lt;p&gt;La présentation sera l’occasion de proposer une interprétation des concepts de base de l’intégration continue mais surtout un &lt;strong&gt;retour d’expérience&lt;/strong&gt; sur son utilisation dans un cadre professionnel avec comme cas d’utilisation :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le contrôle de qualité du développement d’un S.I. en Java&lt;/li&gt;
&lt;li&gt;l’automatisation du packaging d’une application smartphone multi-plateforme&lt;/li&gt;
&lt;li&gt;la présentation de quelques plug-ins intéressants&lt;/li&gt;
&lt;li&gt;l’intégration avec des outils familiers tels que &lt;strong&gt;Maven&lt;/strong&gt;, &lt;strong&gt;Ant&lt;/strong&gt; ainsi que des scripts &lt;strong&gt;Bash&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L’objectif de la présentation sera dans un premier temps de vous familiariser avec les concepts et les idées derrière l’intégration continue et ensuite de vous donner un &lt;strong&gt;feedback&lt;/strong&gt; permettant de vous faire un avis &lt;strong&gt;objectif&lt;/strong&gt; sur l’intérêt de &lt;strong&gt;Jenkins (Hudson)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Les démonstrations porteront donc essentiellement sur des situations réelles bien précises en entreprise mais tenteront d’aller plus loin dans les limites des connaissances du conférencier.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style=&quot;width: 100%; text-align: left;&quot;&gt;
&lt;div style=&quot;font-family: Helvetica, Arial; font-size: 10px; padding: 5px 0 5px; margin: 2px; width: 100%; text-align: left;&quot;&gt;&lt;a href=&quot;http://www.eventbrite.com/r/etckt&quot; style=&quot;color: #ddd; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;Billetterie en ligne&lt;/a&gt;&lt;span style=&quot;color: #ddd;&quot;&gt; pour &lt;/span&gt;&lt;a href=&quot;http://jdlbxl-fevrier-2012.eventbrite.com?ref=etckt&quot; style=&quot;color: #ddd; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;Jeudis du Libre de Bruxelles: l’intégration continue avec Jenkins (Hudson)&lt;/a&gt;&lt;span style=&quot;color: #ddd;&quot;&gt; produit par &lt;/span&gt;&lt;a href=&quot;http://www.eventbrite.com?ref=etckt&quot; style=&quot;color: #ddd; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;Eventbrite&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Lieu&lt;/h2&gt;
&lt;div class=&quot;wp-caption alignright&quot; id=&quot;attachment_640&quot; style=&quot;width: 210px;&quot;&gt;&lt;img alt=&quot;BetaGroup Coworking Brussels&quot; class=&quot;size-full wp-image-640 &quot; height=&quot;82&quot; src=&quot;http://jeudisdulibre.be/wp-content/uploads/2011/11/CoworkingBetaGroup.jpg&quot; title=&quot;BetaGroup Coworking Brussels&quot; width=&quot;200&quot; /&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;BetaGroup Coworking Brussels&lt;/p&gt;&lt;/div&gt;
&lt;div class=&quot;wp-caption alignright&quot; id=&quot;attachment_639&quot; style=&quot;width: 160px;&quot;&gt;&lt;img alt=&quot;ICAB Business &amp;amp; Technology Incubator&quot; class=&quot;size-thumbnail wp-image-639 &quot; height=&quot;150&quot; src=&quot;http://jeudisdulibre.be/wp-content/uploads/2011/11/BT_Incubator_RGB-150x150.jpg&quot; title=&quot;ICAB Business &amp;amp; Technology Incubator&quot; width=&quot;150&quot; /&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;ICAB Business &amp;amp; Technology Incubator&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Betagroup Coworking Brussels&lt;br /&gt;
ICAB Business &amp;amp; Technology Incubator&lt;br /&gt;
Witte Patersstraat 4 rue de Pères Blancs1040 Brussel-Bruxelles (Etterbeek)&lt;br /&gt;
Arrêt Arsenal Tram 7, 25; Bus 34.&lt;/p&gt;
&lt;h2&gt;L’animateur conférencier&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Ivan Torres Fally&lt;/strong&gt; travaille dans une société de services financiers en tant que développeur.&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 19 Jan 2012 21:31:15 +0000</pubDate>
</item>
<item>
	<title>FOSDEM organizers: The FOSDEM venue grows</title>
	<guid>http://www.fosdem.org/179 at http://www.fosdem.org/2012</guid>
	<link>http://www.fosdem.org/2012/fosdem-venue-grows</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/fosdem&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;This year the ULB has kindly offered us the use of an additional new building on their campus. It's the K building and it's located on the other side of the parking from the Janson Lecture hall.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.fosdem.org/2012/fosdem-venue-grows&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 19 Jan 2012 19:15:37 +0000</pubDate>
</item>
<item>
	<title>Dries Buytaert: Drupal Association community elections</title>
	<guid>http://buytaert.net/2626 at http://buytaert.net</guid>
	<link>http://buytaert.net/drupal-association-community-elections</link>
	<description>&lt;p&gt;When we designed a &lt;a href=&quot;http://buytaert.net/nominations-for-directors-of-the-drupal-association&quot;&gt;new governance structure&lt;/a&gt; for the &lt;a href=&quot;http://association.drupal.org&quot;&gt;Drupal Association&lt;/a&gt; last year, we decided that most of the board is selected through a nominating committee with the goal to carefully balance many factors like needed skills and geographical and sector representation.   However, it was also deemed important that we have directors chosen directly by the Drupal community to make sure that the community is always well-represented. &lt;/p&gt;
&lt;p&gt;I'm excited that we're holding &lt;a href=&quot;https://association.drupal.org/2012-elections-on&quot;&gt;our first open community elections&lt;/a&gt;. Two community &quot;at large&quot; directors will be elected to the &lt;a href=&quot;https://association.drupal.org/about/governance&quot;&gt;Drupal Association Board of Directors&lt;/a&gt;.   If you'd like to consider running, please have a look at the &lt;a href=&quot;https://association.drupal.org/at-large-nominations&quot;&gt;&quot;At-large&quot; nominations page&lt;/a&gt;. And if you're a Drupal community member, please make time to participate in discussions with candidates and of course to vote, starting January 26.  (This process was vetted openly in the community by the Elections Committee and numerous community volunteers at &lt;a href=&quot;http://groups.drupal.org/drupal-association&quot;&gt;http://groups.drupal.org/drupal-association&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;Your participation will help us take this next important step in implementing a new improved governance structure to strengthen the &lt;a href=&quot;http://association.drupal.org&quot;&gt;Drupal Association&lt;/a&gt;. &lt;em&gt;Thanks!&lt;/em&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 19 Jan 2012 18:04:30 +0000</pubDate>
</item>
<item>
	<title>Ruben Vermeersch: Mono at FOSDEM 2012: Schedule announced!</title>
	<guid>http://weblog.savanne.be/?p=490</guid>
	<link>http://weblog.savanne.be/490-mono-at-fosdem-2012-schedule-announced</link>
	<description>&lt;p&gt;&lt;img alt=&quot;&quot; class=&quot;alignright size-full wp-image-361&quot; height=&quot;41&quot; src=&quot;http://weblog.savanne.be/mono-logo1.png&quot; title=&quot;mono-logo&quot; width=&quot;167&quot; /&gt;The schedule for the Mono devroom at &lt;a href=&quot;http://fosdem.org/2012/&quot;&gt;FOSDEM 2012&lt;/a&gt; has been finalized:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;small&gt;&lt;code&gt;(11:00 – 11:45)&lt;/code&gt;&lt;/small&gt; &lt;strong&gt;Enough Debian packaging knowledge to hurt yourselves slightly less than you do already &lt;/strong&gt;(Jo Shields)&lt;/li&gt;
&lt;li&gt;&lt;small&gt;&lt;code&gt;(12:00 – 13:00)&lt;/code&gt;&lt;/small&gt; &lt;strong&gt;Mono – State of the Union &lt;/strong&gt;(Miguel De Icaza)&lt;/li&gt;
&lt;li&gt;&lt;small&gt;&lt;code&gt;(13:00 – 14:00)&lt;/code&gt;&lt;/small&gt; &lt;em&gt;*** Lunch break ***&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;small&gt;&lt;code&gt;(14:00 – 14:30)&lt;/code&gt;&lt;/small&gt; &lt;strong&gt;Gluon &lt;/strong&gt;(Federico Di Gregorio)&lt;/li&gt;
&lt;li&gt;&lt;small&gt;&lt;code&gt;(14:40 – 15:25)&lt;/code&gt;&lt;/small&gt; &lt;strong&gt;Banshee: Past, Present, Future and the Crazy stuff&lt;/strong&gt; (Bertrand Lorentz &amp;amp; Olivier Dufour)&lt;/li&gt;
&lt;li&gt;&lt;small&gt;&lt;code&gt;(15:40 – 16:25)&lt;/code&gt;&lt;/small&gt; &lt;strong&gt;IronPython: Bringing the dynamic world to the CLR &lt;/strong&gt;(Carlos Alberto Cortez Guevara)&lt;/li&gt;
&lt;li&gt;&lt;small&gt;&lt;code&gt;(16:40 – 17:30)&lt;/code&gt;&lt;/small&gt; &lt;strong&gt;MonoGame &lt;/strong&gt;(Dominique Louis, Dean Ellis &amp;amp; Kenneth Pouncy)&lt;/li&gt;
&lt;li&gt;&lt;small&gt;&lt;code&gt;(17:45 – 18:15)&lt;/code&gt;&lt;/small&gt; &lt;strong&gt;XWT &lt;/strong&gt;(Lluis Sanchez)&lt;/li&gt;
&lt;li&gt;&lt;small&gt;&lt;code&gt;(18:30 – 19:00)&lt;/code&gt;&lt;/small&gt; &lt;strong&gt;MonoMac &lt;/strong&gt;(Miguel De Icaza)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Full details (with talk abstracts) should be &lt;a href=&quot;http://fosdem.org/2012/schedule/track/mono_devroom&quot;&gt;available on the FOSDEM website&lt;/a&gt;. As always, if you want to see a talk, show up early, once the room is full, you’re out of luck!&lt;/p&gt;
&lt;p&gt;Date to put in your agenda: Feb 4, 2012.&lt;/p&gt;</description>
	<pubDate>Wed, 18 Jan 2012 15:00:19 +0000</pubDate>
</item>
<item>
	<title>Frederic Hornain: [ Red Hat Global Support Services ] Presentation in January 2012 – Belgium</title>
	<guid>http://fhornain.wordpress.com/?p=1392</guid>
	<link>http://fhornain.wordpress.com/2012/01/18/red-hat-global-support-services-presentation-in-january-2012-belgium/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://fhornain.files.wordpress.com/2012/01/globalsupportservicespresentation1.png&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;alignleft size-medium wp-image-1393&quot; height=&quot;223&quot; src=&quot;http://fhornain.files.wordpress.com/2012/01/globalsupportservicespresentation1.png?w=300&amp;amp;h=223&quot; title=&quot;GlobalSupportServicesPresentation&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;Dear all,&lt;/p&gt;
&lt;p&gt;I am going to do a presentation about “Red Hat Global Support Services” in Brussels in January 2012.&lt;br /&gt;
If your company or you are based in BeNeLux and are interested by this presentation, just let me know and I will try to arrange a Meeting for you.&lt;/p&gt;
&lt;p&gt;Ref  : &lt;a href=&quot;http://www.redhat.com/support/&quot; title=&quot;Global Support Services&quot;&gt;http://www.redhat.com/support&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ref :&lt;a href=&quot;https://access.redhat.com&quot; target=&quot;_blank&quot; title=&quot;Customer Portal&quot;&gt; https://access.redhat.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;BR&lt;/p&gt;
&lt;p&gt;Frederic&lt;/p&gt;
&lt;br /&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/fhornain.wordpress.com/1392/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/fhornain.wordpress.com/1392/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/fhornain.wordpress.com/1392/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/fhornain.wordpress.com/1392/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gofacebook/fhornain.wordpress.com/1392/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/facebook/fhornain.wordpress.com/1392/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gotwitter/fhornain.wordpress.com/1392/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/twitter/fhornain.wordpress.com/1392/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/fhornain.wordpress.com/1392/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/fhornain.wordpress.com/1392/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/fhornain.wordpress.com/1392/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/fhornain.wordpress.com/1392/&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/fhornain.wordpress.com/1392/&quot; rel=&quot;nofollow&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/fhornain.wordpress.com/1392/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://stats.wordpress.com/b.gif?host=fhornain.wordpress.com&amp;amp;blog=6345193&amp;amp;post=1392&amp;amp;subd=fhornain&amp;amp;ref=&amp;amp;feed=1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 18 Jan 2012 08:57:50 +0000</pubDate>
</item>
<item>
	<title>Lionel Dricot: Why I'm a Pirate!</title>
	<guid>urn:md5:192b1560dc9ef6fcaf53cec0a6d39ed0</guid>
	<link>http://ploum.net/post/im-a-pirate</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/ploum100&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://ploum.net/post/je-suis-un-pirate&quot;&gt;Traduction française&lt;/a&gt;&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;Pirate&quot; src=&quot;http://ploum.net/images/pirate.jpg&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Dear copyright industry, I'm a pirate. I'm the typical user you are fighting. I'm downloading everything and not giving you one single penny. I don't even attend concert. You hate me and it's reciprocal.&lt;/p&gt;


&lt;p&gt;When I discovered high-speed Internet, I was a naive young innocent. I was downloading to discover new stuffs. Whenever I liked something, I would go to the shop and buy the CD. I discovered lot of music thanks to the pirate networks. Randomly or following advices. In the end, I bought something like 200 CDs. The first group I've joined on Audioscrobbler was called &quot;&lt;a href=&quot;http://www.lastfm.fr/group/I+Still+Buy+CDs&quot;&gt;I still buy CDs&lt;/a&gt;&quot;. But today I regret that. I'm asking everyone to not buy CD any more. Not a single one !&lt;/p&gt;    &lt;h3&gt;Because you are not offering a good service&lt;/h3&gt;


&lt;p&gt;When I want to discover an artist or a movie, I'm heading to &lt;a href=&quot;http://depiraatbaai.be/&quot;&gt;The Pirate Bay&lt;/a&gt;, I launch a search and I click. In less than 10 minutes, I've a full movie on my disk. In 20, I've the complete discography of an artist.&lt;/p&gt;


&lt;p&gt;I would pay for such a service if it is as simple, as fast and, unlike the Bay, if it can make some guarantees on the quality. But you don't offer that. Instead, you are trying to build fences and limitations. You are asking for huge amount of money only through credit card and you don't have half the music I'm looking for. That's not convenient and it's more expensive.&lt;/p&gt;


&lt;p&gt;I don't even talk about CDs any more. This is now only a huge quantity of plastic waste, sitting in my living room. They are expensive, they become unreadable through the years or, thanks to DRM, they are unreadable since the first day.&lt;/p&gt;


&lt;p&gt;In summary, you are offering less for a more expensive price.&lt;/p&gt;



&lt;h3&gt;Because you don't use my money well&lt;/h3&gt;


&lt;p&gt;I've probably spent something like 2000€ for my CDs. You need to add the taxes on all the blank CDs I used to burn Linux iso. From that money, how much went to the artists and their studio? 100€? 200€? Everything else was probably diluted in stuffs I don't need: packaging, distribution, transport, marketing, …&lt;/p&gt;


&lt;p&gt;Your companies are in the top richest ones. The artists that are the most downloaded live in huge luxury houses. Others are dead. Don't you find it a bit shameful to try the &quot;bad pirates are killing the poor artists&quot; story?&lt;/p&gt;


&lt;p&gt;I'm sorry but I don't think you need my money. I've showed my support to small artists with &lt;a href=&quot;https://flattr.com/profile/ploum&quot;&gt;Flattr&lt;/a&gt;, &lt;a href=&quot;http://jamendo.com&quot;&gt;Jamendo&lt;/a&gt;, &lt;a href=&quot;http://cdbaby.net&quot;&gt;CDbaby&lt;/a&gt; or &lt;a href=&quot;http://magnatune.com&quot;&gt;Magnatune&lt;/a&gt;. For everything else, you will have to live without my wallet.&lt;/p&gt;



&lt;h3&gt;Because you are messing with my life&lt;/h3&gt;


&lt;p&gt;That's it. Every penny I will give you will be used against me. Firstly, by making it difficult for me to use what I buy. Zoned DVDs, encrypted movies on the DVD requiring illegal software to be read under Linux or &lt;a href=&quot;http://ploum.net/post/145-do-i-have-to-protect-my-content-with-drm-the-drm-equation&quot;&gt;DRM&lt;/a&gt; to be sure I'm not able to listen to a CD.&lt;/p&gt;


&lt;p&gt;Worst, you will use my money to sue me in court because I would have downloaded something that I didn't want to buy anyway! With the change left, you will pay lobbyists to ensure the governments make &lt;a href=&quot;http://en.wikipedia.org/wiki/Wikipedia:SOPA_initiative/Learn_more&quot;&gt;stupid and dangerous laws&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Do you want me to pay lawyers to sue myself and lobbyists to make laws to send me in jails? Really?&lt;/p&gt;



&lt;h3&gt;Because you are destroying the whole society&lt;/h3&gt;


&lt;p&gt;Messing with my life was not enough. You are even trying to destroy one of the pillar of our society: education. Your heavy marketing is starting to work, people now understand the importance of &quot;intellectual property&quot; and that &quot;sharing is bad&quot;.&lt;/p&gt;


&lt;p&gt;Bloody ignorant morons.&lt;/p&gt;


&lt;p&gt;Thanks to you, schools are now afraid to give lectures in case there are some copyrighted materials in them. Teachers fear to be sued. To the point where giving the strictly minimal lesson is better than giving some examples. Famous works are not part of the education any more.&lt;/p&gt;


&lt;p&gt;Some teachers themselves start to consider their lectures as &quot;copyrighted material&quot;, refusing to share it with colleagues. And when they attend training sessions, offered by the state and paid with public funds, it is to hear that the material of the session can be read but has to be bought if the teachers want to use them in their own classroom.&lt;/p&gt;


&lt;p&gt;You are destroying the very symbol of civilisation: the enjoyment of knowledge, the joy of sharing, the cooperation and the education. I will never forgive you for that. Never. If I'm not taking action right now, my children will be more afraid of reading a copyrighted book than stealing in a shop or hitting someone with a knife. Those crimes are anyway less punished by the law than sharing a song on the internet.&lt;/p&gt;


&lt;p&gt;How can you look at yourself in the mirror after that? How can you still have a peaceful sleep ?&lt;/p&gt;


&lt;h3&gt;Because your time has come&lt;/h3&gt;


&lt;p&gt;If I'm a pirate, it's not to have some cheap music. It is because the time has come for you to fuck off. In your arrogance, you are hurting the fundamental value of freedom only to save your little petty interests.&lt;/p&gt;


&lt;p&gt;The only comfort is to know that &lt;a href=&quot;http://ploum.net/post/the-end-of-the-revolution&quot;&gt;you will disappear soon&lt;/a&gt;. And nobody will miss you.&lt;/p&gt;


&lt;p&gt;Pirately yours,
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Picture by &lt;a href=&quot;http://www.flickr.com/photos/19779889@N00/4737035582/&quot;&gt;arbyreed&lt;/a&gt;&lt;/em&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href=&quot;http://ploum.net/post/je-suis-un-pirate&quot;&gt;Traduction française&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href=&quot;https://flattr.com/submit/auto?user_id=ploum&amp;amp;url=http://ploum.net/post/im-a-pirate&amp;amp;title=Why I'm a Pirate!&amp;amp;tags=&amp;amp;category=text&quot;&gt;&lt;img alt=&quot;Flattr our API Documentation&quot; src=&quot;https://api.flattr.com/button/flattr-badge-large.png&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Wed, 18 Jan 2012 08:56:00 +0000</pubDate>
</item>
<item>
	<title>Lionel Dricot: Pourquoi je suis un pirate !</title>
	<guid>urn:md5:a24ab8bd7eeb96b983c5f431845fdb66</guid>
	<link>http://ploum.net/post/je-suis-un-pirate</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/ploum100&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://ploum.net/post/im-a-pirate&quot;&gt;English translation&lt;/a&gt;&lt;/em&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;Pirate&quot; src=&quot;http://ploum.net/images/pirate.jpg&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Chers industriels de la musique, du cinéma et du divertissement, je suis un pirate. Je suis l'archétype de l'internaute que vous combattez. Je télécharge tout et ne vous reverse pas un seul centime. Je ne vais même pas aux concerts. Vous me détestez et c'est réciproque.&lt;/p&gt;


&lt;p&gt;Lorsque j'ai découvert l'Internet haut-débit, j'étais innocent, naïf. Je téléchargeais pour découvrir et, si j'aimais bien, j'achetais le CD. J'ai découvert énormément de musique via les réseaux pirates. Au hasard des mots-clés ou en suivant des recommandations. Au total, j'ai acheté légalement près de 200 CDs. Le premier groupe que j'ai rejoint sur Audioscrobbler s'intitulait « &lt;a href=&quot;http://www.lastfm.fr/group/I+Still+Buy+CDs&quot;&gt;I still buy CDs&lt;/a&gt; ». Mais je le regrette. Et je demande à tout le monde de ne plus acheter de CD. Plus un seul.&lt;/p&gt;    &lt;h3&gt;Car vous ne proposez pas un service pertinent&lt;/h3&gt;


&lt;p&gt;Aujourd'hui, lorsque je veux découvrir un artiste ou un film, je vais sur &lt;a href=&quot;http://depiraatbaai.be/&quot;&gt;The Pirate Bay&lt;/a&gt;, je lance une recherche et je clique. En moins de 10 minutes, j'ai un film entier. En 20 j'ai la discographie complète d'un artiste.&lt;/p&gt;


&lt;p&gt;Je serais prêt à payer pour un tel service s'il est aussi simple, aussi rapide et, contrairement à la Baie, s'il me garantit la qualité de ce que j'écoute. Mais vous n'offrez pas cela. Vous limitez, vous demandez des sommes folles payables uniquement par carte de crédit. Ce n'est pas pratique et c'est plus cher.&lt;/p&gt;


&lt;p&gt;Je ne parle même plus des CDs, qui encombrent mon salon, qui sont un fardeau à chaque déménagement, qui coûtent un prix démesuré, qui se dégradent avec le temps et qui, dernièrement, sont bardés de verrous numériques rendant le tout inutilisable.&lt;/p&gt;


&lt;p&gt;Bref, vous offrez un service plus cher et moins bien que l'existant.&lt;/p&gt;



&lt;h3&gt;Car vous ne redistribuez pas mes sous correctement&lt;/h3&gt;


&lt;p&gt;Mes 200 CDs m'ont probablement coûté un total de 2000€. Auxquels il faut ajouter les taxes sur les CDs vierges que j'achetais pour installer Linux. Sur cette somme, combien ont servi à rémunérer les artistes et l'enregistrement ? 100€ ? 200€ ? Le reste s'est certainement dilué dans des postes dont je me passe très bien aujourd'hui : packaging, distribution, transport, marketing, …&lt;/p&gt;


&lt;p&gt;Vos sociétés sont parmi les plus riches du monde. Les artistes que la majorité d'entre nous écoutent habitent dans des gigantesques villas. Les autres sont morts. Vous osez malgré tout me faire le larmoyant numéro du méchant internaute qui tue les artistes crêve-misère ?&lt;/p&gt;


&lt;p&gt;Désolé, je pense que vous n'avez pas besoin de mon argent. J'ai volontiers soutenu les petits artistes via &lt;a href=&quot;https://flattr.com/profile/ploum&quot;&gt;Flattr&lt;/a&gt;, &lt;a href=&quot;http://ploum.net/post/66-les-oreilles-n-ont-point-de-barreaux&quot;&gt;Jamendo, CDbaby, Magnatune&lt;/a&gt; voire même &lt;a href=&quot;http://ploum.net/post/beriaux-au-biereau&quot;&gt;directement&lt;/a&gt;. Pour le reste, vous vous passerez très bien de mes sous.&lt;/p&gt;



&lt;h3&gt;Car vous me pourrissez la vie&lt;/h3&gt;


&lt;p&gt;Si je vous donne mes sous, vous allez les utiliser à me pourrir la vie.  Tout d'abord en rendant l'utilisation de mes achats difficiles voire impossible. Les DVDs ne fonctionnent que dans certains pays. Sous Linux, je dois également installer un logiciel illégal pour pouvoir les décrypter et je ne parle pas des DRM. Bref, quoique je fasse, je suis dans l'illégalité.&lt;/p&gt;


&lt;p&gt;Pire, vous utiliserez mes sous en m'attaquant en justice parce que j'ai téléchargé une musique que je n'aurais de toutes façons pas achetée. Puis, vous dépenserez la monnaie restante en lobbying auprès des gouvernements pour faire passer des lois &lt;a href=&quot;http://fr.wikipedia.org/wiki/Loi_relative_%C3%A0_la_protection_p%C3%A9nale_de_la_propri%C3%A9t%C3%A9_litt%C3%A9raire_et_artistique_sur_internet&quot;&gt;stupides&lt;/a&gt; voire &lt;a href=&quot;http://www.framablog.org/index.php/post/2011/12/15/sopa-stop-online-piracy-act-1&quot;&gt;liberticides et dangereuses&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Vous voudriez que je paie les avocats qui vont me trainer en justice et les lobbyistes qui vont écrire les lois pour me jeter en prison ? Et puis quoi encore ?&lt;/p&gt;


&lt;h3&gt;Car vous êtes en train de détruire la société&lt;/h3&gt;


&lt;p&gt;Mais il ne vous suffisait pas de me pourrir la vie. Il a fallu que vous tentiez de détruire le fondement même de notre société, &lt;a href=&quot;http://ploum.net/post/213-le-piratage&quot;&gt;le système éducatif&lt;/a&gt;. Votre matraquage et lobbying incessant est un succès, la majorité de la population a bien compris l'importance de la « propriété intellectuelle ». Copier, c'est mal !&lt;/p&gt;


&lt;p&gt;Bande de sombres crétins ignorants.&lt;/p&gt;


&lt;p&gt;Grâce à vous, les écoles n'osent plus donner cours en utilisant du matériel élaboré. Les enseignants ont une peur bleue de se faire attaquer en justice. À tel point que donner un mauvais cours est préférable que prendre le risque d'utiliser une œuvre copyrightée.&lt;/p&gt;


&lt;p&gt;Certains professeurs eux-mêmes ne partagent plus leurs cours avec les nouveaux ou les stagiaires, arguant que le travail est « leur propriété intellectuelle ». Et lorsque les enseignants suivent des formations dispensées par l'état, financée par les deniers publics, on annonce aux participants que le matériel de la formation peut être consulté gratuitement mais doit être acheté pour pouvoir être utiliser en classe.&lt;/p&gt;


&lt;p&gt;Vous être en train de détruire ce que la civilisation a de plus cher: le plaisir de la culture, le partage de la connaissance, l'entraide, le développement personnel et l'éducation. Cela, je ne le vous pardonnerai jamais. Si je n'agis pas, mes enfants auront plus peur de copier un livre copyrighté que de voler dans un étalage ou de donner un coup de couteau. Crimes qui sont d'ailleurs moins punis par la loi que le partage de musique sur Internet.&lt;/p&gt;


&lt;p&gt;Pouvez-vous encore vous regarder dans une glace après ça ? Avez-vous le sommeil tranquille ?&lt;/p&gt;


&lt;h3&gt;Car votre heure est venue.&lt;/h3&gt;


&lt;p&gt;Si je suis un pirate, ce n'est pas pour avoir de la musique à moindre coût. C'est parce que votre temps est venu de disparaitre. Parce que votre arrogance et votre suffisance n'ont d'égales que votre volonté de faire du mal à la société pour défendre vos misérables petits intérêts personnels.&lt;/p&gt;


&lt;p&gt;La seule chose qui me console c'est de savoir que &lt;a href=&quot;http://ploum.net/post/la-fin-de-la-revolution&quot;&gt;vos heures sont comptées&lt;/a&gt;. Et que personne ne &lt;a href=&quot;http://ploum.net/post/&quot;&gt;vous regrettera&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Piratement vôtre,
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Photo par &lt;a href=&quot;http://www.flickr.com/photos/19779889@N00/4737035582/&quot;&gt;arbyreed&lt;/a&gt;&lt;/em&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href=&quot;http://ploum.net/post/im-a-pirate&quot;&gt;English translation&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;a href=&quot;https://flattr.com/submit/auto?user_id=ploum&amp;amp;url=http://ploum.net/post/je-suis-un-pirate&amp;amp;title=Pourquoi je suis un pirate !&amp;amp;tags=&amp;amp;category=text&quot;&gt;&lt;img alt=&quot;Flattr our API Documentation&quot; src=&quot;https://api.flattr.com/button/flattr-badge-large.png&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Wed, 18 Jan 2012 07:11:00 +0000</pubDate>
</item>
<item>
	<title>Xavier Mertens: Monitoring pastebin.com within your SIEM</title>
	<guid>http://blog.rootshell.be/?p=9085</guid>
	<link>http://blog.rootshell.be/2012/01/17/monitoring-pastebin-com-within-your-siem/</link>
	<description>&lt;div class=&quot;wp-caption alignleft&quot; id=&quot;attachment_9086&quot; style=&quot;width: 310px;&quot;&gt;&lt;img alt=&quot;Pastebin Cat&quot; class=&quot;size-medium wp-image-9086&quot; height=&quot;207&quot; src=&quot;http://blog.rootshell.be/wp-content/uploads/2012/01/pastebin-cat-300x207.jpg&quot; title=&quot;Pastebin Cat&quot; width=&quot;300&quot; /&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;(Source: pastebin.com)&lt;/p&gt;&lt;/div&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;For those who (still) don’t know &lt;a href=&quot;http://pastebin.com&quot; title=&quot;Link to the website&quot;&gt;pastebin.com&lt;/a&gt;, it’s  a website mainly for developers. Its purpose is very simple: You can “&lt;em&gt;paste&lt;/em&gt;” text on the website to share it with other developers, friends, etc. You paste it, optionally define an expiration date, if it’s public or private data and your are good. But for a while, this on-line service is more and more used to post “&lt;em&gt;sensitive&lt;/em&gt;” information like passwords or emails lists. By “&lt;em&gt;sensitive&lt;/em&gt;“, I mean “&lt;em&gt;stolen&lt;/em&gt;” or “&lt;em&gt;leaked&lt;/em&gt;” data. Indeed, pastebin.com allows anybody to use their services without any authentication, it’s easy to remain completely anonymous (if you submit data via proxy chains, Tor or any other tool which takes care of your privacy)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;In big organizations, marketing departments or agencies learned how to use social networks for a long time. They can follow what has been said about their products and marketing campaigns. In my opinion, it is equally important to follow what’s posted about your organization on pastebin.com! Many people are looking for interesting data on pastebin.com from an offensive point of view. Let’s see how this can also benefit to the defensive side.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;For me, pastebin.com became an important source of information and I keep an eye on it every day. But, due to the huge amount of information posted every minute, it is impossible to process it manually. Of course, you can search for some keywords but it’s totally inefficient. In a first time, I grabbed and processed some HTML content using the classic UNIX tools. Later, I found a nice Python script developed by &lt;a href=&quot;http://www.shellguardians.com&quot; title=&quot;Link to the website&quot;&gt;Xavier Garcia&lt;/a&gt;: &lt;a href=&quot;http://www.shellguardians.com/2011/07/monitoring-pastebin-leaks.html&quot; title=&quot;Link to the website&quot;&gt;python.py&lt;/a&gt;. It checks continuously for data leaks on pastebin.com using regular expressions. I kept it running for a while on a Linux box and it did a quite good job but I needed more! Xavier’s script send the found “&lt;em&gt;pasties&lt;/em&gt;” on the console. It is possible to dump the detected pasties by sending a signal to the process. Not always easy. That’s why I decided to go a step further and write my own script! The principle remains the same as the script in Python (why re-invent the wheel?) but I added two features that I found interesting:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It must run as a daemon (fully detached from the console) and started at boot time.&lt;/li&gt;
&lt;li&gt;It must write its finding in a log file.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The next step sounds logical: If you have a log file, why not process it automatically: Let’s monitor pastebin.com within your SIEM! If you find information posted on pastebin.com, it could be very interesting to be notified (a great added-value for your DLP processes). My script generates Syslog messages and (optionally) &lt;a href=&quot;http://www.arcsight.com/solutions/solutions-cef/&quot; title=&quot;Link to the website&quot;&gt;CEF&lt;/a&gt; (“&lt;em&gt;Common Event Format&lt;/em&gt;“) events which can be processed directly by an ArcSight infrastructure. Syslog messages can be processed by any SIEM or log management solution like &lt;a href=&quot;http://www.ossec.net&quot; title=&quot;Link to the website&quot;&gt;OSSEC&lt;/a&gt; (see below). It is now possible to completely automate the process of detecting potentially sensitive leaked data and to generate alerts on specific conditions.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;First install the script on a Linux machine. Requirements are light: a Perl interpreter with a few modules are required (normally all of them are already installed on recent distribution) and a web connectivity to http://pastebin.com:80. If you are behind a proxy, you can define the following environment variable, it will be used by the script:&lt;/p&gt;
&lt;pre&gt;  # export HTTP_PROXY=http://proxy.company.com:8080&lt;/pre&gt;
&lt;p&gt;The script can be started with some useful options:&lt;/p&gt;
&lt;pre&gt;  Usage: ./pastemon.pl --regex=filepath [--facility=daemon ] [--ignore-case][--debug] [--help]
                       [--cef-destination=fqdn|ip] [--cef-port=&amp;lt;1-65535&amp;gt;] [--cef-severity=&amp;lt;1-10&amp;gt;]
  Where:
  --cef-destination : Send CEF events to the specified destination (ArcSight)
  --cef-port        : UDP port used by the CEF receiver (default: 514)
  --cef-severity    : Generate CEF events with the very easy to process and can be specified priority
                      (default: 3)
  --debug           : Enable debug mode (verbose - do not detach)
  --facility        : Syslog facility to send events to (default: daemon)
  --help            : What you're reading now.
  --ignore-case     : Perform case insensitive search
  --regex           : Configuration file with regular expressions (send SIGUSR1 to reload)&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Once running, the script scans for newly uploaded pasties and search for interesting content using regular expressions. There is no limitation on the number of regular expressions (defined in a text file). To not disturb pastebin.com webmasters, the script waits a random number of seconds between each GET requests (between 1 and 5 seconds). There is only one mandatory parameter ‘&lt;em&gt;–regex&lt;/em&gt;‘ which gives the text files with all the regular expressions to use (one per line). If one of the regular expressions matches, the following information will be sent to the local Syslog daemon:&lt;/p&gt;
&lt;pre&gt;  Jan 16 14:43:24 lab1 pastemon.pl[29947]: Sending CEF events to 127.0.0.1:514 (severity 10)
  Jan 16 14:43:24 lab1 pastemon.pl[29947]: Loaded 17 regular expressions from /data/src/pastemon/pastemon.conf
  Jan 16 14:43:24 lab1 pastemon.pl[29947]: Running with PID 29948
  &amp;lt;time flies&amp;gt;
  Jan 16 15:57:48 lab1 pastemon.pl[29948]: Found in http://pastebin.com/raw.php?i=hXYg93Qy : CREATE TABLE (9 times) -- phpMyAdmin SQL Dump (1 times)&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;All matching regular expressions are listed with their number of occurrences. This can be easily processed by OSSEC using the following decoder:&lt;/p&gt;
&lt;pre&gt;  &amp;lt;decoder name=&quot;pastemon&quot;&amp;gt;
    &amp;lt;program_name&amp;gt;^pastemon.pl&amp;lt;/program_name&amp;gt;
  &amp;lt;/decoder&amp;gt;

  &amp;lt;decoder name=&quot;pastemon-alert&quot;&amp;gt;
    &amp;lt;parent&amp;gt;pastemon&amp;lt;/parent&amp;gt;
    &amp;lt;regex&amp;gt;Found in http://pastebin.com/raw.php?i=\.+ : (\.+) \(&amp;lt;/regex&amp;gt;
    &amp;lt;order&amp;gt;data&amp;lt;/order&amp;gt;
  &amp;lt;/decoder&amp;gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The first regular expression is stored in the OSSEC “&lt;em&gt;data&lt;/em&gt;” variable to be used as  conditions in rules. Here is an example: The rule #100203 will trigger an alert if some yahoo.com email addresses are leaked in pastebin.com. (Note: This regular expression must be defined in the script configuration file!)&lt;/p&gt;
&lt;pre&gt;  &amp;lt;rule id=&quot;100203&quot; level=&quot;0&quot;&amp;gt;
    &amp;lt;decoded_as&amp;gt;pastemon&amp;lt;/decoded_as&amp;gt;
    &amp;lt;description&amp;gt;Data found on pastebin.com.&amp;lt;/description&amp;gt;
  &amp;lt;/rule&amp;gt;

  &amp;lt;rule id=&quot;100204&quot; level=&quot;7&quot;&amp;gt;
    &amp;lt;if_sid&amp;gt;100203&amp;lt;/if_sid&amp;gt;
    &amp;lt;description&amp;gt;Detected yahoo.com email addresses on pastebin.com!&amp;lt;/description&amp;gt;
    &amp;lt;extra_data&amp;gt;@yahoo\.com$&amp;lt;/extra_data&amp;gt;
  &amp;lt;/rule&amp;gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;If you have an ArcSight infrastructure, you can enable the CEF events support. The same event as above will be sent to the configured CEF destination and port:&lt;/p&gt;
&lt;pre&gt;&amp;lt;29&amp;gt;Jan 16 15:57:48 CEF:0|blog.rootshell.be|pastemon.pl|v1.0|regex-match|One or more regex matched|10|request=http://pastebin.com/raw.php?i=hXYg93Qy destinationDnsDomain=pastebin.com msg=Interesting data has been found on pastebin.com.
cs0=CREATE TABLE cs0Label=Regex0Name cn0=9 cn0Label=Regex0Count cs1=-- phpMyAdmin SQL Dump cs1Label=Regex1Name cn1=1 cn1Label=Regex1Count&lt;/pre&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;To process the CEF events on ArcSight’s side, configure a new SmartConnector, a new UDP CEF receiver and the events should be correctly parsed:&lt;/p&gt;
&lt;div class=&quot;wp-caption aligncenter&quot; id=&quot;attachment_9101&quot; style=&quot;width: 310px;&quot;&gt;&lt;a href=&quot;http://blog.rootshell.be/wp-content/uploads/2012/01/logger-search.png&quot;&gt;&lt;img alt=&quot;Parsed pastemon.pl events&quot; class=&quot;size-medium wp-image-9101&quot; height=&quot;205&quot; src=&quot;http://blog.rootshell.be/wp-content/uploads/2012/01/logger-search-300x205.png&quot; title=&quot;Parsed pastemon.pl events&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;(Click to enlarge)&lt;/p&gt;&lt;/div&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;That looks great! But the next question is: “&lt;em&gt;What to look for on pastebin.com?&lt;/em&gt;“. Well, it depends on you… Based on your organization or business, there are things that you can’t miss. Here is a list of useful regular expressions that I often use:&lt;/p&gt;
&lt;pre&gt;RegEx                                                                  Purpose
---------------------------------------------------------------------  -----------------------------------
company\.com                                                           Your company domain name
@company\.com                                                          Corporate e-mail addresses
CompanyName                                                            Company name
MyFirstName MyLastName                                                 Your full name
@xme                                                                   Twitter account
192.168.[1-3].[0-255]                                                  IP addresses ranges
anonbelgium                                                            Hackers groups
#lulz                                                                  Trending Twitter hashtags
#anonymous
#antisec
-----BEGIN RSA PRIVATE KEY-----                                        Interesting data!
-----BEGIN DSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
-- MySQL dump                                                          Interesting dumps!
belgium                                                                My country
city                                                                   My city
((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}      Credit cards&lt;/pre&gt;
&lt;p&gt;If you have interesting regular expressions or ideas, feel free to share!&lt;/p&gt;
&lt;p&gt;Source is available &lt;a href=&quot;https://github.com/xme/pastemon&quot; title=&quot;Link to github.com&quot;&gt;here&lt;/a&gt;. As usual, this is provided “as is” without any warranty. Happy monitoring!&lt;/p&gt;
&lt;img height=&quot;1&quot; src=&quot;http://feeds.feedburner.com/~r/dev/rand/~4/zXj4yfTgCGk&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 17 Jan 2012 20:32:25 +0000</pubDate>
</item>
<item>
	<title>Lionel Dricot: The End of the Revolution</title>
	<guid>urn:md5:b90f41a5fb118b7c739daf4765f647a0</guid>
	<link>http://ploum.net/post/the-end-of-the-revolution</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/ploum100&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://ploum.net/post/la-fin-de-la-revolution&quot;&gt;Traduction en français disponible&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;Lot of people think that we are on the verge of a revolution, that the foundation of the society will be shaken. I don't think so.&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;Random coloured lines&quot; src=&quot;http://ploum.net/images/venice_bienale.jpg&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;For me, the revolution has already happened, we are at the end of a transition period. We need time to realize it but the changes are there, unavoidable.&lt;/p&gt;    &lt;p&gt;The revolution I'm speaking about is well known under the name &quot;industrial revolution&quot;. Started in the middle of the XIXth century, it became prominent with the launch of the Ford T in 1908. And ends today, with Internet and the worldwide network.&lt;/p&gt;


&lt;p&gt;For ages, humans have worked. That work was, granting a few exceptions, mainly proportional to the final result. As a farmer cultivated more field, he had a better harvest. A craftsman was working more hour to produce more. As the money&lt;sup&gt;[&lt;a href=&quot;http://ploum.net/post/the-end-of-the-revolution#pnote-1840-1&quot; id=&quot;rev-pnote-1840-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; earned was directly proportional to the result, we could say that the more we work, the more we earn. One hour of work was roughly equivalent to a given sum of money.&lt;/p&gt;


&lt;p&gt;The industrial revolution changes completely this paradigm. The price of a good becomes inversely proportional to the number of produced goods. If Henri Ford had produced only one Ford T, it would worth millions. But the more he was producing, the better the return was. To the point where buying a brand new good is often cheaper than repairing and existing one.&lt;/p&gt;


&lt;p&gt;The industrial world is thus characterized by the desire to duplicate as much as possible in order to lower the unit price. This world is not directed by the direct production but by speculation. To launch a business, you need a complex estimation about when you will have a return on your initial investment. The more you produce, the richer you are. The richer you are, the more you can speculate and thus become even richer. Money attracts money, the society itself is directed toward speculation.&lt;/p&gt;


&lt;p&gt;The funny side is that the first beneficiaries of this revolution don't want others to share the pie and try to convince everyone that the old rules still apply. Work is still paid by the hour, even though the principle itself is not founded any more and leads to hidden conflicts of interest.&lt;/p&gt;


&lt;p&gt;It is also noteworthy that, even though the industrial revolution funding principle is to duplicate as much as you can, tools are created to avoid that very same duplication: Patents, intellectual property and, later, &lt;a href=&quot;http://ploum.net/post/145-do-i-have-to-protect-my-content-with-drm-the-drm-equation&quot;&gt;DRM&lt;/a&gt;. Depending on the context, duplication will be translated by production, growth or by counterfeiting, piracy.&lt;/p&gt;


&lt;p&gt;Internet, digital products, globalisation and 3D printers are only the logical consequence of this duplication revolution. Duplication tools are cheap, easily accessible. Everyone can become a producer, everybody can benefit from the revolution and that's why we can say it has succeeded. Dear big manufacturers, being first granted you a lot of benefits during 150 years. Now please be kind enough to not fight against the unavoidable spread of your privileges.&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;ordered coloured lines&quot; src=&quot;http://ploum.net/images/color_frame.jpg&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;That's it, we are entering the post-industrial era. I've no idea what it willlooks like. I will probably never know if we are currently living a new transition period of the founding of a big, Millennial Worldwide Society.&lt;/p&gt;


&lt;p&gt;What I know is that the industrial era is coming to a end, that we need to redefine fundamentals like &lt;a href=&quot;http://ploum.net/post/bitcoin-bubble&quot;&gt;money&lt;/a&gt;, work, wealth, property, &lt;a href=&quot;http://falkvinge.net/pirate-wheel/&quot;&gt;power&lt;/a&gt;. That those who took them for granted will not be happy. But who cares about them anyway ?
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Pictures by &lt;a href=&quot;http://www.flickr.com/photos/ialla/3922359902/&quot;&gt;ialla&lt;/a&gt; and &lt;a href=&quot;http://www.flickr.com/photos/mybloodyself/166156924/&quot;&gt;danmachold&lt;/a&gt;&lt;/em&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href=&quot;http://ploum.net/post/la-fin-de-la-revolution&quot;&gt;Traduction en français disponible&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Note&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://ploum.net/post/the-end-of-the-revolution#rev-pnote-1840-1&quot; id=&quot;pnote-1840-1&quot;&gt;1&lt;/a&gt;] or related reward like food&lt;/p&gt;&lt;/div&gt;
&lt;br /&gt;&lt;a href=&quot;https://flattr.com/submit/auto?user_id=ploum&amp;amp;url=http://ploum.net/post/the-end-of-the-revolution&amp;amp;title=The End of the Revolution&amp;amp;tags=&amp;amp;category=text&quot;&gt;&lt;img alt=&quot;Flattr our API Documentation&quot; src=&quot;https://api.flattr.com/button/flattr-badge-large.png&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Tue, 17 Jan 2012 13:49:00 +0000</pubDate>
</item>
<item>
	<title>Lionel Dricot: La fin de la révolution</title>
	<guid>urn:md5:8f574dfa2210142230bd2763e2a62acf</guid>
	<link>http://ploum.net/post/la-fin-de-la-revolution</link>
	<description>&lt;img src=&quot;http://planet.grep.be/heads/ploum100&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot;&gt;&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://ploum.net/post/the-end-of-the-revolution&quot;&gt;English translation available&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Beaucoup pensent que nous sommes à la veille d'une révolution, que des bouleversements vont secouer notre société. Je ne le pense pas.&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;Random coloured lines&quot; src=&quot;http://ploum.net/images/venice_bienale.jpg&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;À mes yeux, la révolution est terminée, nous sommes à la fin de la période de transition. Il faut juste un peu de temps pour nous en rendre compte mais le changement est déjà présent, irrémédiable.&lt;/p&gt;    &lt;p&gt;Cette révolution est bien connue des historiens et porte le nom de « &lt;a href=&quot;http://fr.wikipedia.org/wiki/R%C3%A9volution_industrielle&quot;&gt;révolution industrielle&lt;/a&gt; ». Commencée aux alentours du XIXème siècle, elle prend un virage décisif avec la production en série de la Ford T en 1908. Et s'achève aujourd'hui, avec Internet et le réseau mondial.&lt;/p&gt;


&lt;p&gt;Pendant des millénaires, les hommes ont effectué un travail. Ce travail était, à quelques exceptions près, proportionnel au résultat. Plus un paysan labourait une grande superficie de champs, plus grande était sa récolte. Plus un artisan travaillait, plus grande était sa production. Comme l'argent&lt;sup&gt;[&lt;a href=&quot;http://ploum.net/post/la-fin-de-la-revolution#pnote-1839-1&quot; id=&quot;rev-pnote-1839-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; gagné était généralement proportionnel au résultat, on pouvait sans trop se tromper affirmer: plus on travaille d'heures, plus on gagne de l'argent. Une heure de travail est équivalente à une somme d'argent.&lt;/p&gt;


&lt;p&gt;La révolution industrielle bouleverse complètement la donne. Le prix d'un bien quelconque devient inversement proportionnel au nombre de biens produits. Si Henri Ford avait produit une seule Ford T, elle vaudrait des millions. Mais plus il en produisait, plus il rentabilisait son infrastructure sans effectuer de travail supplémentaire. C'est vrai à tel point que réparer un produit abimé coûte de nos jours plus cher qu'&lt;a href=&quot;http://ploum.net/post/obsolescence-obsolete&quot;&gt;acheter le même produit neuf&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Le monde industriel se caractérise donc par la volonté de reproduire autant que possible un bien de consommation afin d'en faire baisser le coût unitaire. Ce monde n'est donc plus dirigé par la production directe mais bien par la spéculation. À chaque fois qu'un entrepreneur lance une idée, il doit faire de savants calculs pour estimer en combien de temps il rentrera dans ses frais. Plus on produit, plus on est riche, plus on a le loisir de spéculer et plus on peut devenir encore plus riche. L'argent appelle l'argent, la société est entièrement tournée vers la spéculation.&lt;/p&gt;


&lt;p&gt;Ce qui est amusant c'est que les premiers bénéficiaires de cette révolution industrielle se voient eux-mêmes comme des exceptions et essaient, de toutes leur force de maintenir la majorité de la population dans la croyance que l'ancien système est d'application. Le travail est toujours payé « à l'heure » alors même que ce principe n'a plus aucune réalité tangible et induit des conflits d'intérêts latents.&lt;/p&gt;


&lt;p&gt;Il est également remarquable que, depuis le début de la révolution industrielle dont le principe est de reproduire, des outils sont mis en place afin d'empêcher cette même reproduction par des concurrents: brevets, principe de la propriété intellectuelle et plus tard &lt;a href=&quot;http://ploum.net/post/99-defendre-le-droit-sacre-a-l-infraction&quot;&gt;DRM&lt;/a&gt;. Dans la bouche des industriels, reproduction devient production, croissance ou contre-façon, &lt;a href=&quot;http://ploum.net/post/213-le-piratage&quot;&gt;piratage&lt;/a&gt;, selon le contexte.&lt;/p&gt;


&lt;p&gt;Internet, la numérisation des produits, la globalisation et les imprimantes 3D ne sont que l'aboutissement logique de cette révolution de la reproduction. Les outils de reproduction sont accessibles à tous, chacun peut devenir son propre industriel. La révolution s'achève car elle touche enfin tous les citoyens. Messieurs les industriels, vous avez bénéficié grandement de cette transition en étant les premiers. Ayez l'élégance de ne pas vous accrocher, de ne pas refuser aux autres ce dont vous avez profité pendant 150 ans.&lt;/p&gt;


&lt;p&gt;&lt;img alt=&quot;ordered coloured lines&quot; src=&quot;http://ploum.net/images/color_frame.jpg&quot; style=&quot;display: block; margin: 0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Voilà, nous entrons doucement dans la période post-industrielle. Ce que nous réserve cette période, &lt;a href=&quot;http://ploum.net/post/123-un-petit-air-de-liberte&quot;&gt;je n'en sais rien&lt;/a&gt;. Pas plus que je ne saurai jamais si elle sera une courte période de transition de 200 ans ou si elle va jeter les fondements d'une société mondiale millénaire.&lt;/p&gt;


&lt;p&gt;Tout ce que je sais ce que le monde industriel s'achève, qu'il nous faut redéfinir des notions aussi fondamentales que &lt;a href=&quot;http://ploum.net/post/un-bitcoin-dans-la-tete&quot;&gt;l'argent&lt;/a&gt;, le travail, la richesse, la propriété, &lt;a href=&quot;http://ploum.net/post/231-le-parti-pirate-apres-tout-pourquoi-pas&quot;&gt;le pouvoir&lt;/a&gt;, que ceux qui les considéraient comme acquis voient cela d'un mauvais œil. Mais leur avis est-il tellement important ?
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Images de &lt;a href=&quot;http://www.flickr.com/photos/ialla/3922359902/&quot;&gt;ialla&lt;/a&gt; et &lt;a href=&quot;http://www.flickr.com/photos/mybloodyself/166156924/&quot;&gt;danmachold&lt;/a&gt;&lt;/em&gt;
&lt;br /&gt;
&lt;em&gt;&lt;a href=&quot;http://ploum.net/post/the-end-of-the-revolution&quot;&gt;English translation available&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Note&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://ploum.net/post/la-fin-de-la-revolution#rev-pnote-1839-1&quot; id=&quot;pnote-1839-1&quot;&gt;1&lt;/a&gt;] Prendre argent au sens large: les serfs gagnaient de quoi subsister mais cela était proportionnel à leur travail&lt;/p&gt;&lt;/div&gt;
&lt;br /&gt;&lt;a href=&quot;https://flattr.com/submit/auto?user_id=ploum&amp;amp;url=http://ploum.net/post/la-fin-de-la-revolution&amp;amp;title=La fin de la révolution&amp;amp;tags=&amp;amp;category=text&quot;&gt;&lt;img alt=&quot;Flattr our API Documentation&quot; src=&quot;https://api.flattr.com/button/flattr-badge-large.png&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Tue, 17 Jan 2012 13:13:00 +0000</pubDate>
</item>

</channel>
</rss>

