<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Felipe Contreras</title>
	<atom:link href="http://felipec.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://felipec.wordpress.com</link>
	<description>Personal blog of Felipe Contreras</description>
	<lastBuildDate>Fri, 03 Jul 2009 20:21:09 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/80f75e5efcbd97c30cb31191044a7f1e?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Felipe Contreras</title>
		<link>http://felipec.wordpress.com</link>
	</image>
			<item>
		<title>libmtag-0.3.0: moved to git</title>
		<link>http://felipec.wordpress.com/2009/07/03/libmtag-0-3-0-moved-to-git/</link>
		<comments>http://felipec.wordpress.com/2009/07/03/libmtag-0-3-0-moved-to-git/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 15:23:37 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[libmtag]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[tagging]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=341</guid>
		<description><![CDATA[I finally managed some time to make another libmtag release. This is mostly tiding up the code, cleanups, new codestyle, building improvements and moved to github  
Also some handy features:

strip tag: now you can remove say id3v1 tags while keeping id3v2 intact
get specific tag: similarly, you can retrieve only id3v2 information
get all: this function [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=341&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I finally managed some time to make another libmtag release. This is mostly tiding up the code, cleanups, new codestyle, building improvements and moved to github <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Also some handy features:</p>
<ul>
<li>strip tag: now you can remove say id3v1 tags while keeping id3v2 intact</li>
<li>get specific tag: similarly, you can retrieve only id3v2 information</li>
<li>get all: this function might is useful for some UIs, specify some callback, and get all the tags <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>I wonder why not so many people are using this, is there a better tagging library?</p>
<p>Any packagers interested?</p>
<p><a href="http://code.google.com/p/libmtag/">Grab it</a> while it&#8217;s hot <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/341/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=341&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/07/03/libmtag-0-3-0-moved-to-git/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>
	</item>
		<item>
		<title>New adium build with msn-pecan 0.0.19</title>
		<link>http://felipec.wordpress.com/2009/06/28/new-adium-build-with-msn-pecan-0-0-19/</link>
		<comments>http://felipec.wordpress.com/2009/06/28/new-adium-build-with-msn-pecan-0-0-19/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 18:41:05 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[IM]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[adium]]></category>
		<category><![CDATA[msn-pecan]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=337</guid>
		<description><![CDATA[Thanks to Devid, we now have a build of Adium with msn-pecan, see the announcement at cocoaforge.
Enjoy  
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=337&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Thanks to <a href="https://launchpad.net/~d.filoni">Devid</a>, we now have a build of Adium with msn-pecan, see the announcement at <a href="http://forums.cocoaforge.com/viewtopic.php?f=10&amp;t=20270">cocoaforge</a>.</p>
<p>Enjoy <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/337/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/337/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=337&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/06/28/new-adium-build-with-msn-pecan-0-0-19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>
	</item>
		<item>
		<title>msn-pecan 0.0.19 released, more stability and &#8220;now playing&#8221; support</title>
		<link>http://felipec.wordpress.com/2009/06/16/msn-pecan-0-0-19-released-more-stability-and-now-playing-support/</link>
		<comments>http://felipec.wordpress.com/2009/06/16/msn-pecan-0-0-19-released-more-stability-and-now-playing-support/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 09:51:11 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[msn]]></category>
		<category><![CDATA[msn-pecan]]></category>
		<category><![CDATA[pidgin]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=329</guid>
		<description><![CDATA[This is mostly a bugfix release that should make msn-pecan much more stable. Bug also brings some nice features such as &#8220;now playing&#8221; support.
Everyone is encouraged to update.

I&#8217;ve been busy with other projects so I have not been able to work as
much as I would have wanted, but all in all, this is a good [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=329&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This is mostly a bugfix release that should make msn-pecan much more stable. Bug also brings some nice features such as &#8220;now playing&#8221; support.</p>
<p>Everyone is encouraged to update.</p>
<p><!-- more --></p>
<p>I&#8217;ve been busy with other projects so I have not been able to work as<br />
much as I would have wanted, but all in all, this is a good release.</p>
<p>The features (thanks to Devid) include support for &#8220;now<br />
playing&#8221; (ported from libpurple), and a new way to be notified when a<br />
contact has deleted you (you&#8217;ll see on the conversation window). Also,<br />
some issues in Adium were fixed, so we will probably roll an Adium<br />
build with msn-pecan enabled.</p>
<p>I&#8217;ve updated my system so it might take a while before the win32<br />
binaries are uploaded, anyone willing to take this one?</p>
<p>Download from the usual place at <a href="http://code.google.com/p/msn-pecan/downloads/list">googe code</a>.</p>
<h3>Bugs fixed</h3>
<ul>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=99">99</a> Unable to retrieve display pictures when invisible or logged as invisible</li>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=109">109</a> Protocol priority</li>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=120">120</a> Aliases not cleared properly</li>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=133">133</a> pidgin crashed with SIGSEGV in msn_message_destroy()</li>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=154">154</a> Pidgin Randomly Crashes</li>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=135">135</a> russian translation doesn&#8217;t work</li>
</ul>
<h3>Enhancements</h3>
<ul>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=140">140</a> Support for &#8220;Now Playing&#8221; status field</li>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=129">129</a> Can&#8217;t verify installation, or uninstall</li>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=124">124</a> Notify when deleted by a contact</li>
</ul>
<h3>Taks</h3>
<ul>
<li><a href="http://code.google.com/p/msn-pecan/issues/detail?id=121">121</a> Make dbg package for the launchpad repo</li>
</ul>
<h2>Diffstat</h2>
<pre>
105 files changed, 1295 insertions(+), 749 deletions(-)
</pre>
<h2>Contributors to this release</h2>
<pre>
Albert Cervin (1):
     po: update Swedish translation

Devid Antonio Filoni (14):
     Fix use_userdisplay option using Adium.
     Change PACKAGE to GETTEXT_PACKAGE.
     Translate msn-pecan also using Adium.
     Fix use server alias option
     Move utils/msgplustags.{c,h} to pecan_util.{c,h}.
     Update COPYRIGHT.
     Add PURPLE_STATUS_TUNE support and parse contacts's CurrentMedia.
     Update MsnClientCaps in msn.h.
     Add "Has Space" to get_info.
     Show "You are not in A's contact list" message opening a conv
window if needed.
     Set the passport also to session-&gt;user.
     ab/pecan_contact.c: cleanup.
     slp: destroy object at the right time
     po: update Italian translation

Elias Julkunen (1):
     po: update Finnish translation

Felipe Contreras (44):
     Cleanup login steps.
     Show up 'connecting' state.
     session: Cleanups.
     Trivial cleanups.
     Cleanup configuration stuff.
     session: Random cleanups.
     Remove bad Russian translation.
     cmdproc: trivial cleanup
     slpcall: avoid extra error cb call
     status: trivial cleanups
     status: improve "available" state mapping
     Trivial cleanups
     userdisplay: report failure
     Log general server notifications
     Makefile: add debugging symbols by default
     session: destroy ud manager after freeing slplinks
     contact: store pecan status instead of pidgin one
     Reorganize how bad statuses are handled
     notification: store user state
     contaclist: add function foreach_contact
     Get user displays when returning from 'hidden' state
     status: trivial cleanup
     contact: use "invisible" for the HIDDEN status
     Use pidgin mobile status only when offline
     Update copyright notices
     command: trivial cleanups
     command: remove unused refcount
     command: general cleanups
     contact: enable workaround for server aliases
     fix_purple: trivial cleanups
     fix_purple: rename purple_buddy_set functions
     Reorganize switchboard handling.
     Close the http node when not needed.
     Make sure the switchboard is not freed when it's still used by slplink.
     transaction: trivial cleanup
     transaction: add ref/unref
     Properly ref/unref transactions
     transaction: fix initial ref_count
     sb: set error properly
     Fix wrong memory access
     Optimize GType retrieval
     Fix SLP DATA message creation
     po: general translation updates
     Bump version to 0.0.19

Geoffrey Antos (1):
     slplink: fix buffer overflow vulnerability

Luís Neto (1):
     po: update Portuguese translation

Wei Hsiang Hung (1):
     po: update Traditional Chinese translation
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/329/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/329/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/329/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=329&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/06/16/msn-pecan-0-0-19-released-more-stability-and-now-playing-support/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>
	</item>
		<item>
		<title>Response to Christian Schaller — Google, the LGPL and software patents</title>
		<link>http://felipec.wordpress.com/2009/06/13/response-to-christian-schaller-%e2%80%94-google-the-lgpl-and-software-patents/</link>
		<comments>http://felipec.wordpress.com/2009/06/13/response-to-christian-schaller-%e2%80%94-google-the-lgpl-and-software-patents/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 09:05:36 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[fsf]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[lgpl]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=324</guid>
		<description><![CDATA[I read Christian Schaller&#8217;s post which says essentially that Google is evil because it&#8217;s using FFmpeg in Chromium and arguing the legality of it by using an unusual interpretation of LGPL. because Google is using an unusual interpretation of LGPL.
Let&#8217;s step back for a second and see this through the point of view of FFmpeg [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=324&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I read <a href="http://blogs.gnome.org/uraeus/2009/06/11/google-the-lgpl-and-software-patents/comment-page-1/">Christian Schaller&#8217;s post</a> which says essentially that Google is evil because it&#8217;s using FFmpeg in Chromium and arguing the legality of it <del datetime="2009-06-13T12:15:04+00:00">by using an unusual interpretation of LGPL.</del> because Google is using an unusual interpretation of LGPL.</p>
<p>Let&#8217;s step back for a second and see this through the point of view of FFmpeg developers. Probably they, just like any other FOSS developer, just want to code kick-ass software, and the license (LGPL) is just a tool to make sure their software is not stolen, so if a company chooses to use FFmpeg, they must contribute the changes back.</p>
<p>Google is contributing back their changes, they are publicly available in <a href="http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/ffmpeg/">their repo</a>. So how could FFmpeg developers loose? Their code will be used in an amazing product, that they will probably use too, it&#8217;s a win-win situation. This subject was <a href="http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-June/070607.html">brought up on the mailing list </a> and nobody complained; Chromium is not listed in FFmpeg&#8217;s <a href="http://www.ffmpeg.org/shame.html">hall of shame</a>.</p>
<p>Now, is it legal? The only way to know is to bring the issue to court and see the resolution, but who will bring this to court? FFmpeg developers? No. Perhaps H.264 patent holders, but only in countries with wicked patent laws (USA), and who cares about them? If Google looses in court against H.264 patent holders, I wouldn&#8217;t consider it evil, quite the contrary.</p>
<p>And finally, Google lawyers said that what the FSF thinks about this movement is irrelevant&#8230; damn right! They wrote the license, so? FFmpeg choose the license, and FFmpeg can choose another license if they so wish, in fact, they can re-license to Google in any other license they see fit because they have the copyright. Of course there&#8217;s no need for that because LGPL works fine, and the explanation of Google lawyers is completely logical to me.</p>
<p>Personally I cheer the Google Chromium team for such a bold movement, and congratulate FFmpeg developers for making kick-ass software that might soon be even more widely used.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/324/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/324/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=324&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/06/13/response-to-christian-schaller-%e2%80%94-google-the-lgpl-and-software-patents/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>
	</item>
		<item>
		<title>Installing scratchbox 1 and 2 for ARM cross-compilation</title>
		<link>http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/</link>
		<comments>http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 12:04:49 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[qemu]]></category>
		<category><![CDATA[scratchbox]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=299</guid>
		<description><![CDATA[Hi,
I&#8217;ve tried many different cross-compilation methods and so far scratchbox is the simplest and most effective. Here I&#8217;ll try to introduce the benefits of using it, and how to get started as simply as possible.
Intro
If you are not familiar with scratchbox; it&#8217;s a cross-compilation toolkit which allows you to use native tools (gcc, binutils, perl) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=299&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>I&#8217;ve tried many different cross-compilation methods and so far scratchbox is the simplest and most effective. Here I&#8217;ll try to introduce the benefits of using it, and how to get started as simply as possible.</p>
<h2>Intro</h2>
<p>If you are not familiar with scratchbox; it&#8217;s a cross-compilation toolkit which allows you to use native tools (gcc, binutils, perl) when possible and emulate the target through qemu when needed.</p>
<p>It&#8217;s needed because of autotools; have you seen these checks?<br />
<code>checking whether the C compiler works... yes</code></p>
<p>The <b>configure</b> script actually compiles a small program and then runs it to validate it&#8217;s working, and sometimes extract information, such a the size of certain structures which might be different depending on the platform. If you tell &#8216;configure&#8217; that you are cross-compiling it will go through a different path (which is much less tested) and ultimately will end up with wrong information that you need to correct.</p>
<p><a href="http://wiki.openembedded.net/index.php/Main_Page">OpenEmbedded</a> and other distributions go through each and every package, make sure cross-compilation works, sometimes patching <b>configure.ac</b>, and often providing some information that normally would be obtained by running some test program.</p>
<p>This is an example of a typical GLib cross-compilation<br />
<code>./configure ---host=arm-linux --build=i386-linux</code></p>
<p>You&#8217;ll see something like:</p>
<pre>checking whether the C compiler works... yes
checking whether we are cross compiling... yes</pre>
<p></p>
<p>And then:</p>
<pre>checking for growing stack pointer... configure: error: in `glib-2.20.3':
configure: error: cannot run test program while cross compiling</pre>
<p></p>
<p>Of course, &#8216;configure&#8217; has no way of knowing whether the stack grows on this particular platform. So you need to tell him yourself by creating an <b>arm-linux.cache</b> file like this:<br />
<code>glib_cv_stack_grows=no</code></p>
<p>And then running:<br />
<code>./configure --host=arm-linux --build=i386-linux --cache-file=arm-linux.cache</code></p>
<p>Of course that is not enough, you need to specify more:<br />
<code>glib_cv_stack_grows=no<br />
glib_cv_uscore=no<br />
ac_cv_func_posix_getgrgid_r=yes<br />
ac_cv_func_posix_getpwuid_r=yes</code></p>
<p>And then the compilation fails because I don&#8217;t have glib-genmarshal in my system, and it&#8217;s needed by the build. Normally it&#8217;s compiled and run in the build, but now we can&#8217;t do that.</p>
<p>All these problems disappear with scratchbox.</p>
<h2>Installing scratchbox 1</h2>
<p>Many people think it&#8217;s difficult to install, but it&#8217;s not. Just follow these easy steps:</p>
<h3>install</h3>
<p>Download the basic packages:<br />
<code>wget -c http://scratchbox.org/download/files/sbox-releases/apophis/tarball/scratchbox-core-1.0.14-i386.tar.gz<br />
wget -c http://scratchbox.org/download/files/sbox-releases/apophis/tarball/scratchbox-libs-1.0.14-i386.tar.gz<br />
wget -c http://scratchbox.org/download/files/sbox-releases/apophis/tarball/scratchbox-devkit-qemu-0.10.0-0sb5-i386.tar.gz<br />
wget -c http://scratchbox.org/download/files/sbox-releases/apophis/tarball/scratchbox-toolchain-cs2007q3-glibc2.5-arm7-1.0.12-9-i386.tar.gz<code></p>
<p>Extract them:<br />
<code>sudo tar -xf /tmp/sb/scratchbox-core-1.0.14-i386.tar.gz -C /opt<br />
sudo tar -xf /tmp/sb/scratchbox-libs-1.0.14-i386.tar.gz -C /opt<br />
sudo tar -xf /tmp/sb/scratchbox-devkit-qemu-0.10.0-0sb5-i386.tar.gz -C /opt<br />
sudo tar -xf /tmp/sb/scratchbox-toolchain-cs2007q3-glibc2.5-arm7-1.0.12-9-i386.tar.gz -C /opt</code></p>
<p>Setup scratchbox, and add your user:<br />
<code>sudo /opt/scratchbox/run_me_first.sh<br />
sudo /opt/scratchbox/sbin/sbox_adduser $USER yes</code></p>
<p>You'll need to re-login to be in the <b>sbox</b> group and have proper permissions:<br />
<code>sudo su $USER</code></p>
<h3>target</h3>
<p>Finally, setup an <b>armv7</b> target (you can have multiple targets inside scratchbox):<br />
<code>/opt/scratchbox/tools/bin/sb-conf setup armv7 --force --compiler="cs2007q3-glibc2.5-arm7" --devkits="qemu" --cputransp="qemu-arm-sb"<br />
/opt/scratchbox/tools/bin/sb-conf select armv7<br />
/opt/scratchbox/tools/bin/sb-conf install armv7 --clibrary --devkits --fakeroot --etc</code></p>
<p>That's it, you have scratchbox setup <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I explicitly mentioned all the commands, but instead you can <a href="http://gist.github.com/13986">run this script</a> that I wrote.</p>
<h3>start</h3>
<p>Before running scratchbox you'll need to do some steps as root:<br />
<code>echo 0 &gt; /proc/sys/vm/vdso_enabled<br />
echo 4096 &gt; /proc/sys/vm/mmap_min_addr<br />
/opt/scratchbox/sbin/sbox_ctl start</code></p>
<p>And then as user:<br />
<code>/opt/scratchbox/login</code></p>
<p>This will get you to this screen:</p>
<pre>Welcome to Scratchbox, the cross-compilation toolkit!

Use 'sb-menu' to change your compilation target.
See /scratchbox/doc/ for documentation.

[sbox-armv7: ~] &gt; </pre>
<p></p>
<p>Now if you want to cross-compile GLib, you do it as in your PC:<br />
<code>./configure &amp;&amp; make install</code></p>
<p><b>Much</b> easier, now scratchbox does all the magic <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h2>Scratchbox 2</h2>
<p>Scratchbox 1 serves it's purpose, but there are many corner-cases where things get overly complicated so people came up with a much more elegant approach: Scratchbox 2.</p>
<p>In sb1 you need to login to a <b>target</b> (e.g. armv7, armv6, fremantle, diablo, etc.) in order to do anything, you can use only one target at a time, and each target is independent, in order to share tools between targets you need a devkit. Also, toolchains must be packaged in a special way.</p>
<p>In sb2, you don't login, you can setup any toolchain easily, you can use multiple targets at the same time, and you can configure it to do pretty much anything you want.</p>
<h3>QEMU</h3>
<p>sb2 doesn't include QEMU, you must have it already, this is how I compile it:<br />
<code>git clone git://git.savannah.nongnu.org/qemu.git<br />
cd qemu<br />
git checkout -b stable v0.10.5<br />
./configure --prefix=/opt/qemu --target-list=arm-linux-user<br />
make install</code></p>
<h3>sbox2</h3>
<p>Compile and install like this:<br />
<code>git clone git://anongit.freedesktop.org/git/sbox2<br />
cd sbox2<br />
./configure --prefix=/opt/sb2<br />
make install</code></p>
<p>Add sb2 to the PATH:<br />
<code>export PATH=/opt/sb2/bin:$PATH</code></p>
<h3>target</h3>
<p>Now it's time to configure a target, I have a <a href="http://www.codesourcery.com/sgpp/lite/arm">CodeSourcery</a> toolchain installed on <b>/opt/arm-2008q3</b>, so:<br />
<code>cd /opt/arm-2008q3/arm-none-linux-gnueabi/libc/<br />
sb2-init -c /opt/qemu/bin/qemu-arm armv7 /opt/arm-2008q3/bin/arm-none-linux-gnueabi-gcc</code></p>
<p>You don't need to log-in, just prefix your commands with <b>sb2</b> to do the magic:<br />
<code>sb2 ./configure --prefix=/opt/arm/</code></p>
<p>If you want to use a different target just use the <b>-t</b> option:<br />
<code>sb2 -t armv8 ./configure --prefix=/opt/arm/</code></p>
<p>How cool is that?</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/299/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=299&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/06/07/installing-scratchbox-1-and-2-for-arm-cross-compilation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>
	</item>
		<item>
		<title>C programming hints and code-style (part 1)</title>
		<link>http://felipec.wordpress.com/2009/05/27/c-programming-hints-and-code-style-part-1/</link>
		<comments>http://felipec.wordpress.com/2009/05/27/c-programming-hints-and-code-style-part-1/#comments</comments>
		<pubDate>Wed, 27 May 2009 20:00:47 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=283</guid>
		<description><![CDATA[Over the years I&#8217;ve had to deal with many different coding styles (can something without style be called style?). Here is a list of no-brainer tips that every C programmer should be aware of.
Hints
Update:
Have a copy of the C99 spec handy
Don&#8217;t scratch your head when you are not sure if a function is part of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=283&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Over the years I&#8217;ve had to deal with many different coding styles (can something without style be called style?). Here is a list of no-brainer tips that every C programmer should be aware of.</p>
<h2>Hints</h2>
<p><b>Update:</b></p>
<h3>Have a copy of the C99 spec handy</h3>
<p>Don&#8217;t scratch your head when you are not sure if a function is part of the standard, and what is the expected behavior, open the spec an check by yourself: <a href="http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf">here</a>.</p>
<h3>free() can receive NULL</h3>
<p>There&#8217;s no need to do:</p>
<p><code>if (pointer)<br />
    free(pointer);</code></p>
<p>This works fine:<br />
<code>free(pointer);</code></p>
<p>Therefore if you write a struc_free function it makes sense to allow NULL as an argument.</p>
<h3>There&#8217;s no need to cast a void *</h3>
<p><code>tmp = (EXTEREMELY_UGLY_TYPE *) malloc(10);</code></p>
<p><code>malloc()</code> returns a <code>void *</code> there&#8217;s no need to cast those:</p>
<p><code>tmp = malloc(10);</code></p>
<h3>sizeof can receive a variable</h3>
<p><code>size = sizeof(EXTEREMELY_UGLY_TYPE);</code></p>
<p>No need to burden yourself with that:</p>
<p><code>size = sizeof(tmp);</code></p>
<p>If <b>tmp</b> is a pointer you can do <code>sizeof(*tmp)</code> and so on.</p>
<h3>Avoid big macros</h3>
<p>Have you seen horrendous code like this?</p>
<pre name="code" class="c">

#define ERROR(e, code, text) \
G_STMT_START { \
  if ((text)) \
    GST_WARNING_OBJECT ((e), &quot;error: %s&quot;, (text)); \
  gst_element_message (GST_ELEMENT((e)), GST_MESSAGE_ERROR, \
    GST_STREAM_ERROR, (code)); \
} G_STMT_END
</pre>
<p>It&#8217;s much cleaner to use an inline function:</p>
<pre name="code" class="c">

static inline void send_error(GstElement *e, int code, const char *text)
{
  if (text)
    GST_WARNING_OBJECT(e, &quot;error: %s&quot;, text);
  gst_element_message(e, GST_MESSAGE_ERROR, GST_STREAM_ERROR, code);
}
</pre>
<p>Yes, you can put inline functions in header files.</p>
<h3>C99 is your friend</h3>
<p>C99 has nice types such as <b>bool</b> (<b>true</b> and <b>false</b>), <b>uint32_t</b> and similar int types. Also these beauties:</p>
<pre name="code" class="c">

static struct device = {
 .base = 0x480bd400,
 .irq = 24,
 .pdata = {
  .name = &quot;isp&quot;,
  .nr_tlb_entries = 8,
  .clk_name = &quot;cam_ick&quot;,
 },
};
</pre>
<p>I don&#8217;t even want to imagine how horrible the code would look for C89.</p>
<p>Those are the ones I can think about, any suggestions? On the next part I&#8217;ll about code-style <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/283/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/283/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/283/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=283&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/05/27/c-programming-hints-and-code-style-part-1/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>
	</item>
		<item>
		<title>How to explain FOSS to normal people, or: What does mountain bikes, rap music, and FOSS have in common?</title>
		<link>http://felipec.wordpress.com/2009/05/03/how-to-explain-foss-to-normal-people-or-what-does-mountain-bikes-rap-music-and-foss-have-in-common/</link>
		<comments>http://felipec.wordpress.com/2009/05/03/how-to-explain-foss-to-normal-people-or-what-does-mountain-bikes-rap-music-and-foss-have-in-common/#comments</comments>
		<pubDate>Sun, 03 May 2009 21:01:40 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Future]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[ted]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=271</guid>
		<description><![CDATA[Amazing talk: Charles Leadbeater: The rise of the amateur professional

These are my favorite quotes:

How do we organize ourselves without organizations? &#8230; You don&#8217;t need an organization to be organized.
One of the reasons [this view] is wrong, is that the ideas are flowing back up the pipeline. The ideas are coming back from the consumers, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=271&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Amazing talk: <a href="http://en.wikipedia.org/wiki/Charles_Leadbeater">Charles Leadbeater</a>: <a href="http://www.ted.com/index.php/talks/charles_leadbeater_on_innovation.html">The rise of the amateur professional</a><br />
<span style="text-align:center; display: block;"><a href="http://felipec.wordpress.com/2009/05/03/how-to-explain-foss-to-normal-people-or-what-does-mountain-bikes-rap-music-and-foss-have-in-common/"><img src="http://img.youtube.com/vi/W7raJeMpyM0/2.jpg" alt="" /></a></span></p>
<p>These are my favorite quotes:</p>
<ul>
<li>How do we organize ourselves without organizations? &#8230; You don&#8217;t need an organization to be organized.</li>
<li>One of the reasons [this view] is wrong, is that the ideas are flowing back up the pipeline. The ideas are coming back from the consumers, and they&#8217;re often ahead of the producers.</li>
<li>Big corporations have an in-built tendency to reinforce past success. They&#8217;ve got so much sunk in it, that it&#8217;s very difficult for them to spot new markets. Emerging new markets then, are the breeding grounds for passionate users.</li>
<li>What we are seeing is a complete corruption of the ideal of patents and copyrights; meant to be a way to incentivize innovation, meant to be a way orchestrate the dissemination of knowledge. They are increasingly being used by large companies to create thickets of patents to prevent innovation taking place.</li>
<li>The reason why despite all the efforts to cut it down, to constrain it, to hold it back&#8230; why these open models will still start emerging with tremendous force, is that <strong>they multiply our productive resources</strong>, and one of the reasons they do that is that they turn users into producers, consumers into designers.</li>
</ul>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/271/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=271&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/05/03/how-to-explain-foss-to-normal-people-or-what-does-mountain-bikes-rap-music-and-foss-have-in-common/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/W7raJeMpyM0/2.jpg" medium="image" />
	</item>
		<item>
		<title>OMAP3 public DSP binaries now work</title>
		<link>http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/</link>
		<comments>http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 00:45:55 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[beagleboard]]></category>
		<category><![CDATA[gst-openmax]]></category>
		<category><![CDATA[gstreamer]]></category>
		<category><![CDATA[omap]]></category>
		<category><![CDATA[openmax]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=267</guid>
		<description><![CDATA[It took some time but finally tiopenmax 0.3.5 was released. It&#8217;s essentially 0.3 plus DSP binaries that actually work.
I verified with gst-openmax (git omap branch) and they work just fine   Thanks Daniel Díaz!
So people with OMAP3 hardware (beagleboard) can already try D1 MPEG-4 decoding using less than 15% of CPU. If you missed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=267&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It took some time but finally tiopenmax 0.3.5 was <a href="https://omapzoom.org/gf/project/openmax/frs/">released</a>. It&#8217;s essentially 0.3 plus DSP binaries that actually work.</p>
<p>I verified with gst-openmax (git omap branch) and they work just fine <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Thanks Daniel Díaz!</p>
<p>So people with OMAP3 hardware (beagleboard) can already try D1 MPEG-4 decoding using less than 15% of CPU. If you missed the demo, here it is:</p>
<p><span style="text-align:center; display: block;"><a href="http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/"><img src="http://img.youtube.com/vi/EH4ZSpehNQw/2.jpg" alt="" /></a></span></p>
<p>All the information was available in my previous <a href="http://felipec.wordpress.com/2008/12/12/gst-openmax-demo-on-the-beagleboard/">post</a>. One minor update is that I&#8217;ve made a tag (v2.6.28-tidspbridge) to the linux-omap tree on my <a href="http://github.com/felipec/linux-omap">github repo</a> to make it extra easy for people to compile a stable kernel with the dsp-bridge driver. There&#8217;s many DSP fixes available and some performance improvements which are not in this tag, but I&#8217;ll make sure they are once 2.6.29-omap1 is tagged.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/267/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/267/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/267/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=267&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/03/26/omap3-public-dsp-binaries-now-work/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/EH4ZSpehNQw/2.jpg" medium="image" />
	</item>
		<item>
		<title>100,000 views, and some stats</title>
		<link>http://felipec.wordpress.com/2009/03/20/100000-views-and-some-stats/</link>
		<comments>http://felipec.wordpress.com/2009/03/20/100000-views-and-some-stats/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 23:56:33 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[IM]]></category>
		<category><![CDATA[Planet]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=258</guid>
		<description><![CDATA[Well, it seems 100k views is a good milestone to talk about some stats of my blog, so here they are. I&#8217;m also trying to understand what are the sources of the traffic and how you might increase your viewers too.
General stats

Total views: 102,436
Busiest day: 1,903 — Monday, January 12, 2009
Views today: 112
Posts: 110
Comments: 458
Spam: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=258&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Well, it seems 100k views is a good milestone to talk about some stats of my blog, so here they are. I&#8217;m also trying to understand what are the sources of the traffic and how you might increase your viewers too.</p>
<div id="attachment_260" class="wp-caption aligncenter" style="width: 659px"><img src="http://felipec.files.wordpress.com/2009/03/blog-grow.png?w=649&#038;h=277" alt="Blog grow graph" title="blog-grow" width="649" height="277" class="size-full wp-image-260" /><p class="wp-caption-text">Blog grow graph</p></div>
<h2>General stats</h2>
<ul>
<li><strong>Total views</strong>: 102,436</li>
<li><strong>Busiest day</strong>: 1,903 — Monday, January 12, 2009</li>
<li><strong>Views today</strong>: 112</li>
<li><strong>Posts</strong>: 110</li>
<li><strong>Comments</strong>: 458</li>
<li><strong>Spam</strong>: 21,913 comments</li>
</ul>
<p>As you can see I don&#8217;t post too often, but somehow I still manage to get some views. The day I got most views was the day the MSN servers did some strange update that made all new clients stop working. The new clients use MSNP13 and newer, while msn-pecan uses MSNP12. So everybody rushed to download the only Pidgin plug-in that worked. The number of downloads increased to 10,000 and many of those viewers ended up in my blog. Sadly, it lasted only one day.</p>
<p>But where does the normal traffic comes from?</p>
<h2>Top 10 referring sites</h2>
<ul>
<li><a href="http://code.google.com/p/msn-pecan">code.google.com/p/msn-pecan</a>: 3,389</li>
<li><a href="http://maemo.org">maemo.org</a>: 3,037</li>
<li><a href="http://maemo.org/news/planet-maemo">maemo.org/news/planet-maemo</a>: 974</li>
<li><a href="http://beagleboard.org">beagleboard.org</a>: 694</li>
<li><a href="http://dzone.com/rsslinks/ruby_vs_python_on_web20_twitter.html">dzone.com/rsslinks/ruby_vs_python_on_web20_twitter.html</a>: 677</li>
<li><a href="http://maemo.org/news">maemo.org/news</a>: 578</li>
<li><a href="http://google.com/reader/view">google.com/reader/view</a>: 310</li>
<li><a href="http://fconfig.wordpress.com/2006/08/17/setting-up-a-fedora-nfs-server/">fconfig.wordpress.com/2006/08/17/setting-up-a-fedora-nfs-server/</a>: 276</li>
<li><a href="http://dzone.com/links/ruby_vs_python_on_web20_twitter.html">dzone.com/links/ruby_vs_python_on_web20_twitter.html</a>: 245</li>
<li><a href="http://pplware.com/2008/03/29/pidgin-ainda-melhor/">pplware.com/2008/03/29/pidgin-ainda-melhor/</a>: 205</li>
</ul>
<p>So, important planets like maemo.org and beablegoard.org constitute a big chunk of the visits. Maemo.org, specially, has a good voting system so good stories go to the top. Unfortunately I don&#8217;t blog so often about maemo-related stuff, and I try to not spam topic-centric planets.</p>
<p>Somehow that list seems not enough to fill 100k. Could be that Google is helping here?</p>
<h2>Top 10 Google searches</h2>
<ul>
<li><a href="http://www.google.com/search?q=penn and teller bullshit episodes">penn and teller bullshit episodes</a>: 2,176</li>
<li><a href="http://www.google.com/search?q=tortillas">tortillas</a>: 1,375</li>
<li><a href="http://www.google.com/search?q=fedora 8 network install">fedora 8 network install</a>: 807</li>
<li><a href="http://www.google.com/search?q=gstreamer tutorial">gstreamer tutorial</a>: 800</li>
<li><a href="http://www.google.com/search?q=fedora">fedora</a>: 785</li>
<li><a href="http://www.google.com/search?q=fedora 7">fedora 7</a>: 742</li>
<li><a href="http://www.google.com/search?q=bullshit episodes">bullshit episodes</a>: 696</li>
<li><a href="http://www.google.com/search?q=pidgin msn">pidgin msn</a>: 594</li>
<li><a href="http://www.google.com/search?q=classic torrents">classic torrents</a>: 590</li>
<li><a href="http://www.google.com/search?q=msn-pecan">msn-pecan</a>: 588</li>
<li><a href="http://www.google.com/search?q=public domain torrents">public domain torrents</a>: 527</li>
<li><a href="http://www.google.com/search?q=penn teller bullshit episodes">penn teller bullshit episodes</a>: 527</li>
</ul>
<p>Still some stuff seems to be missing. My guess? RSS feed subscribers. At least 66 people are subscribed to my blog through Google Reader. So, thanks to all the people that follow my blog. If you have any recommendation on how to improve it, please share it <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Also, special thanks to WordPress for making this blog possible, and always providing great stats to help me figure out what to blog about next.</p>
<p>Finally, here is the list of top 20 posts:</p>
<h2>Top 20</h2>
<ul>
<li><a href="http://felipec.wordpress.com/2006/09/16/free-tv-episodes-penn-teller-bullshit-fun-and-enlightening/">Free TV episodes: Penn &amp; Teller: Bullshit! (fun and enlightening)</a>: 10,681</li>
<li><a href="http://felipec.wordpress.com/2007/11/09/fedora-8-network-install-from-usb/">Fedora 8 network install from USB</a>: 6,440</li>
<li><a href="http://felipec.wordpress.com/2006/10/08/public-domain-torrents-classic-movies-and-b-movies-for-free/">Public Domain Torrents: Classic Movies and B-Movies For FREE!</a>: 5,859</li>
<li><a href="http://felipec.wordpress.com/2007/06/01/fedora-7-install-from-usb/">Fedora 7 install from usb</a>: 4,220</li>
<li><a href="http://felipec.wordpress.com/2007/11/29/alternative-msn-plugin-for-pidgin/">Alternative MSN plugin for Pidgin</a>: 4,011</li>
<li><a href="http://felipec.wordpress.com/2007/09/16/get-to-know-a-little-bit-more-about-mexican-culture/">Get to know a little bit more about Mexican culture</a>: 3,598</li>
<li><a href="http://felipec.wordpress.com/2006/12/28/automounting-a-storage-device-with-gnome/">Automounting a storage device with GNOME</a>: 3,126</li>
<li><a href="http://felipec.wordpress.com/2007/04/28/gaimpidgin-rants-msn-history/">Gaim/Pidgin rants, MSN history</a>: 2,985</li>
<li><a href="http://felipec.wordpress.com/2007/05/02/ruby-vs-python-on-web20-twitter/">Ruby vs Python on Web2.0: Twitter</a>: 2,603</li>
<li><a href="http://felipec.wordpress.com/2007/09/13/nfs-in-fedora-7-and-iptables/">NFS in Fedora 7 (and iptables)</a>: 2,363</li>
<li><a href="http://felipec.wordpress.com/2008/01/19/gstreamer-hello-world/">GStreamer hello world</a>: 2,098</li>
<li><a href="http://felipec.wordpress.com/2007/04/12/fedora-7-test-3-struggles/">Fedora 7 test 3 struggles</a>: 2,031</li>
<li><a href="http://felipec.wordpress.com/2007/12/18/gstreamer-hands-on-introduction/">GStreamer hands-on introduction</a>: 2,016</li>
<li><a href="http://felipec.wordpress.com/2008/12/12/gst-openmax-demo-on-the-beagleboard/">gst-openmax demo on the beagleboard</a>: 1,892</li>
<li><a href="http://felipec.wordpress.com/2006/11/06/ruby-on-rails-on-fedora-core-6/">Ruby on Rails on Fedora Core 6</a>: 1,818</li>
<li><a href="http://felipec.wordpress.com/2008/06/19/msn-pecan-0014-released/">msn-pecan 0.0.14 released</a>: 1,669</li>
<li><a href="http://felipec.wordpress.com/2008/02/29/transcoding-for-the-internet-tablets-the-smart-way/">Transcoding for the Internet Tablets the smart way</a>: 1,475</li>
<li><a href="http://felipec.wordpress.com/2008/09/24/ogg-vorbis-and-maemo-5-technical-standpoint/">Ogg Vorbis and Maemo 5; technical standpoint</a>: 1,446</li>
<li><a href="http://felipec.wordpress.com/2008/05/01/msn-pecan-0012-released/">msn-pecan 0.0.12 released</a>: 1,399</li>
<li><a href="http://felipec.wordpress.com/2007/06/01/how-to-update-to-fedora-7/">How to update to Fedora 7</a>: 1,381</li>
</ul>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/258/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=258&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/03/20/100000-views-and-some-stats/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>

		<media:content url="http://felipec.files.wordpress.com/2009/03/blog-grow.png" medium="image">
			<media:title type="html">blog-grow</media:title>
		</media:content>
	</item>
		<item>
		<title>msn-pecan 0.0.18 released, now with voice clips support</title>
		<link>http://felipec.wordpress.com/2009/02/16/msn-pecan-0018-released-now-with-voice-clips-support/</link>
		<comments>http://felipec.wordpress.com/2009/02/16/msn-pecan-0018-released-now-with-voice-clips-support/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 23:03:45 +0000</pubDate>
		<dc:creator>FelipeC</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[msn]]></category>
		<category><![CDATA[msn-pecan]]></category>
		<category><![CDATA[pidgin]]></category>

		<guid isPermaLink="false">http://felipec.wordpress.com/?p=251</guid>
		<description><![CDATA[Hello!
It&#8217;s time for msn-pecan 0.0.18. There are many bugfixes and important new features like voice clips support.

Again, Devid did most of the work. The most important fix is that personal status messages now work properly (can be enabled and disabled), the most important feature is voice clip support; thanks to Devid Filoni for the port, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=251&subd=felipec&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hello!</p>
<p>It&#8217;s time for msn-pecan 0.0.18. There are many bugfixes and important new features like voice clips support.</p>
<p><!-- more --></p>
<p>Again, Devid did most of the work. The most important fix is that personal status messages now work properly (can be enabled and disabled), the most important feature is voice clip support; thanks to Devid Filoni for the port, original patch from Chris Stafford, and Youness Alaoui for libsiren.</p>
<p>Also important is a fix for WLM 2009 user displays (Thomas Gibson-Robinson), P4-context support for groups.im (Thiago Silva and Devid), a new option to hide Plus! tags (Devid) and support for Plus! sounds (Devid and Thiago).</p>
<p>Also, some cleanups and reorganization heading towards a standalone library.</p>
<p>An interesting event happened on January 12; for some reason the MSN servers changed something that prevented many clients (&gt;MSNP13) from working, while msn-pecan kept working just fine. That day the number of downloads increased dramatically (<del datetime="00">1000</del>10,000 a day), but unfortunately it lasted only a day.</p>
<div id="attachment_252" class="wp-caption aligncenter" style="width: 290px"><img src="http://felipec.files.wordpress.com/2009/02/msn-pecan-bump.png?w=280&#038;h=153" alt="12,552 page views." title="msn-pecan-bump" width="280" height="153" class="size-full wp-image-252" /><p class="wp-caption-text">12,552 page views.</p></div>
<p>New translations: Turkish, Portuguese (standard and Brazil) and Arabic. If your favorite language is not translated you can help at <a href="https://translations.edge.launchpad.net/msn-pecan">Launchpad&#8217;s site</a>.</p>
<p>Here&#8217;s the diffstat:<br />
<img src="http://felipec.files.wordpress.com/2009/02/diffstat.png?w=484&#038;h=446" alt="diffstat" title="diffstat" width="484" height="446" class="alignnone size-full wp-image-254" /></p>
<p>Download from the usual place at <a href="http://code.google.com/p/msn-pecan/downloads/list">googe code</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipec.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipec.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipec.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipec.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipec.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipec.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipec.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipec.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipec.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipec.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&blog=62686&post=251&subd=felipec&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://felipec.wordpress.com/2009/02/16/msn-pecan-0018-released-now-with-voice-clips-support/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">felipec</media:title>
		</media:content>

		<media:content url="http://felipec.files.wordpress.com/2009/02/msn-pecan-bump.png" medium="image">
			<media:title type="html">msn-pecan-bump</media:title>
		</media:content>

		<media:content url="http://felipec.files.wordpress.com/2009/02/diffstat.png" medium="image">
			<media:title type="html">diffstat</media:title>
		</media:content>
	</item>
	</channel>
</rss>