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

<channel>
	<title>Witer.com &#187; Programación</title>
	<atom:link href="http://www.witer.com/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.witer.com</link>
	<description>Curioseando...</description>
	<lastBuildDate>Sun, 16 Oct 2011 11:59:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>VirtualBox: Convertir un disco dinámico en fijo</title>
		<link>http://www.witer.com/2011/03/20/virtualbox-convertir-un-disco-dinamico-en-fijo/</link>
		<comments>http://www.witer.com/2011/03/20/virtualbox-convertir-un-disco-dinamico-en-fijo/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 19:13:12 +0000</pubDate>
		<dc:creator>Witer</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[convertir disco]]></category>
		<category><![CDATA[dinamico]]></category>
		<category><![CDATA[fijo]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://www.witer.com/?p=1923</guid>
		<description><![CDATA[En VirtualBox podemos crear discos duros de dos tipos: Dinámico y fijo. Los primeros tienen la ventaja principal de ocupar menos espacio en disco que los segundos. Es decir, en los primeros, el tamaño va aumentando en función de las necesidades y solo tienes que hacer la reserva inicial del espacio que se estima como [...]]]></description>
			<content:encoded><![CDATA[<p>En VirtualBox podemos crear discos duros de dos tipos: Dinámico y fijo. Los primeros tienen la ventaja principal de ocupar menos espacio en disco que los segundos. Es decir, en los primeros, el tamaño va aumentando en función de las necesidades y solo tienes que hacer la reserva inicial del espacio que se estima como máximo. Sin embargo, este tipo de discos dinámicos ofrece un peor rendimiento que los de tipo fijo.</p>
<p>Los discos de tipo fijo reservan desde un principio todo el espacio asignado pero ofrecen mayor rendimiento.</p>
<p>Con todo esto, a veces puede darse el caso de querer convertir un disco de tipo dinámico a otro de tipo fijo, para ello se puede usar este comando:</p>
<blockquote><p>VBoxManage.exe clonehd &lt;ruta_archivo_disco_dinamico.vdi&gt; &lt;ruta_archivo_disco_fijo.vdi&gt; &#8211;variant Fixed</p></blockquote>
<div id="_mcePaste">Por ejemplo, el comando que he ejecutado yo es:</div>
<blockquote>
<div>C:\Archivos de programa\Oracle\VirtualBox&gt;VBoxManage.exe clonehd &#8220;d:\maq virtual</div>
<div id="_mcePaste">es\windows xp2.vdi&#8221; &#8220;d:\maq virtuales\winfijo2.vdi&#8221; &#8211;variant Fixed</div>
</blockquote>
<div></div>
<div><strong>Atención: </strong>Según el tamaño del disco y de la máquina donde se esté ejecutando, este comando puede tardar varios minutos.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.witer.com/2011/03/20/virtualbox-convertir-un-disco-dinamico-en-fijo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Script PHP para subir vídeos a Youtube</title>
		<link>http://www.witer.com/2009/03/26/script-php-para-subir-videos-a-youtube/</link>
		<comments>http://www.witer.com/2009/03/26/script-php-para-subir-videos-a-youtube/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 07:00:53 +0000</pubDate>
		<dc:creator>Witer</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[youtube]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.witer.com/?p=1221</guid>
		<description><![CDATA[Hace tiempo estuve trasteando, como hacía años que no hacía, con las APIs (Application Programming Interface) y haciendo alguna chorrada de las mías, mas que nada por echar ratos. Con un par de ratos, con un estilo nulo de programación y con una solución chapuza, he realizado un script que sube un vídeo de una [...]]]></description>
			<content:encoded><![CDATA[<p>Hace tiempo estuve trasteando, como hacía años que no hacía, con las APIs (Application Programming Interface) y haciendo alguna chorrada de las mías, mas que nada por echar ratos.</p>
<p>Con un par de ratos, con un estilo nulo de programación y con una solución chapuza, he realizado un script que sube un vídeo de una carpeta a tu cuenta de Youtube, bastaría con abrir la web para subir el vídeo, a partir de ahí las aplicaciones son infinitas.</p>
<p>Para que esto funcione, es necesario instalar las librerías de Zend_Gdata que puede descargarse <a title="Zend_Gdata" href="http://framework.zend.com/download/gdata" target="_blank">aquí</a> y seguir los pasos oportunos que pone <a title="Developer's Guide: Data API Protocol" href="http://code.google.com/apis/youtube/2.0/developers_guide_php.html" target="_blank">aquí</a>.</p>
<p>El script adjunto no tiene mucha descripción, creo que está bastante claro, bastaría con llamar a la página y pasarle como variable por el método GET el vídeo que se quiere subir.<br />
<code><br />
$dir = "../../../../library/Zend/Gdata/App/";<br />
$file=$_GET["file"];<br />
$file=$dir.$file;<br />
$titulo="Upload: ....."." ";<br />
$desc="Upload: ....."." ";<br />
$tags="test1,test2";<br />
require_once '../../../../library/Zend/Loader.php';<br />
Zend_Loader::loadClass('Zend_Gdata_YouTube');<br />
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');<br />
$developerKey = 'KEY_DE_LA_API';<br />
$applicationId = 'tu_application_id';<br />
$clientId = 'user_id';<br />
$authenticationURL= 'https://www.google.com/youtube/accounts/ClientLogin';<br />
$httpClient =<br />
Zend_Gdata_ClientLogin::getHttpClient(<br />
$username = 'user_id',<br />
$password = 'password',<br />
$service = 'youtube',<br />
$client = null,<br />
$source = 'MySource',<br />
$loginToken = null,<br />
$loginCaptcha = null,<br />
$authenticationURL);<br />
$yt = new Zend_Gdata_YouTube($httpClient, $applicationId, $clientId, $developerKey);<br />
$myVideoEntry = new Zend_Gdata_YouTube_VideoEntry();<br />
$filesource = $yt-&gt;newMediaFileSource($file);<br />
$filesource-&gt;setContentType('video/quicktime');<br />
$filesource-&gt;setSlug($file);<br />
$myVideoEntry-&gt;setMediaSource($filesource);<br />
$myVideoEntry-&gt;setVideoTitle($titulo);<br />
$myVideoEntry-&gt;setVideoDescription($desc);<br />
$myVideoEntry-&gt;setVideoCategory('Autos');<br />
$myVideoEntry-&gt;SetVideoTags($tags);<br />
$myVideoEntry-&gt;setVideoDeveloperTags(array('mydevtag', 'anotherdevtag'));<br />
$yt-&gt;registerPackage('Zend_Gdata_Geo');<br />
$yt-&gt;registerPackage('Zend_Gdata_Geo_Extension');<br />
$uploadUrl = 'http://uploads.gdata.youtube.com/feeds/users/default/uploads';<br />
try {<br />
$newEntry = $yt-&gt;insertEntry($myVideoEntry, $uploadUrl, 'Zend_Gdata_YouTube_VideoEntry');<br />
} catch (Zend_Gdata_App_HttpException $httpException) {<br />
echo $httpException-&gt;getRawResponseBody();<br />
} catch (Zend_Gdata_App_Exception $e) {<br />
echo $e-&gt;getMessage();<br />
}<br />
</code></p>
<p>A modo de resumen:</p>
<p>- $dir es la varible del directorio donde está el vídeo a subir</p>
<p>- La variable se obtiene mediante método GET y nombre de la varibale &#8220;file&#8221;.</p>
<p>- $titulo, $desc y $tags son las variables de título, descripción y tags que pondrá al vídeo que se sube.</p>
<p>- El requiere_once incluye las librerias necesarias</p>
<p>- Se deben rellenar los valores de API_KEY, nombre y usuario de la cuenta asociada en Youtube.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.witer.com/2009/03/26/script-php-para-subir-videos-a-youtube/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

