<?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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>
<channel>
	<title>G-Loaded Journal &#187; Productivity</title>
	<atom:link href="http://www.g-loaded.eu/tag/productivity/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.g-loaded.eu</link>
	<description>An open-source software and technology related journal</description>
	<lastBuildDate>Mon, 05 Dec 2011 19:55:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
		<item>
		<title>Mozilla Thunderbird speed up</title>
		<link>http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/</link>
		<comments>http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 12:25:13 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[Tips]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2409</guid>
		<description><![CDATA[Mozilla Thunderbird is of those pieces of software I could say I am a fan of, but since I upgraded from TB3 to TB5 and recently to TB6, I&#8217;ve been experiencing various problems with the application&#8217;s overall speed and responsiveness. Using Thunderbird almost felt as if it was reading its data from the internet. Working [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mozilla.org/thunderbird/" title="Mozilla Thunderbird homepage">Mozilla Thunderbird</a> is of those pieces of software I could say I am a fan of, but since I upgraded from TB3 to TB5 and recently to TB6, I&#8217;ve been experiencing various problems with the application&#8217;s overall <em>speed</em> and <em>responsiveness</em>. Using Thunderbird almost felt as if it was reading its data from the internet. Working with it had become an unpleasant experience, until I found <a href="http://forums.mozillazine.org/viewtopic.php?f=39&#038;t=2290889" title="Discussion about how to make Thunderbird more responsive.">some tips</a> about how to make it more responsive. It seems that versions 5 and 6 try to use hardware acceleration to render the application&#8217;s user interface and, apparently, this does not work very well with my hardware. Anyway, here is what you have to do in order to restore Thunderbird 6 responsiveness to that of version 3.<br />
<span id="more-2409"></span><br />
Open TB&#8217;s <strong>Config Editor</strong> (<code>tools/options/advanced/general-tab/config-editor-button</code>). Search for the following settings and double-click on them to set them to <strong>TRUE</strong>.</p>
<pre class="codesnp">
gfx.direct2d.disabled
layers.acceleration.disabled
</pre>
<p>Also, open the <strong>Add-on Manager</strong> (<code>tools/add-ons/plugins</code>) and disable all plugins that do not need to be enabled in your email client. Note that the <em>plugins</em> are a different thing than the <em>extensions</em>. I disabled them all in my TB.</p>
<p>Finally, <strong>restart</strong> Thunderbird.</p>
<p>This has worked for me. Thunderbird 6 now feels as responsive as TB3 was.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/">Mozilla Thunderbird speed up</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2009/12/09/mozilla-thunderbird-3-is-out/" rel="bookmark">Mozilla Thunderbird 3 is out!</a></li>
<li><a href="http://www.g-loaded.eu/2009/10/17/be-cautious-with-notepad/" rel="bookmark">Be cautious with Notepad++</a></li>
<li><a href="http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/" rel="bookmark">Speed up Apache by including htaccess files into httpd.conf</a></li>
<li><a href="http://www.g-loaded.eu/2011/09/28/the-new-amateuristic-release-strategy-of-firefox/" rel="bookmark">The new amateuristic release strategy of Firefox</a></li>
<li><a href="http://www.g-loaded.eu/2008/06/18/use-the-alternatives-system-to-switch-to-a-custom-firefox-release/" rel="bookmark">Use the Alternatives System to switch to a custom Firefox release</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Creole &#8211; Standard Wiki Markup Language</title>
		<link>http://www.g-loaded.eu/2010/02/27/creole-standard-wiki-markup-language/</link>
		<comments>http://www.g-loaded.eu/2010/02/27/creole-standard-wiki-markup-language/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 05:00:40 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Publishing]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1427</guid>
		<description><![CDATA[If you&#8217;ve tried out several wiki engines, you have probably noticed that the developers of each of them have invented their own wiki markup language. I guess no-one has a problem with that. It&#8217;s a free world after all. However, all these different versions of markup languages easily become a pain when you have to [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve tried out several <strong>wiki engines</strong>, you have probably noticed that the developers of each of them have invented their own <strong>wiki markup language</strong>. I guess no-one has a problem with that. It&#8217;s a free world after all. However, all these different versions of markup languages easily become a pain when you have to submit content to several different wiki engines. For instance, <em>Wikipedia</em>, various popular <em>bug trackers</em>, wiki engines dedicated to projects like <em>Ubuntu</em> are all very popular wikis, but, unfortunately, the contributor has to learn several different markup languages to be able to submit rich content to all of them.<br />
<span id="more-1427"></span><br />
I admit that I&#8217;ve always been frustrated by this situation. But, fortunately, there is some light. The <a href="http://wikicreole.org/wiki/Home">Creole Project</a> is an effort to create a standard wiki markup language using democratic procedures. The <a href="http://wikicreole.org/wiki/Goals">goals</a> page reveals that this project is serious and will finally deliver something useful to humanity. The <a href="http://wikicreole.org/wiki/Creole1.0">Creole 1.0</a> specification has been completed, but some work is still being done on several (necessary in my opinion) <a href="http://wikicreole.org/wiki/CreoleAdditions">additions</a>.</p>
<p>I think everyone who is interested in collaborative content should be happy about <strong>Creole</strong>. This is for the benefit of both the projects and their contributors because a <strong>standard wiki markup language</strong> promotes <strong>productivity</strong>. I think the language still needs more <em>official additions</em>, but I guess this is just a matter of time.</p>
<p>I got the impression that the <em>Creole Project</em> deserves more popularity, so I wrote this small post for all of you who might have never heard of it. It would be nice if you did the same!</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2010/02/27/creole-standard-wiki-markup-language/">Creole &#8211; Standard Wiki Markup Language</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2007/10/19/zim-a-desktop-wiki/" rel="bookmark">Zim &#8211; a Desktop Wiki</a></li>
<li><a href="http://www.g-loaded.eu/2006/11/01/bot-allow-content-and-cc-configurator-plugin-updates/" rel="bookmark">Bot-Allow-Content and CC-Configurator plugin updates</a></li>
<li><a href="http://www.g-loaded.eu/2007/02/28/tab-links-extension-for-the-epiphany-browser/" rel="bookmark">Tab Links extension for the Epiphany browser</a></li>
<li><a href="http://www.g-loaded.eu/2011/03/01/forking-apache-licensed-software-on-github-and-bitbucket/" rel="bookmark">Forking Apache-licensed software on Github and Bitbucket</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/05/add-meta-tags-wordpress-plugin/" rel="bookmark">Add-Meta-Tags WordPress Plugin</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2010/02/27/creole-standard-wiki-markup-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Be cautious with Notepad++</title>
		<link>http://www.g-loaded.eu/2009/10/17/be-cautious-with-notepad/</link>
		<comments>http://www.g-loaded.eu/2009/10/17/be-cautious-with-notepad/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 23:15:07 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Editors]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1319</guid>
		<description><![CDATA[I use Microsoft Windows 7 RC on my main desktop computer since June 2009. Since there was no Windows ports of my favorite editors in Linux (gedit on Fedora/CentOS), I decided to use Notepad++, an open-source source code editor and Notepad replacement, which is released as free-software. Soon I realized that this application was too [...]]]></description>
			<content:encoded><![CDATA[<p>I use <strong>Microsoft Windows 7 RC</strong> on my main desktop computer since June 2009. Since there was no Windows ports of my favorite editors in Linux (<a href="http://projects.gnome.org/gedit/">gedit</a> on <strong>Fedora</strong>/<strong>CentOS</strong>), I decided to use <a href="http://notepad-plus.sourceforge.net">Notepad++</a>, an open-source source code editor and Notepad replacement, which is released as free-software. Soon I realized that this application was too far from being robust as I experienced random freezes quite often. I continued to use the application hoping that any issues would be resolved in the near future.<br />
<span id="more-1319"></span><br />
I recall that there was a time, when I <strong>lost</strong> all of my <strong>open</strong> and <strong>unsaved</strong> documents due to an application freeze. After checking their bug trackers and help forums on <strong>SourceForge</strong> for a solution to the problem, I found out that the cause of the issues was one of the <strong>plugins</strong>, but noone was really sure which one of them. The suggested solution was to try to reproduce the issue, by enabling the plugins in turns. At that time, I did not have the necessary free time to experiment with the editor, so I had disabled the whole plugin system, just to be sure that my data would be safe. And my data has indeed been safe since that day.</p>
<p>Two days ago, I decided to upgrade the program to the latest version and, during installation and without giving it much thought, I installed the application&#8217;s plugin system and a plugin called &#8220;<em>Document Monitor</em>&#8221; or something like that. This morning my system experienced another <em>Notepad++</em> freeze, but this time a <em>Virtual Machine</em>, which run under <a href="http://virtualbox.org">VirtualBox</a>, froze too. There was heavy disk I/O at that time. The virtual system was meant to be an RPM Build Server, so I re-deployed it just to be sure that everything was all right without risking any data loss during the freeze.</p>
<p>After that, I disabled Notepad++&#8217;s plugin system entirely and do not intend to use any of the plugins ever again. I continue to use the core editor, but I am also looking for alternatives. So far, <a href="http://www.pspad.com/">PSpad</a> (freeware) and <a href="http://www.carthagosoft.net/twistpad/">TwistPad</a> (commercial editor at a very reasonable price) are among the candidates. I mainly use a text editor for plain text and HTML documents, Python, PHP and BASH scripts. Any other suggestions are welcome and appreciated.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2009/10/17/be-cautious-with-notepad/">Be cautious with Notepad++</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/" rel="bookmark">Mozilla Thunderbird speed up</a></li>
<li><a href="http://www.g-loaded.eu/2007/10/18/dictionary-lookups-anywhere/" rel="bookmark">Dictionary Lookups Anywhere</a></li>
<li><a href="http://www.g-loaded.eu/2007/10/19/zim-a-desktop-wiki/" rel="bookmark">Zim &#8211; a Desktop Wiki</a></li>
<li><a href="http://www.g-loaded.eu/2011/04/02/the-read-it-later-extension/" rel="bookmark">The Read-It-Later extension</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/05/break-out-of-frames-wordpress-plugin/" rel="bookmark">Break-Out-Of-Frames WordPress Plugin</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2009/10/17/be-cautious-with-notepad/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Operating Systems do not matter any more</title>
		<link>http://www.g-loaded.eu/2009/10/08/operating-systems-do-not-matter-any-more/</link>
		<comments>http://www.g-loaded.eu/2009/10/08/operating-systems-do-not-matter-any-more/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 02:35:57 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Productivity]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=1208</guid>
		<description><![CDATA[During the last six months, I found myself using 4 different operating systems on the computers I use for my everyday tasks. This is the first time that something like this happens. In the past, I had mainly used Microsoft Windows (before 2005) and Fedora (from 2005 until April 2009). During the last six months, [...]]]></description>
			<content:encoded><![CDATA[<p>During the last six months, I found myself using 4 different operating systems on the computers I use for my everyday tasks. This is the first time that something like this happens. In the past, I had mainly used <strong>Microsoft Windows</strong> (before 2005) and <strong>Fedora</strong> (from 2005 until April 2009). During the last six months, apart from <em>Fedora</em>, I&#8217;ve used <strong>OpenSolaris</strong>, <strong>CentOS</strong> and the beta and RC releases of <strong>Windows 7</strong>. Trying to find a good reason why this has happened, I always come to the same conclusion: I have started seeing computers, and thus their operating systems and other software, differently than before. <em>I have stopped being a fan</em>. I now care about using computers to get the job done with the minimum cost. After all, that&#8217;s why those machines have been invented.</p>
<p>Speaking about costs, I&#8217;d like to be more specific. Cost is not just about <strong>money</strong>. Cost can also be measured in terms of &#8220;<strong>time</strong>&#8221; and in terms of &#8220;<strong>effort</strong>&#8220;. Nothing is by default <em>cheap</em> or <em>expensive</em>. It <strong>depends on the task</strong> too. For example, suppose you have put all your old computer magazines in a cheap trash bag expecting it to hold long enough until you reach the trash bin across the street. The cheap bag will not hold the weight of all those magazines and you will most probably find yourself picking them up from the street like an idiot. Well, in this case, that cheap bag turned out to be very expensive in terms of time and effort. On the contrary, using expensive trash bags for lightweight garbage is idiotic too, as you spend your money on trash bags instead of buying yourself those extra megabytes of RAM your VPS requires. The same applies to computers and software. You have to use the right tool for a specific job to be cost-effective. There is no operating system that is good for everything.</p>
<p>I care about using cost-effective ways to do things. I didn&#8217;t used to, but I do care now. I am totally against saving, regardless of it being money, time or effort. I am <strong>in for spending</strong>, but <strong>spend wisely</strong>. Regarding computers, I have decided to use any operating system, office suite, development environment, programming language, multimedia software, server software to accomplish my tasks. Sometimes paying some money can save a lot of time and effort. Other times, investing some time and effort can save a lot of money. That&#8217;s how things work.</p>
<p>This post is not supposed to be lengthy and I will keep it that way. All the above, of course, do not change my views about <em>open source</em>, <em>open standards</em> and <em>open access</em> to information. I just wanted to say that I leave the <em>operating system wars</em> to you. I am out.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2009/10/08/operating-systems-do-not-matter-any-more/">Operating Systems do not matter any more</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2007/12/16/security-guides-for-operating-systems-by-the-nsa/" rel="bookmark">Security Guides for Operating Systems by the NSA</a></li>
<li><a href="http://www.g-loaded.eu/2009/03/05/checking-on-windows-vista/" rel="bookmark">Checking on Windows Vista</a></li>
<li><a href="http://www.g-loaded.eu/2011/05/14/why-free-should-not-always-mean-cost-free/" rel="bookmark">Why free should not always mean cost-free</a></li>
<li><a href="http://www.g-loaded.eu/2009/04/01/centos-community-enterprise-operating-system/" rel="bookmark">CentOS &#8211; Community ENTerprise Operating System</a></li>
<li><a href="http://www.g-loaded.eu/2009/03/28/a-stolen-bike/" rel="bookmark">A stolen bike</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2009/10/08/operating-systems-do-not-matter-any-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Burning a DVD still an adventure on GNU/Linux</title>
		<link>http://www.g-loaded.eu/2009/03/03/burning-a-dvd-still-an-adventure-on-gnulinux/</link>
		<comments>http://www.g-loaded.eu/2009/03/03/burning-a-dvd-still-an-adventure-on-gnulinux/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 12:42:01 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Productivity]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=933</guid>
		<description><![CDATA[Recently, I needed to burn several GBs of data, located on a SAMBA-based fileserver, to DVDs. The Nautilus&#8217; CD/DVD burning extension simply could not burn the data over the network. I decided to try brasero, since it is said to be the most actively developed CD/DVD burning frontend for the GNOME desktop. Despite the fact [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I needed to burn several GBs of data, located on a SAMBA-based fileserver, to DVDs. The Nautilus&#8217; CD/DVD burning extension simply could not burn the data over the network. I decided to try brasero, since it is said to be the most actively developed CD/DVD burning frontend for the GNOME desktop. Despite the fact that it needed to transfer the data locally before burning it, which (taking into account the 40-50 GBs of data I needed to burn) resulted in a significant amount of wasted time, I decided to give it a chance to finish the job. Everything seemed to be running smoothly, until the very last moment of the burning procedure, at which brasero spat one of those error messages I never wish to see: &#8220;<em>Error while burning. An unknown error has occured.</em>&#8220;. The session log was not helpful either.<br />
<span id="more-933"></span><br />
As soon as I read that message, I (at the speed of light) booted to an installation of Windows and desperately searched the web for a free DVD burning application that would be able to accomplish the job it is advertised for; that is burning a simple data DVD. Soon, I came across <a href="http://www.imgburn.com/">Imgburn</a>, which turned out to be <strong>one of the highest quality applications</strong> (including commercial solutions like the Nero Burning Rom suite I used to own before switching to the Linux desktop) I have ever used to burn optical media. To be more specific, I couldn&#8217;t believe that an application of such quality was released as freeware. I guess I shouldn&#8217;t mention that it burned and verified the data across the network without a single error!</p>
<p>My primary desktop has been running GNU/Linux exclusively for 4+ years. During that time, I had the opportunity to use every FOSS graphical CD/DVD burning frontend that has ever been released, but I always ended to the good old command-line tools (<strong>mkisofs</strong> &#8211; now <strong>genisoimage</strong>-, <strong>dvd+rw-tools</strong>) to do the job.</p>
<p>Making an exception for K3B, I wouldn&#8217;t rate all other FOSS graphical CD/DVD burning frontends higher than &#8220;<em>crapware</em>&#8220;.</p>
<p>Of course, things would have been better if all those FOSS devs joined forces, had a plan and assembled a team of volunteer beta testers (I would have loved to participate). I am sure that the result would have been an awesome burning application. But, unfortunately, each of those selfish geniuses decided to torture the world by delivering his own version of crap to our desktop, dammit!</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2009/03/03/burning-a-dvd-still-an-adventure-on-gnulinux/">Burning a DVD still an adventure on GNU/Linux</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2006/10/07/verify-a-burned-cddvd-image-on-linux/" rel="bookmark">Verify a burned CD/DVD image on Linux</a></li>
<li><a href="http://www.g-loaded.eu/2009/04/12/creating-screencasts-under-linux/" rel="bookmark">Creating Screencasts under Linux</a></li>
<li><a href="http://www.g-loaded.eu/2008/05/03/how-to-annotate-pdf-files-in-linux-using-xournal/" rel="bookmark">How to annotate PDF files in Linux using Xournal</a></li>
<li><a href="http://www.g-loaded.eu/2007/05/15/blanking-a-rewritable-cddvd-in-gnome/" rel="bookmark">Blanking a rewritable CD/DVD in GNOME</a></li>
<li><a href="http://www.g-loaded.eu/2005/10/30/creative-pc-cam-750/" rel="bookmark">Creative PC-CAM Series webcams in linux</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2009/03/03/burning-a-dvd-still-an-adventure-on-gnulinux/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Send to Desktop &#8211; Create Symlink</title>
		<link>http://www.g-loaded.eu/2008/11/04/send-to-desktop-create-symlink/</link>
		<comments>http://www.g-loaded.eu/2008/11/04/send-to-desktop-create-symlink/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 22:07:12 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[BASH]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Snippet]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/?p=646</guid>
		<description><![CDATA[Having set up automatic incremental backups for my home directory, I need to follow some simple rules in order not to poison the backups with temporary files (sometimes huge ones) I usually place on my desktop for later viewing. One of those rules is to stop downloading stuff directly to the desktop, but use a [...]]]></description>
			<content:encoded><![CDATA[<p>Having set up <strong>automatic incremental backups</strong> for my <em>home directory</em>, I need to follow some simple rules in order not to poison the backups with temporary files (sometimes huge ones) I usually place on my desktop for later viewing. One of those <strong>rules</strong> is to stop downloading stuff directly to the desktop, but use a dedicated directory for that purpose, for instance <code>~/Download</code>, which is excluded from the automatic backups. Since the downloads directory is usually a mess, I needed a quick way to create one or more symbolic links on my desktop pointing to files inside <code>Downloads/</code>. The normal approach would have been to create a <em>Nautilus Action</em>, but it seems that this tool is not very efficient since it has issues with paths that contain spaces. If quotes are used in order to make &#8220;<em>paths with spaces</em>&#8221; work, it still cannot successfully create the symbolic link. So, I decided to write a small shell script that can create symbolic links on the desktop for the selected files or directories. It supports paths containing spaces and also multi-selection of items (files/dirs) and will warn you before creating multiple symlinks.<br />
<span id="more-646"></span></p>
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#! /usr/bin/env bash</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  Send to Desktop - Create Symlink</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  Project: http://www.g-loaded.eu/2008/11/03/send-to-desktop-create-symlink/</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  Features:</span>
<span style="color: #666666; font-style: italic;">#      - creates symlinks on the desktop pointing to each of the selected items</span>
<span style="color: #666666; font-style: italic;">#        (files/directories).</span>
<span style="color: #666666; font-style: italic;">#      - Supports paths containing spaces.</span>
<span style="color: #666666; font-style: italic;">#      - Supports multi-selection (warns before creating multiple symlinks)</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  Requires:</span>
<span style="color: #666666; font-style: italic;">#      - ln</span>
<span style="color: #666666; font-style: italic;">#      - zenity</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  Installation:</span>
<span style="color: #666666; font-style: italic;">#  1) Put the file in ~/.gnome2/nautilus-scripts/</span>
<span style="color: #666666; font-style: italic;">#       cp &quot;Send to Desktop - Create Symlink&quot; ~/.gnome2/nautilus-scripts/</span>
<span style="color: #666666; font-style: italic;">#  2) Set the 'executable' bit:</span>
<span style="color: #666666; font-style: italic;">#       chmod -x ~/.gnome2/nautilus-scripts/&quot;Send to Desktop - Create Symlink&quot;</span>
<span style="color: #666666; font-style: italic;">#  3) Access the script by right clicking and selecting the submenu 'scripts'</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  Copyright 2008 George Notaras &amp;lt;gnot [at] g-loaded.eu&amp;gt;, CodeTRAX.org</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span>
<span style="color: #666666; font-style: italic;">#  you may not use this file except in compliance with the License.</span>
<span style="color: #666666; font-style: italic;">#  You may obtain a copy of the License at</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#      http://www.apache.org/licenses/LICENSE-2.0</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  Unless required by applicable law or agreed to in writing, software</span>
<span style="color: #666666; font-style: italic;">#  distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<span style="color: #666666; font-style: italic;">#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<span style="color: #666666; font-style: italic;">#  See the License for the specific language governing permissions and</span>
<span style="color: #666666; font-style: italic;">#  limitations under the License.</span>
<span style="color: #666666; font-style: italic;">#</span>
&nbsp;
<span style="color: #007800;">DESKTOP</span>=~<span style="color: #000000; font-weight: bold;">/</span>Desktop
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$#</span> <span style="color: #660033;">-lt</span> <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
  zenity <span style="color: #660033;">--error</span> <span style="color: #660033;">--text</span> <span style="color: #ff0000;">&quot;At least one file or directory must be selected.&quot;</span>
<span style="color: #000000; font-weight: bold;">elif</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$#</span> <span style="color: #660033;">-gt</span> <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
  zenity <span style="color: #660033;">--question</span> <span style="color: #660033;">--text</span> <span style="color: #ff0000;">&quot;Multiple items selected. Proceed?&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;$?&quot;</span> = <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span> item <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #ff0000;">&quot;$@&quot;</span>; <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$PWD</span>/<span style="color: #007800;">$item</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DESKTOP</span>/<span style="color: #007800;">$(basename $item)</span>&quot;</span>
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>
<p>Save the code in a file. Assuming that you have saved it as &#8220;<strong>Send to Desktop &#8211; Create Symlink</strong>&#8220;, follow the instructions below in order to install and use it:</p>
<p><strong>1 &#8211;</strong> Put the file in ~/.gnome2/nautilus-scripts/</p>
<pre class="console">
cp "Send to Desktop - Create Symlink" ~/.gnome2/nautilus-scripts/
</pre>
<p><strong>2 &#8211;</strong> Set the &#8216;<em>executable</em>&#8216; bit:</p>
<pre class="console">
chmod +x ~/.gnome2/nautilus-scripts/"Send to Desktop - Create Symlink"
</pre>
<p><strong>3 &#8211;</strong> Access the script by right clicking and selecting the submenu &#8216;<em>scripts</em>&#8216;</p>
<p>Enjoy!</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2008/11/04/send-to-desktop-create-symlink/">Send to Desktop &#8211; Create Symlink</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2005/11/10/search-for-viruses-from-nautilus/" rel="bookmark">Search for viruses from Nautilus</a></li>
<li><a href="http://www.g-loaded.eu/2005/11/10/add-files-to-totem-playing-list-from-nautilus/" rel="bookmark">Add files to Totem playing list from Nautilus</a></li>
<li><a href="http://www.g-loaded.eu/2010/10/29/sphinx-documentation-single-file/" rel="bookmark">How to create a single file of Sphinx based documentation</a></li>
<li><a href="http://www.g-loaded.eu/2005/11/10/print-to-cups-printer-instances/" rel="bookmark">Print to CUPS printer instances</a></li>
<li><a href="http://www.g-loaded.eu/2006/05/16/tab-session-management-extension-for-epiphany/" rel="bookmark">Tab Session Management extension for Epiphany</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2008/11/04/send-to-desktop-create-symlink/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Zim &#8211; a Desktop Wiki</title>
		<link>http://www.g-loaded.eu/2007/10/19/zim-a-desktop-wiki/</link>
		<comments>http://www.g-loaded.eu/2007/10/19/zim-a-desktop-wiki/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 04:01:41 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/2007/10/19/zim-a-desktop-wiki/</guid>
		<description><![CDATA[While browsing the archives of Linux Screw, I came across a very interesting post about Zim. Zim is a wiki-style note taking system for the desktop. Its text editor, being an 100% WYSIWYG wiki text edtor, does not require any knowledge of wiki syntax. One could say that Zim is a more advanced and feature-rich [...]]]></description>
			<content:encoded><![CDATA[<p>While browsing the archives of <a href="http://linuxscrew.com/">Linux Screw</a>, I came across a very <a href="http://www.linuxscrew.com/2007/10/15/zim-text-editor-with-wiki-concepts/">interesting post</a> about <a href="http://pardus-larus.student.utwente.nl/~pardus/projects/zim/index.shtml">Zim</a>. Zim is a <em>wiki-style</em> note taking system for the desktop. Its text editor, being an 100% <em>WYSIWYG</em> wiki text edtor, does not require any knowledge of wiki syntax. One could say that Zim is a more advanced and feature-rich implementation of <a href="http://www.gnome.org/projects/tomboy/">Tomboy</a>. Notes can be organized in &#8220;<em>repositories</em>&#8221; pretty much like the &#8220;<em>namespace</em>&#8221; concept of web-based wikis, which results in <strong>better categorization</strong> of the notes than what is currently possible with Tomboy. Some other things I particularly liked are the fact that all the available formatting can be applied to the text by using keyboard shortcuts (unlike Tomboy) and the support for a custom <strong>USR1 signal</strong> which can be used to programmatically <strong>toggle the visibility</strong> of Zim by assigning a <a href="http://www.g-loaded.eu/2007/10/18/dictionary-lookups-anywhere/#customkeybinding">custom global keyboard shortcut</a> that triggers the execution of a very simple BASH script (you can find it in the <a href="http://pardus-larus.student.utwente.nl/~pardus/projects/zim/docs/zim/faq.html">Zim FAQ</a>). For Tomboy users who consider switching to Zim (count me in), there is a <a href="http://blafs.com/diverse.html">Tomboy-to-Zim converter</a> available. It did not work out of the box, but it seems that it is easy to fix. Although I&#8217;ve been using it only for some minutes, Zim is definitely a keeper. If advanced note-taking is in the <em>standard procedures</em> of your everyday computing, I highly recommend trying Zim.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2007/10/19/zim-a-desktop-wiki/">Zim &#8211; a Desktop Wiki</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2008/05/16/desktop-now-uses-fedora-9/" rel="bookmark">Desktop now uses Fedora 9</a></li>
<li><a href="http://www.g-loaded.eu/2008/11/04/send-to-desktop-create-symlink/" rel="bookmark">Send to Desktop &#8211; Create Symlink</a></li>
<li><a href="http://www.g-loaded.eu/2010/02/27/creole-standard-wiki-markup-language/" rel="bookmark">Creole &#8211; Standard Wiki Markup Language</a></li>
<li><a href="http://www.g-loaded.eu/2009/04/09/yum-priorities-configuration-for-a-centos-desktop/" rel="bookmark">YUM-Priorities Configuration for a CentOS Desktop</a></li>
<li><a href="http://www.g-loaded.eu/2007/10/18/dictionary-lookups-anywhere/" rel="bookmark">Dictionary Lookups Anywhere</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2007/10/19/zim-a-desktop-wiki/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Dictionary Lookups Anywhere</title>
		<link>http://www.g-loaded.eu/2007/10/18/dictionary-lookups-anywhere/</link>
		<comments>http://www.g-loaded.eu/2007/10/18/dictionary-lookups-anywhere/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 17:40:22 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Dictionaries]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Resolved]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Snippet]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/2007/10/18/dictionary-lookups-anywhere/</guid>
		<description><![CDATA[I consider ditionaries, either in printed or electronic form, as one of the most useful sources of valuable information and an indispensable companion when reading. Lately, I&#8217;ve been reading lots of stuff, which involved scientific terminology in the English language, so it was very often required to lookup words on various online dictionaries. I did [...]]]></description>
			<content:encoded><![CDATA[<p>I consider ditionaries, either in printed or electronic form, as one of the most useful sources of valuable information and an indispensable companion when reading. Lately, I&#8217;ve been reading lots of stuff, which involved scientific terminology in the English language, so it was very often required to lookup words on various online dictionaries. I did most of the reading using <a href="http://www.gnome.org/projects/epiphany/">epiphany</a> or <a href="http://www.gnome.org/projects/evince/">evince</a>. Epiphany has a very handy feature which can send the selected text to a <a href="http://www.g-loaded.eu/2007/05/11/smart-bookmarks-in-epiphany/">smart bookmark</a> or even to <a href="http://en.wikipedia.org/wiki/Gnome-dictionary">gnome-dictionary</a>. Unfortunately, evince lacks such features, so I had to manually copy and paste words to the web browser in order to look them up on the web. This, combined with evince&#8217;s performance issues (version 0.6.0 &#8211; Fedora Core 6), led me to look for a more universal method of looking up words or phrases, regardless of the document viewer. And, usually, when your sole ambition becomes to overcome an annoying situation, a solution is on the way.<br />
<span id="more-446"></span><br />
What I needed was the following:</p>
<ol>
<li>Select some text with the mouse (easy :P)</li>
<li>Trigger a dictionary lookup for the selected text.</li>
<li>Get the word&#8217;s definitions in a browser window.</li>
</ol>
<p>After some research on the web, I came up with a decent solution. I discovered that when some text is selected under X, it is temporarily stored in a location called &#8220;<em>Primary Clipboard</em>&#8220;. The text could be somehow retrieved from that location and could be sent to an online dictionary by pressing a specific keyboard combination. This is totally independent of the application which the text had been selected from. This method also makes <strong>dictionary lookups as easy and fast as it can get</strong>.</p>
<p>But, this was just in theory. I needed a way of retrieving the selected text from the primary clipboard programmatically. This was the most difficult part, as X or GTK programming is out of my league&#8230;</p>
<p>Fortunately, I was told that this exact functionality exists in the <a href="http://raphael.slinckx.net/deskbar/">deskbar applet</a>. The user can select some text, then press <strong>Alt-F3</strong> and the deskbar applet displays a list of pre-defined places (epiphany smart bookmarks included) to search for the selected text, which also includes gnome-dictionary in order to look up the word on a dictionary server.</p>
<p>Using this deskbar applet&#8217;s functionality for the dictionary lookups could be the perfect solution. But, on the other hand, being able to specify different key combinations for different dictionaries and not having to pick a search location from the deskbar&#8217;s list would be more than perfect. Grepping into deskbar applet&#8217;s source code I soon found what I was looking for in the first place: that is <em>the way to programmatically retrieve the selected text from the primary clipboard</em>. Of course, I shamelessly stole that small piece of code :P</p>
<p>Provided that some text has been selected, its retrieval is possible with the following python snippet:</p>
<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> gtk
clipboard = gtk.<span style="color: black;">clipboard_get</span><span style="color: black;">&#40;</span>selection = <span style="color: #483d8b;">&quot;PRIMARY&quot;</span><span style="color: black;">&#41;</span>
text = clipboard.<span style="color: black;">wait_for_text</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> text</pre></div></div>
<p>The rest was easy. What was needed was a key combination to trigger the execution of the above script. Unfortunately, a custom command cannot be set in the <strong>gnome-keybinding-properties</strong> application. So, a workaround was needed even for that!! After some research, it turned out that one can set a <strong>custom command</strong> and assign a keyboard shortcut for it in GNOME&#8217;s window manager, <a href="http://en.wikipedia.org/wiki/Metacity">metacity</a>.</p>
<p>So, finally, it worked! Read on for detailed info&#8230;</p>
<h4>How to set things up</h4>
<p>First of all, create a small script:</p>
<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#! /usr/bin/env python</span>
<span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span>
&nbsp;
command = <span style="color: #483d8b;">&quot;epiphany -n http://en.wiktionary.org/wiki/%s&quot;</span>
<span style="color: #808080; font-style: italic;">#command = &quot;epiphany -n http://dictionary.reference.com/search?q=%s&quot;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> gtk
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">urllib</span> <span style="color: #ff7700;font-weight:bold;">import</span> quote
&nbsp;
clipboard = gtk.<span style="color: black;">clipboard_get</span><span style="color: black;">&#40;</span>selection = <span style="color: #483d8b;">&quot;PRIMARY&quot;</span><span style="color: black;">&#41;</span>
text = clipboard.<span style="color: black;">wait_for_text</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
text = text.<span style="color: black;">strip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">if</span> text:
	text = quote<span style="color: black;">&#40;</span>text<span style="color: black;">&#41;</span>	<span style="color: #808080; font-style: italic;"># This is basically for multiword selections</span>
	<span style="color: #dc143c;">os</span>.<span style="color: black;">popen</span><span style="color: black;">&#40;</span>command <span style="color: #66cc66;">%</span> text<span style="color: black;">&#41;</span></pre></div></div>
<p>Save the script to a directory of your choice. The rest assumes that the script has been saved to:</p>
<p><strong>/home/johndoe/bin/selectionlookup.py</strong></p>
<p>What this does is to retrieve the selected text from the &#8220;<em>primary clipboard</em>&#8221; and execute the specified command. In this case, the command is actually a system call to the epiphany browser which is instructed to load a page with the possible definitions for the selected text. The English version of <a href="http://en.wiktionary.org/">Wiktionary</a> or <a href="http://dictionary.reference.com/">Dictionary.com</a> (whichever is uncommented) is used for the lookup. Note that <strong>multiword selections are supported</strong> by both the script above and the aforementioned online dictionaries.</p>
<p><a name="customkeybinding"></a><br />
Second of all, a <strong>global keyboard shortcut</strong> needs to be set in metacity for the reasons I explained previously.</p>
<p>First, the custom command needs to be set. Open the <strong>gconf-editor</strong> and browse to the key:</p>
<pre class="codesnp">
/apps/metacity/keybinding_commands/command_1
</pre>
<p>Of course use any command key you wish. Here <code>command_1</code> is used. Set the following value:</p>
<pre class="codesnp">
python /home/johndoe/bin/selectionlookup.py
</pre>
<p>Then set up the keybinding for that command. Browse to the key:</p>
<pre class="codesnp">
/apps/metacity/global_keybindings/run_command_1
</pre>
<p>And set the combination (the following is an example):</p>
<pre class="codesnp">
&lt;control&gt;&lt;alt&gt;g
</pre>
<p>Test it by selecting some text anywhere and by pressing <code>Ctrl-Alt-g</code>. A new tab will appear in the browser window with a page with the selected text&#8217;s definitions (if any).</p>
<h4>Appendix I: Using a dictionary server</h4>
<p>Instead of looking the selected text up on a web-based dictionary, you can retrieve definitions from a dictionary server. Adjust the script accordingly. For example:</p>
<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#! /usr/bin/env python</span>
<span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span>
&nbsp;
command = <span style="color: #483d8b;">&quot;echo 'DEFINE * <span style="color: #000099; font-weight: bold;">\&quot;</span>%s<span style="color: #000099; font-weight: bold;">\&quot;</span>' | nc dict.org 2628 | zenity --text-info --title='Dict Lookup' --width=500 --height=500&quot;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> gtk
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
&nbsp;
clipboard = gtk.<span style="color: black;">clipboard_get</span><span style="color: black;">&#40;</span>selection = <span style="color: #483d8b;">&quot;PRIMARY&quot;</span><span style="color: black;">&#41;</span>
text = clipboard.<span style="color: black;">wait_for_text</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
text = text.<span style="color: black;">strip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">if</span> text:
	<span style="color: #dc143c;">os</span>.<span style="color: black;">popen</span><span style="color: black;">&#40;</span>command <span style="color: #66cc66;">%</span> text<span style="color: black;">&#41;</span></pre></div></div>
<p>The following happens when the keyboard shortcut is pressed:</p>
<ol>
<li>The following dictionary protocol specific command: <strong>DEFINE * &#8220;selectedtext&#8221;</strong> is piped to netcat (see some <a href="http://www.g-loaded.eu/2006/11/06/netcat-a-couple-of-useful-examples/">netcat examples</a>).</li>
<li>Netcat opens a connection to the <code>dict.org</code> dictionary server, sends the command and retrieves the results.</li>
<li>The results are piped to <a href="http://freshmeat.net/projects/zenity">zenity</a> and are displayed in an information textbox.</li>
</ol>
<p>Obviously, in order to successfully run the above command you will need <strong>netcat</strong> (<strong>nc</strong>) and <strong>zenity</strong>.</p>
<h4>Final Thoughts</h4>
<p>A whole dictionary application can be built around the selected text that is stored at the primary clipboard. The above is the fastest and most effective way of retrieving word/phrase definitions from any possible dictionary. It is independent of the application from which the text is selected and no time is wasted in meaningless copy-pasting. If you know a better way of looking up words, please let me know.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2007/10/18/dictionary-lookups-anywhere/">Dictionary Lookups Anywhere</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2006/05/17/epiphany-python-console-open-new-tab/" rel="bookmark">Epiphany Python Console &#8211; Open New Tab</a></li>
<li><a href="http://www.g-loaded.eu/2006/03/16/dictexpress/" rel="bookmark">DictExpress</a></li>
<li><a href="http://www.g-loaded.eu/2006/04/05/epiphany-browser-review/" rel="bookmark">Epiphany Browser Review</a></li>
<li><a href="http://www.g-loaded.eu/2006/09/23/use-python-to-get-the-web-page-data-in-epiphany/" rel="bookmark">Use Python to get the web page data in Epiphany</a></li>
<li><a href="http://www.g-loaded.eu/2007/05/11/smart-bookmarks-in-epiphany/" rel="bookmark">Smart Bookmarks in Epiphany</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2007/10/18/dictionary-lookups-anywhere/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Use wget or curl to download from RapidShare Premium</title>
		<link>http://www.g-loaded.eu/2007/09/15/use-wget-or-curl-to-download-from-rapidshare-premium/</link>
		<comments>http://www.g-loaded.eu/2007/09/15/use-wget-or-curl-to-download-from-rapidshare-premium/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 08:55:17 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[BASH]]></category>
		<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Snippet]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/2007/09/15/use-wget-or-curl-to-download-from-rapidshare-premium/</guid>
		<description><![CDATA[This article describes how to use the command line download managers wget and curl in order to download files from your Rapidshare Premium account.]]></description>
			<content:encoded><![CDATA[<p>The last days I needed to download a bunch of medical videos which have been uploaded to RapidShare by many other people. Although RapidShare (and all the other 1-click file-hosting services) is very convenient, it has some strict rules for free accounts, for example a guest has to wait for 120 seconds per 1 MB of downloaded data and &#8211; to make it worse &#8211; no download managers are allowed. Since &#8220;waiting&#8221; is not a game I like and since I intended to use either <a href="http://www.gnu.org/software/wget/">wget</a> or <a href="http://curl.haxx.se/">curl</a> to download the files, I decided to sign up for a <a href="http://www.rapidshare.com/">RapidShare</a> Premium account and then figure out how to use the aforementioned tools. Fortunately, registered users are permitted to use download managers and, as you will read in the following article, the Linux command line downloaders work flawlessly with a Premier account.<br />
<span id="more-443"></span></p>
<h4>Theory</h4>
<p>Rapidshare uses cookie-based authentication. This means that every time you log into the service, a cookie containing information which identifies you as a registered user is stored in your browser&#8217;s cookie cache. Both <code>wget</code> and <code>curl</code> support saving and loading cookies, so before using them to download any files, you should save such a cookie. Having done this, then the only required action in order download from RapidShare is to load the cookie, so that wget or curl can use it to authenticate you on the RapidShare server. This is pretty much the same you would do with a graphical download manager. The difference now is that you do it on the command line.</p>
<p>Below you will find examples about how to perform these actions using both wget and curl.</p>
<p><strong>IMPORTANT</strong>: Please note that in order to use these command-line utilities or any other download managers with RapidShare, you will have to check the <strong>Direct Downloads option</strong> in your account&#8217;s <strong>options page</strong>.</p>
<h4>Save your RapidShare Premium Account Cookie</h4>
<p>Saving your RapidShare cookie is a procedure that needs to be done <strong>once</strong>.</p>
<p>The login page is located at:</p>
<pre class="codesnp">https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi</pre>
<p>The login form requires two fields: <strong>login</strong> and <strong>password</strong>. These are pretty self-explanatory.</p>
<p>In the following examples, the RapidShare username is shown as <strong>USERNAME</strong> and the password as <strong>PASSWORD</strong>.</p>
<h5>Using wget</h5>
<p>In order to save your cookie using wget, run the following:</p>
<pre class="console">
wget \
    --save-cookies ~/.cookies/rapidshare \
    --post-data "login=USERNAME&#038;password=PASSWORD" \
    -O - \
    https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi \
    > /dev/null
</pre>
<p><strong>&#8211;save-cookies</strong> : Saves the cookie to a file called <code>rapidshare</code> under the <code>~/.cookies</code> directory (let&#8217;s assume that you store your cookies there)<br />
<strong>&#8211;post-data</strong> : is the POST payload of the request. In other words it contains the data you would enter in the login form.<br />
<strong>-O -</strong> : downloads the HTML data to the standard output. Since the above command is run only in order to obtain the cookie, this option prints the HTML data to stdout (Standard Output) and then discards it by redirecting stdout to <code>/dev/null</code>. If you don&#8217;t do this, wget will save the HTML data in a file called <code>premiumzone.cgi</code> in the current directory. This is just the Rapidshare HTML page, which is absolutely not needed.</p>
<h5>Using curl</h5>
<p>In order to save your cookie using curl, run the following:</p>
<pre class="console">
curl \
    --cookie-jar ~/.cookies/rapidshare \
    --data "login=USERNAME&#038;password=PASSWORD" \
    https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi \
    > /dev/null
</pre>
<p><strong>&#8211;cookie-jar</strong> : Saves the cookie to a file called <code>rapidshare</code> under the <code>~/.cookies</code> directory (it has been assumed previously that cookies are stored there)<br />
<strong>&#8211;data</strong> : contains the data you would enter in the login form.<br />
Curl prints the downloaded page data to stdout by default. This is discarded by sending it to <code>/dev/null</code>.</p>
<h4>Download files using your RapidShare Premium Account Cookie</h4>
<p>Having saved your cookie, downloading files from RapidShare is as easy as telling wget/curl to load the cookie everytime you use them to download a file.</p>
<h5>Downloading with wget</h5>
<p>In order to download a file with wget, run the following:</p>
<pre class="console">
wget -c --load-cookies ~/.cookies/rapidshare &lt;URL&gt;
</pre>
<p><strong>-c </strong>: this is used in order to resume downloading of the file if it already exists in the current directory and is incomplete.<br />
<strong>&#8211;load-cookies</strong> : loads your cookie.</p>
<h5>Downloading with curl</h5>
<p>In the same manner, in order to download a file with curl, run the following:</p>
<pre class="console">
curl -L -O --cookie ~/.cookies/rapidshare &lt;URL&gt;
</pre>
<p><strong>-L</strong> : Follows all redirections until the final destination page is found. This switch is almost always required as curl won&#8217;t follow redirects by default (read about how to check the server <a href="http://www.g-loaded.eu/2006/10/06/check-server-http-headers-with-curl/">http headers</a> with curl).<br />
<strong>-O</strong> : By using this switch you instruct curl to save the downloaded data to a file in the current directory. The filename of the remote file is used. This switch is also required or else curl will print the data to stdout, which is something you won&#8217;t probably like.<br />
<strong>&#8211;cookie</strong> : loads your Rapidshare account&#8217;s cookie.</p>
<h4>Setting up a Download Server</h4>
<p>Although most users would be satisfied with the above, I wouldn&#8217;t be surprised if you would want to go a bit further and try to setup a little service for your downloading pleasure. Here is a very primitive implementation of such a service. All you will need is standard command line tools.</p>
<p>This primitive server consists of the following:</p>
<ol>
<li>A <a href="http://en.wikipedia.org/wiki/Named_pipe">named pipe</a>, called &#8220;<strong>dlbasket</strong>&#8220;. You will feed the server with URLs through this pipe. Another approach would be to use a listening TCP socket with <a href="http://www.g-loaded.eu/2006/11/06/netcat-a-couple-of-useful-examples/">NetCat</a>.</li>
<li>A script, which, among others, contains the main server loop. This loop reads one URL at a time from dlbasket and starts a wget/curl process in order to download the file. If dlbasket is empty, the server should just stay there waiting.</li>
</ol>
<p>So, in short, the service would be the following:</p>
<pre class="codesnp">
cat &lt;&gt; dlbasket | ( while ... done )
</pre>
<p>All credit for the &#8220;<strong>cat &lt;&gt; dlbasket |</strong>&#8221; magic goes to <strong><em>Zart</em></strong>, who kindly helped me out at the #fedora IRC channel.</p>
<p>So, let&#8217;s create that service. The following assume that a user named &#8220;<strong>downloader</strong>&#8221; exists in the system and the home directory is <code>/var/lib/downloader/</code>. Of course you can set this up as you like, but make sure you adjust the following commands and the script&#8217;s configuration options accordingly.</p>
<p>First, create the named pipe:</p>
<pre class="console">
mkfifo -m 0700 /var/lib/downloader/dlbasket
</pre>
<p>If it does not exist, create a <code>bin</code> directory in the user&#8217;s home:</p>
<pre class="console">
mkdir -p /var/lib/downloader/bin
</pre>
<p>Also, create a directory where the downloaded files will be saved:</p>
<pre class="console">
mkdir -p /var/lib/downloader/downloads
</pre>
<p>The following is a quick and dirty script I wrote which actually implements the service. Save it as <strong>rsgetd.sh</strong> inside the user&#8217;s <code>bin</code> directory:</p>
<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#! /usr/bin/env bash  </span>
&nbsp;
<span style="color: #666666; font-style: italic;">#  rsgetd.sh - Download Service</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#  Version 0.3</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#  Copyright (C) 2007 George Notaras (http://www.g-loaded.eu/)</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  This program is free software; you can redistribute it and/or modify</span>
<span style="color: #666666; font-style: italic;">#  it under the terms of the GNU General Public License version 2 as</span>
<span style="color: #666666; font-style: italic;">#  published by the Free Software Foundation.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#  This program is distributed in the hope that it will be useful,</span>
<span style="color: #666666; font-style: italic;">#  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<span style="color: #666666; font-style: italic;">#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<span style="color: #666666; font-style: italic;">#  GNU General Public License for more details.</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Special thanks to 'Zart' from the #fedora channel on FreeNode</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># v0.3 - Oct 31 2009:</span>
<span style="color: #666666; font-style: italic;"># - corrected error: &quot;./bin/rsgetd.sh: line 37: [: argument expected&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># CONFIG START </span>
<span style="color: #007800;">HOMEDIR</span>=<span style="color: #ff0000;">&quot;/var/lib/downloader&quot;</span>
<span style="color: #007800;">DLBASKET</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$HOMEDIR</span>/dlbasket&quot;</span>
<span style="color: #007800;">DLDIR</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$HOMEDIR</span>/downloads/&quot;</span>
<span style="color: #007800;">LOGFILE</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$HOMEDIR</span>/.downloads_log&quot;</span>
<span style="color: #007800;">CACHEFILE</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$HOMEDIR</span>/.downloads_cache&quot;</span>
<span style="color: #007800;">LIMIT</span>=<span style="color: #ff0000;">&quot;25k&quot;</span>
<span style="color: #007800;">WGETBIN</span>=<span style="color: #ff0000;">&quot;/usr/bin/wget&quot;</span>
<span style="color: #666666; font-style: italic;"># Rapidshare Login Cookie  </span>
<span style="color: #007800;">RSCOOKIE</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$HOMEDIR</span>/cookies/.rapidshare&quot;</span>
<span style="color: #666666; font-style: italic;"># CONFIG END</span>
&nbsp;
<span style="color: #007800;">DATETIME</span>=<span style="color: #ff0000;">&quot;<span style="color: #780078;">`date '+%Y-%m-%d %H:%M:%S'`</span>&quot;</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">&amp;</span>lt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$DLBASKET</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>
        <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> url ; <span style="color: #000000; font-weight: bold;">do</span>
                <span style="color: #666666; font-style: italic;"># First, check the cache if the file has been already downloaded</span>
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$CACHEFILE</span>&quot;</span> <span style="color: #660033;">-a</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$(grep -i $(basename $url)</span> <span style="color: #007800;">$CACHEFILE</span>)&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
                       <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DATETIME</span> File exists in cache. Already downloaded - Skipping: <span style="color: #007800;">$url</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOGFILE</span>
                <span style="color: #000000; font-weight: bold;">else</span>
                        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DATETIME</span> Starting with rate <span style="color: #007800;">$LIMIT</span>/s: <span style="color: #007800;">$url</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOGFILE</span>
                        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">expr</span> match <span style="color: #ff0000;">&quot;<span style="color: #007800;">$url</span>&quot;</span> <span style="color: #ff0000;">'[rapidshare.com]'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> = <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
                                <span style="color: #666666; font-style: italic;"># If it is a Rapidshare.com link, load the RS cookie </span>
                                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;RAPIDSHARE LINK&quot;</span>
                                <span style="color: #007800;">$WGETBIN</span> <span style="color: #660033;">-c</span> <span style="color: #660033;">--limit-rate</span>=<span style="color: #007800;">$LIMIT</span> <span style="color: #660033;">--directory-prefix</span>=<span style="color: #007800;">$DLDIR</span> <span style="color: #660033;">--load-cookies</span> <span style="color: #007800;">$RSCOOKIE</span> <span style="color: #007800;">$url</span>
                        <span style="color: #000000; font-weight: bold;">else</span>
                                <span style="color: #007800;">$WGETBIN</span> <span style="color: #660033;">-c</span> <span style="color: #660033;">--limit-rate</span>=<span style="color: #007800;">$LIMIT</span> <span style="color: #660033;">--directory-prefix</span>=<span style="color: #007800;">$DLDIR</span> <span style="color: #007800;">$url</span>
                        <span style="color: #000000; font-weight: bold;">fi</span>
                        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DATETIME</span> Finished: <span style="color: #007800;">$url</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOGFILE</span>
                        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$url</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$CACHEFILE</span>
                <span style="color: #000000; font-weight: bold;">fi</span>
        <span style="color: #000000; font-weight: bold;">done</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span></pre></div></div>
<p>As you might have already noticed, two extra files are created inside the home directory: <code>.downloads_cache</code> and <code>.downloads_log</code>. The first contains a list of all the urls that have been downloaded. Each new download is checked against this list, so that the particular URL is not processed if the file has already been downloaded. The latter file is a usual logfile stating the start and end times of each download. Feel free to adjust the script to your needs.</p>
<p>Here is some info about how you should start the service:</p>
<p><strong>-1-</strong> You can simply start the script as a background process and then feed URLs to it. For example:</p>
<pre class="console">
rsgetd.sh &#038;
echo "&lt;URL&gt;" &gt; /var/lib/downloader/dlbasket
</pre>
<p><strong>-2-</strong> Use <a href="http://www.gnu.org/software/screen/">screen</a> in order to run the script in the background but still be able to see its output by connecting to a screen session. Although this is not a screen howto, here is an example:</p>
<p>Create a new screen session and attach to it:</p>
<pre class="console">
screen -S rs_downloads
</pre>
<p>While being in the session, run rsgetd.sh</p>
<pre class="console">
rsgetd.sh
</pre>
<p>From another terminal feed the download basket (dlbasket) with urls:</p>
<pre class="console">
echo "&lt;URL&gt;" &gt; /var/lib/downloader/dlbasket
cat url_list.txt &gt; /var/lib/downloader/dlbasket
</pre>
<p>Watch the files in the screen window as they are being downloaded.</p>
<p>Detach from the screen session by hitting the following:</p>
<pre class="codesnp">
Ctrl-a   d
</pre>
<p>Re-attach to the session by running:</p>
<pre class="console">
screen -r
</pre>
<p>Note that you do not need to be attached to the screen session in order to add URLs.</p>
<h5>Feeding the basket with URLs remotely</h5>
<p>Assuming that a SSH server is running on the machine that runs rsgetd.sh, you can feed URLs to it by running the following from a remote machine:</p>
<pre class="console">
ssh downloader@server.example.org cat \&gt; /var/lib/downloader/dlbasket
</pre>
<p>Note that the <strong>&gt;</strong> needs to be escaped so that it is considered as part of the command that will be executed on the remote server.</p>
<p>Now, feel free to <strong>add</strong> as many <strong>URLs</strong> as you like. After you hit the <strong>[Enter]</strong> key the url will be added to the download queue. When you are finished, just press <strong>Ctrl-D</strong> to end the URL submission.</p>
<h4>Conclusion</h4>
<p>This article provides all the information you need in order to use wget or curl to download files from your RapidShare Premium account. Also, information on how to set up a service that will assist you in order to commence downloads on your home server from a remote location has been covered.</p>
<p>The same information applies in all cases that wget and curl need to be used with websites that use cookie-based authentication.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2007/09/15/use-wget-or-curl-to-download-from-rapidshare-premium/">Use wget or curl to download from RapidShare Premium</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2010/10/04/rsapiget-download-rapidshare-api/" rel="bookmark">rsapiget downloads files using the new Rapidshare API</a></li>
<li><a href="http://www.g-loaded.eu/2006/10/06/check-server-http-headers-with-curl/" rel="bookmark">Check Server HTTP Headers with CURL</a></li>
<li><a href="http://www.g-loaded.eu/2005/11/10/mass-download/" rel="bookmark">Mass download</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/06/partition-images-with-partimage-and-partimaged/" rel="bookmark">Partition images with Partimage and Partimaged</a></li>
<li><a href="http://www.g-loaded.eu/2010/03/28/script-apache-error-report/" rel="bookmark">Script for Apache Error Report</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2007/09/15/use-wget-or-curl-to-download-from-rapidshare-premium/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Mailing List Manager</title>
		<link>http://www.g-loaded.eu/2007/08/20/mailing-list-manager/</link>
		<comments>http://www.g-loaded.eu/2007/08/20/mailing-list-manager/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 13:29:51 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.g-loaded.eu/2007/08/20/mailing-list-manager/</guid>
		<description><![CDATA[If you are looking for a lean, mean mailing list manager (MLM), look no further. The software you are looking for is called: the Minimalist. Despite the fact that the Minimalist is just a Perl script with a filesize of 70Kb, it is a full featured MLM which will satisfy almost all users. Do not [...]]]></description>
			<content:encoded><![CDATA[<p>If you are looking for a lean, mean mailing list manager (<strong>MLM</strong>), look no further. The software you are looking for is called: the <a href="http://www.mml.org.ua/">Minimalist</a>. Despite the fact that the Minimalist is just a Perl script with a filesize of 70Kb, it is a full featured MLM which will satisfy almost all users. Do not expect to find any extra functionality in that script like web interfaces, email archivers, etc. The Minimalist has been designed to serve one purpose: <em>manage mailing lists</em>; that is supporting some commands which are sent to the program by email and taking the relevant actions upon their arrival. The mailing list archives can be converted to HTML pages by using one of the popular email archivers: <a href="http://www.mhonarc.org/">MHonArc</a> and <a href="http://www.hypermail-project.org/">HyperMail</a> (there is also <em>Pipermail</em> which is included in the <a href="http://www.gnu.org/software/mailman/">Mailman</a> suite).</p>
<p>I&#8217;ve been experimenting with the Minimalist for the last days and all I can say is that this software <em>Just Works</em>&trade; &#8230; and I like it when software works! Actually, I liked it so much that I have devoted a significant amount of time in writing a program that acts as a bridge between the Minimalist&#8217;s mailing list archives and MHonArc. This program (a MHonArc wrapper actually), which also includes a set of <em>resource files</em> in order to heavily customize MHonArc&#8217;s HTML output (in an attempt to be like the popular Mailman web archives), is called BenzinArc (<em>Benzin Archiver</em>) and can be used both as a cron job and as a standalone application. BenzinArc is still work in progress. No code has been released yet. An overview of the HTML version of the <em>CodeTRAX Mailing List Archives</em> is available. Currently, only one read-only mailing list, <strong>codetrax-bugs</strong>, exists. This is a dedicated list to the bug reports of all projects hosted by <a href="http://www.codetrax.org/">CodeTRAX</a>, but it is enough to serve as an example.</p>
<p>All this mailing-list-related stuff has kept me away from working on the <strong>0.7.1</strong> release of the <a href="http://www.codetrax.org/projects/traxauth">TraxAuth Account System</a>, but I assume all that was absolutely necessary. Although my free time will be very little in the upcoming weeks, I guess I will be able to release a new version of <em>TraxAuth</em> and the first public test release of <em>BenzinArc</em>.</p>
<div class="cc-block"><em><a href="http://www.g-loaded.eu/2007/08/20/mailing-list-manager/">Mailing List Manager</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>. Terms and conditions beyond the scope of this license may be available at <a href="http://www.g-loaded.eu/about/disclaimer-and-license/">www.g-loaded.eu</a>.</div>
<h4>Related Articles</h4>
<ul><li><a href="http://www.g-loaded.eu/2007/03/05/organizing-mailing-list-messages-with-evolution/" rel="bookmark">Organizing Mailing List messages with Evolution</a></li>
<li><a href="http://www.g-loaded.eu/2007/08/09/traxauth/" rel="bookmark">TraxAuth</a></li>
<li><a href="http://www.g-loaded.eu/2007/08/17/next-time-come-prepared/" rel="bookmark">Next time, come prepared</a></li>
<li><a href="http://www.g-loaded.eu/2005/11/10/add-files-to-totem-playing-list-from-nautilus/" rel="bookmark">Add files to Totem playing list from Nautilus</a></li>
<li><a href="http://www.g-loaded.eu/2007/05/11/smart-bookmarks-in-epiphany/" rel="bookmark">Smart Bookmarks in Epiphany</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2007/08/20/mailing-list-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>

