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

<channel>
	<title>Softcore software development &#187; tip</title>
	<atom:link href="http://tea.cesaroliveira.net/archives/tag/tip/feed" rel="self" type="application/rss+xml" />
	<link>http://tea.cesaroliveira.net</link>
	<description>It&#039;s all about the cycles</description>
	<lastBuildDate>Sun, 01 Aug 2010 02:04:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>addParser.py</title>
		<link>http://tea.cesaroliveira.net/archives/44</link>
		<comments>http://tea.cesaroliveira.net/archives/44#comments</comments>
		<pubDate>Mon, 17 Nov 2008 08:34:56 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[addons]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=44</guid>
		<description><![CDATA[Synopsis : python addonParser.py extension.xpi Description : A simple python script that lexically analysis Firefox extensions, trying to find any problems. Outputs any problems to the terminal. Requires : Python Image Library Notes : Writes any .jar files into the $PWD/temp/ directory. Breakdown of output : examing chrome/ (13) examing chrome/content/ (13) examing chrome/content/botOFF.png (13) [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Synopsis</strong> :<br />
python addonParser.py extension.xpi</p>
<p><strong>Description</strong> :<br />
A simple python script that lexically analysis Firefox extensions, trying to find any problems. Outputs any problems to the terminal.</p>
<p><strong>Requires</strong> :<br />
<a href="http://www.pythonware.com/products/pil/" onclick="pageTracker._trackPageview('/outgoing/www.pythonware.com/products/pil/?referer=');">Python Image Library</a></p>
<p><strong>Notes</strong> :<br />
Writes any .jar files into the $PWD/temp/ directory.</p>
<p><strong>Breakdown of output</strong> :<br />
<code>examing chrome/ (13)<br />
examing chrome/content/ (13)<br />
examing chrome/content/botOFF.png (13)<br />
examing chrome/content/botON.png (13)<br />
examing chrome/content/dowint.css (13)<br />
examing chrome/content/dowint.js (13)<br />
examing chrome/content/dowint.xul (13)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WARNING: http://dowint.net/inc/js.php does not start with chrome:// and not a local file for file chrome/content/dowint.xul (5)<br />
examing chrome/content/logo.gif (13)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WARNING: Image chrome/content/logo.gif does not match it's extension. Expected GIF, got PNG (2)<br />
examing chrome.manifest (13)<br />
examing install.rdf (13)</code></p>
<p>Numbers in parentheses at the end of line are just for debugging use only.<br />
Text in square parentheses is often the source of the problem (used when evaluating javascript files)</p>
<p><strong>Types</strong> :<br />
<em>Warning</em> – something is wrong or possibly needs some examining<br />
<em>Error</em> – I don&#8217;t know how to evaluate this (eg. files that I wasn&#8217;t expecting, or files that I don&#8217;t know how to properly evaluate)</p>
<p><strong>Quirks</strong> (some people call this bugs) :</p>
<ol>
<li>Sometimes it gives you information, but not enough context:<br />
WARNING: found XMLHttpRequest [var req = new XMLHttpRequest();] in file content/hrtoolbar.js (9)</li>
<li>Sometimes the output is extremely long because the js file was minified:<br />
WARNING: found XMLHttpRequest [var CC=Components.classes;var CI=Components.interfaces;var ... ]</li>
<li>False positives can be quite common :<br />
WARNING: found reference to outside source [@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");] in file skin/webwean.css. (8)<br />
(This is common false positive in CSS files. Though it has found a problem once)</li>
</ol>
<p><strong>Undecided Issues</strong> :</p>
<ul>
<li>What to do about .dtd and .properties (should anything be done for these files?)</li>
<li>Should XHR throw up a warning? It&#8217;s fairly common, and we&#8217;re really just worried about eval.</li>
</ul>
<p><strong>Checks and Errors</strong> :</p>
<table>
<tr>
<th>Error</th>
<th>Problem</th>
</tr>
<tr>
<td>1</td>
<td>Image file is not an image file</td>
</tr>
<tr>
<td>2</td>
<td>Image file extension does not match its type</td>
</tr>
<tr>
<td>3</td>
<td>XUL file is invalid XML</td>
</tr>
<tr>
<td>4</td>
<td>Inline JS</td>
</tr>
<tr>
<td>5</td>
<td>The src for a script tag was not a chrome:// url nor a local file</td>
</tr>
<tr>
<td>6</td>
<td>Invalid keyboard shortcuts (Macs require alt + another modifier)</td>
</tr>
<tr>
<td>7</td>
<td>iframe content type is not content</td>
</tr>
<tr>
<td>8</td>
<td>CSS file has an outside reference</td>
</tr>
<tr>
<td>9</td>
<td><acronym title="XMLHttpRequest">XHR</acronym> found</td>
</tr>
<tr>
<td>10</td>
<td>Javascript eval keyword found :p</td>
</tr>
<tr>
<td>11</td>
<td>Javascript <a href="https://developer.mozilla.org/En/MozIJSSubScriptLoader" onclick="pageTracker._trackPageview('/outgoing/developer.mozilla.org/En/MozIJSSubScriptLoader?referer=');">loadSubscript</a> found</td>
</tr>
<tr>
<td>12</td>
<td>Javascript new Function()</td>
</tr>
<tr>
<td>13</td>
<td>Log message</td>
</tr>
<tr>
<td>14</td>
<td><acronym title="Revision Control System">RCS</acronym> directory found. Could be sensitive to the author.</td>
</tr>
<tr>
<td>15</td>
<td>A binary component has been found</td>
</tr>
</table>
<p><strong>File</strong> :<br />
Currently available <a href="/files/2008-11-16/addonParser.py">here</a>. Will upload repository later.</p>
<p>Please be advised that this tool is extremely stupid, and not a substitute for careful reviews <img src='http://tea.cesaroliveira.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/44/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>screen + irssi and the dreaded reboot</title>
		<link>http://tea.cesaroliveira.net/archives/36</link>
		<comments>http://tea.cesaroliveira.net/archives/36#comments</comments>
		<pubDate>Tue, 16 Sep 2008 21:40:04 +0000</pubDate>
		<dc:creator>Cesar</dc:creator>
				<category><![CDATA[hugs]]></category>
		<category><![CDATA[seneca]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://www.cesaroliveira.net/?p=36</guid>
		<description><![CDATA[If you use screen + irssi a lot, you&#8217;ll know that sickening feeling when &#8220;screen -r&#8221; gives you a message that there are no screens to be resume. This happens when the computer is rebooted, and you lose all your screens. To add salt to the wound, you probably had your channels in some very [...]]]></description>
			<content:encoded><![CDATA[<p>If you use screen + irssi a lot, you&#8217;ll know that sickening feeling when &#8220;screen -r&#8221; gives you a message that there are no screens  to be resume. This happens when the computer is rebooted, and you lose all your screens. To add salt to the wound, you probably had your channels in some very specific window. For example, #seneca could be windows 2 and #developers could be window 6. And you can&#8217;t quite remember what was between 2 and 6.</p>
<p>While I can&#8217;t solve the computer rebooting problem, I have figured out a way to make connecting back to all your channels painless.</p>
<p>The first thing you have to do is create a network. A network would then contain a list of channels. Here&#8217;s the syntax to create a network :<br />
<strong>/network add -nick cesar -realname &#8220;Cesar Oliveira&#8221; -autosendcmd &#8220;/^msg nickserv identify password&#8221; mozilla</strong><br />
It&#8217;s pretty self-explanatory.<br />
<em>-autosendcmd</em> sends a message to the server once you are connected. In my case, I identified myself to nickserv with my cryptographically strong password (The /^msg means I don&#8217;t want to see the input. That way it doesn&#8217;t open up a new query window in irssi).<br />
The last parameter is just the name of the network, which doesn&#8217;t have to be the same name as the server your connecting to (eg. irc.mozilla.org).</p>
<p>Then you add channels:<br />
<strong>/channel add -auto #seneca mozilla</strong><br />
<strong>/channel add -auto #firefox mozilla</strong><br />
&#8230;<br />
<strong>/channel add -auto #kittens mozilla</strong><br />
mozilla should correspond to your network. #seneca will be window 2, #firefox will be window 3&#8230;</p>
<p>Finally, when you get disconnected, you can connect to the irc server :<br />
<strong>/connect -ssl -network mozilla irc.mozilla.org</strong></p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://tea.cesaroliveira.net/archives/36/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
