<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Alexandre Rosenfeld&#039;s blog</title>
	<atom:link href="http://arosenfeld.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://arosenfeld.wordpress.com</link>
	<description>A hacker and it&#039;s journey.</description>
	<lastBuildDate>Tue, 12 Jul 2011 12:55:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='arosenfeld.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/da65adbb2cf011a6481495ab81def27e?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Alexandre Rosenfeld&#039;s blog</title>
		<link>http://arosenfeld.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://arosenfeld.wordpress.com/osd.xml" title="Alexandre Rosenfeld&#039;s blog" />
	<atom:link rel='hub' href='http://arosenfeld.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Back to Ext4 from Btrfs</title>
		<link>http://arosenfeld.wordpress.com/2010/12/27/back-to-ext4-from-btrfs/</link>
		<comments>http://arosenfeld.wordpress.com/2010/12/27/back-to-ext4-from-btrfs/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 15:58:10 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=123</guid>
		<description><![CDATA[After using Btrfs on both my work and home machines, I&#8217;m switching back to ext4. I actually like Btrfs and I wish I could keep using it, but I had two major issues. The first one and this was enough for me to switch back to ext4, Google Chrome startup time was almost 10 times [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=123&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After using Btrfs on both my work and home machines, I&#8217;m switching back to ext4. I actually like Btrfs and I wish I could keep using it, but I had two major issues.</p>
<p>The first one and this was enough for me to switch back to ext4, Google Chrome startup time was almost 10 times slower. At first I didn&#8217;t realize it was Btrfs causing this, but after some <a href="http://comments.gmane.org/gmane.comp.file-systems.btrfs/7304">investigation</a>, it&#8217;s noticeable how fragmentation affects some applications using Btrfs. I actually switched my work machine to ext4 after I found I could not use the virtual machines I had anymore, because it kept reading the disk for hours at anything I did in the virtual machine (in the end they could not even boot anymore). Btrfs is not always slower, or at least not noticeable, but for a few scenarios that can cause fragmentation, they really do make Btrfs unusable for me.</p>
<p>The second one might just be a misunderstanding of my part, but I read manuals and wikis and could not find an answer. I started with one 150GB partition at work and had another 150GB partition if I wanted to easily switch back to ext4. Then I wanted to test adding multiple devices to Btrfs, which it makes really easy, and added the other partition to the first and did a balance operation, so data was distributed between them. What I did not realize, is that by doing that it created a RAID 1 with my partitions. As far as I know, RAID 1 with two partitions in the same drive are just useless, it just duplicates data between both partitions. After reading more manuals, I learned that on creation time you can control the RAID level, but I found no way to do it afterwards. And the worst of it, I found no way to degrade back to RAID 0, so I found no way to remove the second partition from the filesystem, which means I ended up with 300GB of space being used as 150GB.</p>
<p>And another issue I had, it was not always obvious how much disk space I had free. In some places it indicated 300GB, others 150GB. And in my home machine I even had an out of free space error when it indicated I had 6GB free.</p>
<p>Despite its powerful features, I could not justify the problems I had. Actually, I was not using snapshots and sobvolumes as much as I expected. I believe this may change as more tools are written to take advantage of these features.</p>
<p>I knew well before I started using it that it&#8217;s not production ready or even finished yet. Btrfs is definitely a step in the right direction and I hope I can try using it again in some time. It even managed not to lose any of my data despite me poking with stuff I did not understand.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=123&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/12/27/back-to-ext4-from-btrfs/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>
	</item>
		<item>
		<title>CONSOL 2010</title>
		<link>http://arosenfeld.wordpress.com/2010/12/14/consol-2010/</link>
		<comments>http://arosenfeld.wordpress.com/2010/12/14/consol-2010/#comments</comments>
		<pubDate>Tue, 14 Dec 2010 04:27:28 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=116</guid>
		<description><![CDATA[I just got back from Santa Cruz de la Sierra, Bolivia, where I was attending CONSOL 2010, the Congreso de Software Libre of Bolivia. And I had an amazing time over there and met some really amazing people. This is a thank you note for everyone there, for welcoming me and trying to understand my [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=116&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just got back from Santa Cruz de la Sierra, Bolivia, where I was attending CONSOL 2010, the Congreso de Software Libre of Bolivia. And I had an amazing time over there and met some really amazing people. This is a thank you note for everyone there, for welcoming me and trying to understand my lousy spanish talking about Google Summer of Code and Gnome.</p>
<p>It amazes me every day how far Gnome and my Summer of Code experience is taking me. I&#8217;m doing an internship in an open-source company in Bolivia simply because I had Gnome in my curriculum and it got the attention from someone. And I am learning so much, both from my work here and from living in such an incredible country as Bolivia, where the diversity and contrast is amazing even for someone coming from Brazil. And the motivation I saw there, not only because in the poorest country of South America, free software makes a lot of sense, but because of their passion to hacking on stuff, to learn about new stuff and make something useful out of all of that.</p>
<p>So, congrats to these guys there and thank you for everything (especially Amos Batto and Hardy Beltran for inviting me).</p>
<p>On a side note, Rhythmbox 0.13.2 released a few weeks ago contains my first real contribution to Gnome, with my Google Summer of Project of this year being released. So if you have an iPhone or Android, enable the DAAP plugin together with the Remote switch and enjoy controlling Rhythmbox anywhere in your home! Thanks to W. Michael Petulio, Jonathan Matthew and Peter, without their help this would never be released.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=116&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/12/14/consol-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>
	</item>
		<item>
		<title>Analyzing HTTP packets with Wireshark and Python</title>
		<link>http://arosenfeld.wordpress.com/2010/11/21/analyzing-http-packets-with-wireshark-and-python/</link>
		<comments>http://arosenfeld.wordpress.com/2010/11/21/analyzing-http-packets-with-wireshark-and-python/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 20:17:03 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=110</guid>
		<description><![CDATA[I&#8217;m doing some reverse-engineering stuff and it has been quite fun so far (hopefully I&#8217;ll blog more about why I&#8217;m doing this in the future). I needed to dump some HTTP traffic and analyse the data. Of course, Wireshark comes straight to mind for something like this and it is indeed really useful. It took [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=110&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m doing some reverse-engineering stuff and it has been quite fun so far (hopefully I&#8217;ll blog more about why I&#8217;m doing this in the future). I needed to dump some HTTP traffic and analyse the data. Of course, Wireshark comes straight to mind for something like this and it is indeed really useful. It took me some time to understand the Wireshark interface and I still think it&#8217;s hiding some great functionality from me. But anyway, I was able to set the filters I wanted and it was showing me exactly the data I wanted. But I still had to right-click the data I wanted and save it to disk, which was not ideal.</p>
<p>Then I thought, if people were smart enough to build such a powerful tool, they probably created a command-line interface as well, probably with scripting. Indeed they did! The command-line interface is called Tshark and the scripting is done in Lua. But I don&#8217;t know Lua and it would take too much time to learn it for this task. So I started to look a way to dump everything and then write a small script in Python to extract the data I really want. Took some time but the solution was much simpler then I thought (by the way, there are probably other solutions for this, but my Google skills were not good enough to find anything obvious).</p>
<p>First you run Tshark to dump any HTTP traffic to a XML file (I usually hate XML, but this time it was useful). This is what I used:</p>
<pre>sudo tshark -i wlan0 "host 192.168.1.100 and port 45000" -d tcp.port==45000,http -T pdml &gt; dump.xml</pre>
<p>Of course, it all depends on what you want to dump. You should read the &#8220;man pcap-filter&#8221; to get the capture filter right and it is really useful (crucial sometimes) to only get the traffic you want. And I wanted to treat traffic in port 45000 as HTTP, so I think that is what the -d switch does <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  The most important thing it &#8220;-T pdml&#8221;, which tells tshark to dump in this XML format.</p>
<p>Next thing is to analyze in Python, which was much easier than I thought. I was only worried about the data field in the HTTP packets, but if you take a look in the dumped file, you&#8217;ll see you have information about all kind of things. My script turned out to be this:</p>
<pre>from lxml import etree
import binascii
tree = etree.parse('dump.xml')
data = [binascii.unhexlify(e.get("value")) for e in tree.xpath('/pdml/packet/proto[@name="http"]/field[@name="data"]')]</pre>
<p>I used lxml because I found it has great support for XPath, which is quite useful here. Also, the HTTP data is stored as a hex string, which you can easily convert with unhexlify. So, in the end I was able to automate an annoying process with just a few lines of code. And if I need anything else, it&#8217;s quite easy to expand the script. I&#8217;m quite happy with the results!</p>
<p><strong>Update: </strong>Someone pointed out in the comments about Scapy (http://www.secdev.org/projects/scapy/), which by reading it&#8217;s documentation seems awesome!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=110&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/11/21/analyzing-http-packets-with-wireshark-and-python/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>
	</item>
		<item>
		<title>Move to Ubuntu</title>
		<link>http://arosenfeld.wordpress.com/2010/11/02/move-to-ubuntu/</link>
		<comments>http://arosenfeld.wordpress.com/2010/11/02/move-to-ubuntu/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 04:46:06 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=103</guid>
		<description><![CDATA[A recent post in Planet Gnome about moving away from Arch into Ubuntu got me thinking, because I just did the same thing a few weeks ago, when Ubuntu 10.10 was released. But I didn&#8217;t really liked the reasons I did so. First, I love Arch Linux. It&#8217;s simplicity and speed are amazing. It&#8217;s clearly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=103&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A recent post in Planet Gnome about <a href="http://yuvi.in/blog/why-i-moved-off-arch-on-my-netbook.html">moving away from Arch</a> into Ubuntu got me thinking, because I just did the same thing a few weeks ago, when Ubuntu 10.10 was released. But I didn&#8217;t really liked the reasons I did so.</p>
<p>First, I love Arch Linux. It&#8217;s simplicity and speed are amazing. It&#8217;s clearly focused on power users, which is great for me. It&#8217;s package manager (Pacman) is very fast and powerful, while still easy to use. I love how I can search and query packages both installed and from the cache with concise commands that usually do what you want at the first time. Compared to Ubuntu&#8217;s apt-cache and apt-get, which I usually have to read the man page to remember a few commands and to Fedora&#8217;s yum, which I&#8217;m never comfortable with, Pacman is always the winner. If that was not enough, you can create useful packages in under 10 minutes. Better yet if you can find a pre-made PKGBUILD in AUR, which contains thousands of recipes to build packages. The binary packages are usually enough for a desktop, but sometimes you do need to dig into Yaourt, which automatically downloads and compiles recipes. It is time-consuming sometimes, but comparing to finding a PPA with a decent enough version of a package that you can&#8217;t find in Ubuntu, it&#8217;s not much different.</p>
<p>That leads to the first reason I switched away from Arch, is that Ubuntu usually has recent enough versions when it&#8217;s released. But six months afterwards, I really want to try new versions of packages. If I can find a good and well-maintained PPA, then it&#8217;s ok. If I can&#8217;t, there are a thousand other things I would like to do then to create my own packages for new upstream releases. So, this time of the year, a few weeks after Ubuntu was released, I can actually enjoy it for a while (actually, Rhythmbox is just out with a new version, which I will probably never get on this version of Ubuntu).</p>
<p>The second reason and one that is a hot topic right now, but this is mostly a user perspective, I got locked into the Gnome modifications that Ubuntu did. Honestly, I like the modifications, I like the Indicator applet, I&#8217;m using the Indicator Applet Menu (despite a few bugs) and I love the Notify OSD. And I miss those on Arch. I tried building some components of Ayatana Project in Arch, but didn&#8217;t had much luck (understandable actually). The Arch way is to use as much as upstream as possible without modifications, which is usually very good. You can find a few bugs which are corrected already on other distros, but you get releases faster and you get to see how upstream really is. And that is a big issue for Ubuntu, because no matter how much they talk about not forking Gnome, it&#8217;s just not upstream anymore. If I would move to Fedora or OpenSuse from Arch, I would get a very close experience. Not because they don&#8217;t improve Gnome or add their own modifications, but because all their modifications are upstream. So even on Arch, I can enjoy all the great investment these guys made to Gnome. But now I can&#8217;t use Ubuntu&#8217;s investment outside Ubuntu (I could actually if I spend enough time porting it, but it&#8217;s just not worth).</p>
<p>And now, I&#8217;m locked in to Ubuntu, I&#8217;m locked to the Ubuntu OS to use Ubuntu Software, which are both actually very high quality, but I&#8217;d prefer a different OS. Some other OS vendors work the same tactics to get more users and I definitely don&#8217;t want to use their software, no matter how great they are. Of course Ubuntu is miles away from these vendors, but it&#8217;s going through a similar and very dangerous path. Again, this is only a user perspective and a user that Ubuntu is not focused in (and I&#8217;m glad they have a very strong focus on other users). I just wished Ubuntu would give a bit more back to a community it takes so much from.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=103&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/11/02/move-to-ubuntu/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>
	</item>
		<item>
		<title>glib-mkenums</title>
		<link>http://arosenfeld.wordpress.com/2010/08/11/glib-mkenums/</link>
		<comments>http://arosenfeld.wordpress.com/2010/08/11/glib-mkenums/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 23:46:07 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=95</guid>
		<description><![CDATA[I&#8217;m posting this here both to help someone else looking for this and to check if I got everything right. I needed to use enums in a GObject property. So I needed a enum type for my property param spec. I thought I could hard-code it somehow, but after some long time pondering (actually knocking [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=95&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m posting this here both to help someone else looking for this and to check if I got everything right.</p>
<p>I needed to use enums in a GObject property. So I needed a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">enum type</a> for my property <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-enum">param spec</a>. I thought I could hard-code it somehow, but after some long time pondering (actually knocking my head into the wall) I decided to integrate <a href="http://library.gnome.org/devel/gobject/unstable/glib-mkenums.html">glib-mkenums</a> into autoconf so that it could generate the types for me automatically when running make from my C sources. Unfortunately for me, Google wasn&#8217;t being friendly when searching for information on glib-mkenums.</p>
<p>I found somewhere, some program that used glib-mkenums in a simple way (sorry, I forgot where I fount it), close to what I had in mind, so I decided to adapt it to my needs. What I had to do was to add two more files, automatically generated (in this case named dmap-enums.c and dmap-enums.h) adding <a href="http://gitorious.org/arosenfeld-gsoc-2010/libdmapsharing/blobs/c7c495219221e6d90dc581822262c99563894011/libdmapsharing/Makefile.am#line103">some commands</a> to Makefile.am (linked to Gitorious because WordPress removes all formatting). Hopefully that is the right way to do it, at least it is working for me.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=95&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/08/11/glib-mkenums/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>
	</item>
		<item>
		<title>DACP in Rhythmbox: Week 11</title>
		<link>http://arosenfeld.wordpress.com/2010/08/06/dacp-in-rhythmbox-week-11/</link>
		<comments>http://arosenfeld.wordpress.com/2010/08/06/dacp-in-rhythmbox-week-11/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 19:51:37 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=83</guid>
		<description><![CDATA[I just went from week 2 to week 11 in the GSoC progress in my blog Well, there is not much to tell in a blog if there is not a picture to show (and showing off the iPhone remote working with Rhythmbox should not be any different than iTunes if I&#8217;m doing my job [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=83&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just went from <a href="http://arosenfeld.wordpress.com/2010/06/07/dacp-in-rhythmbox-week-2/">week 2</a> to week 11 in the <a href="http://live.gnome.org/SummerOfCode2010/AlexandreRosenfeld_Rhythmbox">GSoC progress</a> in my blog <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Well, there is not much to tell in a blog if there is not a picture to show (and showing off the iPhone remote working with Rhythmbox should not be any different than iTunes if I&#8217;m doing my job correctly).</p>
<p>I realized these last weeks that I had completely mis-planned my project, because I had no idea what I was getting into. I thought DACP would be quite easy to implement and I would focus on other things (making a client library for instance). But I discovered it is a much more complex protocol then I thought, mostly because of DAAP.</p>
<p>What I discovered is that DACP is just an extension for DAAP, and being an Apple protocol, it&#8217;s closed and has been reverse-engineered and re-implemented several times in the open source world. The problem is that DACP uses several features in DAAP that were not implemented in libdmapsharing, simply because there is no real standard on DAAP. It took some time for me to learn DAAP enough to find out what was missing in libdmapsharing for DACP to work.</p>
<p>So I spent most of the time fixing, tweaking and implementing stuff on DAAP in libdmapsharing. Which was pretty cool, I improved a lot of my C skills, learned GObject (and quite frankly, liked it a lot) and learned a lot about DAAP and libdmapharing.</p>
<p>By the way, thanks for all the people who have <a href="http://dacp.jsharkey.org/">reverse-engineered DACP</a> and the <a href="http://jsharkey.org/blog/2009/06/21/itunes-dacp-pairing-hash-is-broken/">pairing process</a>, you have greatly simplified my life. It&#8217;s truly great to work in the open-source world.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=83&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/08/06/dacp-in-rhythmbox-week-11/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>
	</item>
		<item>
		<title>Cryptkeeper in your Indicator Applet</title>
		<link>http://arosenfeld.wordpress.com/2010/06/24/cryptkeeper-in-your-indicator-applet/</link>
		<comments>http://arosenfeld.wordpress.com/2010/06/24/cryptkeeper-in-your-indicator-applet/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 04:41:23 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=74</guid>
		<description><![CDATA[I like the Indicator Applet and I like Cryptkeeper, so I decided to create an indicator for Cryptkeeper: For anyone who doesn&#8217;t know, Cryptkeeper is a very useful application that allows you to mount/unmount an encrypted folder with just one click. It&#8217;s one of the most useful applications running on my startup. But up until [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=74&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I like the Indicator Applet and I like Cryptkeeper, so I decided to create an indicator for Cryptkeeper:</p>
<p><a href="http://arosenfeld.files.wordpress.com/2010/06/screenshot2.jpg"><img class="aligncenter size-full wp-image-76" title="Cryptkeeper in your Indicator Applet" src="http://arosenfeld.files.wordpress.com/2010/06/screenshot2.jpg?w=607&#038;h=48" alt="" width="607" height="48" /></a></p>
<p>For anyone who doesn&#8217;t know, <a href="http://tom.noflag.org.uk/cryptkeeper.html" target="_blank">Cryptkeeper</a> is a very useful application that allows you to mount/unmount an encrypted folder with just one click. It&#8217;s one of the most useful applications running on my startup. But up until now it had a quite ugly icon:</p>
<p><a href="http://arosenfeld.files.wordpress.com/2010/06/screenshot.jpg"><img class="aligncenter size-full wp-image-77" title="Cryptkeeper before" src="http://arosenfeld.files.wordpress.com/2010/06/screenshot.jpg?w=607&#038;h=48" alt="" width="607" height="48" /></a></p>
<p>Can you spot the difference?</p>
<p>This is actually a plot to make people to like it and finish it. The patch adds support for showing and letting you mount/unmount folders, but it doesn&#8217;t let you delete folders or view information, as it did. Also, when adding a new folder, it doesn&#8217;t show up on the list if you don&#8217;t restart Cryptkeeper. But the patch does what I wanted it to (I rarely create or delete an encrypted folder), so I probably won&#8217;t change it further.</p>
<p>So, the patch is <a href="https://bugs.launchpad.net/ubuntu/+source/cryptkeeper/+bug/571473">here</a>. Have fun <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=74&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/06/24/cryptkeeper-in-your-indicator-applet/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>

		<media:content url="http://arosenfeld.files.wordpress.com/2010/06/screenshot2.jpg" medium="image">
			<media:title type="html">Cryptkeeper in your Indicator Applet</media:title>
		</media:content>

		<media:content url="http://arosenfeld.files.wordpress.com/2010/06/screenshot.jpg" medium="image">
			<media:title type="html">Cryptkeeper before</media:title>
		</media:content>
	</item>
		<item>
		<title>DACP in Rhythmbox: Week 2</title>
		<link>http://arosenfeld.wordpress.com/2010/06/07/dacp-in-rhythmbox-week-2/</link>
		<comments>http://arosenfeld.wordpress.com/2010/06/07/dacp-in-rhythmbox-week-2/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 13:43:25 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=57</guid>
		<description><![CDATA[Last week there was the inclusion of libdmapsharing in Rhythmbox (by the way, for all of you alpha testing Ubuntu, DAAP isn&#8217;t working in Rhythmbox because they haven&#8217;t included libdmapsharing in Ubuntu yet). So now I&#8217;m just a git pull and git merge away from following Rhythmbox master, which makes my job much easier. Last [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=57&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week there was the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=566852" target="_blank">inclusion of libdmapsharing</a> in Rhythmbox (by the way, for all of you alpha testing Ubuntu, DAAP isn&#8217;t working in Rhythmbox because they haven&#8217;t included libdmapsharing in Ubuntu yet). So now I&#8217;m just a git pull and git merge away from following Rhythmbox master, which makes my job much easier.</p>
<p>Last week didn&#8217;t see much work from me, I was mostly fixing some bugs and some bad decisions. But I noticed I never showed screenshots of my work here. Because I love screenshots, here they are.</p>
<p>First you open your Remote application in iPhone, iPod Touch or Android device (note that on Android there is no passcode):</p>
<p><a href="http://arosenfeld.files.wordpress.com/2010/06/2010-10-32-13.jpg"><img class="aligncenter size-full wp-image-60" title="iPhone Remote Passcode" src="http://arosenfeld.files.wordpress.com/2010/06/2010-10-32-13.jpg?w=320&#038;h=480" alt="" width="320" height="480" /></a><a href="http://arosenfeld.files.wordpress.com/2010/06/screenshot_rhythmbox.png"></a></p>
<p>Then in Rhythmbox, you type the passcode shown in your Remote. This allows Rhythmbox to pair with your Remote:</p>
<p><a href="http://arosenfeld.files.wordpress.com/2010/06/screenshot_rhythmbox.png"><img class="aligncenter size-full wp-image-59" title="Rhythmbox iPhone Remote" src="http://arosenfeld.files.wordpress.com/2010/06/screenshot_rhythmbox.png?w=640&#038;h=464" alt="" width="640" height="464" /></a></p>
<p>Then Rhythmbox magically appears at your Remote list of libraries:</p>
<p><a href="http://arosenfeld.files.wordpress.com/2010/06/iphone.jpg"><img class="aligncenter size-full wp-image-58" title="iPhone Remote with Rhythmbox" src="http://arosenfeld.files.wordpress.com/2010/06/iphone.jpg?w=320&#038;h=480" alt="" width="320" height="480" /></a></p>
<p>&#8220;DACP on Rhythmbox&#8221; will become your library&#8217;s name over time. And of course, this doesn&#8217;t fully work yet, because Rhythmbox segfaults when the iPhone tries to connect. Well, what did you expected for about two weeks of work? I was pretty excited already when I saw my iPhone on the list of devices in Rhythmbox (by the way, I think I will create a new group called Remotes, I just didn&#8217;t find out how yet).</p>
<p>Stay tuned for more later.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=57&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/06/07/dacp-in-rhythmbox-week-2/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>

		<media:content url="http://arosenfeld.files.wordpress.com/2010/06/2010-10-32-13.jpg" medium="image">
			<media:title type="html">iPhone Remote Passcode</media:title>
		</media:content>

		<media:content url="http://arosenfeld.files.wordpress.com/2010/06/screenshot_rhythmbox.png" medium="image">
			<media:title type="html">Rhythmbox iPhone Remote</media:title>
		</media:content>

		<media:content url="http://arosenfeld.files.wordpress.com/2010/06/iphone.jpg" medium="image">
			<media:title type="html">iPhone Remote with Rhythmbox</media:title>
		</media:content>
	</item>
		<item>
		<title>GSoC 2010: DACP Support in Rhythmbox</title>
		<link>http://arosenfeld.wordpress.com/2010/05/20/gsoc-2010-dacp-support-in-rhythmbox/</link>
		<comments>http://arosenfeld.wordpress.com/2010/05/20/gsoc-2010-dacp-support-in-rhythmbox/#comments</comments>
		<pubDate>Thu, 20 May 2010 23:43:15 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=49</guid>
		<description><![CDATA[Community bonding is almost over so I thought I could share some details about my Google Summer of Code project. As the title says, I will implement DACP support for Rhythmbox. You probably never heard of DACP but you&#8217;ve probably seen it in action. It&#8217;s the protocol that is used by the Remote application in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=49&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Community bonding is almost over so I thought I could share some details about my Google Summer of Code project.</p>
<p>As the title says, I will implement DACP support for Rhythmbox. You probably never heard of DACP but you&#8217;ve probably seen it in action. It&#8217;s the protocol that is used by the Remote application in iPhone and iPod Touch.</p>
<p><img class="aligncenter size-full wp-image-50" title="Remote application and iTunes" src="http://arosenfeld.files.wordpress.com/2010/05/apple-iphone-remote.jpg?w=555&#038;h=350" alt="" width="555" height="350" /></p>
<p>I&#8217;ll be implementing the server side in Rhythmbox, so you&#8217;ll be able to control Rhythmbox with your iPhone, iPod Touch or even your <a href="http://dacp.jsharkey.org/" target="_blank">Android</a>.</p>
<p>I&#8217;ll actually be implementing this inside <a href="http://www.flyn.org/projects/libdmapsharing/" target="_blank">libdmapsharing</a>, a <a href="http://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol" target="_blank">DMAP (DAAP &amp; DPAP)</a> library that was once extracted from Rhythmbox sources, improved and will be integrated again into Rhythmbox as a library, once my <a href="https://bugzilla.gnome.org/show_bug.cgi?id=566852" target="_blank">mentor&#8217;s patch</a> is accepted. So hopefully, more applications will be able to support DACP, DAAP and DPAP by using libdmapsharing.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=49&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/05/20/gsoc-2010-dacp-support-in-rhythmbox/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>

		<media:content url="http://arosenfeld.files.wordpress.com/2010/05/apple-iphone-remote.jpg" medium="image">
			<media:title type="html">Remote application and iTunes</media:title>
		</media:content>
	</item>
		<item>
		<title>Breadcrumb in Gtk</title>
		<link>http://arosenfeld.wordpress.com/2010/02/17/breadcrumb_in_gtk/</link>
		<comments>http://arosenfeld.wordpress.com/2010/02/17/breadcrumb_in_gtk/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 20:57:14 +0000</pubDate>
		<dc:creator>Alexandre Rosenfeld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arosenfeld.wordpress.com/?p=42</guid>
		<description><![CDATA[Anyone knows how to implement (or anywhere it&#8217;s implemented) a breadcrumb / pathbar like the one in Nautilus in PyGtk? I just don&#8217;t know how to hide buttons that doent fit the window. By the way, anyone has seen this: That pathbar is gorgeous. It doesn&#8217;t look as good in action tough. I&#8217;ve been using [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=42&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Anyone knows how to implement (or anywhere it&#8217;s implemented) a breadcrumb / pathbar like the one in Nautilus in PyGtk? I just don&#8217;t know how to hide buttons that doent fit the window.</p>
<p>By the way, anyone has seen this:</p>
<p style="text-align:center;"><a href="http://www.gnome-look.org/content/show.php/elementary-remake?content=120287"><img class="aligncenter" title="Elementary Remake" src="http://www.gnome-look.org/CONTENT/content-pre1/120287-1.jpg" alt="" width="500" height="300" /></a></p>
<p style="text-align:left;">That pathbar is gorgeous. It doesn&#8217;t look as good in action tough.</p>
<p style="text-align:left;">I&#8217;ve been using the smaller Nautilus with the Elementary theme and it is just beautiful (the picture is from Elementary Remake, the original theme with that pathbar).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/arosenfeld.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/arosenfeld.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/arosenfeld.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/arosenfeld.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/arosenfeld.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/arosenfeld.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/arosenfeld.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/arosenfeld.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/arosenfeld.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/arosenfeld.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/arosenfeld.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/arosenfeld.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/arosenfeld.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/arosenfeld.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=arosenfeld.wordpress.com&amp;blog=7293016&amp;post=42&amp;subd=arosenfeld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://arosenfeld.wordpress.com/2010/02/17/breadcrumb_in_gtk/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffe43527f5bf887e2bfecb01edc5a21c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">arosenfeld</media:title>
		</media:content>

		<media:content url="http://www.gnome-look.org/CONTENT/content-pre1/120287-1.jpg" medium="image">
			<media:title type="html">Elementary Remake</media:title>
		</media:content>
	</item>
	</channel>
</rss>
