<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Orlando Aleman</title>
	
	<link>http://orlandoaleman.com</link>
	<description>Mi espacio en la web</description>
	<lastBuildDate>Thu, 10 Jun 2010 17:25:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/OrlandoAleman" /><feedburner:info uri="orlandoaleman" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>28.2</geo:lat><geo:long>15.30</geo:long><item>
		<title>Desarrollar aplicaciones para Mac OS X (Mac, iPhoneOS)</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/sYqeJUzbqjo/</link>
		<comments>http://orlandoaleman.com/2010/06/08/desarrollar-aplicaciones-para-mac-os-x-mac-iphoneos/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 13:40:32 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphone os]]></category>
		<category><![CDATA[ipod touch]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/?p=385</guid>
		<description><![CDATA[Me he propuesto llevar a la práctica algunas ideas de aplicaciones para iPhone, razón por la cual he comenzado a buscar tutoriales o guías sobre Objective-C y Cocoa. utilizaré este artículo para enlazar y comentar los que vaya encontrando. En primer lugar echaré una ojeada a Objetive-C, el lenguaje que usa oficialmente Apple para las [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://orlandoaleman.com/wp-content/uploads/2010/06/screen-capture-2.png" alt="" title="screen-capture-2" width="727" height="73" class="aligncenter size-full wp-image-391" /></p>
<p>Me he propuesto llevar a la práctica algunas ideas de aplicaciones para iPhone, razón por la cual he comenzado a buscar tutoriales o guías sobre Objective-C y Cocoa. utilizaré este artículo para enlazar y comentar los que vaya encontrando.</p>
<p>En primer lugar echaré una ojeada a <strong>Objetive-C</strong>, el lenguaje que usa oficialmente Apple para las interfaces de escritorio. Objective-C es un <strong>superconjunto estricto de C</strong> que añade un modelo de objetos parecido al de Smalltalk. Por tanto, si se tiene una <strong>buena base de C</strong> y de <strong>programación orientada a objetos</strong> no debería ser difícil de comprender.</p>
<p>El primer artículo que enlazo, &#8220;<a href="http://cocoadevcentral.com/d/learn_objectivec/" target="_blank">Learn Objective C [Cocoa Dev Central]</a>&#8220;, dará una sencilla y rápida visión del nuevo lenguaje desde la perspectiva de un programador en C. Si además se dispone de conocimientos de C++ la guía &#8220;<a href="http://chachatelier.fr/programmation/fichiers/cpp-objc-en.pdf" target="_blank">From C++ to Objective-C</a>&#8221; (PDF) explica muy bien las diferencias y equivalencias entre ambos lenguajes.</p>
<p>De hecho, en general, <strong><a href="http://cocoadevcentral.com" target="_blank">CocoaDevCentral</a></strong> es una excelente referencia para todo lo relacionado con el desarrollo de aplicaciones en Mac OS.</p>
<p>Por otro lado, la <strong>Universidad de Stanford</strong> publicó hace algún tiempo el material de su <a href="http://www.stanford.edu/class/cs193p/cgi-bin/drupal/" target="_blank">curso de desarrollo de aplicaciones para iPhone</a>, incluyendo los vídeos de todas las ponencias. Los vídeos se encuentran disponibles para su visionado y descarga en <a href="http://www.youtube.com/watch?v=xQzLHgls63E&amp;feature=channel" target="_blank">Youtube</a> e <a href="http://deimos3.apple.com/WebObjects/Core.woa/Feed/itunes.stanford.edu.3124430053.03124430055 " target="_blank">iTunes U</a>, con la ventaja en el caso de la segunda de disponer de subtítulos (en Youtube es posible activar la transcripción de audio, pero no siempre los subtítulos generados concuerdan con el discurso).</p>

<p><a href="http://feedads.g.doubleclick.net/~a/DP3hevTMLDAAILbx1ekxLnrtO6E/0/da"><img src="http://feedads.g.doubleclick.net/~a/DP3hevTMLDAAILbx1ekxLnrtO6E/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/DP3hevTMLDAAILbx1ekxLnrtO6E/1/da"><img src="http://feedads.g.doubleclick.net/~a/DP3hevTMLDAAILbx1ekxLnrtO6E/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/sYqeJUzbqjo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2010/06/08/desarrollar-aplicaciones-para-mac-os-x-mac-iphoneos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2010/06/08/desarrollar-aplicaciones-para-mac-os-x-mac-iphoneos/</feedburner:origLink></item>
		<item>
		<title>Ocultar un objeto QMenu en Qt</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/7RucNhofeFM/</link>
		<comments>http://orlandoaleman.com/2010/05/12/ocultar-un-objeto-qmenu-en-qt/#comments</comments>
		<pubDate>Wed, 12 May 2010 17:39:28 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[programación]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/?p=363</guid>
		<description><![CDATA[Un instancia QMenu contiene siempre un objeto QAction, aunque no lo hayas creado tú. Por esta razón si queremos ocultar un QMenu vacío no nos sirve llamar al método setHidden(true) (o a setVisible(false)) como normalmente harías. QMenu *editMenu = new QMenu&#40;&#41;; .... editMenu-&#62;clear&#40;&#41;; editMenu-&#62;menuAction&#40;&#41;-&#62;setVisible&#40;false&#41;; Una solución menos elegante, y no sé si arriesgada, es destruir [...]]]></description>
			<content:encoded><![CDATA[<p>Un instancia QMenu contiene siempre un objeto QAction, aunque no lo hayas creado tú. Por esta razón si queremos ocultar un QMenu vacío no nos sirve llamar al método <code>setHidden(true</code>) (o a <code>setVisible(false</code>)) como normalmente harías.</p>
<p></p><p></p><div class='code' style='border: 1px dotted; overflow: auto; white-space:nowrap;'><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">QMenu *editMenu = new QMenu<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">....</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #202020;">editMenu</span>-&gt;clear<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">editMenu-&gt;menuAction<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>-&gt;setVisible<span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>; </div></li></ol></div><p></p>
<p>Una solución menos elegante, y no sé si arriesgada, es destruir la instancia QAction <em>dummy</em> llamando a <code>editMenu->removeAction(editMenu->menuAction());</code></p>

<p><a href="http://feedads.g.doubleclick.net/~a/jrcHpe_IKpt_uPlEpBY-aGhll6k/0/da"><img src="http://feedads.g.doubleclick.net/~a/jrcHpe_IKpt_uPlEpBY-aGhll6k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jrcHpe_IKpt_uPlEpBY-aGhll6k/1/da"><img src="http://feedads.g.doubleclick.net/~a/jrcHpe_IKpt_uPlEpBY-aGhll6k/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/7RucNhofeFM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2010/05/12/ocultar-un-objeto-qmenu-en-qt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2010/05/12/ocultar-un-objeto-qmenu-en-qt/</feedburner:origLink></item>
		<item>
		<title>Patrón Singleton</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/HFk17JizMFg/</link>
		<comments>http://orlandoaleman.com/2010/03/30/patron-singleton/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 18:24:29 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[patrón de diseño]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[singleton]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/?p=190</guid>
		<description><![CDATA[Esqueleto de una clase en C++ que implementa el patrón Singleton; ésto es, una clase de la que sólo puede existir una instancia. Puede ser útil si se quiere que haya exactamente un objeto de la clase. //------------ APPLICATION.H &#160; #ifndef APPLICATION_H #define APPLICATION_H &#160; class Application &#123; public: &#160; &#160; Application&#40;&#41;; &#160; &#160; static [...]]]></description>
			<content:encoded><![CDATA[<p>Esqueleto de una clase en C++ que implementa el patrón <em>Singleton</em>; ésto es, una clase de la que sólo puede existir una instancia. Puede ser útil si se quiere que haya exactamente un objeto de la clase.</p>
<p></p><p></p><div class='code' style='border: 1px dotted; overflow: auto; white-space:nowrap;'><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">//------------ APPLICATION.H</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #339933;">#ifndef APPLICATION_H</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #339933;">#define APPLICATION_H</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">class Application</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">public:</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; Application<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #993333;">static</span> Application *getInstance<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">private:</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #993333;">static</span> Application *_application;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #339933;">#endif // APPLICATION_H</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">//------------ APPLICATION.CPP</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #339933;">#include &quot;application.h&quot;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// Inicializacion de los atributos estaticos</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Application *Application::_application = <span style="color: #cc66cc;">0</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Application::<span style="color: #202020;">Application</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>_application == this<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; _application = <span style="color: #cc66cc;">0</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">Application *Application::<span style="color: #202020;">getInstance</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>!_application<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; _application = new Application<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #b1b100;">return</span> _application;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span> </div></li></ol></div><p></p>

<p><a href="http://feedads.g.doubleclick.net/~a/ZLPtRooVMIap9EC1KLKjfuv90Z0/0/da"><img src="http://feedads.g.doubleclick.net/~a/ZLPtRooVMIap9EC1KLKjfuv90Z0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ZLPtRooVMIap9EC1KLKjfuv90Z0/1/da"><img src="http://feedads.g.doubleclick.net/~a/ZLPtRooVMIap9EC1KLKjfuv90Z0/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/HFk17JizMFg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2010/03/30/patron-singleton/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2010/03/30/patron-singleton/</feedburner:origLink></item>
		<item>
		<title>Anotaciones semánticas</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/CEx1_-khCXY/</link>
		<comments>http://orlandoaleman.com/2010/03/05/anotaciones-semanticas-2/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 17:19:06 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[material]]></category>
		<category><![CDATA[presentación]]></category>
		<category><![CDATA[web 3.0]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/?p=173</guid>
		<description><![CDATA[Hoy he decidido resubir el material que había publicado en mi anterior página web, ya desaparecida. Como ejemplo, esta presentación que hice junto a mi compañero Samuel y que utilizamos para hablar sobre la web 3.0.]]></description>
			<content:encoded><![CDATA[<p>Hoy he decidido resubir el material que había publicado en mi anterior página web, ya desaparecida. Como ejemplo, esta presentación que hice junto a mi compañero Samuel y que utilizamos para hablar sobre la web 3.0.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="533" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentacionanotaciones-1-100305105847-phpapp02&amp;rel=0&amp;stripped_title=anotaciones-semnticas-3345246" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="533" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentacionanotaciones-1-100305105847-phpapp02&amp;rel=0&amp;stripped_title=anotaciones-semnticas-3345246" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>

<p><a href="http://feedads.g.doubleclick.net/~a/RkVzeu11hB2j3ShV86i8rXI4cyc/0/da"><img src="http://feedads.g.doubleclick.net/~a/RkVzeu11hB2j3ShV86i8rXI4cyc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/RkVzeu11hB2j3ShV86i8rXI4cyc/1/da"><img src="http://feedads.g.doubleclick.net/~a/RkVzeu11hB2j3ShV86i8rXI4cyc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/CEx1_-khCXY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2010/03/05/anotaciones-semanticas-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2010/03/05/anotaciones-semanticas-2/</feedburner:origLink></item>
		<item>
		<title>Imprimir un Google Wave</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/Y70aw4-rB_4/</link>
		<comments>http://orlandoaleman.com/2010/01/29/imprimir-un-google-wave/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 20:35:34 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[trucos]]></category>
		<category><![CDATA[google wave]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/?p=129</guid>
		<description><![CDATA[Por motivo de un viaje que realizaremos en los próximos días decidí darle una oportunidad a un nuevo servicio de trabajo colaborativo llamado Google Wave. Todo iba más o menos bien hasta que surgió la necesidad de imprimir el planning que habíamos elaborado. Ni había una opción para imprimir (!) ni servía la opción Imprimir [...]]]></description>
			<content:encoded><![CDATA[<p>Por motivo de un viaje que realizaremos en los próximos días decidí darle una oportunidad a un nuevo servicio de trabajo colaborativo llamado <strong>Google Wave</strong>. Todo iba más o menos bien hasta que surgió la necesidad de imprimir el <em>planning</em> que habíamos elaborado.<strong> N</strong><strong>i había una opción para imprimir (!) ni servía la opción Imprimir del navegador (!)</strong>. Seguramente sea algo que añadan en breve, de hecho sospecho que lo harán de una forma bastante novedosa.</p>
<p>Así pues, después de intentar varias estrategias (capturando la pantalla, copiando y pegando el contenido a un procesador de textos, etc) encontré una forma, algo rebuscada de exportar el <em>wave</em> sin perder el formato ni los mapas ya incrustados. ¿Cómo? <strong>U</strong><strong>tilizando un</strong> <strong>bot</strong> (he aquí la novedad).</p>
<p>Vayamos al lío:</p>
<p><strong>Solución 1: Bot de exportación a PDF</strong></p>
<ol>
<li>Añade la siguiente dirección a tus contactos <code>pdf-wave@appspot.com</code></li>
<li>Incorpóralo como invitado al <em>wave</em> a exportar (por si las moscas puedes darle permiso de Sólo lectura)</li>
<li>Automáticamente el bot añadirá un comentario a tu <em>wave</em> que contendrá el enlace a un PDF temporal con el contenido de tu <em>wave</em></li>
</ol>
<p><strong>Solución 2: Bot que proporciona un objeto &#8220;embebido&#8221; para usar en tu página web</strong></p>
<ol>
<li>Añade la siguiente dirección a tus contactos <code>embeddy@appspot.com</code></li>
<li>Incorpóralo como invitado al <em>wave</em> (por si las moscas puedes darle permiso de Sólo lectura)</li>
<li>Automáticamente el bot añade a tu <em>wave</em> un cuadro con el código que tienes que añadir a la página web</li>
<li>Creamos un archivo <code>.html </code> con el código que obtuvimos en el paso 3</li>
<li>Visualizamos el archivo</li>
<li>(Opcional) Si nos sigue mostrando el <em>wave</em> dentro de un marco, podemos cargar el submarco en una nueva pestaña (investiga cómo hacerlo en tu navegador)</li>
<li>(Opcional) Imprime el Wave con tu navegador o saca una captura de la página web con un programa especializado (por ejemplo <a href="http://www.faststone.org/FSCaptureDetail.htm" target="_blank">FastStone Capture</a>)</li>
</ol>
<p><strong>Solución 3: Usar Waveboard</strong><br />
Si estás dispuesto a pagar por un cliente de Google Wave siempre te queda <a href="http://www.getwaveboard.com/" target="_blank">Waveboard</a>. Eso sí, de momento sólo está disponible para MacOSX.</p>
<p><span style="color: #ff0000;"><strong>NOTA IMPORTANTE</strong></span>: No me he molestado en comprobar la seguridad de estos métodos. Lo que haga el bot con el contenido de tu <em>wave</em> es para mí una caja negra. En cualquier caso, sólo podrá acceder a ese <em>wave</em>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Y6ghxGMnMZ0qYI0JSgarjFgfJc4/0/da"><img src="http://feedads.g.doubleclick.net/~a/Y6ghxGMnMZ0qYI0JSgarjFgfJc4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Y6ghxGMnMZ0qYI0JSgarjFgfJc4/1/da"><img src="http://feedads.g.doubleclick.net/~a/Y6ghxGMnMZ0qYI0JSgarjFgfJc4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/Y70aw4-rB_4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2010/01/29/imprimir-un-google-wave/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2010/01/29/imprimir-un-google-wave/</feedburner:origLink></item>
		<item>
		<title>Trabajando con archivos: Renombrado</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/Z9WMcNfPZHs/</link>
		<comments>http://orlandoaleman.com/2010/01/29/trabajando-con-archivos-renombrado/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 17:00:35 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[trucos]]></category>
		<category><![CDATA[archivos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/2010/01/29/trabajando-con-archivos-renombrado/</guid>
		<description><![CDATA[A veces resulta imposible juntar en un mismo directorio dos archivos distintos simplemente porque sus nombres coinciden. En otras ocasiones el nombre del archivo puede ser significativo, pudiendo ayudarnos a identificar su contenido u a aplicar cierto orden. Cuando son sólo dos los archivos lo lógico es renombrar uno de ellos sobre la marcha, pero [...]]]></description>
			<content:encoded><![CDATA[<p style="clear: both;">
<p style="clear: both;">A veces resulta imposible juntar en un mismo directorio dos archivos distintos simplemente porque sus nombres coinciden. En otras ocasiones el nombre del archivo puede ser significativo, pudiendo ayudarnos a identificar su contenido u a aplicar cierto orden.</p>
<p style="clear: both;">Cuando son sólo dos los archivos lo lógico es renombrar uno de ellos sobre la marcha, pero si la cantidad de cambios es algo mayor (&gt;6) posiblemente sea más rentable automatizar el proceso. La mayoría de sistemas operativos de escritorio incluyen, de una forma más o menos potente, algún mecanismo que nos permitirá hacerlo.</p>
<p style="clear: both;">En Windows, por ejemplo, seleccionando varios archivos y pulsando F2 (o haciendo clic derecho y seleccionando &#8220;Cambiar nombre&#8221;) podemos asignar el nombre base de una secuencia. El primer archivo tendrá el nombre base y los siguientes recibirán un número secuencial: &#8220;nombre (1)&#8221;, &#8220;nombre (2)&#8221;, etc.</p>
<p style="clear: both;">En los sistemas tipo Unix (*BSD, GNU/Linux, Mac) el <a href="http://es.wikipedia.org/wiki/Terminal_(informática)" target="_blank">terminal</a> puede ser una herramienta muy útil si se sabe manejar. La mayoría de estos sistemas trae multitud de comandos para trabajar con ficheros y que pueden combinarse en un script para este propósito. Si dispones de un Mac, Automator puede ser también un gran aliado.</p>
<p style="clear: both;">Sin embargo, ninguna de estas soluciones me convence, bien por exceso de complejidad, o bien por falta de ella. Por suerte -o desgracia- este problema es bastante común y existen bastantes herramientas gratuitas para trabajar con nuestros archivos, como por ejemplo:</p>
<ul style="clear: both;">
<li><a href="http://linux.die.net/man/1/rename" target="_blank">ReName</a> (Linux, terminal)<br />
<a href="http://web.mac.com/mickeyroberson/MRR_Software/NameChanger.html" target="_blank"></a></li>
<li><a style="text-decoration: none;" href="http://web.mac.com/mickeyroberson/MRR_Software/NameChanger.html" target="_blank">Name Changer</a> (OSX)</li>
<li><a href="http://www.manytricks.com/namemangler/" target="_blank">Name Mangler</a> (OSX)<br />
<a href="http://www.scarabee-software.net/en/siren.html" target="_blank"></a></li>
<li><a style="text-decoration: none;" href="http://www.scarabee-software.net/en/siren.html" target="_blank">Siren Renamer</a> (Windows)<br />
<a href="http://www.bulkrenameutility.co.uk" target="_blank"></a></li>
<li><a style="text-decoration: none;" href="http://www.bulkrenameutility.co.uk" target="_blank">Bulk Rename Utility</a> (Windows)</li>
</ul>
<p style="clear: both;">De todos éstas mi favorita es Siren: potente, ligera y es capaz de extraer los metadatos de los formatos de archivo más comunes. Name Mangler (anteriormente conocido como File list) es bastante popular en el mundillo Mac, aunque apenas soporta metadatos específicos.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/1MLe4Dp_wWE6e3Rs174_Nsv9ki8/0/da"><img src="http://feedads.g.doubleclick.net/~a/1MLe4Dp_wWE6e3Rs174_Nsv9ki8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/1MLe4Dp_wWE6e3Rs174_Nsv9ki8/1/da"><img src="http://feedads.g.doubleclick.net/~a/1MLe4Dp_wWE6e3Rs174_Nsv9ki8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/Z9WMcNfPZHs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2010/01/29/trabajando-con-archivos-renombrado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2010/01/29/trabajando-con-archivos-renombrado/</feedburner:origLink></item>
		<item>
		<title>Crear imagen ISO con Automator (OSX)</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/UYq8nNjZtIo/</link>
		<comments>http://orlandoaleman.com/2010/01/23/crear-imagen-iso-con-automator-osx/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 17:29:42 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[trucos]]></category>
		<category><![CDATA[automator]]></category>
		<category><![CDATA[finder]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/?p=88</guid>
		<description><![CDATA[Posiblemente exista más de una alternativa al método que os voy a contar, incluso mejoras a lo que haré. Como por ejemplo, usar el programa de grabación Toast. Pero para qué instalar un programa del que puedo prescindir? Además, por qué negarlo, cada día le tengo más cariño al robotito Automator. Procedimiento: Abre Automator (carpeta [...]]]></description>
			<content:encoded><![CDATA[<p>Posiblemente exista más de una alternativa al método que os voy a contar, incluso mejoras a lo que haré. Como por ejemplo, usar el programa de grabación <em>Toast</em>. Pero para qué instalar un programa del que puedo prescindir? Además, por qué negarlo, cada día le tengo más cariño al robotito <strong>Automator</strong>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/vj0iUWxY4P4&amp;hl=es_ES&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/vj0iUWxY4P4&amp;hl=es_ES&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<span id="more-88"></span><br />
<strong>Procedimiento:</strong></p>
<ol>
<li>Abre <strong>Automator</strong> (carpeta /Aplicaciones/) e invoca Archivo &gt; Nuevo</li>
<li>Selecciona el tipo &#8220;Servicio&#8221; como plantilla del flujo de trabajo</li>
<li>En la columna de la derecha, que especifica el flujo que se está diseñando, restringimos el Flujo a los archivos y carpetas de Finder.</li>
<li>(Opcional) En la columna más a la izquierda de la ventana que se acaba de abrir, selecciona &#8220;Archivos y carpetas&#8221;</li>
<li>Localiza en la segunda columna la acción &#8220;Obtener los ítems del Finder seleccionados&#8221;, selecciónala y a continuación arrástrala hacia la tercera columna (la del flujo de acciones, inicialmente en blanco)</li>
<li>Localiza ahora la acción &#8220;Nueva imagen de disco&#8221; y arrástrala a la tercera columna, justo debajo de la acción anterior. Esta acción creará una imagen &#8220;.dmg&#8221;, que para algunos puede ser más que suficiente.  En la nueva acción que acabamos de añadir al flujo, puedes seleccionar el nombre y localización del volumen. Es importante activar la opción  &#8220;Mostrar esta acción al ejecutar el flujo&#8221; para poder seleccionar específicamente el nombre del nuevo archivo</li>
<li>(Opcional) La orden anterior genera una imagen &#8220;.dmg&#8221;, pero yo necesito una imagen &#8220;.iso&#8221;. Por tanto, añado una nueva acción &#8220;Ejecutar el script Shell&#8221;, que ejecutará el siguiente código:<br />
</p><p></p><div class='code' style='border: 1px dotted; overflow: auto; white-space:nowrap;'><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;"># Comprueba que se reciba al recibe el fichero .dmg como argumento</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#91;</span> -z $<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#93;</span>; <span style="color: #b1b100;">then</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000066;">echo</span> <span style="color: #ff0000;">&quot;No se recibieron argumentos suficientes&quot;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000066;">exit</span> <span style="color: #cc66cc;">1</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">fi</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;"># Obtiene el nombre del primer fichero</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0000ff;">nombre=</span>$<span style="color: #66cc66;">&#123;</span><span style="color: #cc66cc;">1</span>%.*<span style="color: #66cc66;">&#125;</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">hdiutil makehybrid -iso -joliet -o <span style="color: #0000ff;">$nombre</span>.iso $<span style="color: #cc66cc;">1</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">#Se elimina el archivo .dmg</span></div></li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">rm -f $<span style="color: #cc66cc;">1</span> </div></li></ol></div><p>
       </li>
<li>Ahora guardamos el flujo con el nombre que queramos, en este caso como &#8220;Grabar imagen iso&#8230;&#8221;. Lo hacemos a través del menú Archivo &gt; Guardar</li>
<li>(Opcional) Puedes asignar un atajo de teclado al nuevo servicio yendo a Finder &gt; Servicios &gt; Preferencias de los servicio.</li>
<li>A partir de ahora podrás crear imagenes iso simplemente accediendo a Finder &gt; Servicios &gt; Grabar imagen iso&#8230; o bien, si realizaste el paso 9, usando un atajo de teclado.</li>
</ol>

<p><a href="http://feedads.g.doubleclick.net/~a/N02TYdl0gSaTrzv04TrIRMLgknQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/N02TYdl0gSaTrzv04TrIRMLgknQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/N02TYdl0gSaTrzv04TrIRMLgknQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/N02TYdl0gSaTrzv04TrIRMLgknQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/UYq8nNjZtIo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2010/01/23/crear-imagen-iso-con-automator-osx/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2010/01/23/crear-imagen-iso-con-automator-osx/</feedburner:origLink></item>
		<item>
		<title>Ocultar un volumen de disco montado en Finder</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/boU6a012lTI/</link>
		<comments>http://orlandoaleman.com/2010/01/21/ocultar-un-volumen-de-disco-montado-en-finder/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 01:20:49 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[trucos]]></category>
		<category><![CDATA[finder]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/?p=73</guid>
		<description><![CDATA[La siguiente orden permite ocultar una partición montada en Finder: $ sudo setfile -a V /Volumes/{label} Tras reiniciar el Finder (escribimos killall Finder en el Terminal) el icono desaparecerá del Escritorio. Más información y métodos alternativos aquí.]]></description>
			<content:encoded><![CDATA[<p>La siguiente orden permite ocultar una partición montada en <strong>Finder</strong>: </p>
<p><code>$ sudo setfile -a V /Volumes/{label}</code></p>
<p>Tras reiniciar el Finder (escribimos <code>killall Finder</code> en el Terminal) el icono desaparecerá del Escritorio.</p>
<p>Más información y métodos alternativos <a href="http://lab.redmallorca.com/ocultar-la-particion-de-bootcamp-en-mac-os-x/" target="_blank">aquí</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/KgX9AF6U0xGm1CezV7WJC2x91tA/0/da"><img src="http://feedads.g.doubleclick.net/~a/KgX9AF6U0xGm1CezV7WJC2x91tA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/KgX9AF6U0xGm1CezV7WJC2x91tA/1/da"><img src="http://feedads.g.doubleclick.net/~a/KgX9AF6U0xGm1CezV7WJC2x91tA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/boU6a012lTI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2010/01/21/ocultar-un-volumen-de-disco-montado-en-finder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2010/01/21/ocultar-un-volumen-de-disco-montado-en-finder/</feedburner:origLink></item>
		<item>
		<title>Forzar la expulsión de un volumen de disco en OSX</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/91qkkMFMKIk/</link>
		<comments>http://orlandoaleman.com/2010/01/19/forzar-la-expulsion-de-un-volumen-de-disco-en-osx/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 14:36:01 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[trucos]]></category>
		<category><![CDATA[finder]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/?p=37</guid>
		<description><![CDATA[No suele necesitarlo con mucha frecuencia, pero sí alguna que otra: desmontar una unidad [HISTORIA NADA INTERESANTE] Esta mañana, por ejemplo, tuve la &#8220;genial&#8221; idea de instalar un programa que tenía guardado en una imagen de disco en otro computador montando el archivo .iso directamente a través de la red local. Sin embargo, al poco [...]]]></description>
			<content:encoded><![CDATA[<p>No suele necesitarlo con mucha frecuencia, pero sí alguna que otra: desmontar una unidad</p>
<p>[HISTORIA NADA INTERESANTE]<br />
Esta mañana, por ejemplo, tuve la &#8220;genial&#8221; idea de instalar un programa que tenía guardado en una imagen de disco en otro computador montando el archivo .iso directamente a través de la red local. Sin embargo, al poco me di cuenta de que la instalación tardaría algo más que una eternidad, razón por la cual quise cancelarla, para hacerla en local (copiando al archivo a un disco duro externo que tengo). La cuestión es que el puñetero instalador no dejaba cancelar el proceso así como así, imposibilitando (no sin cierta lógica) desmontar el volumen de disco que había montado y, sin quererlo, también bloqueando el copiado del archivo .iso en la otra computadora (una PC con Windows)&#8230; ¡un desastre, vamos! Así que necesité hacer lo siguiente, para desbloquear el archivo:<br />
[/HISTORIA NADA INTERESANTE]</p>
<p><code>$ hdiutil eject -force /Volumes/{etiqueta-del-volumen}/</code></p>
<p>De donde <code>{etiqueta-del-volumen}</code> la obtuve con la aplicación <strong>Utilidad de discos</strong> que trae Snow Leopard.</p>
<p>Más información y referencias <a href="http://www.estonova.com/?p=190" target="_blank">aquí</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/IR9LcqrMZELfrhRQtsiDXqt9dVc/0/da"><img src="http://feedads.g.doubleclick.net/~a/IR9LcqrMZELfrhRQtsiDXqt9dVc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/IR9LcqrMZELfrhRQtsiDXqt9dVc/1/da"><img src="http://feedads.g.doubleclick.net/~a/IR9LcqrMZELfrhRQtsiDXqt9dVc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/91qkkMFMKIk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2010/01/19/forzar-la-expulsion-de-un-volumen-de-disco-en-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2010/01/19/forzar-la-expulsion-de-un-volumen-de-disco-en-osx/</feedburner:origLink></item>
		<item>
		<title>Mover archivos con Automator (OSX)</title>
		<link>http://feedproxy.google.com/~r/OrlandoAleman/~3/CjwuwT4NoKg/</link>
		<comments>http://orlandoaleman.com/2009/12/24/mover-archivos-con-automator-osx/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 16:30:37 +0000</pubDate>
		<dc:creator>Orlando</dc:creator>
				<category><![CDATA[trucos]]></category>
		<category><![CDATA[automator]]></category>
		<category><![CDATA[finder]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://orlandoaleman.com/?p=15</guid>
		<description><![CDATA[En más de una ocasión he echado de menos la orden &#8220;Cortar&#8221; (típica de Windows) en Finder. No muchas tampoco. La manera “oficial” de hacerlo es arrastrando y soltando los archivos de una carpeta a otra. Por esta razón se me ha ocurrido crear un pequeño &#8220;script&#8221; de Automator para facilitar el traslado cuando no [...]]]></description>
			<content:encoded><![CDATA[<p>En más de una ocasión he echado de menos la orden &#8220;Cortar&#8221; (típica de Windows) en Finder. No muchas tampoco. La manera “oficial” de hacerlo es arrastrando y soltando los archivos de una carpeta a otra. Por esta razón se me ha ocurrido crear un pequeño &#8220;script&#8221; de Automator para facilitar el traslado cuando no me apetece andar arrastrando los archivos.</p>
<p><strong>Procedimiento:</strong></p>
<ol>
<li>Abre <strong>Automator</strong> (carpeta /Aplicaciones/) e invoca Archivo &gt; Nuevo</li>
<li>Selecciona el tipo &#8220;Servicio&#8221; como plantilla del flujo de trabajo</li>
<li>En la columna de la derecha, que especifica el flujo que se está diseñando, asignamos el Servicio a los archivos y carpetas de Finder.</li>
<li>(Opcional) En la columna más a la izquierda de la ventana que se acaba de abrir, selecciona &#8220;Archivos y carpetas&#8221;</li>
<li>Localiza en la segunda columna la acción &#8220;Obtener los ítems del Finder seleccionados&#8221;, selecciónala y a continuación arrástrala hacia la tercera columna (la del flujo de acciones, inicialmente en blanco)</li>
<li>Localiza ahora la acción &#8220;Trasladar ítems del Finder&#8221; y arrástrala a la tercera columna, justo debajo de la acción anterior. En la nueva acción que acabamos de añadir al flujo, puedes seleccionar la ruta predefinida donde se copiarán los archivos.</li>
<li>(Opcional) En la acción anterior, seleccionado Opciones, activarás &#8220;Mostrar esta acción al ejecutar el flujo&#8221; para poder seleccionar específicamente el destino cada vez que ejecutes el flujo.</li>
<li>Ahora guardamos el flujo como &#8220;Mover a&#8230;&#8221; a través del menú Archivo &gt; Guardar</li>
<li>(Opcional) Puedes asignar un atajo de teclado (p.e. Cmd+Shift+X) al nuevo servicio yendo a Finder &gt; Servicios &gt; Preferencias de los servicio.</li>
<li>A partir de ahora podrás ejecutar el traslado de archivos a través de Finder &gt; Servicios &gt; Mover a&#8230; o bien, si realizaste el paso 9, usando un atajo de teclado.</li>
</ol>
<p><span id="more-15"></span></p>
<p><strong>Explicado con capturas de pantalla:</strong></p>
<div id="attachment_25" class="wp-caption aligncenter" style="width: 359px"><a href="http://orlandoaleman.com/wp-content/uploads/2009/12/screenshot_03.jpg"><img class="size-full wp-image-25 " title="automator_2" src="http://orlandoaleman.com/wp-content/uploads/2009/12/screenshot_03.jpg" alt="" width="349" height="302" /></a><p class="wp-caption-text">Automator - Selección del flujo de trabajo</p></div>
<p>&nbsp;</p>
<div id="attachment_24" class="wp-caption aligncenter" style="width: 642px"><a href="http://orlandoaleman.com/wp-content/uploads/2009/12/screenshot_01.jpg"><img class="size-full wp-image-24 " title="Automator - Mover a" src="http://orlandoaleman.com/wp-content/uploads/2009/12/screenshot_01.jpg" alt="" width="632" height="428" /></a><p class="wp-caption-text">Flujo de trabajo para &quot;Mover a...&quot;</p></div>
<p>&nbsp;</p>
<div id="attachment_26" class="wp-caption aligncenter" style="width: 411px"><a href="http://orlandoaleman.com/wp-content/uploads/2009/12/screenshot_04.jpg"><img class="size-full wp-image-26 " title="automator_3" src="http://orlandoaleman.com/wp-content/uploads/2009/12/screenshot_04.jpg" alt="" width="401" height="358" /></a><p class="wp-caption-text">Asignación de un atajo de teclado</p></div>

<p><a href="http://feedads.g.doubleclick.net/~a/YG0bjm6XxBUoz9sFOe17j1r9TlU/0/da"><img src="http://feedads.g.doubleclick.net/~a/YG0bjm6XxBUoz9sFOe17j1r9TlU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/YG0bjm6XxBUoz9sFOe17j1r9TlU/1/da"><img src="http://feedads.g.doubleclick.net/~a/YG0bjm6XxBUoz9sFOe17j1r9TlU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/OrlandoAleman/~4/CjwuwT4NoKg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://orlandoaleman.com/2009/12/24/mover-archivos-con-automator-osx/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://orlandoaleman.com/2009/12/24/mover-archivos-con-automator-osx/</feedburner:origLink></item>
	</channel>
</rss>
