<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog do Tiago &#187; Software Livre</title>
	<atom:link href="http://blog.tiagomadeira.com/category/software-livre/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tiagomadeira.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 02 Feb 2012 10:59:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Retrospective: new plugin for WordPress</title>
		<link>http://blog.tiagomadeira.com/retrospective/</link>
		<comments>http://blog.tiagomadeira.com/retrospective/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 00:20:03 +0000</pubDate>
		<dc:creator>Tiago Madeira</dc:creator>
				<category><![CDATA[Software Livre]]></category>

		<guid isPermaLink="false">http://blog.tiagomadeira.com/?p=937</guid>
		<description><![CDATA[I&#8217;ve just wrote my first WordPress public plugin, that I&#8217;m licensing under GPL v3. This post is to make it public. I&#8217;m writing in English because the WordPress plugin directory asks me to provide a plugin page to host the files there and I&#8217;ll provide the URL of this post. Update: The plugin is now <a href='http://blog.tiagomadeira.com/retrospective/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just wrote my first WordPress public plugin, that I&#8217;m licensing under GPL v3. This post is to make it public. I&#8217;m writing in English because the <a href="https://wordpress.org/extend/plugins/add/">WordPress plugin directory</a> asks me to provide a plugin page to host the files there and I&#8217;ll provide the URL of this post. <strong>Update:</strong> The plugin is now in the WordPress plugin directory: <a href="https://wordpress.org/extend/plugins/retrospective/">wordpress.org/extend/plugins/retrospective/</a></p>
<hr />
<p>The website of the brazilian newspaper O Estado de São Paulo has a nice way to display news in a retrospective-style (check <a href="http://blog.tiagomadeira.com/wp-content/uploads/2012/01/estadao.jpg">this screenshot</a> or <a href="http://www.estadao.com.br/especiais/choque-nas-ruas,158638.htm">this link</a> &#8212; Flash required).</p>
<p>Wouldn&#8217;t it be nice if we could display WordPress posts in our pages and categories in the same way just by using a shortcode? The possibilities are many. That&#8217;s why I wrote the <strong>Retrospective</strong> plugin for WordPress.</p>
<p>It has at least two advantages over the version you just saw:</p>
<ol>
<li>Does not require Flash (its implementation uses only CSS and JavaScript/jQuery)</li>
<li>Has a option to respect the (time-)scale of the posts.</li>
</ol>
<p>Its use is very simple. Wherever you add the shortcode [<tt>retrospective</tt>] the plugin will draw that cool retrospective. The shortcode supports several attributes:</p>
<ul>
<li><tt>count</tt> &#8212; limit the number of posts to be displayed (default = 10; use -1 to display all)</li>
<li><tt>cat</tt> &#8212; display posts with category IDs comma-separated (default = display all posts)</li>
<li><tt>width</tt> &#8212; the width of the timeline in pixels (default = 600)</li>
<li><tt>delay</tt> &#8212; the time of the focus change animation in milisseconds (default = 1000)</li>
<li><tt>scale</tt> &#8212; if set, respect the time scale in the distances between the points in the timeline (default = false)</li>
<li><tt>image_width, image_height</tt> &#8212; the dimensions of the thumbnail images in pixels (default = 300&#215;180)</li>
<li><tt>image_border_size</tt> &#8212; the size of the image&#8217;s border in pixels (default = 7)</li>
<li><tt>image_border_color</tt> &#8212; the color of the image&#8217;s border in hexa RGB (default = 000000)</li>
<li><tt>image_margin</tt> &#8212; the space between the images (default = 5)</li>
<li><tt>date_format</tt> &#8212; the date format in <a href="http://php.net/date">PHP format</a> (default = d/m/Y)</li>
</ul>
<p>For example, here is a [<tt>retrospective count=5 cat=41 image_border_color=2F5971</tt>] call:</p>
<div style="padding-left:40px;">
<div id="retro-4a577c6ef517f4c7837a4fc7d265b88b" class="retrospective">
    <!-- TIMELINE -->
    <ul class="time">
		<li rel="0"><a href="http://blog.tiagomadeira.com/calendario-santo-discordiano-no-fluxbox/" style="left:0px;"><span>29/08/2010</span></a></li>
		<li rel="1"><a href="http://blog.tiagomadeira.com/fluxbox-ddate-no-gentoo/" style="left:150px;"><span>29/08/2010</span></a></li>
		<li rel="2"><a href="http://blog.tiagomadeira.com/working-together-for-free-software/" style="left:300px;"><span>16/12/2010</span></a></li>
		<li rel="3"><a href="http://blog.tiagomadeira.com/as-vantagens-do-software-livre/" style="left:450px;"><span>02/02/2011</span></a></li>
		<li rel="4"><a href="http://blog.tiagomadeira.com/retrospective/" style="left:600px;"><span>31/01/2012</span></a></li>

    </ul>
    <!-- PHOTOS -->
    <div class="photos">
        <ul>
			<li rel="0"><a href="http://blog.tiagomadeira.com/calendario-santo-discordiano-no-fluxbox/" title="Calendário santo-discordiano no Fluxbox"><img width="300" height="180" src="http://blog.tiagomadeira.com/wp-content/uploads/2010/08/eris-300x180.jpg" class="attachment-300x180 wp-post-image" alt="eris" title="Calendário santo-discordiano no Fluxbox" /></a></li>
			<li rel="1"><a href="http://blog.tiagomadeira.com/fluxbox-ddate-no-gentoo/" title="fluxbox-ddate no Gentoo"><img width="300" height="180" src="http://blog.tiagomadeira.com/wp-content/uploads/2010/08/a21-300x180.png" class="attachment-300x180 wp-post-image" alt="a2" title="fluxbox-ddate no Gentoo" /></a></li>
			<li rel="2"><a href="http://blog.tiagomadeira.com/working-together-for-free-software/" title="Working together for free software"><img width="300" height="180" src="http://blog.tiagomadeira.com/wp-content/uploads/2010/12/libre-planet1-300x180.jpg" class="attachment-300x180 wp-post-image" alt="libre-planet" title="Working together for free software" /></a></li>
			<li rel="3"><a href="http://blog.tiagomadeira.com/as-vantagens-do-software-livre/" title="As vantagens do software livre"><img width="300" height="180" src="http://blog.tiagomadeira.com/wp-content/uploads/2011/02/stallman-300x180.jpg" class="attachment-300x180 wp-post-image" alt="stallman" title="As vantagens do software livre" /></a></li>
			<li rel="4"><a href="http://blog.tiagomadeira.com/retrospective/" title="Retrospective: new plugin for WordPress"><img width="300" height="180" src="http://blog.tiagomadeira.com/wp-content/uploads/2012/01/wordpresssc1-300x180.jpg" class="attachment-300x180 wp-post-image" alt="wordpresssc" title="Retrospective: new plugin for WordPress" /></a></li>

        </ul>
    </div>
    <!-- POSTS -->
    <ul class="posts">
		<li rel="0"><a href="http://blog.tiagomadeira.com/calendario-santo-discordiano-no-fluxbox/" title="Calendário santo-discordiano no Fluxbox"><h2>Calendário santo-discordiano no Fluxbox <span>(29/08/2010)</span></h2> <p>Acabei de implementar o calendário santo-discordiano no Fluxbox 1.1.1 (última versão).

Link para download do código: fluxbox-ddate-1.1.1-0.tar.bz2

Se você usa Arch Linux, não precisa baixar e compilar manualmente. Basta usar o pkgbuild que o Rev. Beraldo fez para o AUR: aur.archlinux.org/packages.php?ID=403 ...</p></a></li>
		<li rel="1"><a href="http://blog.tiagomadeira.com/fluxbox-ddate-no-gentoo/" title="fluxbox-ddate no Gentoo"><h2>fluxbox-ddate no Gentoo <span>(29/08/2010)</span></h2> <p>Criei um ebuild para o Fluxbox com uma USE flag “ddate” baseado no fluxbox-1.1.1-r2 (que é o último ebuild no Portage neste exato momento). Usando ele, é possível ter o calendário santo-discordiano no Fluxbox do Gentoo.

Siga os passos abaixo para ter Fluxbox com suporte a ddate no seu Gentoo.

Baixando o  ...</p></a></li>
		<li rel="2"><a href="http://blog.tiagomadeira.com/working-together-for-free-software/" title="Working together for free software"><h2>Working together for free software <span>(16/12/2010)</span></h2> <p>by Peter Brown, FSF Executive Director
(Free Software Foundation Bulletin, Issue 16, May 2010)

 A few weeks ago, my six-year-old son Michael looked at my t-shirt from our LibrePlanet conference and started asking me to name each of the various characters and objects shown in the t-shirt design. These characters are ...</p></a></li>
		<li rel="3"><a href="http://blog.tiagomadeira.com/as-vantagens-do-software-livre/" title="As vantagens do software livre"><h2>As vantagens do software livre <span>(02/02/2011)</span></h2> <p>(por Richard Stallman)

Pessoas de fora do movimento do software livre frequentemente perguntam sobre as vantagens práticas do software livre. É uma pergunta curiosa.

Software não-livre é ruim porque ele nega sua liberdade. Logo, perguntar sobre as vantagens práticas do software livre é como perguntar sobre  ...</p></a></li>
		<li rel="4"><a href="http://blog.tiagomadeira.com/retrospective/" title="Retrospective: new plugin for WordPress"><h2>Retrospective: new plugin for WordPress <span>(31/01/2012)</span></h2> <p>I've just wrote my first WordPress public plugin, that I'm licensing under GPL v3. This post is to make it public. I'm writing in English because the WordPress plugin directory asks me to provide a plugin page to host the files there and I'll provide the URL of this post. Update: The plugin is now in the WordPress plug ...</p></a></li>

    </ul>
</div>
</div>
<hr />
<h3>Some screenshots</h3>
<p>Here is a screenshot from <a href="http://juntos.org.br/juntos/internet/">juntos.org.br</a> with <tt>scale=true</tt> (in the link you can see it working):</p>
<p><img src="http://blog.tiagomadeira.com/wp-content/uploads/2012/01/ss1.jpg" alt="" title="ss1" width="639" height="427" class="aligncenter size-full wp-image-967" /></p>
<p>And here is a screenshot from a fresh WordPress install (TwentyEleven theme without modifications):</p>
<p><img src="http://blog.tiagomadeira.com/wp-content/uploads/2012/01/ss2-650x345.jpg" alt="" title="ss2" width="650" height="345" class="aligncenter size-large wp-image-968" /></p>
<hr />
<h3>Customizing</h3>
<h4>Post thumbnails</h4>
<p>For better results, I suggest always adding post thumbnails to your posts and using <a href="https://codex.wordpress.org/Function_Reference/add_image_size">registered image sizes</a> in <tt>image_width</tt> and <tt>image_height</tt> attributes.</p>
<h4>Styling retrospectives</h4>
<p>The generated HTML is very easy to style (but just be careful with margins and paddings, they&#8217;re set with <tt>!important</tt> attribute &#8212; I did it to try not to break with any theme). Here is a sample:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;retro-uniquehash&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;retrospective&quot;</span>&gt;</span>
    <span style="color: #808080; font-style: italic;">&lt;!-- TIMELINE --&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;time&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;permalink&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;left:0px;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>date<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;permalink&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;left:300px;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>date<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;permalink&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;left:600px;&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>date<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">&lt;!-- PHOTOS --&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;photos&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;permalink&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;title&quot;</span>&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;file&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;wp-post-image&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;permalink&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;title&quot;</span>&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;file&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;wp-post-image&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;permalink&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;title&quot;</span>&gt;</span>
                <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;file&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;wp-post-image&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">&lt;!-- POSTS --&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;posts&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;permalink&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;title&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Title <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>(date)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Excerpt<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;permalink&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;title&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Title <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>(date)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Excerpt<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;permalink&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;title&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Title <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span>&gt;</span>(date)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
            <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Excerpt<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<h4>Styling a specific retrospective</h4>
<p>The generated hash takes in consideration all the attributes sent to the shortcode and also how many retrospectives appeared before in the parsing of the actual page. I made it that way to allow users to set up two exactly equal retrospectives in the same page. Because of that, I don&#8217;t recommend setting styles for <tt>#retro-uniquehash</tt>. I think a reasonable solution for this issue is to make something like</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;something_that_makes_sense&quot;</span>&gt;</span>[retrospective]<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>when inserting the shortcode and then styling <tt>#something_that_makes_sense .retrospective</tt>.</p>
<hr />
<h3>Download</h3>
<p><strong>Here is the code for download:</strong>* <a href='http://blog.tiagomadeira.com/wp-content/uploads/2012/01/retrospective.zip'>retrospective.zip</a><br />
<small><strong>* Warning:</strong> Please consider I&#8217;m using a <a href="http://catb.org/~esr/writings/homesteading/">bazaar approach</a> here. Be aware that the plugin probably has a lot of bugs (and please tell me if you catch any).</small></p>
<p>I hope you enjoy it. Have fun and please let me have your feedback! :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagomadeira.com/retrospective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>As vantagens do software livre</title>
		<link>http://blog.tiagomadeira.com/as-vantagens-do-software-livre/</link>
		<comments>http://blog.tiagomadeira.com/as-vantagens-do-software-livre/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 12:29:16 +0000</pubDate>
		<dc:creator>Tiago Madeira</dc:creator>
				<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[fsf]]></category>
		<category><![CDATA[rms]]></category>
		<category><![CDATA[stallman]]></category>

		<guid isPermaLink="false">http://blog.tiagomadeira.com/?p=759</guid>
		<description><![CDATA[(por Richard Stallman) Pessoas de fora do movimento do software livre frequentemente perguntam sobre as vantagens práticas do software livre. É uma pergunta curiosa. Software não-livre é ruim porque ele nega sua liberdade. Logo, perguntar sobre as vantagens práticas do software livre é como perguntar sobre as vantagens práticas de não ser algemado. De fato, <a href='http://blog.tiagomadeira.com/as-vantagens-do-software-livre/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>(por <strong>Richard Stallman</strong>)</p>
<p><strong>Pessoas de fora do movimento do software livre frequentemente perguntam sobre as vantagens práticas do software livre. É uma pergunta curiosa.</strong></p>
<p>Software não-livre é ruim porque ele nega sua liberdade. Logo, perguntar sobre as vantagens práticas do software livre é como perguntar sobre as vantagens práticas de não ser algemado. De fato, isso tem vantagens:</p>
<ul>
<li>Você pode usar uma camiseta normal.</li>
<li>Você pode passar por detectores de metal sem ativá-los.</li>
<li>Você pode ficar com uma mão no volante enquanto troca as marchas.</li>
<li>Você pode arremessar uma bola de baseball.</li>
<li>Você pode carregar uma mochila.</li>
</ul>
<p>Nós poderíamos encontrar mais, mas você precisa dessas vantagens para convencê-lo a rejeitar algemas? Provavelmente não, porque você entende que é a sua liberdade que está em jogo.</p>
<p>Uma vez que você percebe que é isso que está em jogo com software não-livre, você não precisa perguntar que vantagens práticas o software livre possui.</p>
<p><strong>Original (em inglês):</strong> <a href="http://www.gnu.org/philosophy/practical.html">http://www.gnu.org/philosophy/practical.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagomadeira.com/as-vantagens-do-software-livre/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Working together for free software</title>
		<link>http://blog.tiagomadeira.com/working-together-for-free-software/</link>
		<comments>http://blog.tiagomadeira.com/working-together-for-free-software/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 19:46:16 +0000</pubDate>
		<dc:creator>Tiago Madeira</dc:creator>
				<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[bulletin]]></category>
		<category><![CDATA[fsf]]></category>
		<category><![CDATA[peter brown]]></category>

		<guid isPermaLink="false">http://blog.tiagomadeira.com/?p=744</guid>
		<description><![CDATA[by Peter Brown, FSF Executive Director (Free Software Foundation Bulletin, Issue 16, May 2010) A few weeks ago, my six-year-old son Michael looked at my t-shirt from our LibrePlanet conference and started asking me to name each of the various characters and objects shown in the t-shirt design. These characters are the mascots of various <a href='http://blog.tiagomadeira.com/working-together-for-free-software/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><em>by <strong>Peter Brown</strong>, <a href="http://www.fsf.org/">FSF</a> Executive Director<br />
(Free Software Foundation Bulletin, Issue 16, May 2010)</em></p>
<p><a href="http://blog.tiagomadeira.com/wp-content/uploads/2010/12/productimage-picture-lp-tshirt-77_t280.png"><img src="http://blog.tiagomadeira.com/wp-content/uploads/2010/12/productimage-picture-lp-tshirt-77_t280.png" alt="Camiseta LibrePlanet" title="Camiseta LibrePlanet" width="280" height="156" class="alignright size-full wp-image-750" /></a> A few weeks ago, my six-year-old son Michael looked at my t-shirt from our LibrePlanet conference and started asking me to name each of the various characters and objects shown in the t-shirt design. These characters are the mascots of various well-known (ahem) free software projects. Shame-faced, my memory slipped on a few and I had to go look them up for him.</p>
<p>The symbolism of the t-shirt is reinforced by the tag line “Working Together for Free Software” and this is a theme that the Free Software Foundation is working to promote within the community &#8212; that we need to do a better job driving awareness and solidarity to the cause of software freedom.</p>
<p>Free software is strong because of its values and because there are many heads to the free software hydra. For every project that goes moribund another two (dozen it seems) projects rise to take its place. But all too often we see high-profile projects, that are often corporately controlled, acting in ways that hurt free software, often putting their narrow self-interest ahead of the wider adoption of free software platforms, or promoting ancillary proprietary software at the expense of other free software projects. The most common problem is the lack of effort to educate users to the values of the free software they distribute. Leaving a typical user valuing the software only because it can be acquired for little or no cost.</p>
<p><strong>Our campaign for software freedom is not a campaign for freedom of choice. Free software isn&#8217;t just an alternative to proprietary software. Free software is a social movement, a movement to rid the world of software that would otherwise be used to divide us and keep us powerless. The software we use is not a matter of utility or convenience, it is a matter of securing our freedom now and ever more so in a future where we become increasingly dependent on the integrity of the software we run.</strong></p>
<p>In the US, we may have a Bill of Rights that prevents government from restricting free speech, free press or free assembly, but government can be ignored and these rights removed when proprietary software corporations have control over a citizen&#8217;s computing.</p>
<p>We need to strengthen the free software movement for the long haul. The key to this is to impress software freedom values on our friends and all the people we introduce to free software. Our campaign asks free software supporters and projects to promote free software in ways that consistently emphasize everyone&#8217;s right to freedom.</p>
<p>Working Together for Free Software means:</p>
<ul>
<li>Telling all users that they <em>deserve</em> to have freedom and that they should be in control of their computing.</li>
<li>Promoting free software as a civil liberty, that protects citizens from government and undue influence in their lives.</li>
<li>Prioritizing software development for free platforms, and to recognize that the aim is to eliminate proprietary software like any anti-social behavior.</li>
</ul>
<p>Please join us in promoting our Working Together for Free Software campaign.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagomadeira.com/working-together-for-free-software/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>fluxbox-ddate no Gentoo</title>
		<link>http://blog.tiagomadeira.com/fluxbox-ddate-no-gentoo/</link>
		<comments>http://blog.tiagomadeira.com/fluxbox-ddate-no-gentoo/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 14:05:07 +0000</pubDate>
		<dc:creator>Tiago Madeira</dc:creator>
				<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[ddate]]></category>
		<category><![CDATA[fluxbox]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[portage]]></category>

		<guid isPermaLink="false">http://blog.tiagomadeira.com/?p=699</guid>
		<description><![CDATA[Criei um ebuild para o Fluxbox com uma USE flag “ddate” baseado no fluxbox-1.1.1-r2 (que é o último ebuild no Portage neste exato momento). Usando ele, é possível ter o calendário santo-discordiano no Fluxbox do Gentoo. Siga os passos abaixo para ter Fluxbox com suporte a ddate no seu Gentoo. Baixando o ebuild e colocando <a href='http://blog.tiagomadeira.com/fluxbox-ddate-no-gentoo/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Criei um ebuild para o Fluxbox com uma USE flag “ddate” baseado no fluxbox-1.1.1-r2 (que é o último ebuild no Portage neste exato momento). Usando ele, é possível ter <a href="http://blog.tiagomadeira.com/calendario-santo-discordiano-no-fluxbox/">o calendário santo-discordiano no Fluxbox do Gentoo</a>.</p>
<p>Siga os passos abaixo para ter Fluxbox com suporte a ddate no seu Gentoo.</p>
<h3>Baixando o ebuild e colocando ele num overlay</h3>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">%</span> <span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>blog.tiagomadeira.com<span style="color: #000000; font-weight: bold;">/</span>portage-fluxbox-1.1.1-<span style="color: #000000;">0</span>.tar.bz2
<span style="color: #000000; font-weight: bold;">%</span> <span style="color: #c20cb9; font-weight: bold;">su</span>
<span style="color: #000000; font-weight: bold;">%</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>portage<span style="color: #000000; font-weight: bold;">/</span>x11-wm
<span style="color: #000000; font-weight: bold;">%</span> <span style="color: #c20cb9; font-weight: bold;">tar</span> xjvf portage-fluxbox-1.1.1-<span style="color: #000000;">0</span>.tar.bz2 <span style="color: #660033;">-C</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>portage<span style="color: #000000; font-weight: bold;">/</span>x11-wm</pre></div></div>

<h3>Modificando o /etc/make.conf pra adicionar suporte ao overlay</h3>
<p>Abra com seu editor preferido (e obviamente como root) o /etc/make.conf e adicione ao final dele:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">PORTDIR_OVERLAY</span>=<span style="color: #ff0000;">&quot;/usr/local/portage&quot;</span></pre></div></div>

<p>Depois disso é necessário rodar um <tt>emerge --sync</tt> (ou <tt>eix-sync</tt> se você usa o eix :))</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">%</span> emerge <span style="color: #660033;">--sync</span></pre></div></div>

<h3>ACCEPT_KEYWORDS e USE flag</h3>
<p>Marquei o pacote como instável. Para usar, se seu /etc/make.conf não tem <em>ACCEPT_KEYWORDS=&#8221;~amd64&#8243;</em> (ou <em>~suaarquitetura</em> se você não usa amd64), edite (criando, caso não exista) o arquivo <tt>/etc/portage/package.keywords</tt> adicionando:</p>
<pre>=x11-wm/fluxbox-1.1.1-r10 ~amd64</pre>
<p>(substitua <em>~amd64</em> por <em>~suaarquitetura</em>)</p>
<p>Se você também não tem uma USE flag “ddate” no /etc/make.conf, é necessário editar o arquivo <tt>/etc/portage/package.use</tt> (também crie se não existir), adicionando:</p>
<pre>x11-wm/fluxbox ddate</pre>
<h3>E agora?</h3>
<p>Basta instalar o Fluxbox usando o emerge, como você faria com qualquer pacote normal:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">%</span> emerge <span style="color: #660033;">-av</span> fluxbox
These are the packages that would be merged, <span style="color: #000000; font-weight: bold;">in</span> order:
&nbsp;
Calculating dependencies... <span style="color: #000000; font-weight: bold;">done</span><span style="color: #000000; font-weight: bold;">!</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>ebuild   U   <span style="color: #7a0874; font-weight: bold;">&#93;</span> x11-wm<span style="color: #000000; font-weight: bold;">/</span>fluxbox-1.1.1-r10  <span style="color: #007800;">USE</span>=<span style="color: #ff0000;">&quot;ddate imlib nls slit toolbar truetype vim-syntax -gnome -newmousefocus -xinerama&quot;</span> <span style="color: #000000;">0</span> kB <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>(note que a versão é 1.1.1-r10 e tem a USE flag <strong>ddate</strong>)</p>
<p>Ele não baixa o pacote inteiro do ddate, mas apenas aplica, além dos patches do Gentoo, um pequeno patch (de umas 40 linhas) que altera o ClockTool.cc.</p>
<p><a href="http://blog.tiagomadeira.com/wp-content/uploads/2010/08/a2.png"><img src="http://blog.tiagomadeira.com/wp-content/uploads/2010/08/a2.png" alt="Screenshot do emerge" width="483" height="338" class="alignnone size-full wp-image-700" /></a></p>
<p>Divirta-se!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagomadeira.com/fluxbox-ddate-no-gentoo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Calendário santo-discordiano no Fluxbox</title>
		<link>http://blog.tiagomadeira.com/calendario-santo-discordiano-no-fluxbox/</link>
		<comments>http://blog.tiagomadeira.com/calendario-santo-discordiano-no-fluxbox/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 03:00:55 +0000</pubDate>
		<dc:creator>Tiago Madeira</dc:creator>
				<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[ddate]]></category>
		<category><![CDATA[discordianismo]]></category>
		<category><![CDATA[fluxbox]]></category>
		<category><![CDATA[fnord]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[x]]></category>

		<guid isPermaLink="false">http://blog.tiagomadeira.com/?p=680</guid>
		<description><![CDATA[Acabei de implementar o calendário santo-discordiano no Fluxbox 1.1.1 (última versão). Link para download do código: fluxbox-ddate-1.1.1-0.tar.bz2 Se você usa Arch Linux, não precisa baixar e compilar manualmente. Basta usar o pkgbuild que o Rev. Beraldo fez para o AUR: aur.archlinux.org/packages.php?ID=40364. Se você usa Gentoo, não precisa baixar e compilar manualmente. Basta colocar o ebuild <a href='http://blog.tiagomadeira.com/calendario-santo-discordiano-no-fluxbox/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Acabei de implementar o <a href="http://www.cabaladada.org/discordiapedia/Calend%C3%A1rio_Santo-Discordiano">calendário santo-discordiano</a> no Fluxbox 1.1.1 (última versão).</p>
<p><strong>Link para download do código:</strong> <a href="http://blog.tiagomadeira.com/fluxbox-ddate-1.1.1-0.tar.bz2">fluxbox-ddate-1.1.1-0.tar.bz2</a></p>
<p>Se você usa <strong>Arch Linux</strong>, não precisa baixar e compilar manualmente. Basta usar o pkgbuild que o <a href="http://www.cabaladada.org/">Rev. Beraldo</a> fez para o AUR: <a href="http://aur.archlinux.org/packages.php?ID=40364">aur.archlinux.org/packages.php?ID=40364</a>.</p>
<p>Se você usa <strong>Gentoo</strong>, não precisa baixar e compilar manualmente. Basta colocar o ebuild que eu fiz num overlay: <a href="http://blog.tiagomadeira.com/fluxbox-ddate-no-gentoo/">fluxbox-ddate no Gentoo</a>.</p>
<p><small>Versões compiladas .deb, .rpm, .tgz etc. e <del>ebuilds</del>, <del>pkgbuilds</del> etc. são bem vindos! Me passem que eu coloco um link aqui!</small></p>
<h3>Como baixar e descompactar</h3>
<p>Como você faria com qualquer outro pacote .tar.bz2&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>blog.tiagomadeira.com<span style="color: #000000; font-weight: bold;">/</span>fluxbox-ddate-1.1.1-<span style="color: #000000;">0</span>.tar.bz2
$ <span style="color: #c20cb9; font-weight: bold;">tar</span> xjvf fluxbox-ddate-1.1.1-<span style="color: #000000;">0</span>.tar.bz2
$ <span style="color: #7a0874; font-weight: bold;">cd</span> fluxbox-ddate-1.1.1-<span style="color: #000000;">0</span></pre></div></div>

<h3>Como compilar</h3>
<p>Versão simples:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ .<span style="color: #000000; font-weight: bold;">/</span>configure
$ <span style="color: #c20cb9; font-weight: bold;">make</span>
$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p>Versão complicada:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CFLAGS</span>=-O2 <span style="color: #660033;">-march</span>=native -msse4.1
$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CXXFLAGS</span>=<span style="color: #007800;">$CFLAGS</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--build</span>=x86_64-pc-linux-gnu <span style="color: #660033;">--host</span>=x86_64-pc-linux-gnu <span style="color: #660033;">--enable-nls</span> <span style="color: #660033;">--disable-xinerama</span> <span style="color: #660033;">--enable-xft</span> <span style="color: #660033;">--disable-gnome</span> <span style="color: #660033;">--enable-imlib2</span> <span style="color: #660033;">--enable-slit</span> <span style="color: #660033;">--enable-toolbar</span> <span style="color: #660033;">--sysconfdir</span>=<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>X11<span style="color: #000000; font-weight: bold;">/</span>fluxbox
$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-j3</span>
$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p>Encontre seu meio termo (ou use a simples) e divirta-se!</p>
<h3>Como iniciar um Fluxbox</h3>
<p>Inicie o X e peça pra ele abrir a versão que você compilou do Fluxbox da seguinte maneira:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ startx <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>fluxbox <span style="color: #660033;">--</span> :<span style="color: #000000;">1</span></pre></div></div>

<p>(Lembre-se de mudar /usr/local para o <tt>--prefix</tt> que usou no ./configure)</p>
<p>Esta linha funciona dentro de uma sessão do X (abre outra), por causa do <tt>-- :1</tt>.</p>
<h3>Como usar a data discordiana</h3>
<p>Clique com a tecla direita no relógio do seu Fluxbox e <strong>Edit clock format</strong>. Se você usar um formato de data convencional, do falso calendário (como deve estar usando no momento), nada de especial acontecerá. O segredo está no <strong>|fnord|</strong>.</p>
<p>Quando você coloca um <strong>|fnord|</strong> no formato, o Fluxbox interpretará tudo que veio antes como formato de data discordiano.</p>
<p><small>(Para escolher o formato de data ideal, você pode digitar <strong>man ddate</strong> num terminal.)</small></p>
<p><em>Exemplos de uso:</em></p>
<ul>
<li>Formato: <strong>%c</strong> → Saída: <strong>Sat 28 Aug 2010 11:50:26 PM BRT</strong></li>
<li>Formato: <strong>%e of %B of %Y|fnord|</strong> → Saída: <strong>21st of Bureaucracy of 3176</strong></li>
<li>Formato: <strong>%d %b %Y|fnord|, %H:%M:%S</strong> → Saída: <strong>21 Bcy 3176, 23:50:26</strong></li>
<li>Formato: <strong>%.|fnord|</strong> → Saída: <strong>All Hail Discordia!</strong></li>
</ul>
<h3>Dúvidas, sugestões?</h3>
<p>Contate a glândula pineal.</p>
<h3>Como funciona o código?</h3>
<p>O Fluxbox usa a função <tt>strftime</tt> para formatar a data do relógio. Isso acontece na linha 274 do arquivo src/ClockTool.cc. Modifiquei este trecho do código adicionando cerca de 23 linhas que separam a string do formato de data no <strong>|fnord|</strong> e passam o que vem antes dele como parâmetro para uma chamada de sistema pro <tt>ddate</tt> (sim, de fato pra próxima versão é melhor copiar o código do ddate ou reimplementar pra não ter este overhead) e o que vem depois continua indo pro <tt>strftime</tt>.</p>
<p>Ficou assim:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">char</span> s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">255</span><span style="color: #008000;">&#93;</span>, u<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">255</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000dd;">strcpy</span><span style="color: #008000;">&#40;</span>s, m_timeformat<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>c_str<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>t <span style="color: #000080;">=</span> <span style="color: #0000dd;">strstr</span><span style="color: #008000;">&#40;</span>s, <span style="color: #FF0000;">&quot;|fnord|&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
time_string_len <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>t <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
	<span style="color: #000040;">*</span>t <span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">sprintf</span><span style="color: #008000;">&#40;</span>u, <span style="color: #FF0000;">&quot;ddate +'%s'&quot;</span>, s<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">FILE</span> <span style="color: #000040;">*</span>ddate <span style="color: #000080;">=</span> popen<span style="color: #008000;">&#40;</span>u, <span style="color: #FF0000;">&quot;r&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">fgets</span><span style="color: #008000;">&#40;</span>time_string, <span style="color: #0000dd;">255</span>, ddate<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
		time_string_len <span style="color: #000080;">=</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>time_string<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		time_string<span style="color: #008000;">&#91;</span><span style="color: #000040;">--</span>time_string_len<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #FF0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">fclose</span><span style="color: #008000;">&#40;</span>ddate<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	t<span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">7</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span> <span style="color: #0000ff;">else</span> <span style="color: #008000;">&#123;</span>
	t <span style="color: #000080;">=</span> s<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
time_string_len<span style="color: #000040;">+</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">strftime</span><span style="color: #008000;">&#40;</span><span style="color: #000040;">&amp;</span>time_string<span style="color: #008000;">&#91;</span>time_string_len<span style="color: #008000;">&#93;</span>, <span style="color: #0000dd;">255</span> <span style="color: #000040;">-</span> time_string_len, t, time_type<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>

<h3>Known bugs</h3>
<ol>
<li>Colocar &#8216; (aspas simples) no lado esquerdo do |fnord| faz com que a data discordiana não apareça.</li>
<li>Requer <a href="http://www.kernel.org/pub/linux/utils/util-linux-ng/">util-linux-ng</a> e faz uma chamada de sistema ao <em>ddate</em> uma vez por segundo.</li>
<li>Não trabalha ainda com <a href="http://www.cabaladada.org/discordiapedia/Horas_M%C3%A9tricas">horas métricas</a>.</li>
<li><em>&#8230; me informe se achar mais algum!</em></li>
</ol>
<h3>Screenshots</h3>
<style type="text/css"> img.screenshot { border:solid 5px #ccc; } </style>
<p><img src="http://blog.tiagomadeira.com/wp-content/uploads/2010/08/a1.png" alt="Screenshot 0" width="258" height="92" class="screenshot alignnone size-full wp-image-692" /></p>
<p><a href="http://blog.tiagomadeira.com/wp-content/uploads/2010/08/b.png"><img src="http://blog.tiagomadeira.com/wp-content/uploads/2010/08/b.png" alt="Screenshot 1" width="247" height="83" class="screenshot alignnone size-full wp-image-693" /></a></p>
<p><a href="http://blog.tiagomadeira.com/wp-content/uploads/2010/08/c.png"><img src="http://blog.tiagomadeira.com/wp-content/uploads/2010/08/c.png" alt="Screenshot 2" width="237" height="67" class="screenshot alignnone size-full wp-image-694" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagomadeira.com/calendario-santo-discordiano-no-fluxbox/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Parceria USP-Microsoft?</title>
		<link>http://blog.tiagomadeira.com/parceria-usp-microsoft/</link>
		<comments>http://blog.tiagomadeira.com/parceria-usp-microsoft/#comments</comments>
		<pubDate>Sat, 01 May 2010 16:55:32 +0000</pubDate>
		<dc:creator>Tiago Madeira</dc:creator>
				<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[ballmer]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[São Paulo]]></category>
		<category><![CDATA[telecentro]]></category>
		<category><![CDATA[universidade]]></category>

		<guid isPermaLink="false">http://blog.tiagomadeira.com/?p=638</guid>
		<description><![CDATA[A notícia da visita de Steve Ballmer à USP me preocupou, em especial seu último parágrafo: Para Massambani, a Microsoft pode acelerar os processos e alavancar os projetos já existentes no desenvolvimento de processos de criatividade na área digital, laboratório de criatividade e inovação. “A Microsoft pode ajudar a USP em projetos relacionados com infraestrutura, <a href='http://blog.tiagomadeira.com/parceria-usp-microsoft/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www4.usp.br/index.php/tecnologia/18862-presidente-da-microsoft-visita-usp-e-ministra-palestra-a-comunidade-universitaria">notícia da visita de Steve Ballmer à USP</a> me preocupou, em especial seu último parágrafo:</p>
<blockquote><p>Para Massambani, a Microsoft pode acelerar os processos e alavancar os projetos já existentes no desenvolvimento de processos de criatividade na área digital, laboratório de criatividade e inovação. “A Microsoft pode ajudar a USP em projetos relacionados com infraestrutura, suporte, educação, sociocultural, servindo como popularização da ciência, inclusão social e digital. As duas podem cooperar para o desenvolvimento de pesquisas, capital intelectual e responsabilidade social”, considera.</p></blockquote>
<p>A Microsoft tem esse costume (que o Sérgio Amadeu chama de “prática de traficante”) de oferecer a governos, universidades e mesmo a professores individualmente dinheiro, laboratórios, computadores e licenças do seu sistema operacional com esse discurso de inclusão digital e educação; criar dependentes.</p>
<p>Inclusão digital e social com um software que custa mais que o salário mínimo não é inclusão. Educação sem acesso ao código não é educação; é como ensinar a fórmula da soma de progressão aritmética sem permitir que o estudante saiba de onde ela vem ou criar cozinheiros ensinando a colocar lasanha da Sadia no micro-ondas. Popularização da ciência? Que ciência? A única popularização que vejo é da marca de uma empresa internacionalmente conhecida por sua política imperialista e por monopólio.</p>
<p>Desenvolvimento de pesquisa <ins>pra terceiros</ins> é capital intelectual <ins>desperdiçado</ins>. Por isso, essa parceria é o que eu chamo de <ins>ir</ins>responsabilidade social. É um erro uma universidade pública abrir as portas pra esse tipo de negócio que deseduca, desvirtua e vicia a sociedade.</p>
<p>Se a Microsoft quer tanto assim um mundo melhor e leva a sério seu próprio discurso de querer ver a população de São Paulo incluída digitalmente, sugiro que doe dinheiro aos telecentros paulistas sem esperar nada em troca.</p>
<p><small>Já tinha escrito <a href="http://adolfont.posterous.com/interessante-sequencia-de-tuites-de-tmadeira">um resumo disso</a> no <a href="http://twitter.com/tmadeira">Twitter</a>, mas achei conveniente repetir aqui.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagomadeira.com/parceria-usp-microsoft/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Meu projeto para o GSoC</title>
		<link>http://blog.tiagomadeira.com/meu-projeto-para-o-gsoc/</link>
		<comments>http://blog.tiagomadeira.com/meu-projeto-para-o-gsoc/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 15:06:33 +0000</pubDate>
		<dc:creator>Tiago Madeira</dc:creator>
				<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[g-pear]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[summer of code]]></category>

		<guid isPermaLink="false">http://blog.tiagomadeira.com/?p=141</guid>
		<description><![CDATA[Acabei de enviar um projeto para o Google Summer of Code: Escrever um software chamado &#8220;G-PEAR&#8221; para instalar pacotes do PEAR de uma forma mais gentooniana (análogo ao G-CPAN para o CPAN). A idéia é de Anant Narayanan e li na wiki do Gentoo. Ainda em abril meu projeto será avaliado. Download: G-PEAR Project (inglês, <a href='http://blog.tiagomadeira.com/meu-projeto-para-o-gsoc/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Acabei de enviar um projeto para o Google Summer of Code: Escrever um software chamado &#8220;G-PEAR&#8221; para instalar pacotes do <a href="http://pear.php.net/">PEAR</a> de uma forma mais <em>gentooniana</em> (análogo ao <a href="http://www.gentoo.org/proj/en/perl/g-cpan.xml">G-CPAN</a> para o CPAN).</p>
<p>A idéia é de Anant Narayanan e li na <a href="http://en.gentoo-wiki.com/wiki/Google_Summer_of_Code_2009_ideas#Write_G-PEAR_.28inspired_by_G-CPAN.29">wiki do Gentoo</a>. Ainda em abril meu projeto será avaliado.</p>
<p><strong>Download</strong>: <a href='http://blog.tiagomadeira.com/wp-content/uploads/2009/04/g-pear.pdf'>G-PEAR Project</a> (inglês, pdf, 84kb)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagomadeira.com/meu-projeto-para-o-gsoc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

