<?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"
	>

<channel>
	<title>Segmentation Fault</title>
	<atom:link href="http://www.cesaroliveira.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cesaroliveira.net</link>
	<description>Analyzing the core</description>
	<pubDate>Tue, 02 Sep 2008 06:11:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Google Chrome</title>
		<link>http://www.cesaroliveira.net/tea/archives/33</link>
		<comments>http://www.cesaroliveira.net/tea/archives/33#comments</comments>
		<pubDate>Tue, 02 Sep 2008 06:11:59 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[google chrome]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=33</guid>
		<description><![CDATA[This has annoyed me all day. First they renew the &#8220;economic agreement&#8221; with Mozilla until 2011, and now they&#8217;re going to release their own browser. What?
Don&#8217;t they have shareholders who have a big stake ($463 right now) to gratify? That&#8217;s like Microsoft hiring Linus Torvalds to work on the Linux kernel. How do you get [...]]]></description>
			<content:encoded><![CDATA[<p>This has annoyed me all day. First they <a href="http://john.jubjubs.net/2008/09/01/thoughts-on-chrome-more/">renew the &#8220;economic agreement&#8221; with Mozilla until 2011</a>, and now they&#8217;re going to release <a href="http://blogoscoped.com/archive/2008-09-01-n47.html">their own browser</a>. What?</p>
<p>Don&#8217;t they have shareholders who have a big stake (<a href="http://finance.google.ca/finance?client=ob&#038;q=NASDAQ:GOOG">$463</a> right now) to gratify? That&#8217;s like Microsoft hiring Linus Torvalds to work on the Linux kernel. How do you get away with something like that? Is Google so rich that it is paying people to compete with it?</p>
<p>Actually, that last one is kind of funny.</p>
<p>This makes so little sense to me that I have to think of outrageous reasons for the announcement :</p>
<ol>
<li>Starting with the least outrageous reason : Google is actually trying to expand competition in the web browser/mobile space. Though, I thought that IE/Opera/Firefox/Safari was a good mix. This isn&#8217;t gas stations we&#8217;re talking about. Competition for browser market share extends <a href="http://www.maxthon.com/">far beyond these four browsers</a>.</li>
<li>They legalized mind altering drugs in Mountain View. (Mythical mushrooms in the Escape menu, Hippie crack at Slice)</li>
<li>They&#8217;re sending Mozilla a <a href="http://code.google.com/android/">second hint</a> that they want Mozilla to drop Gecko</li>
<li>Judging by some of the <a href="http://blogoscoped.com/archive/2008-09-02-n72.html">screenshots</a>, this is another way to get more Google traffic. But come on? Your own browser?</li>
</ol>
<p>Comments, additional conspiracies welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/33/feed</wfw:commentRss>
		</item>
		<item>
		<title>More user generated content - My Lists</title>
		<link>http://www.cesaroliveira.net/tea/archives/31</link>
		<comments>http://www.cesaroliveira.net/tea/archives/31#comments</comments>
		<pubDate>Thu, 07 Aug 2008 06:42:43 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[addons]]></category>

		<category><![CDATA[intern]]></category>

		<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=31</guid>
		<description><![CDATA[I&#8217;ve been sorta hiding this behind a mac that is currently behind a locked building in an office somewhere in Mountain View, but thought that now was a good time as any to demonstrate what I have been working on.
The project is called My Lists. In a nutshell, it allows users to generate and publish [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been sorta hiding this behind a mac that is currently behind a locked building in an office somewhere in Mountain View, but thought that now was a good time as any to demonstrate what I have been working on.</p>
<p>The project is called My Lists. In a nutshell, it allows users to generate and publish a list of addons. For example, you may want to generate a list of the best web developers extensions you can find. So you include extensions such as the <a href="https://addons.mozilla.org/en-US/firefox/addon/7434">Extension Developer&#8217;s extension</a>, and <a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firebug</a>. You can then share this list with friends, or post a link to your website. Other users can then directly download these extensions from that page.</p>
<p>You can get a demonstration of what a list looks like at a <a href="http://remora.cesaroliveira.net/en-US/firefox/myLists/display/1">remora instance</a> I put up on this site. Of course, you need a username/password to generate your own list (and find the page that lets you do it ;)).</p>
<p>The hope is that this list will be used with other websites, through a web service. I currently have a <a href="http://remora.cesaroliveira.net/en-US/firefox/myLists/post">service</a> that does that by reading XML from a post request.</p>
<p>None of this is really done. Everything is very dis-jointed. You can&#8217;t tell what lists a user created or who created a list. Still needs polish. But just wanted to get the project out there in the open.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/31/feed</wfw:commentRss>
		</item>
		<item>
		<title>Prism preferences</title>
		<link>http://www.cesaroliveira.net/tea/archives/29</link>
		<comments>http://www.cesaroliveira.net/tea/archives/29#comments</comments>
		<pubDate>Tue, 22 Jul 2008 07:05:35 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[personal]]></category>

		<category><![CDATA[prism]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=29</guid>
		<description><![CDATA[Since I have moved to other things, and have a few bugs that I fear may not be completed for a long time, I decided to release whatever it is I have in hope that it will help someone. Here be a prism extension to show preferences. Not complete and doesn&#8217;t clear private data (such [...]]]></description>
			<content:encoded><![CDATA[<p>Since I have moved to other things, and have a <a href="https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&#038;short_desc_type=allwordssubstr&#038;short_desc=&#038;product=Mozilla+Labs&#038;component=Prism&#038;long_desc_type=substring&#038;long_desc=&#038;bug_file_loc_type=allwordssubstr&#038;bug_file_loc=&#038;status_whiteboard_type=allwordssubstr&#038;status_whiteboard=&#038;keywords_type=allwords&#038;keywords=&#038;resolution=DUPLICATE&#038;resolution=---&#038;emailassigned_to1=1&#038;emailtype1=exact&#038;email1=cdolivei.bugzilla%40gmail.com&#038;emailassigned_to2=1&#038;emailreporter2=1&#038;emailqa_contact2=1&#038;emailtype2=exact&#038;email2=&#038;bugidtype=include&#038;bug_id=&#038;votes=&#038;chfieldfrom=&#038;chfieldto=Now&#038;chfieldvalue=&#038;cmdtype=doit&#038;order=Reuse+same+sort+as+last+time&#038;field0-0-0=noop&#038;type0-0-0=noop&#038;value0-0-0=">few bugs</a> that I fear may not be completed for a long time, I decided to release whatever it is I have in hope that it will help someone. Here be a <a href="http://www.cesaroliveira.net/files/2008-07-21/clippy.xpi">prism extension to show preferences</a>. Not complete and doesn&#8217;t clear private data (such as cookies, history, and cache. Something has changed over the past few months that I haven&#8217;t quite figured out), but I hope to solve some issues that people have been having.</p>
<p>I&#8217;m not offering support. If it&#8217;s broken it&#8217;s going to stay that way until someone else fixes it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/29/feed</wfw:commentRss>
		</item>
		<item>
		<title>Protected: Friday Night</title>
		<link>http://www.cesaroliveira.net/tea/archives/27</link>
		<comments>http://www.cesaroliveira.net/tea/archives/27#comments</comments>
		<pubDate>Mon, 14 Jul 2008 02:31:51 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=27</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://www.cesaroliveira.net/tea/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-27">Password:<br />
<input name="post_password" id="pwbox-27" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/27/feed</wfw:commentRss>
		</item>
		<item>
		<title>Diffing files on the web</title>
		<link>http://www.cesaroliveira.net/tea/archives/26</link>
		<comments>http://www.cesaroliveira.net/tea/archives/26#comments</comments>
		<pubDate>Fri, 27 Jun 2008 22:00:23 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[addons]]></category>

		<category><![CDATA[editor]]></category>

		<category><![CDATA[intern]]></category>

		<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=26</guid>
		<description><![CDATA[As an AMO editor, one thing you have to do is code review for security flaws. When doing update reviews, the best way to do this is to download the extension update that is currently in sandbox, and the last public release and unzip the zippy and jar files (unless your lucky and your diff [...]]]></description>
			<content:encoded><![CDATA[<p>As an AMO editor, one thing you have to do is code review for security flaws. When doing update reviews, the best way to do this is to download the extension update that is currently in sandbox, and the last public release and unzip the zippy and jar files (unless your lucky and your diff program does this for you), than compare the results using a tool such as <a href="http://kdiff3.sourceforge.net/">kDiff3</a>, <a href="http://meld.sourceforge.net/">meld</a>, or <a href="http://winmerge.org/">WinMerge</a>.</p>
<p>I&#8217;m trying to change that by starting a project that will let you compare two files online. I&#8217;ve done some work and think it&#8217;s a good time to get my idea out to those who will use it.</p>
<p>Here is a screenshot of the output. You can test a sample output at <a href="/files/2008-06-27/index.php">this page</a> :<br />
<a href="/images/misc/2008-06-27/webdiff.png"><img src="/images/misc/2008-06-27/webdiff-thumb.png"/></a></p>
<p>One of the first thing you might notice is that this isn&#8217;t a side-by-side diff. The reason for that is that editors typically aren&#8217;t worried about what was taken out, but what was put in (while what was taken out might be more useful for extension developers). There is also the code that hasn&#8217;t changed, which is useful for referencing functions if it is ever needed.</p>
<p>It&#8217;s a simple php file.  I hope to have some feedback whether people will use this tool or not (and saying &#8220;I use x because I know it best&#8221; is totally fine too. I&#8217;m trying to focus my energy on what will be used).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/26/feed</wfw:commentRss>
		</item>
		<item>
		<title>The end of bookmarks, but the start of something else?</title>
		<link>http://www.cesaroliveira.net/tea/archives/25</link>
		<comments>http://www.cesaroliveira.net/tea/archives/25#comments</comments>
		<pubDate>Fri, 27 Jun 2008 06:09:03 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=25</guid>
		<description><![CDATA[I rarely bookmark any webpages I visit. The awesomebar has cleverly replaced the traditional paradigm of what bookmarks were. If I need anything, the awesomebar handles it. HOWEVER, one thing that it doesn&#8217;t do is remind me. The only time I use bookmarks is when I know I&#8217;ll never visit the site unless something reminds [...]]]></description>
			<content:encoded><![CDATA[<p>I rarely bookmark any webpages I visit. The awesomebar has cleverly replaced the traditional paradigm of what bookmarks were. If I need anything, the awesomebar handles it. <strong>HOWEVER</strong>, one thing that it doesn&#8217;t do is remind me. The only time I use bookmarks is when I know I&#8217;ll never visit the site unless something reminds me to visit. For example, I just made a comment on a blog, and I want to see other comments or if the blogger replied to me. This particular blog doesn&#8217;t email me when people reply. It does have an RSS feed for comments, but nothing I want to go through the trouble of having to subscribe to it. So I choose to check manually. I would never remember to do so, so I bookmarked it.</p>
<p>At the very least, I would have a record that I should have checked it. Hmm, maybe something should automate this for me? ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/25/feed</wfw:commentRss>
		</item>
		<item>
		<title>McCoy x86_64</title>
		<link>http://www.cesaroliveira.net/tea/archives/21</link>
		<comments>http://www.cesaroliveira.net/tea/archives/21#comments</comments>
		<pubDate>Sun, 08 Jun 2008 20:15:00 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[addons]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=21</guid>
		<description><![CDATA[For anyone interested in distributing extensions without SSL enabled on their website and cannot use the x86 binaries (I really shouldn&#8217;t be the only one), here is one compiled for Linux (unofficial) and some official docs to help you out.
]]></description>
			<content:encoded><![CDATA[<p>For anyone interested in distributing extensions without SSL enabled on their website and cannot use the x86 binaries (I really shouldn&#8217;t be the only one), here is <a href="http://www.cesaroliveira.net/files/2008-06-08/mccoy-1.0pre0.en-US.linux-x86_64.tar.bz2">one compiled for Linux (unofficial)</a> and <a href="http://developer.mozilla.org/en/docs/McCoy">some official docs</a> to help you out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/21/feed</wfw:commentRss>
		</item>
		<item>
		<title>On internships</title>
		<link>http://www.cesaroliveira.net/tea/archives/19</link>
		<comments>http://www.cesaroliveira.net/tea/archives/19#comments</comments>
		<pubDate>Sun, 08 Jun 2008 07:57:36 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=19</guid>
		<description><![CDATA[Something very unfortunate happened last Friday. Do to some lack of intern foresight, we actually lost a good to great intern perk. I think all the interns came out of that meeting shaken up a bit, maybe even a bit angry for losing something that they weren&#8217;t responsible for.
But that got me thinking about all [...]]]></description>
			<content:encoded><![CDATA[<p>Something very unfortunate happened last Friday. Do to some lack of intern foresight, we actually lost a good to great intern perk. I think all the interns came out of that meeting shaken up a bit, maybe even a bit angry for losing something that they weren&#8217;t responsible for.</p>
<p>But that got me thinking about all the perks that Mozilla does gives. Indeed, they don&#8217;t have to supply interns with an apartment for the summer. They don&#8217;t have to give us transportation to take us to and from work, and let us drive it where ever on the weekends. And they don&#8217;t have to stock the place with free beverages and snacks, and a wii console and a ping pong table. But they do, and it&#8217;s often easy to take for granted something that is a privilege.</p>
<p>For a good moment, I forgot what this internship means to me, and how lucky I am to be back. While I don&#8217;t think any of my mentors will start a start-up with me, it&#8217;s great to witness part of the process which makes a great company. So while the lost intern perk was unfortunate, it&#8217;s a very small price to pay considering what we&#8217;re still getting in return.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/19/feed</wfw:commentRss>
		</item>
		<item>
		<title>An overly-complex diabolical plan</title>
		<link>http://www.cesaroliveira.net/tea/archives/18</link>
		<comments>http://www.cesaroliveira.net/tea/archives/18#comments</comments>
		<pubDate>Fri, 06 Jun 2008 00:28:50 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[addons]]></category>

		<category><![CDATA[intern]]></category>

		<category><![CDATA[seneca]]></category>

		<category><![CDATA[wildon]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=18</guid>
		<description><![CDATA[So here is a diagram of the plan in which I had in mind to take over the world and catalog all of the extensions on the web:

Click for a larger image
Thank you Dia for letting my express my thoughts in boxes and stick figures. Here is a quick breakdown of some of the components

A [...]]]></description>
			<content:encoded><![CDATA[<p>So here is a diagram of the plan in which I had in mind to take over the world and catalog all of the extensions on the web:<br />
<a href="/images/misc/2008-06-05/theplan.png"><img src="/images/misc/2008-06-05/theplan-resize.png"/></a><br />
<i>Click for a larger image</i></p>
<p>Thank you <a href="http://www.gnome.org/projects/dia/">Dia</a> for letting my express my thoughts in boxes and stick figures. Here is a quick breakdown of some of the components</p>
<ol>
<li>A <strong>URL list</strong> is simply a list of URL that are known to contain extensions. For example source repositories such as AMO and mozdev.</li>
<li><strong>Google API</strong> for more separated addons, such as those on blogs and personal sites</li>
<li><strong>Manual entries</strong> for addons not hosted on webpages. These are usually commercial addons such as McAfee.</li>
<li><strong>Site-specific</strong> and <strong>generic</strong> refer to the rules that the crawler must obey. For example, a generic crawler would crawl a personal site such as example.com, while a site-specific policies would handle sites such as AMO where experimental addons require a login.</li>
<li><strong>Crawler</strong> is a web crawler. I have been having difficulty finding the best tool for the job.</li>
<li><strong>Parser</strong> parses .xpi files. We should also save the html files to extract contextual information where-ever possible.</li>
<li><strong>Site-speicifc persistent storage</strong> is just a database for each site we visit. This may have to be rethought, but I want some sort of redundancy plan to keep files saved even if something horrendous happen to a central database. Especially when dealing with beta software and unfamiliar technology such as web crawlers.</li>
<li><strong>Compared</strong> compares what is stored with a central database. Addons are updated all the time, so we want to the most up-to-date versions available.</li>
<li><strong>View</strong> is used by the <strong>website</strong> to provide information for the <strong>user</strong>.</li>
</ol>
<p>There are still some quirks which have to be figured out:</p>
<ul>
<li>Version bumping on AMO doesn&#8217;t change the actual install.rdf in the xpi file. Instead, Firefox does some update magic to fix that. I either need to work with said magic, or leave it alone (I don&#8217;t think it is entirely a big deal. But it should be noted).</li>
<li>JSpider is a java spider that I have been setting my eyes on. Yeah, it&#8217;s java, but many other crawlers are too. Many other crawlers do both crawl and index, and I different functionality (I need a flexible crawler. Forget the indexer). Unfortunately, JSpider doesn&#8217;t have POST data and web form authentication. Which means I&#8217;m going to have to fix that if I want to use it.</li>
<li><a href="http://code.google.com/apis/ajaxsearch/terms.html">Google&#8217;s Search API TOS</a> doesn&#8217;t seem to be spider friendly. I may have to try out other web search engines.</li>
</ul>
<p>On a brighter note, I put up the <a href="http://repository.cesaroliveira.net/index.cgi/wildon/">sources of my project</a> on the web. And even a nice place to <a href="http://www.cesaroliveira.net/wildon/frontend/">play in</a>. It&#8217;s a bit slow, but I&#8217;m probably into the &#8220;<a href="http://www.sqlite.org/whentouse.html">this isn&#8217;t what you should sqlite for</a>&#8221; territory.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/18/feed</wfw:commentRss>
		</item>
		<item>
		<title>The many ways around a problem</title>
		<link>http://www.cesaroliveira.net/tea/archives/17</link>
		<comments>http://www.cesaroliveira.net/tea/archives/17#comments</comments>
		<pubDate>Wed, 28 May 2008 16:11:13 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<category><![CDATA[intern]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[seneca]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=17</guid>
		<description><![CDATA[I came across a bug in the zipfile python module yesterday that I had to fix today. The problem occurs when you try to create a ZipFile object and passing it a corrupt zip file. It doesn&#8217;t handle it gracefully like returning None or throwing an exception. Rather it heads into an infinite loop.
This is [...]]]></description>
			<content:encoded><![CDATA[<p>I came across a bug in the zipfile python module yesterday that I had to fix today. The problem occurs when you try to create a ZipFile object and passing it a corrupt zip file. It doesn&#8217;t handle it gracefully like returning None or throwing an exception. Rather it heads into an infinite loop.</p>
<p>This is rather unfortunate for me. How would I get around this problem? The first thing I did was check for an updated python. Which there was a minor version upgrade. I found the changelog (why do they hide these things?) and noticed a few bugs resolved with the zipfile module. So I installed. Unfortunately, this didn&#8217;t solve my problem.</p>
<p>I managed to find a <a href="http://bugs.python.org/issue1622">bug number</a> in the python bug tracking software about people having similar problems. There was a patch, but hasn&#8217;t landed. I downloaded the latest stable version, but the patch wouldn&#8217;t go through. So I had to cvs checkout trunk and apply it. Once installed, I tried it and it worked! Success.</p>
<p>However, it broke other library I was using (PyXML). Unfortunate for me, the recent trunk build didn&#8217;t seem to fair any better.</p>
<p>At this point, I wasn&#8217;t in the mood for debugging. I had a few options at my disposal :</p>
<ol>
<li>Ignore this particular file</li>
<li>Suck it up and debug it.</li>
<li>Find a whacky work-around</li>
</ol>
<p>Option 1 isn&#8217;t an option. Option 2 I tried for a fair while, but nothing worked. So Option 3 was my only option!</p>
<p>I tried using a lower level library to see if I can fix the problem (zlib library), but that didn&#8217;t work well at all.</p>
<p>I finally thought I had no choice but to initiate a thread to try and unzip the xpi, and if it took longer than 10 seconds, to kill the thread somehow. While seriously looking into this, and fighting the temptation to take tequelia shots at work. I came across signals (which I thought I could use to send to the thread. I&#8217;m so naive). It turns out, you can throw a signal after a specific number of seconds and it throws the SIGALRM. This was <strong>exactly</strong> what I needed without the extra complexity. The <a href="http://docs.python.org/lib/node545.html">example provided</a> was almost exactly what I did too! Here is my solution to the problem :<br />
<code>
<pre>
		signal.signal(signal.SIGALRM, signal_handler)
		signal.alarm(10)
		try:
			zippy = zipfile.ZipFile(io, 'r')
			signal.alarm(0)
		except:
			print "\tZipFile Timeout"
			continue
</pre>
<p></code></p>
<p>Maybe python isn&#8217;t just for programming sissies after all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cesaroliveira.net/tea/archives/17/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
