<?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>KuveLog &#187; Desarrollo</title>
	<atom:link href="http://kuv3.com/category/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://kuv3.com</link>
	<description>con K de Kuve</description>
	<lastBuildDate>Sat, 08 Oct 2011 15:36:39 +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>Cómo instalar el emulador de Android en Windows</title>
		<link>http://kuv3.com/2011/10/08/como-instalar-el-emulador-de-android-en-windows/</link>
		<comments>http://kuv3.com/2011/10/08/como-instalar-el-emulador-de-android-en-windows/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 15:34:03 +0000</pubDate>
		<dc:creator>kuve</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Informatica]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://kuv3.com/?p=636</guid>
		<description><![CDATA[Antes de ponerse a programar en Android una de las cosas imprescindibles es instalar el emulador para poder probar las aplicaciones que desarrollemos. 1. Descargar e instalar Para descargar el emulador iremos a la página oficial de android (http://developer.android.com/sdk/index.html) y descargaremos el SDK para Windows, elegiremos la versión &#8220;installer&#8221; (si la recomiendan hay que hacerles [...]]]></description>
			<content:encoded><![CDATA[<p>Antes de ponerse a programar en Android una de las cosas imprescindibles es instalar el emulador para poder probar las aplicaciones que desarrollemos.</p>
<h1>1. Descargar e instalar</h1>
<p>Para descargar el emulador iremos a la página oficial de android (<a href="http://developer.android.com/sdk/index.html" title="Android SDK Download">http://developer.android.com/sdk/index.html</a>) y descargaremos el SDK para Windows, elegiremos la versión &#8220;installer&#8221; (si la recomiendan hay que hacerles caso).</p>
<p>Una vez descargado el SDK, lo instalaremos como cualquier otro programa, siguiente, siguiente, siguiente&#8230;</p>
<h2>2. Crear nuestro primer dispositivo virtual</h2>
<p>Ahora que ya tenemos instalada la aplicación, la abriremos, como es la primera vez que la ejecutamos nos preguntará si queremos instalar nuevos componentes, aceptaremos y nos iremos a por un café porque le cuesta un rato.</p>
<p>Cuando ya esté la aplicación instalada veremos un menú como el siguiente:<br />
<a href="http://kuv3.com/wp-content/uploads/2011/10/android1.png"><img src="http://kuv3.com/wp-content/uploads/2011/10/android1-300x233.png" alt="" title="android1" width="300" height="233" class="aligncenter size-medium wp-image-622" /></a><br />
Para crear un nuevo dispositivo sobre el que probar nuestras aplicaciones haremos click en <strong>New</strong> y se nos abrirá la siguiente ventana:<br />
<a href="http://kuv3.com/wp-content/uploads/2011/10/android2.png"><img src="http://kuv3.com/wp-content/uploads/2011/10/android2-187x300.png" alt="" title="android2" width="187" height="300" class="aligncenter size-medium wp-image-623" /></a><br />
En esta ventana rellenaremos la información del terminal.</p>
<ul>
<li>Name: Es el nombre de nuestro dispositivo</li>
<li>Target: Es la versión de Android que queremos emular</li>
<li>SD Card &#8211; Size: Es el tamaño de la tarjeta de memoria</li>
<li>Hardware &#8211; New: Podemos añadir nuevas características (acelerómetro, etc.)</li>
</ul>
<p>Finalmente haremos click en <strong>Create AVD</strong> para crear nuestro terminal. Si todo ha ido correctamente nos aparecerá, la ventana anterior con el terminal que acabamos de crear, tal y como podemos ver en la siguiente imágen:<br />
<a href="http://kuv3.com/wp-content/uploads/2011/10/android3.png"><img src="http://kuv3.com/wp-content/uploads/2011/10/android3-300x233.png" alt="" title="android3" width="300" height="233" class="aligncenter size-medium wp-image-624" /></a><br />
Ahora, para que se ejecute sólo tendremos que seleccionar el terminal y hacer click en <strong>Start</strong> y posteriormente en <strong>Launch</strong> en la ventana que se nos mostrará. Si todo ha ido bien se cargarán varias consolas de windows y finalmente podremos ver una ventana con un teclado a la derecha y a la izquierda la pantalla del terminal, con la pantalla de inicio de Android.<br />
<a href="http://kuv3.com/wp-content/uploads/2011/10/android41.png"><img src="http://kuv3.com/wp-content/uploads/2011/10/android41-300x281.png" alt="" title="android4" width="300" height="281" class="aligncenter size-medium wp-image-646" /></a></p>
<h1>Solución de problemas</h1>
<h2>Problema PANIC: Could not open&#8230;</h2>
<p>Uno de los problemas que nos podemos encontrar es el de &#8220;PANIC: Could not open &#8230;/avd/prueba.ini&#8221;<br />
<a href="http://kuv3.com/wp-content/uploads/2011/10/android5.png"><img src="http://kuv3.com/wp-content/uploads/2011/10/android5-300x200.png" alt="" title="android5" width="300" height="200" class="aligncenter size-medium wp-image-632" /></a><br />
Esto sucede porque el emulador es incapaz de encontrar el archivo .ini en nuestra carpeta de usuarios. Una de las soluciones es la de copiar y pegar el contenido de la carpeta avd de nuestro directorio .android a la dirección en la que dice que no lo encuentra. Pero esto nos obligará a tener por duplicado los datos de cada uno de los dispositivos. Por lo tanto os recomiendo que hagáis lo siguiente para corregir el error y no duplicar información:</p>
<ol>
<li>Abrir una terminal en modo administrador: Inicio &#8211; Ejecutar &#8211; CMD &#8211; 2º botón &#8211; Ejecutar como administrador</li>
<li>Escribir lo siguiente: En mi caso <strong>instalé el Android SDK en D:\</strong></li>
<pre name="code" class="c">
mklink /D %HOMEPATH%\.android D:\.android
</pre>
<p>De esta manera hemos creado un vínculo virtual, algo así como un acceso directo a la carpeta .android. Así ya no tendremos que duplicar la información de nuestros dispositivos virtuales y no nos volverá a mostrar el error.
</ol>
<p><strong>Estoy escuchando:</strong> <a href="http://grooveshark.com/s/Everyday+Everynight/3KTn9e?src=5" target="_blank" title="Russian red - Everyday Everynight">Russian Red &#8211; Everyday Everynight</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kuv3.com/2011/10/08/como-instalar-el-emulador-de-android-en-windows/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Leer un archivo Excel desde PHP</title>
		<link>http://kuv3.com/2011/09/14/leer-un-archivo-excel-desde-php/</link>
		<comments>http://kuv3.com/2011/09/14/leer-un-archivo-excel-desde-php/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 18:39:12 +0000</pubDate>
		<dc:creator>kuve</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[spreadsheet]]></category>

		<guid isPermaLink="false">http://kuv3.com/?p=572</guid>
		<description><![CDATA[Últimamente me ha tocado exportar e importar archivos Excel usando PHP. En este post explicaré cómo lo hice usando XAMPP y los pasos que seguí. 1. Instalando las librerías necesarias Para poder leer un archivo Excel vamos a necesitar dos librerías: Spreadsheet_Excel_Writer Spreadsheet_Excel_Reader La librería Spreadsheet_Excel_Writer es una extensión de PHP que tendremos que instalar [...]]]></description>
			<content:encoded><![CDATA[<p>Últimamente me ha tocado exportar e <strong>importar archivos Excel usando PHP</strong>. En este post explicaré cómo lo hice usando XAMPP y los pasos que seguí.</p>
<h2>1. Instalando las librerías necesarias</h2>
<p>Para poder leer un archivo Excel vamos a necesitar dos librerías:</p>
<ul>
<li><a href="http://pear.php.net/package/Spreadsheet_Excel_Writer/redirected" title="Spreadsheet_Excel_Writer" target="_blank">Spreadsheet_Excel_Writer</a></li>
<li><a href="http://sourceforge.net/projects/phpexcelreader/" title="Spreadsheet_Excel_Reader" target="_blank">Spreadsheet_Excel_Reader</a></li>
</ul>
<p>La librería <strong>Spreadsheet_Excel_Writer</strong> es una extensión de PHP que tendremos que instalar usando PEAR. Abriremos una consola y escribiremos:</p>
<pre name="code" class="c-sharp">
   pear install Spreadsheet_Excel_Writer
</pre>
<p>Para instalar la librería <strong>Spreadsheet_Excel_Reader</strong> iremos a su <a href="http://sourceforge.net/projects/phpexcelreader/" title="Spreadsheet_Excel_Reader" target="_blank">página principal</a>, descargaremos el paquete y lo descomprimiremos.</p>
<p>Dentro del archivo veremos una carpeta llamada Excel y dentro de ella dos archivos: <strong>oleread.inc</strong> y <strong>reader.php</strong>. Copiaremos el archivo reader.php y lo pegaremos en la carpeta <strong>&#8220;directorio_de_php/pear/Spreadsheet/Excel/&#8221;</strong>. Luego copiaremos el archivo oleread.inc y lo pegaremos en la carpeta <strong>&#8220;directorio_de_php/pear/Spreadsheet/Excel/Reader&#8221;</strong>. Una vez hecho esto, <strong>cambiaremos el nombre del archivo oleread.inc a oleread.php</strong>.</p>
<h2>2. Cargando el archivo Excel en nuestro PHP</h2>
<pre name="code" class="php">
	//Cargamos la librería
	require_once 'Spreadsheet/Excel/reader.php';

	//Creamos el objeto y cargamos el fichero Excel
	$data = new Spreadsheet_Excel_Reader();
	$data->read(ruta_del_archivo_excel);
</pre>
<h2>3. Códigos de ejemplo</h2>
<p>A continuación os muestro algunos ejemplos de las funciones más sencillas que podemos usar para obtener datos del archivo Excel.</p>
<pre name="code" class="php">
//Obtenemos un libro del Excel
$sheet = $data->sheets[numero_de_libro];

//Obtenemos las celdas
$cells = $data->sheets[0]['cells'];

//Obtenemos una fila determinada
$row = $data->sheets[0]['cells'][numero_de_fila];

//Obtenemos una celda concreta
$data->sheets[0]['cells'][fila][columna];

//Obtenemos el número de filas y columnas del Excel
$nrows = $data->sheets[0]['numRows'];
$ncols = $data->sheets[0]['numCols'];
</pre>
<h2>4. Conclusión</h2>
<p>Personalmente, si quieres tratar los datos de un Excel frente a una base de datos, mi recomendación es que importes los datos del Excel a una tabla intermedia en una BD y posteriormente aproveches la potencia de SQL para hacer operaciones con esos datos.</p>
]]></content:encoded>
			<wfw:commentRss>http://kuv3.com/2011/09/14/leer-un-archivo-excel-desde-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Python se abre camino</title>
		<link>http://kuv3.com/2008/09/03/python-se-abre-camino/</link>
		<comments>http://kuv3.com/2008/09/03/python-se-abre-camino/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 17:32:31 +0000</pubDate>
		<dc:creator>kuve</dc:creator>
				<category><![CDATA[Desarrollo]]></category>

		<guid isPermaLink="false">http://kuv3.com/?p=153</guid>
		<description><![CDATA[Hace un par de días se me planteó un problema, quería hacer una aplicación que basicamente hiciera lo siguiente: Lanzar una petición por post Recoger el código HTML Parsearlo para sacar un contenido Mostrar el contenido Hace más tiempo aún me recomendaron Python para todo este tipo de cosas, nunca había programado con él, y [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un par de días se me planteó un problema, quería hacer una aplicación que basicamente hiciera lo siguiente:</p>
<ul>
<li>Lanzar una petición por post</li>
<li>Recoger el código HTML</li>
<li>Parsearlo para sacar un contenido</li>
<li>Mostrar el contenido</li>
</ul>
<p>Hace más tiempo aún me recomendaron Python para todo este tipo de cosas, nunca había programado con él, y de hecho siempre había pensado que se trataba de un lenguaje de programación viejuno, ERROR!.</p>
<p>Me maravilla, de hecho, he tenido otro proyecto similar en el que trabajar y no he dudado, Python al poder, cada día me gusta más y quiero aprender a manejarlo bien y por supuesto lo recomiendo pues es sencillo y potente. </p>
<p>Algún día igual pongo mis comienzos con Python, que IDE he usado, como he trabajado, donde buscar información y por supuesto colgaré mis proyectos, pero ahora están en fase alfa/beta</p>
]]></content:encoded>
			<wfw:commentRss>http://kuv3.com/2008/09/03/python-se-abre-camino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Genera XML a partir de un contenido con Dapper</title>
		<link>http://kuv3.com/2008/06/13/genera-rss-a-partir-de-un-contenido-con-dapper/</link>
		<comments>http://kuv3.com/2008/06/13/genera-rss-a-partir-de-un-contenido-con-dapper/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 14:10:29 +0000</pubDate>
		<dc:creator>kuve</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Webs interesantes]]></category>
		<category><![CDATA[generador]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://kuv3.com/?p=131</guid>
		<description><![CDATA[Hace un tiempo se me propuso trabajar en un proyecto que requer&#237;a recoger informaci&#243;n de varios sitios web para luego juntarla en una misma p&#225;gina web. La primera de las ideas que mir&#233; fue la de buscar sitios que tuvieran los contenidos que necesitaba y si estos dispon&#237;an de alg&#250;n tipo de XML o derivados [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo se me propuso trabajar en un proyecto que requer&iacute;a recoger informaci&oacute;n de varios sitios web para luego juntarla en una misma p&aacute;gina web.</p>
<p>La primera de las ideas que mir&eacute; fue la de buscar sitios que tuvieran los contenidos que necesitaba y si estos dispon&iacute;an de alg&uacute;n tipo de <a href="http://es.wikipedia.org/wiki/XML" target="_blank" title="XML en la Wikipedia">XML</a> o derivados como RSS o JSON que me permitieran recoger lo que necesitaba y parsearlo de una manera c&oacute;moda. El problema lleg&oacute; cuando estos sitios web no ofrec&iacute;an estos servicios, as&iacute; que como segundo recurso se me ocurri&oacute; parsear el c&oacute;digo fuente de los sitios web para extraer los contenidos y as&iacute; poder crearme un rss o xml que pudiera usar, pero despu&eacute;s de usar el <a href="http://www.ignside.net/man/otros/fbshortcuts.php" target="_blank" title="Atajos de teclado en firefox">&quot;ctrl+u&quot;</a> (amo el teclado) varias veces me d&iacute; cuenta de que aquel c&oacute;digo estaba tan mal formado que parsearlo pod&iacute;a convertirse en un infierno.</p>
<p>As&iacute; que pospuse el desarrollo del proyecto hasta tener una idea mejor para afrontarlo. El caso es que hace poco conoc&iacute; la existencia de una web llamada <a href="http://www.dapper.net" target="_blank" title="The Data Mapper">Dapper</a>, esta web permite generar archivos XML y suced&aacute;neos de una forma c&oacute;moda y con solo varios clicks en la web que tiene los contenidos.</p>
<p>Me lanc&eacute; a probarlo y la verdad es que me pareci&oacute; muy sencillo y una forma muy c&oacute;moda de conseguir aquello que necesitaba, por lo que el proyecto est&aacute; otra vez entre mis manos y alg&uacute;n d&iacute;a igual lo cuelgo en la red.</p>
<p>Con esta p&aacute;gina tambi&eacute;n se puede &quot;mangar&quot; contenidos de una forma m&aacute;s sencilla, &iquest;qu&eacute; se os ocurre hacer? &iquest;Creeis que es m&aacute;s util que parsear el c&oacute;digo de otras formas? Echarle un ojo y me lo dec&iacute;s. </p>
<p>PD: Vuelvo al trag&iacute;n. </p>
]]></content:encoded>
			<wfw:commentRss>http://kuv3.com/2008/06/13/genera-rss-a-partir-de-un-contenido-con-dapper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitbar 1.0</title>
		<link>http://kuv3.com/2007/07/28/twitbar-10/</link>
		<comments>http://kuv3.com/2007/07/28/twitbar-10/#comments</comments>
		<pubDate>Sat, 28 Jul 2007 13:04:14 +0000</pubDate>
		<dc:creator>kuve</dc:creator>
				<category><![CDATA[Desarrollo]]></category>

		<guid isPermaLink="false">http://kuv3.com/log/index.php/2007/07/28/twitbar-10/</guid>
		<description><![CDATA[Me complace presentar a los visitantes de este peque&#241;o blog una creacion propia que abrira la seccion de desarrollo. La presento con el nombre de Twitbar y en su version 1.0 sin ser seguro que salgan versiones posteriores. Twitbar es una web en la que colocas tu nick de Twitter y te permite generar una [...]]]></description>
			<content:encoded><![CDATA[<p>Me complace presentar a los visitantes de este peque&ntilde;o blog una creacion propia que abrira la seccion de desarrollo.</p>
<p>La presento con el nombre de <a href="http://www.kuv3.com/twitbar" target="_blank">Twitbar</a> y en su version 1.0 sin ser seguro que salgan versiones posteriores. <a href="http://www.kuv3.com/twitbar" target="_blank">Twitbar</a> es una web en la que colocas tu nick de <a href="http://www.twitter.com" target="_blank">Twitter</a> y te permite generar una imagen con los colores que quieras para poderla colocar como firma de cualquier foro o en cualquier Website. </p>
<p><a href="http://www.kuv3.com/twitbar" target="_blank">Twitbar</a> sale con licencia <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/" target="_blank">Creative Commons</a>, y el codigo es de libre acceso a cualquier persona que desee usarlo siempre y cuando lo haga respetando la licencia.</p>
<p>Es mi primer trabajo y como tal, puede estar lleno de fallos, si encuentras alguno solo tienes que decirmlo y procurare corregirlo. </p>
<p align="center"><a href="http://www.kuv3.com/twitbar" target="_blank" title="Twitbar 1.0"><img src="http://kuv3.com/log/wp-content/uploads/2007/07/boton.png" border="0" alt="Twitbar 1.0" /></a></p>
<p align="left">&nbsp;- <strong><a href="http://kuv3.com/log/wp-content/uploads/2007/07/twitbartar.gz" title="TwitBar_1.0_code">TwitBar_1.0 &#8211; Codigo fuente </a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://kuv3.com/2007/07/28/twitbar-10/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Acabar con los spammers en mis webs</title>
		<link>http://kuv3.com/2007/05/03/acabar-con-los-spammers-en-mis-webs/</link>
		<comments>http://kuv3.com/2007/05/03/acabar-con-los-spammers-en-mis-webs/#comments</comments>
		<pubDate>Thu, 03 May 2007 06:53:39 +0000</pubDate>
		<dc:creator>kuve</dc:creator>
				<category><![CDATA[Desarrollo]]></category>

		<guid isPermaLink="false">http://kuv3.com/log/?p=10</guid>
		<description><![CDATA[Porque comentarios como este: No deberian tener cabida en una web, estan hechos por los llamados spambots que lo que hacen es registrarse en un foro, blog o cualquier otro cms y escribir un monton de mensajes en los que solo aparecen links para venderte cualquier cosa. He probado muchisimos metodos para evitar que se [...]]]></description>
			<content:encoded><![CDATA[<p>Porque comentarios como este:  <a href="http://img144.imageshack.us/my.php?image=comentariouc3.png" target="_blank"></a>
<p style="text-align: center"><a href="http://img144.imageshack.us/my.php?image=comentariouc3.png" target="_blank"><img src="http://img144.imageshack.us/img144/6795/comentariouc3.th.png" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a></p>
<p> No deberian tener cabida en una web, estan hechos por los llamados spambots que lo que hacen es registrarse en un foro, blog o cualquier otro <a href="http://es.wikipedia.org/wiki/CMS" target="_blank">cms</a> y escribir un monton de mensajes en los que solo aparecen links para venderte cualquier cosa.  He probado muchisimos metodos para evitar que se registren como por ejemplo a&ntilde;adir nuevos campos al formulario para que no puedan registrarse automaticamente, pero lo unico que hacian era modificar su algoritmo y seguir con su funcion, dar por el culo en el foro.  Hasta que de la mano de <a href="http://www.rau1.com">Rau!</a> me vino la solucion y di con <a href="http://arpia49.wordpress.com/2007/02/13/como-mejorar-la-seguridad-de-los-foros-phpbb2/" target="_blank">esta web</a> donde sabiamente expican un metodo que acaba con los bots en dos comodos pasos. Porque no todo en esta vida es dificil.</p>
]]></content:encoded>
			<wfw:commentRss>http://kuv3.com/2007/05/03/acabar-con-los-spammers-en-mis-webs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

