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

<channel>
	<title>Luanatic con features</title>
	<atom:link href="http://www.pplux.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pplux.com</link>
	<description>el blog de PpluX</description>
	<pubDate>Mon, 11 May 2009 08:21:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Welcome to Codepixel&#8217;s planet</title>
		<link>http://www.pplux.com/2009/05/11/welcome-to-codepixels-planet/</link>
		<comments>http://www.pplux.com/2009/05/11/welcome-to-codepixels-planet/#comments</comments>
		<pubDate>Mon, 11 May 2009 07:02:46 +0000</pubDate>
		<dc:creator>PpluX</dc:creator>
		
		<category><![CDATA[English]]></category>

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

		<guid isPermaLink="false">http://www.pplux.com/?p=224</guid>
		<description><![CDATA[Just to start a new tag &#8220;codepixel&#8221;  
The whole planet here
]]></description>
			<content:encoded><![CDATA[<p>Just to start a new tag &#8220;codepixel&#8221; <img src='http://www.pplux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The whole planet <a href="http://planet.codepixel.com/" onclick="javascript:urchinTracker ('/outbound/article/planet.codepixel.com');">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pplux.com/2009/05/11/welcome-to-codepixels-planet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Safe bool idiom.</title>
		<link>http://www.pplux.com/2009/02/18/the-safe-bool-idiom/</link>
		<comments>http://www.pplux.com/2009/02/18/the-safe-bool-idiom/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 10:25:34 +0000</pubDate>
		<dc:creator>PpluX</dc:creator>
		
		<category><![CDATA[C/C++]]></category>

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

		<guid isPermaLink="false">http://www.pplux.com/?p=220</guid>
		<description><![CDATA[This is something I came across reviewing the headers of OSG, it&#8217;s called the &#8220;safe bool idiom&#8221; and arises when we try to overload the bool operator of a class to make it part of boolean expressions&#8230; Of course this is wrong, let me spoil you a correct version of what should look like a [...]]]></description>
			<content:encoded><![CDATA[<p>This is something I came across reviewing the headers of <a href="http://www.openscenegraph.org" onclick="javascript:urchinTracker ('/outbound/article/www.openscenegraph.org');">OSG</a>, it&#8217;s called the &#8220;<a href="http://www.artima.com/cppsource/safebool.html" onclick="javascript:urchinTracker ('/outbound/article/www.artima.com');">safe bool idiom</a>&#8221; and arises when we try to overload the bool operator of a class to make it part of boolean expressions&#8230; Of course this is wrong, let me spoil you a correct version of what should look like a class using the  <em><a href="http://www.artima.com/cppsource/safebool.html" onclick="javascript:urchinTracker ('/outbound/article/www.artima.com');">safe bool idiom</a></em></p>
<pre name="code" class="c++">
  class Testable {
    bool ok_;
    typedef void (Testable::*bool_type)() const;
    void this_type_does_not_support_comparisons() const {}
  public:
    explicit Testable(bool b=true):ok_(b) {}

    operator bool_type() const {
      return ok_==true ?
        &#038;Testable::this_type_does_not_support_comparisons : 0;
    }
  };
</pre>
<blockquote><p>
Simple, eh? Let&#8217;s examine what&#8217;s going on here. First, we typedef bool_type to be a pointer to a const member function of Testable, taking zero arguments and returning void. This is our magic type that allows for testing in Boolean contexts, without taking part in overloading contexts. Next, we define a conversion function to bool_type, just as we did with bool and void* earlier. Finally, we return &#8220;true&#8221; using a pointer to a member function (this_type_does_not_support_comparisons), which fits the bool_type, and a null value for &#8220;false&#8221;. It&#8217;s now possible to safely test instances of Testable in Boolean contexts. The strange name does have a purpose; read on to find out what it is!</p></blockquote>
<p>Yeah, simple! the way I like it. XD</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pplux.com/2009/02/18/the-safe-bool-idiom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>rsync, root and sudo</title>
		<link>http://www.pplux.com/2009/02/07/rsync-root-and-sudo/</link>
		<comments>http://www.pplux.com/2009/02/07/rsync-root-and-sudo/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 20:21:20 +0000</pubDate>
		<dc:creator>PpluX</dc:creator>
		
		<category><![CDATA[English]]></category>

		<category><![CDATA[linux/unix]]></category>

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

		<guid isPermaLink="false">http://www.pplux.com/?p=214</guid>
		<description><![CDATA[Here is the thing, the other day I wanted to copy one subdirectory from one computer to another, I can not rely on scp because I needed root permissions, neither tar worked because there was symlinks, different file permissions and owners, and there wasn&#8217;t space enough to do it (of course, you can send the [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the thing, the other day I wanted to copy one subdirectory from one computer to another, I can not rely on scp because I needed root permissions, neither tar worked because there was symlinks, different file permissions and owners, and there wasn&#8217;t space enough to do it (of course, you can send the tar using netcat&#8230;). The perfect solution to do such a copy is use rsync, it works nice, and can be used to reupdate a backup, and so on. </p>
<p>The problem is I need both root permissions on both machines, on the local machine having root permissions is the easy part but how should we proceed to get root permissions at the other end ?</p>
<p>You can do several things, like creating the root user, disable sudo asking for password, &#8230; but I won&#8217;t recommend them. The solution I came across ( I don&#8217;t remember from where ) is simple, but quite forgivable (that&#8217;s why I&#8217;m writing a post-to-myself). Here it is:</p>
<pre name="code" class="c">
stty -echo; ssh myUser@REMOTE_SERVER "sudo -v"; stty echo
rsync -avze ssh --rsync-path='sudo rsync' myUser@REMOTE_SERVER:/REMOTE_PATH/ LOCAL_PATH
</pre>
<p>The second line tells sudo to execute &#8220;sudo rsync&#8221; instead of &#8220;rsync&#8221; on the remote host. Without the first line sudo will prompt for a password (and we won&#8217;t be able to input it), the &#8220;sudo -v&#8221; is the one which does the trick. It simply touches the timestamp sudo has to avoid asking the password on each call. </p>
<p>The &#8220;stty [-]echo&#8221; avoid others to have a look at our passwords while we type them <img src='http://www.pplux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.pplux.com/2009/02/07/rsync-root-and-sudo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>from subversion to git</title>
		<link>http://www.pplux.com/2008/11/26/from-subversion-to-git/</link>
		<comments>http://www.pplux.com/2008/11/26/from-subversion-to-git/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 14:55:55 +0000</pubDate>
		<dc:creator>PpluX</dc:creator>
		
		<category><![CDATA[English]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.pplux.com/?p=194</guid>
		<description><![CDATA[Recently I&#8217;ve been playing with git and I found it fascinating!, for those that still don&#8217;t know what it is, git is a really fast distributed revision control system (wikipedia). Now the problem is how to switch from subversion to git, fortunately git-svn helps a lot and we can play with git and subversion in [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been playing with git and I found it fascinating!, for those that still don&#8217;t know what it is, git is a really fast distributed revision control system (<a href="http://en.wikipedia.org/wiki/Git_%28software%29" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">wikipedia</a>). Now the problem is how to switch from subversion to git, fortunately <a href="http://www.kernel.org/pub/software/scm/git/docs/git-svn.html" onclick="javascript:urchinTracker ('/outbound/article/www.kernel.org');">git-svn</a> helps a lot and we can play with git and subversion in many ways. Let&#8217;s talk about them from the easiest to the not-so-easy way. I&#8217;m supposing here that you want to move from a centralized subversion to a git repository that probably will be online on a server.</p>
<h2>Complete migration from subversion to git</h2>
<p>This is for those that want to throw  subversion away completely, for some reason this is the easiest way to switch. First what you would do on the server:</p>
<p><code><span class="blue"># first clone the repository from subversion<br />
#  if you can use file:// it will be faster,<br />
#  otherwise use </span><span class="red">http://your-project-url.com/svn/MySuperProject </span><br />
[server]$ git svn clone -s <span class="red">file:///home/pplux/&#8230;/svn/MySuperProject</span> tmp<br />
<span class="blue"># clone to a bare new git repository (with no track of subversion)</span><br />
[server]$ git clone &#8211;bare file://`pwd`/tmp MySuperProject<br />
<span class="blue"># remove the old git repo from subversion, no longer needed</span><br />
[server]$ rm -rf tmp/<br />
<span class="blue"># update server info, for &#8220;dumb&#8221; servers this is needed</span><br />
[server]$ cd MySuperProject/<br />
[server]$ git &#8211;bare update-server-info<br />
</code></p>
<p>Now clients can simple clone your repository and start working:<br />
<code><span class="blue"># use this for normal-read-only, or maybe you could use ssh://<br />
#   if you plan to upload data.</span><br />
[client] $ git clone <span class="green">http://your-server-url.com/git/MySuperProject</span><br />
</code></p>
<h2>Mirroring the subversion repository and keep subversion</h2>
<p>Here we want to keep the subversion repository like the main reference of the project, but let people (or ourselves) use git for development. The reason to mirror the subversion is just a matter of speed, it is much faster to clone an existing git repository than cloning from subversion each time. </p>
<p>Here we will need to do a bit more of work, but it&#8217;s a much smoother way to migrate from subversion to git. First what we need to do on the server:</p>
<p><code><span class="blue"># Create and initialize a bare git repository</span><br />
[server]$ mkdir MySuperProject[server]$ cd MySuperProject/<br />
[server]$ git &#8211;bare init<br />
Initialized empty Git repository in /home/pplux/&#8230;/MySuperProject/<br />
<br/><br />
<span class="blue"># set svn project to import</span><br />
[server]$ git &#8211;bare svn init -s <span class="red">http://your-server-url.com/svn/MySuperProject</span><br />
<br/><br />
<span class="blue"># fetch svn data (sloooow)</span><br />
[server]$ git &#8211;bare svn fetch &#8211;all<br />
    A   src/CMakeLists.txt<br />
        A   CMakeLists.txt<br />
        W: +empty_dir: trunk/include<br />
&#8230;<br />
<br/><br />
<span class="blue"># auxiliary files to help &#8220;dumb&#8221; servers</span><br />
[server]$ git &#8211;bare update-server-info<br />
</code></p>
<p>Now the client, here we will do much more work than before to setup both the origin from the git mirror and the subversion config to commit there future changes.</p>
<p><code><span class="blue"># Create and initialize our copy of the git repository</span><br />
[client] $ mkdir MySuperProject<br />
[client] $ cd MySuperProject/<br />
[client] $ git init<br />
Initialized empty Git repository in /Users/pplux/projects/MySuperProject/.git/<br />
<br/><br />
<span class="blue"># setup the server as the initial origin of data</span><br />
[client] $ git remote add origin <span class="green">http://your-server-url.com/git/MySuperProject</span><br />
<br/><br />
<span class="blue"># also tell git to fecth data from the remote origin(that case svn)</span><br />
[client] $ git config &#8211;add remote.origin.fetch &#8216;+refs/remotes/*:refs/remotes/*&#8217;<br />
<br/><br />
<span class="blue"># fetch data from the git mirror(takes a bit)</span><br />
[client] $ git fetch<br />
got 2c68737541f19685f667f601a502447425d1fcfe<br />
walk 2c68737541f19685f667f601a502447425d1fcfe<br />
got d4916373650b9bb636c0284dd501e6c7bfa8e304<br />
got 13af9568120f8e7771bd386d9b7dadf69f1181cb<br />
&#8230;<br />
<br/><br />
<span class="blue"># setup the original subversion as</span><br />
[client] $ git svn -s init <span class="red">http://your-server-url.com/svn/MySuperProject</span><br />
<br/><br />
<span class="blue"># rebuild data&#8230;</span><br />
[client] $ git svn fetch<br />
Rebuilding .git/svn/trunk/.rev_map.1a3bf6a2-ba3d-0410-9263-a3f888f14dcd &#8230;<br />
r1 = 126490373bfbc2a770d762398b67fffeef73bead<br />
r2 = a2288725c8c68ef426b97cf2b28a9135a34734d3<br />
r3 = 4158b92a5c68489bb6ff2b4f4567cf8f830d7282<br />
<br/><br />
<span class="blue"># to start working create a master that will track &#8220;trunk&#8221;</span><br />
[client] $ git checkout -b master -t trunk<br />
</code></p>
<h2> Reasons for switching to git </h2>
<p>The post ends here you can safely stop reading now, but if you ask me, there are some good reasons to switch to git:</p>
<ul>
<li> it&#8217;s faster, not only faster when doing actual SCM work, it allows you to develop faster, no need to wait while the commit is transmitted to the server, you can work offline wherever you are&#8230; </li>
<li> it works well with subversion, you can use it even if the main project never moves from a subversion repository or you are the only one using git while everybody else is using subversion </li>
<li> you don&#8217;t need to develop a full feature before a commit, you can work on your own doing commits often without worrying about anybody else.</li>
<li> git is meant to work on branches, this is a different approach from the normal subversion use, with git you are supposed to work on branches, and it&#8217;s great! I like to develop different &#8220;features&#8221; on different branches, I can switch the branch, do several things at the same time&#8230; and so on.</li>
<li>you have the whole history, not just the last commit.</li>
<li>it&#8217;s secure, you don&#8217;t need several people to share the same repository, git &#8220;default&#8221; model works in a different way where each person has its own public git. But, everything in git is hashed, even branches, so you can easily check if your private git has the same things as the remote git (that&#8217;s difficult to achieve with subversion)</li>
<li> it&#8217;s like vim vs notepad! I like git because is fun, it can do many many things, and it&#8217;s always good to have something new to play with.</li>
<li> if CVS was for dinosaurs when you started using SVN, now SVN is for the Neanderthals&#8230; so start using git!</li>
<li> You don&#8217;t have to be a ruby developer to use git! git is another SCM&#8230; not the cool tool just for cool ruby developers&#8230; come on.</li>
<li> Because Linus Torvalds made it:<br/><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/4XpnKHJAok8&#038;hl=es&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4XpnKHJAok8&#038;hl=es&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></li>
<li> &#8230; well, maybe Linus is not a good reason to use it&#8230; I don&#8217;t fancy calling people ugly and idiot, anyway git is great.</li>
</ul>
<p>And big thanks to <a href="http://slack.codemaniacs.com/" onclick="javascript:urchinTracker ('/outbound/article/slack.codemaniacs.com');">slack</a> for pointing me out git, if he says something is good stuff&#8230; believe him <img src='http://www.pplux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Other good links about what we&#8217;ve talked here:</p>
<p><a href="http://www.gnome.org/~federico/news-2008-11.html#27" onclick="javascript:urchinTracker ('/outbound/article/www.gnome.org');">http://www.gnome.org/~federico/news-2008-11.html#27</a><br />
<a href="http://markmcb.com/tag/workflow/" onclick="javascript:urchinTracker ('/outbound/article/markmcb.com');">http://markmcb.com/tag/workflow/</a><br />
<a href="http://utsl.gen.nz/talks/git-svn/intro.html#howto-track-rebuildmeta" onclick="javascript:urchinTracker ('/outbound/article/utsl.gen.nz');">http://utsl.gen.nz/talks/git-svn/intro.html#howto-track-rebuildmeta</a><br />
<a href="http://www.viget.com/extend/effectively-using-git-with-subversion/" onclick="javascript:urchinTracker ('/outbound/article/www.viget.com');">http://www.viget.com/extend/effectively-using-git-with-subversion/</a><br />
<a href="http://techbase.kde.org/Development/Tutorials/Git#Interfacing_KDE.27s_SVN_repository_with_git-svn" onclick="javascript:urchinTracker ('/outbound/article/techbase.kde.org');">http://techbase.kde.org/Development/Tutorials/Git#Interfacing_KDE.27s_SVN_repository_with_git-svn</a><br />
<a href="http://live.gnome.org/GitForGnomeDevelopers" onclick="javascript:urchinTracker ('/outbound/article/live.gnome.org');">http://live.gnome.org/GitForGnomeDevelopers</a><br />
<a href="http://tsunanet.blogspot.com/2007/07/learning-git-svn-in-5min.html" onclick="javascript:urchinTracker ('/outbound/article/tsunanet.blogspot.com');">http://tsunanet.blogspot.com/2007/07/learning-git-svn-in-5min.html</a><br />
<a href="http://blogs.gnome.org/johncarr/2008/06/21/git-mirrorgnomeorg/" onclick="javascript:urchinTracker ('/outbound/article/blogs.gnome.org');">http://blogs.gnome.org/johncarr/2008/06/21/git-mirrorgnomeorg/</a><br />
<a href="http://markmcb.com/2008/09/17/migrating-a-subversion-svn-project-and-server-to-git/" onclick="javascript:urchinTracker ('/outbound/article/markmcb.com');">http://markmcb.com/2008/09/17/migrating-a-subversion-svn-project-and-server-to-git/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pplux.com/2008/11/26/from-subversion-to-git/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The return to the dark side</title>
		<link>http://www.pplux.com/2008/11/24/the-return-to-the-dark-side/</link>
		<comments>http://www.pplux.com/2008/11/24/the-return-to-the-dark-side/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 10:50:09 +0000</pubDate>
		<dc:creator>PpluX</dc:creator>
		
		<category><![CDATA[Apple]]></category>

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

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

		<guid isPermaLink="false">http://www.pplux.com/?p=184</guid>
		<description><![CDATA[Since October 31st, around 9:45am, I&#8217;m the proudly owner of a new macbook!  So again I&#8217;m quitting linux, not really, but for a notebook apple is the only one that delivers a truly &#8220;notebook-experience&#8221;, IMHO. I could not do without the close-the-lid-and-leave thing, the unix feeling, and my terminal,but it took me some days [...]]]></description>
			<content:encoded><![CDATA[<p>Since <a href="http://twitter.com/pplux/status/984116656" onclick="javascript:urchinTracker ('/outbound/article/twitter.com');">October 31st, around 9:45am,</a> I&#8217;m the proudly owner of a new macbook!  So again I&#8217;m quitting linux, not really, but for a notebook apple is the only one that delivers a truly &#8220;notebook-experience&#8221;, IMHO. I could not do without the close-the-lid-and-leave thing, the unix feeling, and my terminal,but it took me some days to tweak this things to feel back at home, and just as a reminder for myself I&#8217;m going to write down some little tips.<br />
<span id="more-184"></span><br />
<strong>Suspension, safe sleep and deep sleep:</strong></p>
<p>That&#8217;s the thing I love most from mac: how fast is to suspend and de-suspend. But, I&#8217;ve noticed that the led which indicates when the notebook is suspended, takes quite long to start pulsing. Actually, it is not safe to move the notebook until the led starts pulsing so&#8230; why? with my old G4 mac the led started almost instantly pulsing meaning that you could safely pick the notebook up and leave. Well the reason is that apple has switched to &#8220;SafeSleep&#8221; since intel notebooks, and basically means that it will store the memory content to the hard disk just in case you run out of battery. </p>
<p>I can not simply run out of battery, I&#8217;m always near a plug, and it doesn&#8217;t take more than few hours until I use the notebook again&#8230; so there must be some way to use the not-so-safe-sleep-but-much-quicker. I searched a bit, and found this:</p>
<p><a href="http://www.macworld.com/article/53471/2006/10/sleepmode.html" onclick="javascript:urchinTracker ('/outbound/article/www.macworld.com');">http://www.macworld.com/article/53471/2006/10/sleepmode.html</a><br />
<a href="http://kimklai.blogspot.com/2007/11/hibernate-on-osx.html" onclick="javascript:urchinTracker ('/outbound/article/kimklai.blogspot.com');">http://kimklai.blogspot.com/2007/11/hibernate-on-osx.html</a><br />
<a href="http://www.radiotope.com/content/os-x-105-leopard-hibernate-options" onclick="javascript:urchinTracker ('/outbound/article/www.radiotope.com');">http://www.radiotope.com/content/os-x-105-leopard-hibernate-options</a><br />
<a href="http://installingcats.com/tag/safe-sleep/" onclick="javascript:urchinTracker ('/outbound/article/installingcats.com');">http://installingcats.com/tag/safe-sleep/</a></p>
<p>The quick answer is you can turn off safeSleep with:</p>
<blockquote><p>sudo pmset -a hibernatemode 0<br />
And then take rid of the sleep image<br />
sudo rm /var/vm/sleepimage</p></blockquote>
<p>But there is a better way and is a little dashboard widget that does the same thing, allows you to change and perform a deep sleep on demand (deep sleep means store the memory state to the hard disk and shut down the machine completely, so no battery is used at all). </p>
<p><a href="http://deepsleep.free.fr/" onclick="javascript:urchinTracker ('/outbound/article/deepsleep.free.fr');">http://deepsleep.free.fr/</a></p>
<p><strong>Disable space switching on command-tab:</strong></p>
<p>That annoys me, when I&#8217;m working on a space I don&#8217;t want to be switched to another when changing the application focus. This is straightforward:<br />
<a href="http://www.macosxhints.com/article.php?story=2008021122525348" onclick="javascript:urchinTracker ('/outbound/article/www.macosxhints.com');">http://www.macosxhints.com/article.php?story=2008021122525348</a> </p>
<blockquote><p>defaults write com.apple.Dock workspaces-auto-swoosh -bool NO<br />
killall Dock</p></blockquote>
<p>To reset settings:</p>
<blockquote><p>defaults delete com.apple.Dock workspaces-auto-swoosh</p></blockquote>
<p>About Software</strong></p>
<p>Good software for your mac:</p>
<ul>
<li>MacVim : beautiful graphical vim</li>
<li>macports: Why ports and not fink? basically if you want the good stuff from fink you will end up compiling, so&#8230; why do not start from the beginning ?</li>
<li>iSerialReader : &#8230; no comments &#8230;</li>
<li>TED and Transmision : great for watching TV shows&#8230; in English of course (this two are platform independent, not just for mac)</li>
<li>Adium: far better than iChat&#8230; and also works great with Bonjour.</li>
<li>vmware fusion: &#8230; not free software, but works great to run a windows when you need it, or a Linux</li>
<li>QuickSilver: No, this one is no longer needed, for me Spotlight is now better than quicksilver for just launching applications.</li>
</ul>
<p><strong>About the Terminal and screen</strong></p>
<p>I spend most of the time working with terminal and vim, so the first I&#8217;ve done is change the colors to a much better white over black background, but most of the colors work better with a white background by default, so now the problem is how to change that. I&#8217;ve added this to the &#8220;~/.bash_profile&#8221;:</p>
<blockquote>
<pre>
alias gvim="open -a macvim"
export SVN_EDITOR=`which vim`

alias ls="ls -G"
export LSCOLORS="gxfxcxdxbxgegdabaeacad"

if [ -f /opt/local/etc/bash_completion ]; then
	. /opt/local/etc/bash_completion
fi

if [ -f $HOME/.profile ]; then
	. $HOME/.profile
fi

alias screen='SCREEN_PWD=$(pwd) /usr/bin/screen'

case "$TERM" in
	xterm-color)
		PS1='\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \u\$ '
		;;
	screen )
		PS1="\[\033[01;33m\]${STY%%.*}-${WINDOW}\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \u\$ ";
		cd "$SCREEN_PWD";
		;;
	*)
		PS1='\h:\w \u\$ '
		;;
esac
</pre>
</blockquote>
<p>Here I&#8217;ve tweaked the color of the &#8220;ls&#8221; output to be more readable with black background, and also changed the prompt to have colors and give more info. There are some lines to make the screen command ( if you don&#8217;t know what screen is for, you&#8217;re missing a really good program here) work better, you will also need to add this to the  &#8220;~/.screenrc&#8221;</p>
<blockquote><p>startup_message off<br />
shell -/bin/bash</p></blockquote>
<p>When screen is launched the prompt will change, it will show in yellow something like &#8220;5867-0:/opt/local pplux$&#8221; the first number is the PID of the current screen instance, that could help you if you run more than one because writing &#8220;screen -ls&#8221; will show the list of instances identified by its PID. The number after the stroke is the window number inside screen.</p>
<p>And that&#8217;s all&#8230; <img src='http://www.pplux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.pplux.com/2008/11/24/the-return-to-the-dark-side/feed/</wfw:commentRss>
		</item>
		<item>
		<title>switching from Spanish to English</title>
		<link>http://www.pplux.com/2008/11/02/switching-from-spanish-to-english/</link>
		<comments>http://www.pplux.com/2008/11/02/switching-from-spanish-to-english/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 22:25:59 +0000</pubDate>
		<dc:creator>PpluX</dc:creator>
		
		<category><![CDATA[English]]></category>

		<guid isPermaLink="false">http://www.pplux.com/?p=178</guid>
		<description><![CDATA[The reasons because I didn&#8217;t write in English were perfectly explained by sole some time ago. I&#8217;m not trying to be &#8220;cool&#8221; by start writing in English, I&#8217;m just trying to be a little more &#8220;International&#8221; and hopefully most of the technical stuff I want to talk about will reach a bigger audience.
I&#8217;ve placed a [...]]]></description>
			<content:encoded><![CDATA[<p>The reasons because I didn&#8217;t write in English were perfectly explained by <a href="http://soledadpenades.com/" onclick="javascript:urchinTracker ('/outbound/article/soledadpenades.com');">sole</a> <a href="http://soledadpenades.com/2008/01/29/you-and-me-in-babel/" onclick="javascript:urchinTracker ('/outbound/article/soledadpenades.com');">some time ago</a>. I&#8217;m not trying to be &#8220;cool&#8221; by start writing in English, I&#8217;m just trying to be a little more &#8220;International&#8221; and hopefully most of the technical stuff I want to talk about will reach a bigger audience.</p>
<p>I&#8217;ve placed a new category <a href="http://www.pplux.com/category/english/" >English</a> (<a href="feed://www.pplux.com/category/english/feed/" >RSS</a>) for those that don&#8217;t care what I have to say in Spanish XD</p>
<p>And pleeeeeeeease, If you find any mistake in my grammar, vocabulary, etc. leave me a comment! I&#8217;m also trying to improve my English <img src='http://www.pplux.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.pplux.com/2008/11/02/switching-from-spanish-to-english/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vuelta al cole!</title>
		<link>http://www.pplux.com/2008/09/10/vuelta-al-cole/</link>
		<comments>http://www.pplux.com/2008/09/10/vuelta-al-cole/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 10:28:03 +0000</pubDate>
		<dc:creator>PpluX</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.pplux.com/?p=171</guid>
		<description><![CDATA[Hace mucho, mucho tiempo, en una galaxia muy lejana&#8230; había un acelerador de partículas&#8230; y digo yo ¿Si mañana se acaba el mundo para qué voy a trabajar hoy?
Cómo no se va a acabar, y eso lo afirmo ya (como informático-físico-teórico que soy) pues va a ser que empezamos la temporada &#8220;vuelta al cole&#8221;, con [...]]]></description>
			<content:encoded><![CDATA[<p>Hace mucho, mucho tiempo, en una galaxia muy lejana&#8230; había un acelerador de partículas&#8230; y digo yo ¿Si mañana se acaba el mundo para qué voy a trabajar hoy?</p>
<p>Cómo no se va a acabar, y eso lo afirmo ya (como informático-físico-teórico que soy) pues va a ser que empezamos la temporada &#8220;vuelta al cole&#8221;, con nuevos papers por escribir, una tesis que no se si acabaremos, y un mundo nuevo de incertidumbres entre las que se encuentra que se me acaba la beca. Si alguien quiere ofrecerme trabajo, bien sea como desarrollador de videojuegos, gráficos o algo interesante o bien cobrando una pasta indecente, puede escribirme que con gusto le respondo <img src='http://www.pplux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Hay muchas cosas nuevas que contar, papers interesantes que discutir, opengl&#8217;s casi-3.0 &#8230; pero se han acumulado tanto que mejor hacemos borrón y cuenta nueva. Por cierto, la gente se está animando a escribir en inglés, <a href="http://www.inwebwetrust.net/post/2008/08/17/writing-in-english" onclick="javascript:urchinTracker ('/outbound/article/www.inwebwetrust.net');">mr blat</a>, <a href="http://soledadpenades.com/" onclick="javascript:urchinTracker ('/outbound/article/soledadpenades.com');">sole</a>, <a href="http://mescriva.codemaniacs.com/blog/2008/03/28/deadlock-ii/" onclick="javascript:urchinTracker ('/outbound/article/mescriva.codemaniacs.com');">miguel</a>, otros a los que no conozco pero sigo, <a href="http://ricardocabello.com/blog/" onclick="javascript:urchinTracker ('/outbound/article/ricardocabello.com');">Ricardo Cabello</a>, <a href="http://rgba.scenesp.org/iq/index.htm" onclick="javascript:urchinTracker ('/outbound/article/rgba.scenesp.org');">Iñigo Quilez</a>, <a href="http://entland.homelinux.com/blog/" onclick="javascript:urchinTracker ('/outbound/article/entland.homelinux.com');">Jesus de Santos Garcia</a>, <a href="http://www.romancortes.com/blog/" onclick="javascript:urchinTracker ('/outbound/article/www.romancortes.com');">Román Cortés</a> (no en todos),<br />
<a href="http://vito.lucuslegion.com" onclick="javascript:urchinTracker ('/outbound/article/vito.lucuslegion.com');">Víctor M. Muriel</a>, <a href="http://www.rpenalva.com/blog/" onclick="javascript:urchinTracker ('/outbound/article/www.rpenalva.com');">Ruben Penalva</a>, &#8230; y otros que seguro me estoy dejando. ¿Será el momento de intentar escribir en inglés?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pplux.com/2008/09/10/vuelta-al-cole/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Real como la vida misma (II)</title>
		<link>http://www.pplux.com/2008/05/30/real-como-la-vida-misma-ii/</link>
		<comments>http://www.pplux.com/2008/05/30/real-como-la-vida-misma-ii/#comments</comments>
		<pubDate>Fri, 30 May 2008 09:59:39 +0000</pubDate>
		<dc:creator>PpluX</dc:creator>
		
		<category><![CDATA[PhD]]></category>

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

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

		<guid isPermaLink="false">http://www.pplux.com/?p=170</guid>
		<description><![CDATA[Ya he dicho más de una vez que los de PhD cómics me espían&#8230;.



y también&#8230; real como la vida misma I y extraordinariamente real.
]]></description>
			<content:encoded><![CDATA[<p>Ya he dicho más de una vez que los de <a href="http://www.phdcomics.com" onclick="javascript:urchinTracker ('/outbound/article/www.phdcomics.com');">PhD cómics</a> me espían&#8230;.</p>
<div class="alignCenter">
<a href="http://www.phdcomics.com/comics.php?f=1022" onclick="javascript:urchinTracker ('/outbound/article/www.phdcomics.com');"><img src="http://www.phdcomics.com/comics/archive/phd052808s.gif" alt="PHD" /></a>
</div>
<p>y también&#8230; <a href="http://www.pplux.com/2008/04/12/real-como-la-vida-misma/" >real como la vida misma I</a> y <a href="http://www.pplux.com/2008/04/12/extraordinariamente-real/" >extraordinariamente real</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pplux.com/2008/05/30/real-como-la-vida-misma-ii/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
