<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.12-alpha" -->
<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/"
	>

<channel>
	<title>Debian Package of the Day</title>
	<link>http://debaday.debian.net</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Sun, 28 Jun 2009 05:00:39 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.12-alpha</generator>
	<language>en</language>
			<item>
		<title>nullmailer: simple send-only mail transport agent</title>
		<link>http://debaday.debian.net/2009/06/28/nullmailer-simple-send-only-mail-transport-agent/</link>
		<comments>http://debaday.debian.net/2009/06/28/nullmailer-simple-send-only-mail-transport-agent/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 05:00:39 +0000</pubDate>
		<dc:creator>Tincho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/2009/06/28/nullmailer-simple-send-only-mail-transport-agent/</guid>
		<description><![CDATA[Article submitted by JP Vossen. DebADay needs you more than ever! Please submit good articles about software you like!
Nullmailer is a minimal MTA (Mail Transport Agent) that provides mail delivery services to programs (cron jobs, system integrity checkers, log inspectors, etc.) in a host that otherwise does not require a full MTA like Exim or [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Article submitted by JP Vossen. DebADay needs you more than ever! Please <a href="http://debaday.debian.net/contribute/" title="Contribute to Debian Package of the Day">submit good articles about software you like</a>!</strong></p>
<p><a href="http://untroubled.org/nullmailer/">Nullmailer</a> is a minimal MTA (Mail Transport Agent) that provides mail delivery services to programs (cron jobs, system integrity checkers, log inspectors, etc.) in a host that otherwise does not require a full MTA like Exim or Postfix. Do not confuse an MTA with programs like Evolution or Thunderbird which are MUAs (Mail User Agent): programs that offer an interface to a human to write email.</p>
<p>Nullmailer is one of those packages that create a &#8220;well duh&#8221; moment when you find out about it.  Normally, hosts with no MTA can&#8217;t send mail, which turns out to be a Bad Thing in terms of finding out when things like cron jobs break, or for monitoring logs or files.  So you go and install a minimal system, then wonder why it&#8217;s being so quiet.  Well, no MTA, no email.  But Exim, Postfix or another full MTA is overkill and might be tedious to maintain.  What you really need is just a basic MTA to send messages to the real mail server.</p>
<p>That&#8217;s nullmailer.</p>
<p>The package will prompt for your remote mail server and create <code>/etc/nullmailer/remotes</code>, where you can also specify authentication details. You probably also want to create <code>/etc/nullmailer/adminaddr</code> to receive in one mail account all mail destined to your local host.  Each file is a oneliner that contains pretty much what you&#8217;d expect:</p>
<pre class="terminal">$ cat /etc/nullmailer/adminaddr
I_get_roots_mail@example.com

$ cat /etc/nullmailer/remotes
mail.example.com</pre>
<p>There are also several other files that may be used by nullmailer: <code>/etc/nullmailer/defaultdomain</code> and <code>/etc/nullmailer/defaulthost</code> in case you don&#8217;t already have <code>/etc/mailname</code>.  For a complete list of control files, see the <code>nullmailer(7)</code> man page. Detailed information can be found in the man pages for each part of nullmailer: <code>nullmailer-queue(8)</code>, <code>nullmailer-inject(1)</code>, and <code>nullmailer-send(8)</code>.</p>
<p>Pros:</p>
<ul>
<li>Simple.</li>
<li>Just Works.</li>
<li>Avoids the configuration, maintenance, memory footprint, and larger attack surface of a full MTA.</li>
</ul>
<p>Cons:</p>
<ul>
<li>Configuration is scattered about in multiple one-line files instead of just a trivial config file.</li>
<li>Documentation is a also bit scattered.</li>
<li>The package might be a little more helpful by asking more questions when it&#8217;s installed (e.g. prompting for root&#8217;s mail recipient).</li>
<li>Doesn&#8217;t provide the -bs switch, so it&#8217;s not LSB compatible.</li>
<li>Gets very chatty in your log files when it can&#8217;t connect to the remote mail server.</li>
</ul>
<p>Other alternatives:</p>
<ul>
<li>ssmtp - extremely simple MTA to get mail off the system to a mail hub</li>
<li><a href="http://linuxmafia.com/faq/Mail/nullmailers.html">http://linuxmafia.com/faq/Mail/nullmailers.html</a></li>
<li><a href="http://www.davidgrant.ca/ssmtp_vs_postfix_no_contest">http://www.davidgrant.ca/ssmtp_vs_postfix_no_contest</a></li>
</ul>
<p>Nullmailer has been available in Debian at least since Etch, and in Ubuntu Universe since Dapper.</p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/06/28/nullmailer-simple-send-only-mail-transport-agent/feed/</wfw:commentRss>
		</item>
		<item>
		<title>chromium-bsu: fast paced, arcade-style, scrolling space shooter</title>
		<link>http://debaday.debian.net/2009/06/24/chromium-bsu-fast-paced-arcade-style-scrolling-space-shooter/</link>
		<comments>http://debaday.debian.net/2009/06/24/chromium-bsu-fast-paced-arcade-style-scrolling-space-shooter/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 08:00:23 +0000</pubDate>
		<dc:creator>Tincho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/2009/06/28/chromium-fast-paced-arcade-style-scrolling-space-shooter/</guid>
		<description><![CDATA[Oops, this article was supposed to go live on Sunday, my bad.
Article submitted by Paul Wise. DebADay needs you more than ever! Please submit good articles about software you like!
Chromium B.S.U. is a top down fast paced high action scrolling space shooter. In this game you are the captain of the cargo ship Chromium B.S.U., [...]]]></description>
			<content:encoded><![CDATA[<p>Oops, this article was supposed to go live on Sunday, my bad.</p>
<p><strong>Article submitted by Paul Wise. DebADay needs you more than ever! Please <a href="http://debaday.debian.net/contribute/" title="Contribute to Debian Package of the Day">submit good articles about software you like</a>!</strong></p>
<p><a href="http://chromium-bsu.sourceforge.net/" title="Chromium B.S.U. homepage">Chromium B.S.U.</a> is a top down fast paced high action scrolling space shooter. In this game you are the captain of the cargo ship Chromium B.S.U., and responsible for delivering supplies to the troops on the front line. Your ship has a small fleet of robotic fighters which you control from the relative safety of the Chromium vessel.</p>
<p>You control the robotic fighters with your mouse and repel wave after wave of different kinds of enemy ships. Launch Chromium B.S.U. from the Applications / Games / Arcade menu and start a new game. You will soon be sending volleys of weapon fire toward the enemy ships while protecting yourself with super shields, waiting for powerups to get closer or dodging fire from the larger enemy ships at the end of each level:</p>
<table style="width: 100%; text-align: center">
<tr>
<td><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2009/06/2034_large.png" title="chromium"><img id="image541" src="http://debaday.debian.net/wp-content/uploads/2009/06/2034_large.thumbnail.png" alt="chromium" /></a></td>
<td><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2009/06/1745_large.png" title="chromium"><img id="image540" src="http://debaday.debian.net/wp-content/uploads/2009/06/1745_large.thumbnail.png" alt="chromium" /></a></td>
<td><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2009/06/287_large.png" title="chromium"><img id="image539" src="http://debaday.debian.net/wp-content/uploads/2009/06/287_large.thumbnail.png" alt="chromium" /></a></td>
</table>
<p>If you keep getting killed, quitcher whinin&#8217;, you ninny! It&#8217;s supposed to be hard! Seriously, Chromium B.S.U. is intended to be a 15 minute adrenaline rush/mental cleanser. Frequent doses of explosions can be very therapeutic. There is always kamikaze attacks or the BIG RED BUTTON if you get into particularly nasty trouble.</p>
<p>The <code>chromium</code> package is in <a href="http://packages.debian.org/chromium">Debian</a> since lenny and <a href="http://packages.ubuntu.com/chromium">Ubuntu</a> since dapper, but it has been recently renamed to <code>chromium-bsu</code>. Chromium B.S.U. is an old favourite of the Linux gaming community that has been neglected until recently. The project is still looking for developers, especially to help move it off obsolete libs like libglpng and fix the rest of the bugs.</p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/06/24/chromium-bsu-fast-paced-arcade-style-scrolling-space-shooter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iotop: simple top-like I/O monitor</title>
		<link>http://debaday.debian.net/2009/06/14/iotop-simple-top-like-io-monitor/</link>
		<comments>http://debaday.debian.net/2009/06/14/iotop-simple-top-like-io-monitor/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 23:02:09 +0000</pubDate>
		<dc:creator>Tincho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/2009/06/14/iotop-simple-top-like-io-monitor/</guid>
		<description><![CDATA[Article submitted by Paul Wise. DebADay needs you more than ever! Please submit good articles about software you like!
iotop is a console application for monitoring the I/O usage of processes on your system. It is especially handy for answering the question &#8220;Grrr, sloooowness, why is my disk churning so much?&#8221;
Just type iotop in your terminal [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Article submitted by Paul Wise. DebADay needs you more than ever! Please <a href="http://debaday.debian.net/contribute/" title="Contribute to Debian Package of the Day">submit good articles about software you like</a>!</strong></p>
<p><a href="http://guichaz.free.fr/iotop/" title="iotop homepage">iotop</a> is a console application for monitoring the I/O usage of processes on your system. It is especially handy for answering the question &#8220;Grrr, sloooowness, why is my disk churning so much?&#8221;</p>
<p><a class="imagelink" href="http://screenshots.debian.net/screenshots/i/iotop/2005_large.png" title="iotop showing cat writing to disk"><img align="right" src="http://screenshots.debian.net/screenshots/i/iotop/2005_small.png" alt="iotop showing cat writing to disk" /></a>Just type <kbd>iotop</kbd> in your terminal and you will get a regularly updated list of processes and the amount of I/O they are currently using: reads and writesin bytes per second, and percentage of time spent swapping and waiting for I/O.</p>
<p>iotop is related to top and vmstat. In top you see a display of CPU and memory usage but not I/O. The vmstat utility shows it, but its just a stream of one-line reports instead of a dynamic display and doesn&#8217;t show the information in a per-process way.</p>
<p>Note that iotop needs the CONFIG_TASK_DELAY_ACCT and CONFIG_TASK_IO_ACCOUNTING options enabled in the kernel; in Debian stock kernels, that&#8217;s already the case.</p>
<p>iotop is available in <a href="http://packages.debian.org/iotop">Debian since Lenny</a> and in <a href="http://packages.ubuntu.com/iotop">Ubuntu (universe) since Intrepid</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/06/14/iotop-simple-top-like-io-monitor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>dmidecode: get hardware information from the bios</title>
		<link>http://debaday.debian.net/2009/05/03/dmidecode-get-hardware-information-from-the-bios/</link>
		<comments>http://debaday.debian.net/2009/05/03/dmidecode-get-hardware-information-from-the-bios/#comments</comments>
		<pubDate>Sun, 03 May 2009 05:00:36 +0000</pubDate>
		<dc:creator>Vicho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/2009/05/03/dmidecode-get-hardware-information-from-the-bios/</guid>
		<description><![CDATA[Article submitted by Ryan Forsith. Guess what? We still need you to submit good articles about software you like!
dmidecode is a useful tool designed to extract system hardware information directly from the BIOS. This information typically includes system manufacturer, model name, serial number, BIOS version, asset tag as well as a lot of other details [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Article submitted by Ryan Forsith. Guess what? We still need you to <a href="http://debaday.debian.net/contribute/" title="Contribute to Debian Package of the Day">submit good articles about software you like</a>!</strong></p>
<p><a href="http://www.nongnu.org/dmidecode/" title="dmidecode's homepage">dmidecode</a> is a useful tool designed to extract system hardware information directly from the BIOS. This information typically includes system manufacturer, model name, serial number, BIOS version, asset tag as well as a lot of other details of varying level of interest and reliability depending on the manufacturer. The information provided could potentially help in problem solving, like in the case of the screenshot provided; there&#8217;s no documentation to be found in regards to the setting of the CPU toggles, but the dmidecode output displays exactly which sequence can be used for each clock speed.</p>
<p style="text-align:center"><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2009/05/dmidecode.jpg" title="dmidecode screenshot"><img id="image535" src="http://debaday.debian.net/wp-content/uploads/2009/05/dmidecode.thumbnail.jpg" alt="dmidecode screenshot" /></a></p>
<p>This information can be invaluable to administrators looking for tweaks, especially in legacy hardware. DMI data may not always be reliable, as the software is intended to report only what the BIOS tells it to.</p>
<p>Three additional tools are packaged with dmidecode which further enhances it&#8217;s usefulness:</p>
<ul>
<li><kbd>biosdecode</kbd> prints all BIOS related information it can find.</li>
<li><kbd>ownership</kbd> retrieves the &#8220;ownership tag&#8221; that can be set on Compaq computers.</li>
<li><kbd>vpddecode</kbd> prints the &#8220;vital product data&#8221; information that can be found in almost all IBM computers.</li>
</ul>
<p style="text-align:center"><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2009/05/biosdecode.jpg" title="biosdecode screenshot"><img id="image534" src="http://debaday.debian.net/wp-content/uploads/2009/05/biosdecode.thumbnail.jpg" alt="biosdecode screenshot" /></a>&nbsp;&nbsp;&nbsp;<a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2009/05/vpddecode.jpg" title="vpddecode screenshot"><img id="image536" src="http://debaday.debian.net/wp-content/uploads/2009/05/vpddecode.thumbnail.jpg" alt="vpddecode screenshot" /></a></p>
<p>dmidecode is available in <a href="http://packages.debian.org/dmidecode">Debian since Etch</a> and in <a href="http://packages.ubuntu.com/dmidecode">Ubuntu (universe) since Hardy</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/05/03/dmidecode-get-hardware-information-from-the-bios/feed/</wfw:commentRss>
		</item>
		<item>
		<title>goplay: discover interesting packages</title>
		<link>http://debaday.debian.net/2009/04/12/goplay-discover-interesting-packages/</link>
		<comments>http://debaday.debian.net/2009/04/12/goplay-discover-interesting-packages/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 05:00:40 +0000</pubDate>
		<dc:creator>Vicho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/2009/04/12/goplay-discover-interesting-packages/</guid>
		<description><![CDATA[goplay is a package browser that lets you find interesting packages that you didn&#8217;t knew before. It uses DebTags (categories to describe Debian packages) to classify the packages. The package comes with some generic browsers:


goplay Browse games.
goadmin Browse admin packages.
golearn Browse educational packages.
gonet Browse networking related packages.
gooffice Browse office packages, e.g. word processors, spreadsheets, project [...]]]></description>
			<content:encoded><![CDATA[<p>goplay is a package browser that lets you find interesting packages that you didn&#8217;t knew before. It uses <a href="http://debtags.alioth.debian.org/" title="debtags homepage">DebTags</a> (categories to describe Debian packages) to classify the packages. The package comes with some generic browsers:</p>
<p><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2008/12/1390_large.png" title="screenshot of goplay"><img id="image487" align="right" src="http://debaday.debian.net/wp-content/uploads/2008/12/1390_large.thumbnail.png" alt="screenshot of goplay" /></a></p>
<ul>
<li><kbd>goplay</kbd> Browse games.</li>
<li><kbd>goadmin</kbd> Browse admin packages.</li>
<li><kbd>golearn</kbd> Browse educational packages.</li>
<li><kbd>gonet</kbd> Browse networking related packages.</li>
<li><kbd>gooffice</kbd> Browse office packages, e.g. word processors, spreadsheets, project manager, finance managers, etc.</li>
<li><kbd>gosafe</kbd> Browse security packages.</li>
<li><kbd>goweb</kbd> Browse packages related with the web.</li>
</ul>
<p><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2008/12/ferm.png" title="gonet looking for firewalls"><img id="image488" align="right" src="http://debaday.debian.net/wp-content/uploads/2008/12/ferm.thumbnail.png" alt="gonet looking for firewalls" /></a> You can refine your search by specifying the type of package you are looking for, that is, the specific role it has. For example, <kbd>gonet</kbd> (the browser of networking related packages) has the following types: &#8220;Client&#8221;, &#8220;Configuration&#8221;, &#8220;Firewall&#8221;, &#8220;High Availability&#8221;, &#8220;Load Balancing&#8221;, &#8220;Routing&#8221;, &#8220;Scaning&#8221;, &#8220;Server&#8221;, &#8220;Service&#8221; and &#8220;VPN or Tunneling&#8221;. The screenshot in the right shows <kbd>gonet</kbd> browsing firewall packages. When you click on a package on the left pane, the right pane shows a description of the package and the DebTags (in the example, ferm, a recently <a href="http://debaday.debian.net/2008/12/14/ferm-a-straightforward-firewall-configuration-tool/" title="Debian Package of the Day article about ferm">featured package</a> in this site). If a screenshot for the package is available, it is also shown.</p>
<p>The first and second field for classification are automatically set to &#8220;type&#8221; and &#8220;interface&#8221;, but you can change that using the options <code>--primary</code> and <code>--secondary</code>. For example, you can prune the list of packages based on the purpose of the package using the option <code>--secondary=use</code>. You can find more information about the predefined tags (also known as &#8220;facets&#8221;) <a href="http://wiki.debian.org/DebTaggingGuidelines" title="Debian Wiki entry about Tags in Debian Packages">in the Debian Wiki</a>.</p>
<p>goplay is available in <a href="http://packages.debian.org/goplay" title="goplay in Debian">Debian Lenny</a> and <a href="http://packages.ubuntu.com/goplay" title="goplay in Ubuntu">Ubuntu (since Hardy)</a>.</p>
<h4>Your turn</h4>
<p><strong>Have you found an interesting package with goplay? Share it with the community and <a href="http://debaday.debian.net/contribute/" title="Contribute to Debian Package of the Day">send us a good article</a>! We&#8217;re running out of them!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/04/12/goplay-discover-interesting-packages/feed/</wfw:commentRss>
		</item>
		<item>
		<title>cdargs: a browser for cd</title>
		<link>http://debaday.debian.net/2009/04/05/cdargs-a-browser-for-cd/</link>
		<comments>http://debaday.debian.net/2009/04/05/cdargs-a-browser-for-cd/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 05:00:03 +0000</pubDate>
		<dc:creator>Vicho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/2009/04/05/cdargs-a-browser-for-cd/</guid>
		<description><![CDATA[We have run out of articles! Please submit good articles about software you like!
cdargs is a command that enhances the good old cd by adding bookmarks and a browser. Sometimes you need to work on directories that are difficult to reach, even with the help of tab-completion (e.g. /var/www/mysite.com/subsection/includes). When you are in one of [...]]]></description>
			<content:encoded><![CDATA[<p><strong>We have run out of articles! <i>Please</i> <a href="http://debaday.debian.net/contribute/" title="Contribute to Debian Package of the Day!">submit good articles</a> about software you like!</strong></p>
<p><a href="http://www.skamphausen.de/cgi-bin/ska/CDargs" title="cdargs homepage">cdargs</a> is a command that enhances the good old <code>cd</code> by adding bookmarks and a browser. Sometimes you need to work on directories that are difficult to reach, even with the help of tab-completion (e.g. /var/www/mysite.com/subsection/includes). When you are in one of such directories, just type <kbd>ca wwwinc</kbd> and you&#8217;ll add a bookmark of the directory with the name wwwinc. Whenever you want to go back to that directory, <i>no matter which is your current working directory</i>, just type <kbd>cv wwwinc</kbd> and you&#8217;ll be back there. cdargs has tab-completion too and understands subdirectories of bookmarks. In the previous example, typing <kbd>cv wwwinc/foo</kbd> will be equivalent to <kbd>cd /var/www/mysite.com/subsection/includes/foo</kbd></p>
<p>cdargs has a browser. Just type <kbd>cv</kbd> and cdargs will bring you a list of your bookmarks. You can use the arrow keys (or h, j, k and l if you are used to vim) to navigate the list. When you have selected your final directory hit enter, and you&#8217;ll return to the command line, in that directory. You can add new bookmarks by hitting &#8216;a&#8217; and you can edit your list of bookmarks with your favorite editor hitting &#8216;e&#8217;. With &#8216;?&#8217; you get a list of all of the available commands in cdargs.</p>
<p style="text-align:center"><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2008/12/cdargs-screenshot.png" title="cdargs browser"><img id="image502" src="http://debaday.debian.net/wp-content/uploads/2008/12/cdargs-screenshot.thumbnail.png" alt="cdargs browser" /></a></p>
<p>The bookmarks of cdargs can be extended to other commands. The distribution of cdargs provides examples for the commands <code>cp</code> and <code>mv</code>, under the aliases <code>cpb</code> and <code>mvb</code>. For example, if you want to copy the  file <code>bar</code> to the bookmark in the previous example, a quick <kbd>cpb bar wwwinc</kbd> will do the trick.</p>
<p>cdargs needs some aliases in the shell to work correctly. If you use the bash shell, you need to add this to your <code>~/.bashrc</code>:</p>
<pre class="terminal">
if [ -e /usr/share/doc/cdargs/examples/cdargs-bash.sh ]; then
  . /usr/share/doc/cdargs/examples/cdargs-bash.sh
fi
</pre>
</p>
<p>The aliases are also available for tcsh, but not for zsh. The author is looking for someone who knows zsh shell scripting to write them.</p>
<h4>Other alternatives</h4>
<ul>
<li><strong>pushd, popd</strong> they are useful, but they are stack based and don&#8217;t provide any bookmark functionality.</li>
<li><strong>CDPATH</strong> You can achieve a similar behavior using the shell variable CDPATH, symbolic links and aliasing cv to <kbd>cd -P</kbd>. However, the bookmarks are easier to maintain with cdargs and the browser is a nice way to navigate through the filesystem. Moreover, with CDPATH you can&#8217;t extend other commands as cdargs does with cp and mv.</li>
</ul>
<h4>Availability</h4>
<p>cdargs has been in <a href="http://packages.debian.org/cdargs" title="cdargs package in Debian">Debian since at least Sarge</a> and in <a href="http://packages.ubuntu.com/cdargs" title="cdargs package in Ubuntu">Ubuntu since at least Dapper</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/04/05/cdargs-a-browser-for-cd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>regexxer: search/replace for the masses</title>
		<link>http://debaday.debian.net/2009/03/29//</link>
		<comments>http://debaday.debian.net/2009/03/29//#comments</comments>
		<pubDate>Sun, 29 Mar 2009 05:00:14 +0000</pubDate>
		<dc:creator>Vicho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/?p=529</guid>
		<description><![CDATA[Article submitted by David A. Thompson. Guess what? We still need you to submit good articles about software you like!
This thing is great! If you manage a set of files (e.g., a code base) and end up needing to perform a search/replace across the files, or some subset thereof, maybe regexxer will end up being [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Article submitted by David A. Thompson. Guess what? We still need you to <a href="http://debaday.debian.net/contribute/">submit good articles about software you like</a>!</strong></p>
<p>This thing is great! If you manage a set of files (e.g., a code base) and end up needing to perform a search/replace across the files, or some subset thereof, maybe regexxer will end up being counted among your friends.</p>
<p>The <a href="http://regexxer.sourceforge.net/" title="regexxer website">regexxer web site</a> summarizes regexxer as &#8220;a nifty GUI  search/replace tool featuring Perl-style regular expressions&#8221;. After using regexxer, I have to agree&#8230;</p>
<p>If you have a code base that needs some search/replace time spent on it, regexxer really does seem to be the way to go. Again, the web site sums things up well: &#8220;If you need project-wide substitution and you&#8217;re tired of hacking sed command lines together, then you should definitely give it a try.&#8221;</p>
<h4>The GUI</h4>
<p><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2009/03/regexxer.png" title="regexxer main window" style="padding-left:5px"><img id="image530" src="http://debaday.debian.net/wp-content/uploads/2009/03/regexxer.thumbnail.png" alt="regexxer main window" style="float:right" /></a>The regexxer GUI is a straightforward, logically organized window with file management on the left and search/replace management on the right. The beauty of the thing is that the author(s?) seem to have added a lot of flexibility to the search/replace process while keeping the user interface relatively simple and clean.</p>
<h4>File Management</h4>
<p>One can select one or many files from a given folder. Recursion is optional and a pattern (e.g., *.lisp) can be defined to further limit files being acted on. A &#8216;find&#8217; button then triggers execution of the search and the corresponding files are shown in the window below. Not much more to say&#8230;</p>
<h4>The Search Replace process</h4>
<p>The user interface makes it easy on the noggin with top-to-bottom arrangement of controls which follow the logic of the search replace. The perl-style search regex and the corresponding replacement are entered at the top of the window. Another &#8216;find&#8217; button triggers the search and the corresponding matches are shown in context in the window below. At this point, I found the regexxer user interface close to ideal. The flexibility available to the user includes:</p>
<ul>
<li>&#8216;On the fly&#8217; editing of the file.</li>
<li>Performing the replace action one-at-a-time or per file or upon all files as a unit.</li>
<li>The ability to navigate through the matches (little green arrows at the bottom let the user &#8216;back up&#8217; or &#8217;skip&#8217; matches as desired).</li>
</ul>
<h4>Alternatives</h4>
<p>It&#8217;s likely I&#8217;m simply unaware of many of the alternatives &#8216;out there&#8217;. Typically, for this type of thing, many turn to <code>sed</code>, a powerful command-line tool. However, sed has a substantial learning curve. In contrast, if one has already mastered perl regex, regexxer requires very little in the way of additional investment of energy.  Other command-line tools which provide some of sed&#8217;s functionality, such as <code>modifile</code>, <code>rpl</code>, and <code>replace</code>, perhaps have their place but they certainly don&#8217;t offer the warm fuzzies of the GUI interface of regexxer.</p>
<p><code>Emacs</code>, which typically seems to already have an extension for just about any task except cooking breakfast, didn&#8217;t seem to shine here. I can&#8217;t help but suspect that there&#8217;s an emacs tool available for this sort of thing but I haven&#8217;t happened across it yet.
<p>Among other GUI tools, several offer similar functionality. For example, the text editor <code>jedit</code> can act in much the same way as regexxer. Unfortunately, jedit relies on java and, thus, things get dicey on planet Debian. Another, more focused tool, <code>kfilereplace</code>, is very straightforward but does not seem to be under active development and has much more limited functionality (e.g., the option to perform replacements &#8216;one-at-a-time&#8217; is greyed out in the configuration window). Other utilities which seem to be designed to perform this type of task (e.g., <code>modifile</code> or <code>regexsearch</code>) don&#8217;t seem to be available for Debian.</p>
<h4>Distros</h4>
<p>Apparently those on <a href="http://packages.debian.org/regexxer" title="regexxer package in Debian">planet Debian</a> and <a href="http://packages.ubuntu.com/regexxer" title="regexxer package in Ubuntu">planet Ubuntu</a> have Ross Burton and Daniel Holbach to thank for the packaging of this excelent tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/03/29//feed/</wfw:commentRss>
		</item>
		<item>
		<title>xmlstarlet: Command Line XML Toolkit</title>
		<link>http://debaday.debian.net/2009/03/22/xmlstarlet-command-line-xml-toolkit/</link>
		<comments>http://debaday.debian.net/2009/03/22/xmlstarlet-command-line-xml-toolkit/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 05:00:05 +0000</pubDate>
		<dc:creator>Vicho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/2009/03/22/xmlstarlet-command-line-xml-toolkit/</guid>
		<description><![CDATA[Article submitted by Vasily Faronov. Guess what? We still need you to submit good articles about software you like!
With the proliferation of XML-based formats, it is nice to have tools that manipulate XML documents in the traditional Unix-like fashion, as the good old grep(1), sed(1) and other tools do for plain text. xmlstarlet is one [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Article submitted by Vasily Faronov. Guess what? We still need you to <a href="http://debaday.debian.net/contribute/" title="Contribute to Debian Package of the Day!">submit good articles about software you like</a>!</strong></p>
<p>With the proliferation of <a href="http://www.w3.org/XML/" title="XML Activity at the World Wide Web Consortium">XML</a>-based formats, it is nice to have tools that manipulate XML documents in the traditional Unix-like fashion, as the good old <code>grep(1)</code>, <code>sed(1)</code> and other tools do for plain text. <a href="http://xmlstar.sourceforge.net/" title="xmlstarlet's homepage">xmlstarlet</a> is one of such tools. In fact, it is an entire toolkit packed into one program: xmlstarlet can extract data from XML documents, alter them, validate them, and perform many other useful operations. xmlstarlet has been available in Debian since at least <a href="http://packages.debian.org/xmlstarlet" title="xmlstarlet package in Debian">release 4.0 “etch”</a>, and in Ubuntu since at least <a href="http://packages.ubuntu.com/xmlstarlet" title="xmlstarlet package in Ubuntu">release 6.06 “Dapper Drake”</a>.</p>
<p>Let’s look at a few features of xmlstarlet more closely.</p>
<h4>Extracting Data from XML Documents</h4>
<p>There is a flexible way of processing XML documents and extracting data from them — a language known as <a href="http://www.w3.org/TR/xslt" title="W3C Recommendation on XSLT">XSLT</a>. Both Debian and Ubuntu provide utilities, such as <a href="http://xmlsoft.org/XSLT/xsltproc2.html" title="xsltproc's homepage">xsltproc</a>, to deal with XSLT. However, this language is not exactly terse, and it requires you to first compose a separate document defining the desired transformation, and then apply it to the original document. When all you want to do is extract a few values from a document, you’d like something more approachable.</p>
<p>xmlstarlet is your friend. It features a relatively simple command syntax for selecting data, based on an auxiliary language called <a href="http://www.w3.org/TR/xpath" title="W3C Recommendation on XPath">XPath</a>, which allows for addressing elements in XML documents in a style reminiscent of filesystem paths. Behind the scenes, xmlstarlet still generates XSLT code, and it helps to know the actual XSLT language, but simple queries can be done almost intuitively.</p>
<p>Suppose we’d like to get a list of the recent headlines from the Debian Package of the Day website. We can use xmlstarlet to extract titles from the site’s <a href="http://debaday.debian.net/feed/" title="Debian Package of the Day RSS feed">RSS feed</a>, because <a href="http://www.rssboard.org/rss-specification" title="RSS 2.0 specification">RSS</a> is an application of XML. In RSS, entry titles are contained in <code>title</code> elements, in turn contained in <code>item</code> elements, which are in <code>channel</code> elements under the root <code>rss</code> element. The feed itself can be easily fetched with <code>wget(1)</code>. Our pipeline would then look like this:</p>
<pre class="terminal">$ wget -O - http://debaday.debian.net/feed/ 2>/dev/null | 
> xmlstarlet sel -t -m /rss/channel/item -v title -n
Fonty Python: manage your fonts
localepurge: Automagically remove unnecessary locale data
vnstat: a console-based network traffic monitor
rtpg-www: Please your dearest with rtorrent’s power
iftop - display bandwidth usage on an interface by host
atop: an ASCII full-screen performance monitor
dstat: versatile tool for generating system resource statistics
tellico: collection manager for books, videos, music, and a whole lot more
atool: handling archives without headaches
watch (from procps): execute a program at regular intervals, and show the output</pre>
<p>The <code>wget</code> invocation is hopefully obvious (if it isn’t, just believe me that it downloads the feed and prints it to the standard output), so let’s dissect the xmlstarlet part.</p>
<ol>
<li><code>sel</code>, which stands for “select”, is the subcommand to invoke within xmlstalrlet — since it’s a toolkit, it contains a number of such subcommands.</li>
<li>The <code>-t</code> option designates the beginning of a <em>template</em> — roughly, a group of processing instructions.</li>
<li>The <code>-m</code> option specifies a <em>match</em>, and <code>/rss/channel/item</code> is an XPath expression; together they translate to “for each <code>item</code> element found under a <code>channel</code> element under the <code>rss</code> element”.</li>
<li>Then we specify what to do for that match: in our case, <code>-v title</code> prints out the value of the <code>title</code> element under the current <code>item</code>, and <code>-n</code> prints a newline separator.</li>
</ol>
<p>The various options to xmlstarlet’s <code>sel</code> subcommand can be combined to produce fairly complex XSLT transformations. You can view the XSLT code generated by your command by adding the <code>-C</code> option.</p>
<h4>Validating XML Documents</h4>
<p>There are several ways of defining an XML document format, and the simplest of them is called <em>document type definition</em>, or DTD. A DTD defines which elements are allowed to appear in a document and what they can contain. DTDs for some popular formats, such as <a href="http://www.w3.org/MarkUp/" title="W3C XHTML2 working group">XHTML</a>, are included in the Debian and Ubuntu archives. The <code>val</code> subcommand of xmlstarlet can <em>validate</em> documents against a DTD — that is, check if the documents comply with the formal requirements laid out in a DTD. In addition to DTD, xmlstarlet can also handle the more advanced <a href="http://www.w3.org/XML/Schema" title="XML Schema on W3C">XML Schema</a> and <a href="http://relaxng.org/" title="RELAX NG home page">RELAX NG</a> languages.</p>
<p>As an example, let’s integrate xmlstarlet with <a href="http://projects.gnome.org/gedit/" title="gedit's homepage">gedit</a>, the <a href="http://www.gnome.org/" title="GNOME">GNOME</a> text editor, to enable easy validation of <a href="http://www.w3.org/TR/xhtml1/" title="W3C Recommendation on XHTML 1.0">XHTML 1.0 Strict</a> documents. We will need the <a href="http://packages.debian.org/stable/w3c-dtd-xhtml" title="w3c-dtd-xhtml in Debian stable">w3c-dtd-xhtml</a> package that contains the DTD files.</p>
<p>To validate against a DTD, xmlstarlet should be invoked with the <code>val</code> subcommand, the <code>-d</code> option (for “DTD”), and a path to the DTD file. As in the previous example, the document can be piped into xmlstarlet. We will integrate it into gedit by means of the latter’s “External Tools” plugin. Enable it by choosing “Edit” → “Preferences” → “Plugins” and marking “External Tools”. Then, in the “Tools” menu, select “External Tools” and click “New”. Name the tool as you wish, and optionally give it a description and a shortcut key. For “Command(s)”, enter this simple script:</p>
<pre class="terminal">#! /bin/sh
xmlstarlet val -d /usr/share/xml/xhtml/schema/dtd/1.0/xhtml1-strict.dtd -</pre>
<p><a class="imagelink" href="http://debaday.debian.net/wp-content/uploads/2009/03/gedit-val.png" title="xmlstarlet validating a remote XHTML document in gedit" style="padding-left:5px"><img id="image528" src="http://debaday.debian.net/wp-content/uploads/2009/03/gedit-val.thumbnail.png" alt="xmlstarlet validating a remote XHTML document in gedit" style="float:right" /></a>Choose “Current document” for input, “Display in the bottom pane” for “Output”, and set “Applicability” to “All documents”. And that’s it. You can now validate any document you open in gedit from the “Tools” menu — even if the document comes from a remote location by way of the GNOME virtual filesystem.</p>
<p>With some more effort, you can write a script to validate <em>any</em> document for which you have the DTD installed. (Hint: you may use <a href="http://manpages.debian.net/cgi-bin/man.cgi?query=xmlcatalog&#038;apropos=0&#038;sektion=1&#038;manpath=Debian+Sid&#038;format=html&#038;locale=en" title="manpage of xmlcatalog"><code>xmlcatalog(1)</code></a> from the <a href="http://packages.debian.org/stable/libxml2-utils" title="libxml2-utils in Debian stable">libxml2-utils</a> package to locate DTD files by their public identifiers.)</p>
<h4>Other Uses</h4>
<p>This article cannot cover many other features of this toolkit, such as editing XML documents (<code>ed</code>), listing their element structure (<code>el</code>), or pretty-printing (<code>fo</code>). You may want to check out the examples that come with the xmlstarlet package (<code>/usr/share/doc/xmlstarlet/examples</code>), and to the reference help available by invoking <kbd>xmlstarlet ‹COMMAND› &#8211;help</kbd>.</p>
<h4>Related Tools</h4>
<p>The Debian archive also contains the <a href="http://packages.debian.org/stable/python-4suite-xml" title="python-4suite-xml in Debian stable">python-4suite-xml</a> package, which among other things provides some command tools for XML processing similar to xmlstarlet. However, 4suite seems to be intended more as a Python package, and consequently its command tools appear to be less feature-complete than xmlstarlet.</p>
<p>For solving specific XML-related problems, such as converting XML to and from other formats, you may want to have a look at the more specialized packages available in Debian and Ubuntu. The <a href="http://people.debian.org/~osamu/pub/getwiki/html/" title="Debian Reference">Debian Reference</a> has an <a href="http://people.debian.org/~osamu/pub/getwiki/html/ch12.en.html#xmlprocessing" title="XML processing packages in Debian Reference">overview</a> of some of those.</p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/03/22/xmlstarlet-command-line-xml-toolkit/feed/</wfw:commentRss>
		</item>
		<item>
		<title>fwbuilder: Manage Firewalls Professionally</title>
		<link>http://debaday.debian.net/2009/03/15/fwbuilder-manage-firewalls-professionally/</link>
		<comments>http://debaday.debian.net/2009/03/15/fwbuilder-manage-firewalls-professionally/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 05:00:33 +0000</pubDate>
		<dc:creator>Vicho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/2009/03/15/fwbuilder-manage-firewalls-professionally/</guid>
		<description><![CDATA[Article submitted by Vadim Kurland. Guess what? We still need you to submit good articles about software you like!

Firewall Builder is available from the libfwbuilder and fwbuilder packages in both Debian and Ubuntu in Universe. Packages for the current development builds are available from the project download area on SourceForge.


Eveyone knows about netfilter/iptables, a powerful [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Article submitted by Vadim Kurland. Guess what? We still need you to <a href="http://debaday.debian.net/contribute/">submit good articles about software you like</a>!</strong></p>
<p>
<a href="http://www.fwbuilder.org">Firewall Builder</a> is available from the <b>libfwbuilder</b> and <b>fwbuilder</b> packages in both <a href="http://packages.debian.org/fwbuilder">Debian</a> and <a href="http://packages.ubuntu.com/fwbuilder">Ubuntu</a> in Universe. Packages for the current development builds are available from the project download area on <a href="http://sourceforge.net/project/showfiles.php?group_id=5314&#038;package_id=125359">SourceForge</a>.
</p>
<p>
Eveyone knows about netfilter/iptables, a powerful firewall framework and command line tool that is part of every Linux distribution. Unfortunately, managing a security policy with it remains a non-trivial task for several reasons. Partially this is because of the complex syntax of the command line interface and the vast amount of available options and parameters. Another reason is that the administrator has to understand the internal path of the packet inside the Linux kernel and its interaction with different parts of netfilter in order to build rules correctly. This is not a specific problem of iptables though, other popular Open Source firewall platforms, such as OpenBSD PF, ipfilter and ipfw present similar challenges.
</p>
<p>
What is needed is a tool that lets an administrator define the security policy on a higher level of abstraction and hide the internal structure of the target firewall platform. For example, such a tool should decide which iptables chain is right for each generated iptables rule automatically, without the administrator&#8217;s input. It should also pick the right iptables targets for both policy and <acronym title="Network Address Translation">NAT</acronym> rules as well as properly use most popular iptables modules, all automatically. Such tool should also implement best practices in policy design and help administrator deploy and activate generated policy on the firewall.
</p>
<p>
Firewall Builder does just that.
</p>
<h4>Introduction</h4>
<p>
Firewall Builder is a GUI firewall configuration and management tool that supports <em>iptables (netfilter), ipfilter, pf, ipfw, Cisco PIX (FWSM, ASA) and Cisco routers extended access lists</em>. It presents all supported firewalls to the administrator in terms of unified abstract firewall that takes the best features from all of them and hides their specifics and inconveniences. Firewall Builder is more complex than many basic firewall configuration GUIs such as Firestarter, but on the other hand one can build very complex policies with Firewall Builder and fully utilize flexibility and power of iptables and other supported firewalls.
</p>
<p>
The general idea should be familiar to anyone who has ever worked with commercial firewall management systems. All configuration management operations can be performed from one central place: the Firewall Builder GUI. You create and manage collection of objects that describe network addresses, hosts and firewalls, as well as services, and then build firewall policy and NAT rules using these objects. Policy rules are defined in terms of &#8220;Source&#8221; and &#8220;Destination&#8221; addresses and &#8220;Service&#8221; and can have additional parameters such as interface association, direction, time interval and optional platform-dependent attributes. NAT rules are defined by addresses and services before and after translation.
</p>
<p style="text-align: center"><a href="http://www.fwbuilder.org/images/intro/rule1.png"><img id="image524" src="http://debaday.debian.net/wp-content/uploads/2009/03/rule1_thumbnail.png" alt="Example of a policy rule" /></a></p>
<p>
Rules are built with simple drag and drop operations and then firewall configuration can be generated with one click of a mouse. In the end, Firewall Builder produces a script or configuration file in the language of the target firewall. For iptables, it creates shell script that loads iptables rules, while for other platforms it creates a configuration file suitable for them. This makes it simple to deploy and activate the generated policy and also helps integrate Firewall Builder with existing automation scripts.
</p>
<p>
<img id="image525" src="http://debaday.debian.net/wp-content/uploads/2009/03/services.png" alt="Fragment of the standard TCP objects library" style="float:right; padding-left: 10px" /><br />
The program comes with a collection of over 100 standard objects that can be used to describe popular TCP, UDP and ICMP services.
</p>
<p style="clear:both">
Firewall Builder implements many best practices in firewall policy design and firewall management procedures. Here are just a few examples:
</p>
<ul>
<li>It enforces a policy structure that denies all traffic by default and only permits what is necessary.</li>
<li>The administrator can easily define IP address of the management workstation and Firewall Builder will automatically add a rule to ensure that ssh access from it to the firewall is always permitted. This rule is designed to assure that ssh session over which the installer activates a new policy does not break or hang. This helps to avoid accidents when errors in the policy rules cut off remote access to the firewall in the middle of an activation, making it impossible to fix the error and causing prolonged network outage.</li>
<li>For Cisco PIX (ASA) and IOS access lists, where each access-list commands are immediately activated as they are entered, Firewall Builder can optionally create temporary access lists to ensure uninterrupted ssh access from the management workstation to the firewall for the duration of the policy reload session. This method provides the best protection against outages caused by loss of contact with the firewall because of errors in policy.</li>
<li>For iptables, Firewall Builder can generate a script using iptables-restore for atomic activation. If iptables-resore detects an error in the script and refuses to load the policy, script leaves the firewall in the state it was in before. For other firewall platforms it uses appropriate activation methods to achieve the same goal.</li>
<li>The built-in policy installer supports &#8220;test&#8221; install mode with automatic roll-back. This is another safety mechanism that helps minimize outages in case of errors in the policy. These measures are available for all supported systems, such as Linux/iptables, *BSD/pf, Cisco PIX and Cisco IOS.</li>
</ul>
<h2>Quick Tour</h2>
<p style="text-align:center"><img id="image526" src="http://debaday.debian.net/wp-content/uploads/2009/03/main_window.png" alt="Main window" /></p>
<p>
The main window of the program includes objects tree on the left (1), brief information about object selected in the tree (2), current firewall policy view (3) and a dialog panel where you can edit objects parameters (4).
</p>
<p>
As all Open Source projects, Firewall Builder depends on the user community who provide testing, bug reports and other forms of feedback. You can file bug reports and feature requests using the <a href="https://sourceforge.net/tracker2/?group_id=5314&#038;atid=1070394">bug tracking system</a>. The <a href="https://lists.sourceforge.net/lists/listinfo/fwbuilder-discussion">mailing list </a> is a great place to ask for help and discuss the program with other users.
</p>
<p>
This was just a brief introduction to the Firewall Builder package. If you are interested in the program, you can find more information on the project web site at <a href="http://www.fwbuilder.org">http://www.fwbuilder.org</a>. The slideshows <a href="http://www.fwbuilder.org/slideshows/brief_introduction/slide_1.html">Introduction to Firewall Builder 3.0 for the impatient</a> and <a href="http://www.fwbuilder.org/slideshows/tutorial_3//slide_1.html">Getting starter with Firewall Builder</a> can help you get more familiar with the program.
</p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/03/15/fwbuilder-manage-firewalls-professionally/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PIDA: the Python Integrated Development Application</title>
		<link>http://debaday.debian.net/2009/03/08/pida-the-python-integrated-development-application/</link>
		<comments>http://debaday.debian.net/2009/03/08/pida-the-python-integrated-development-application/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 05:00:03 +0000</pubDate>
		<dc:creator>Tincho</dc:creator>
		
		<category>Debian</category>

		<category>Ubuntu</category>

		<guid isPermaLink="false">http://debaday.debian.net/2009/03/07/pida-the-python-integrated-development-application/</guid>
		<description><![CDATA[Article submitted by Javier Derderian. Guess what? We still need you to submit good articles about software you like!
PIDA is an IDE (integrated development environment) written in Python and the pygtk graphical toolkit.  It is slightly different from other IDEs: rather than attempting to write a set of development tools of its own, PIDA [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Article submitted by Javier Derderian. Guess what? We still need you to <a href="http://debaday.debian.net/contribute/">submit good articles</a> about software you like!</strong></p>
<p><a class="imagelink" style="float:right; margin: 0 0 1em 1em" href="http://debaday.debian.net/wp-content/uploads/2009/03/screenshot-pida-default-home-javier-python-pidadev-pida-main-pida-plugins-bazaar-release_notes_020txt.png" title="PIDA screenshot"><img id="image532" src="http://debaday.debian.net/wp-content/uploads/2009/03/screenshot-pida-default-home-javier-python-pidadev-pida-main-pida-plugins-bazaar-release_notes_020txt.thumbnail.png" alt="PIDA screenshot" /></a><a title="PIDA is the Python Integrated Development Application" href="http://pida.co.uk/" >PIDA</a> is an IDE (integrated development environment) written in <a href="http://www.python.org/">Python</a> and the <a href="http://www.pygtk.org/">pygtk</a> graphical toolkit.  It is slightly different from other IDEs: rather than attempting to write a set of development tools of its own, PIDA reuses available tools. In this regards PIDA can be used as a framework for putting together your own customized IDE.</p>
<p>Although still a young application, PIDA already boasts a huge number of features because of the power of some of the tools it integrates. For example features such as code completion and syntax highlighting are well implemented in PIDA&#8217;s integrated editors far better than any editor built for a commercial IDE. PIDA currently features many code editing helpers: syntax highlighting, code completion, automatic indenting, block commenting, etc; project management, version control management, Python debugger and profiler, GTK+ GUI building and rapid application design.</p>
<p>Among the already integrated components you can find:</p>
<ul>
<li>VIM and Emacs as embedded editors with full support of each one&#8217;s features:
<ul>
<li>Syntax Higlighting</li>
<li>Code completion</li>
<li>Plugins</li>
</ul>
</li>
<li>Bazaar, Git, Subversion (and more) as version control systems.</li>
</ul>
<p>It&#8217;s actually designed to program in any language, but it has some Python specific features like a Python shell.  You can program you own plugins, and there&#8217;s a very nice <a href="http://pida.co.uk/doc/api/">API documentation</a> to help you go trought the plugin development path.</p>
<p>Some already available plugins are:</p>
<dl>
<dt><a href="http://pida.co.uk/plugins/show/pastebin">Pastebin</a></dt>
<dd>Send code to a pastebin service</dd>
<dt><a href="http://pida.co.uk/plugins/show/pdftex_preview">PdfTex preview</a></dt>
<dd>PdfTex preview compiles and displays pdf documents every time the buffer is saved.</dd>
<dt><a href="http://pida.co.uk/plugins/show/python">Python</a></dt>
<dd>Show class/function from python file, and show compilation errors</dd>
<dt><a href="http://pida.co.uk/plugins/show/python_debugger">Python Debugger</a></dt>
<dd>Python Debugger based on RPDB2 the WinPDB Back End</dd>
<dt><a href="http://pida.co.uk/plugins/show/unittester">Unit Tester</a></dt>
<dd>Perform unit tests</dd>
<dt><a href="http://pida.co.uk/plugins/show/library">Docbook browser</a></dt>
<dd>Browse local docbook</dd>
<dt><a href="http://pida.co.uk/plugins/show/checklist">Todo manager</a></dt>
<dd>Manage a personnal todo list per project</dd>
<dt><a href="http://pida.co.uk/plugins/show/rfc">RFC Viewer</a></dt>
<dd>Download RFC index, search and view RFC pages inside PIDA</dd>
<dt><a title="Bazaar" href="http://launchpad.net/bzr-pida">Bazaar</a></dt>
<dd>This plugin, developed outside of the project, integrates lots of Bazaar function that are not included in the base version control integration</dd>
</dl>
<p>PIDA is a great way of keep using Vim and have a nice GUI around to help you work faster with the file browser, the project manager and the internal shells. You can get more info on using and developing PIDA in the <a href="http://pida.co.uk/doc/handbook.html" >handbook</a></p>
<p>There are official packages available in both <a title="Debian" href="http://packages.debian.org/pida">Debian</a> and <a title="Ubuntu" href="http://packages.ubuntu.com/pida">Ubuntu</a> for a long time now.</p>
<p>And remember: PIDA LOVES YOU!</p>
]]></content:encoded>
			<wfw:commentRss>http://debaday.debian.net/2009/03/08/pida-the-python-integrated-development-application/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
