<?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>Blog de Daniel Zegarra</title>
	<atom:link href="http://danielzegarra.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://danielzegarra.net</link>
	<description>De vuelta en Lima!</description>
	<lastBuildDate>Thu, 15 Mar 2012 14:42:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>La razón al bajo costo de las memorias SD</title>
		<link>http://danielzegarra.net/2012/03/15/la-razon-al-bajo-costo-de-las-memorias-sd/</link>
		<comments>http://danielzegarra.net/2012/03/15/la-razon-al-bajo-costo-de-las-memorias-sd/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 14:42:51 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[kingston]]></category>
		<category><![CDATA[microSD]]></category>
		<category><![CDATA[sandisk]]></category>
		<category><![CDATA[SDHC]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1488</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>La razón del bajo costo de las memorias microSD se debe a la velocidad de estas. Hay 4 clases para las memorias SDHC y las que usualmente se venden en tiendas de hardware son las de clase 4 que no son la mejor opción si haces un uso intensivo de tu telefono, como yo.</p>
<p>Te recomiendo leer <a title="SDHC" href="http://es.wikipedia.org/wiki/SDHC">este pequeño artículo</a> de Wikipedia lo explica mejor.</p>
<p>Me doy cuenta ahora que la memoria de mi teléfono es de clase 4 y he instalado aplicaciones en ella, incluso hubo un tiempo en que cree una particion SWAP ahí con resultados realmente deprimentes. Ahora ya se porqué.</p>
<p>Ya saben, al momento de comprar una memoria microSD fíjense en el número dentro del círculo abierto pues esa es la clase y velocidad máxima de escritura que la memoria es capaz de ofrecer.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2012/03/15/la-razon-al-bajo-costo-de-las-memorias-sd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Otra ROM personalizada para Xperia X8</title>
		<link>http://danielzegarra.net/2012/02/12/otra-rom-personalizada-para-xperia-x8/</link>
		<comments>http://danielzegarra.net/2012/02/12/otra-rom-personalizada-para-xperia-x8/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 13:53:33 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Custom ROM's]]></category>
		<category><![CDATA[Custom ROM]]></category>
		<category><![CDATA[GingerDX]]></category>
		<category><![CDATA[kernel nAa]]></category>
		<category><![CDATA[netfilter]]></category>
		<category><![CDATA[tethering]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1479</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Esta ROM se llama MiniCM7-2.1.9 y lo puedes descargar de <span style="color: #0000ee;"><span style="text-decoration: underline;">aquí</span></span>.</p>
<p>La llevo probando una hora y me va bien.</p>
<p>Su principal ventaja frente a otras ROM&#8217;s que he probado es que esta se acopla perfectamente al <a title="nAa-11 [11/2/12] Custom Gingerbread kernel + CWM Recovery" href="http://forum.xda-developers.com/showthread.php?t=1350484" target="_blank">kernel nAa</a> que tiene soporte nativo para tethering wifi y USB (gracias a que por fin incluye netfilter). Basta de usar Barnacle (que cada cierto rato o cuando recibía una llamada fallaba). El soporte nativo de netfilter funciona muy muy bien y para demostrarlo&#8230; lo estoy usando ahora para escribir este post desde mi laptop.</p>
<p>Hay mas ventajas que solo el tether en esta ROM. Creo, y espero no equivocarme, que es mas estable y tiene mas ventajas que mi ROM anterior <a title="GingerDX | v022 | 16-01-2012" href="http://forum.xda-developers.com/showthread.php?t=1188486" target="_blank">GingerDX</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2012/02/12/otra-rom-personalizada-para-xperia-x8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Por favor basta ya con la tortura de animales</title>
		<link>http://danielzegarra.net/2012/01/03/basta-ya-con-la-tortura-de-animales/</link>
		<comments>http://danielzegarra.net/2012/01/03/basta-ya-con-la-tortura-de-animales/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 08:08:38 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1467</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Hace unos días publiqué en mi muro de facebook un <a title="Ver pedido" href="http://actuable.es/peticiones/cachorros-son-quemados-vivos-pidamos-la-sociedad-protectora" target="_blank">pedido de actuable</a> para firmar una carta pidiendo se haga justicia para un cachorro que es quemado vivo en Eslovaquia y apenas tuve respuestas sobre ello. La meta es llegar a las 12mil firmas en 10 dias, algo que se esta a punto de lograr. Pero firmando esta petición no podemos cambiar el pasado. Ni siquiera es seguro si este cachorrito recibirá algo de justicia (la verdadera justicia seria cadena perpetua para sus asesinos, algo que es seguro no va a ocurrir).</p>
<p>Los seres humanos creamos los Derechos Humanos aunque no todos los cumplen. Pero menos aun se cumplen los derechos de los animales. En países como el mio que pertenecen al tercer mundo no existe ley que proteja a los animales. La policía, aun si encontrara a una persona maltratando a un animal (torturándolo incluso) no cuenta con una ley que le permita amedrentar al ciudadano. Vamos que, para nuestros congresistas es mas importante una ley para aumentarse el sueldo que combatir la pobreza y mucho menos proteger a los animales.</p>
<p>La tortura de mascotas domesticas ocurre incluso en paises como Estados Unidos, España, Mexico e Israel. Solo escribe &#8220;perro quemado vivo&#8221; en google para comprobarlo.</p>
<p>No me imagino el sufrimiento que un perrito debe pasar en manos de esta gente que en muchos casos son niños concientes de sus actos. Los vídeos que son capturados por estos enfermos suelen ser borrados rápidamente por infracción de políticas  y las compilaciones protestando por estos actos corren la misma suerte por mostrar las mismas imágenes ofensivas.</p>
<p>He tenido la oportunidad de ver uno de estos vídeos, y realmente créeme cuando te digo que la brutalidad del acto supera mil veces lo que te puedas imaginar. No ha pasado un día en que no recuerde esas imágenes y es eso lo que me impulsa a escribir este post y a empezar a apoyar <strong>activamente</strong> a las entidades que protejan a los animales.</p>
<p>Si aun piensas que apoyar esta causa no vale tu tiempo, pues no te voy a obligar a ver el video pero si te pido ver estas imágenes que explican mejor que con palabras la razón de mi angustia. Créeme, no a sido fácil para mi volver a ver este video.</p>
<p>Se trata de un cachorro (menos de un año de edad) que es amarrado del cuello con una soguilla para rociarle combustible y luego prenderle fuego. Los adolescentes autores de este asesinato siguen al perrito hasta que este muere luego de <strong>casi un minuto de agonía</strong>.</p>
<div id="attachment_1468" class="wp-caption aligncenter" style="width: 317px"><a href="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h17m43s198.png" rel="lightbox[1467]"><img class="size-full wp-image-1468 " title="El bebe es capturado y rociado con combustible" src="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h17m43s198.png" alt="El bebe es capturado y rociado con combustible" width="307" height="230" /></a><p class="wp-caption-text">El bebe es capturado y rociado con combustible</p></div>
<div id="attachment_1469" class="wp-caption aligncenter" style="width: 317px"><a href="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h19m25s214.png" rel="lightbox[1467]"><img class="size-full wp-image-1469 " title="Otro niño enciende con un fósforo el combustible" src="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h19m25s214.png" alt="Otro niño enciende con un fósforo el combustible" width="307" height="230" /></a><p class="wp-caption-text">Otro niño enciende con un fósforo el combustible</p></div>
<div id="attachment_1470" class="wp-caption aligncenter" style="width: 317px"><a href="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h20m03s84.png" rel="lightbox[1467]"><img class="size-full wp-image-1470 " title="El pobre animalito tarda en sabes que ya se encuentra condenado" src="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h20m03s84.png" alt="El pobre animalito tarda en sabes que ya se encuentra condenado" width="307" height="230" /></a><p class="wp-caption-text">El pobre animalito tarda en sabes que ya se encuentra condenado</p></div>
<div id="attachment_1471" class="wp-caption aligncenter" style="width: 317px"><a href="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h20m37s156.png" rel="lightbox[1467]"><img class="size-full wp-image-1471 " title="Corre con la esperanza de escapar del dolor" src="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h20m37s156.png" alt="Corre con la esperanza de escapar del dolor" width="307" height="230" /></a><p class="wp-caption-text">Corre con la esperanza de escapar del dolor</p></div>
<div id="attachment_1472" class="wp-caption aligncenter" style="width: 317px"><a href="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h21m02s148.png" rel="lightbox[1467]"><img class="size-full wp-image-1472 " title="Se retuerce envuelto en fuego hasta finalmente morir" src="http://danielzegarra.net/wp-content/uploads/2012/01/vlcsnap-2012-01-03-02h21m02s148.png" alt="Se retuerce envuelto en fuego hasta finalmente morir" width="307" height="230" /></a><p class="wp-caption-text">Se retuerce envuelto en fuego hasta finalmente morir</p></div>
<p>De más esta decir que el audio donde se escucha al cachorro llorar por que le rocian combustible y más aun por arder en llamas es desgarrador. Le toma al perrito casi un minuto el morir y durante este tiempo, a pesar de perder la movilidad de su cuerpo, sigue llorando cubierto de fuego.</p>
<p style="text-align: center;"><strong><span style="color: #ff0000;">Por favor, no permitas que escenas como estas se repitan en tu país. El ignorarlas y bloquear los vídeos en sitios como youtube hacen que la muerte de estos animalitos sea en vano. Un número más para sumar a una estadística que ni siquiera existe.</span></strong></p>
<h2></h2>
<h2>Enlaces de interés</h2>
<p><strong><a title="Petición de actuable" href="http://actuable.es/peticiones/cachorros-son-quemados-vivos-pidamos-la-sociedad-protectora" target="_blank">Petición de actuable</a>. Por favor, <a title="Firmar petición" href="http://actuable.es/peticiones/cachorros-son-quemados-vivos-pidamos-la-sociedad-protectora" target="_blank">entra aquí</a> y firma. Es lo menos que puedes hacer.</strong></p>
<p><a title="Ley Nro. 27265" href="http://www.congreso.gob.pe/ntley/Imagenes/Leyes/27265.pdf" target="_blank">Ley de protección a los animales</a> que nunca fue aprobada. Y por lo tanto Peru aun no cuenta con una ley que proteja ni siquiera a nuestras mascotas.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2012/01/03/basta-ya-con-la-tortura-de-animales/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desde hoy Claro ofrece oficialmente 3Mb de ancho de banda para móviles</title>
		<link>http://danielzegarra.net/2011/12/20/desde-hoy-claro-ofrece-oficialmente-3mb-de-ancho-de-banda-para-moviles/</link>
		<comments>http://danielzegarra.net/2011/12/20/desde-hoy-claro-ofrece-oficialmente-3mb-de-ancho-de-banda-para-moviles/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 19:14:27 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1464</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Por fin, desde hoy algunos usuarios de los planes smart de Claro Perú tienen 3Mb de ancho de banda. Me lo dijo una operadora cuando llame hace una semana para preguntar cuando volverian los 3 megas (porque habia notado que habia vuelto los 700kbps) y me aseguro que volverían con el nuevo ciclo de facturacion y esta vez de manera oficial.</p>
<p>Con esto me contento hasta que termine mi contrato y cambie de equipo.</p>
<p>Por si no lo saben, Claro limita (o limitaba) la velocidad de navegación a 700kbps en teléfonos moviles. Las demás velocidades estaban solo disponibles para tablets y modem usb.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/12/20/desde-hoy-claro-ofrece-oficialmente-3mb-de-ancho-de-banda-para-moviles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diseño de un administrador de reportes</title>
		<link>http://danielzegarra.net/2011/12/13/diseno-de-un-administrador-de-reportes/</link>
		<comments>http://danielzegarra.net/2011/12/13/diseno-de-un-administrador-de-reportes/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 08:20:08 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1456</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Luego de dejar de postear por tanto tiempo queria volver publicando algo util, liberar algun proyecto o algo por el estilo, pero entre ver el siguiente capitulo de 24 y sanear un proyecto para ser publicado siempre salio ganando 24.</p>
<p>Lo siguiente no es tan interesante como lo que tenia planeado pero es de utilidad para quien necesita crear plantillas de reportes y esta a punto de empezar a indagar como hacerlo con PHP.</p>
<h3>El requerimiento</h3>
<p>Si por algun lado hay que empezar es por aqui. Se necesita lo siguiente:</p>
<ul>
<li>Tener un catalogo de reportes</li>
<li>Elegir el formato en que quiero cada reporte (el mismo reporte pueda obtenerse en distintos formatos)</li>
<li>La cantidad de parametros que cada reporte necesita sea variable</li>
</ul>
<h3>El modelo de datos</h3>
<p>El modelo de las tablas que necesitamos se limitan a lo siguiente.</p>
<div id="attachment_1458" class="wp-caption aligncenter" style="width: 466px"><a href="http://danielzegarra.net/wp-content/uploads/2011/12/datamodel.png" rel="lightbox[1456]"><img class="size-full wp-image-1458 " title="Modelo de datos de un catalogo de reportes" src="http://danielzegarra.net/wp-content/uploads/2011/12/datamodel.png" alt="Modelo de datos de un catalogo de reportes" width="456" height="132" /></a><p class="wp-caption-text">Modelo de datos de un catalogo de reportes</p></div>
<p>Tenemos tres tablas. Una guarda el catalogo de reportes, la otra el catalogo de formatos de archivos y una tabla de relación que describe los formatos en que cada reporte se encuentra disponible.</p>
<h3>Clases PHP</h3>
<p>Acostumbro a trabajar consumiendo servicios. Me parece que es mas limpio si tengo bien separado la vista (en el cliente) de la lógica del negocio (en el servidor). Ademas, si no amarro la vista a los controladores puedo utilizar otros clientes (flash, java, etc) sin hacer cambios al código.</p>
<p>Como dije, trabajando como servicios tengo el servicio/clase llamado <em><strong>Sistema_Reporte</strong></em> que tiene los siguientes métodos:</p>
<ul>
<li><strong>Sistema_Reporte</strong></li>
<ul>
<li><strong>run</strong>(<em><strong><span style="color: #333399;">codigo</span></strong></em><span style="color: #339966;">:string</span>, <strong><em><span style="color: #333399;">formato</span></em></strong><span style="color: #339966;">:string</span>, <span style="color: #333399;"><em><strong>params</strong></em></span><span style="color: #339966;">:array</span>)<br />
Ejecuta un reporte. recibe el código del reporte, el formato en que se requiere y los parámetros que necesita el reporte para hacer su trabajo.</li>
<li><strong>getReporte</strong>(<strong><em><span style="color: #333399;">codigo</span></em></strong><span style="color: #339966;">:string</span>)<br />
Entrega información disponible sobre un reporte (nombre, descripción, etc).</li>
<li><strong>getFormats</strong>(<strong><em><span style="color: #333399;">codigo</span></em></strong><span style="color: #339966;">:string</span>)<br />
Devuelve una matriz con los formatos que un reporte puede generar.</li>
<li><strong>getParams</strong>(<strong><em><span style="color: #333399;">codigo</span></em></strong><span style="color: #339966;">:string</span>)<br />
Entrega una matriz con los parámetros que recibe el reporte.</li>
<li><strong>getParamValues</strong>(<strong><em><span style="color: #333399;">parametro</span></em></strong><span style="color: #339966;">:string</span>)<br />
Algunos parametros son predefinidos (true, false, &#8220;si&#8221;, &#8220;no&#8221;) y otros serán IDs de un catalogo. Este método devuelve una matriz con los valores posibles que un parámetro puede tomar cuando estos no pertenecen a una tabla catalogo.</li>
<li><strong>scan</strong>(<strong><em><span style="color: #333399;">ruta</span></em></strong><span style="color: #339966;">:string</span>)<br />
Busca y registra los reportes encontrados en la ruta dada (relativa a la raíz del sistema).</li>
</ul>
</ul>
<p>Lo que este servicio hace es tan solo recibir la petición y direccionarlo al reporte especificado. Los reportes seran otras clases PHP que pueden estar ubicadas todas en un mismo directorio u ordenadas en otros directorios junto a otras clases de sus modulos, eso no importa ya que en nuestro modelo de datos estamos almacenando la ruta donde se encuentra el reporte. El metodo scan realizara una busqueda de reportes en el directorio especificado usando el siguiente algoritmo:</p>
<ul>
<li>Abre el directorio y lista su contenido</li>
<li>Recorre el contenido tomando en cuenta solo los archivos con extension .php</li>
<li>Carga cada archivo php y revisa si la clase cargada es hija de <em><strong>Sistema_Reporte_Plantilla</strong></em> (todos los reportes deben heredar de esta clase para ser reconocidos como tal).</li>
<li>Si la clase cumple con los requisitos es registrada en la tabla de catálogos de reportes si es que aun no se encuentra allí.</li>
</ul>
<p>En la clase <em><strong>Sistema_Reporte_Plantilla</strong></em> definimos los métodos que todo reporte debe tener:</p>
<ul>
<li><strong>Sistema_Reporte_Plantilla</strong></li>
<ul>
<li>getName()<br />
Entrega el nombre del reporte</li>
<li>getDescription()<br />
Entrega la descripcion del reporte</li>
<li>getFormats()<br />
Devuelve una matriz simple con los formatos que este reporte es capaz de generar (pdf, xml, csv)</li>
<li>getParams()<br />
Una matriz con los parametros que el reporte debe recibir</li>
<li>getParamValues(param)<br />
Devuelve una matriz con los valores posibles que un parámetro puede tomar cuando estos no pertenecen a una tabla catalogo.</li>
<li>run(format, params)<br />
Ejecuta el reporte.</li>
</ul>
</ul>
<p>Como ves, varios métodos del reporte son bastante similares a los del servicio. El servicio tan solo va a redireccionar la petición para que el usuario no tenga acceso directo a los reportes.</p>
<p><a href="http://danielzegarra.net/download/12" title="">Descargar Modelo PHP para la administración de reportes</a> <br/> <a href="http://danielzegarra.net/download/13" title="Necesitas de MySQL Workbench para abrir este documento. Puedes obtenerlo de la web de MySQL.">Descargar Modelo de datos para la administración de reportes</a></p>
<p>Ahora, para implementar los formatos, debes implementar metodos como <strong>_runPDF</strong>(<em><strong><span style="color: #333399;">params</span></strong></em>) o <strong>_runXLS</strong>(<em><strong><span style="color: #333399;">params</span></strong></em>) y generar los respectivos documentos. Dale un vistazo al codigo en el metodo <strong>run</strong>() de <strong>Sistema_Reporte_Plantilla</strong> para mas información.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/12/13/diseno-de-un-administrador-de-reportes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi primer app para Android</title>
		<link>http://danielzegarra.net/2011/10/03/mi-primer-app-para-android/</link>
		<comments>http://danielzegarra.net/2011/10/03/mi-primer-app-para-android/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 09:37:56 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Experimentos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[App Inventor]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Labs]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1446</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>No diré que fue difícil porque la verdad no lo fue. A pesar de que llevo con un dispositivo Android por varios meses ya no he tenido tiempo ni interés suficiente para intentar crear una aplicación por mi mismo. El catalogo de aplicaciones para Android es de por si tan extenso que no había tenido la necesidad de crear algo para el.</p>
<p>Mi intención era compilar una aplicación muy simple en corto tiempo y con el menor esfuerzo posible y para conseguirlo utilice la ayuda del proyecto <a title="App Inventor" href="http://www.appinventorbeta.com">App Inventor</a> de Google.</p>
<p>App Inventor es una herramienta que te permite crear aplicaciones simples para Android de forma rapida y sin tener que aprender Java. El diseno de la interfaz se crea desde el browser y la logica utilizando un ejecutable java (es necesario tener instalado Java SDK).</p>
<div id="attachment_1447" class="wp-caption aligncenter" style="width: 550px"><a href="http://danielzegarra.net/wp-content/uploads/2011/10/screenshot.1.png" rel="lightbox[1446]"><img class="size-large wp-image-1447" title="Diseño de la aplicación" src="http://danielzegarra.net/wp-content/uploads/2011/10/screenshot.1-1024x616.png" alt="Diseño de la aplicación" width="540" height="324" /></a><p class="wp-caption-text">Diseño de la aplicación</p></div>
<div id="attachment_1448" class="wp-caption aligncenter" style="width: 550px"><a href="http://danielzegarra.net/wp-content/uploads/2011/10/screenshot.2.png" rel="lightbox[1446]"><img class="size-large wp-image-1448" title="Creando la lógica. " src="http://danielzegarra.net/wp-content/uploads/2011/10/screenshot.2-1024x615.png" alt="Creando la lógica. " width="540" height="324" /></a><p class="wp-caption-text">Creando la lógica</p></div>
<p>Para mi primer experimento elegí crear un catalogo electrónico de cuentas contables, en clase de contabilidad nos han pedido conseguir un listado de las cuentas contables y, ademas de la hoja de excel con los mas de mil cuentas existentes, no he podido encontrar un lugar donde vendan este listado en formato físico. Poder consultar la identidad de una cuenta a partir de su código sera de utilidad en clase.</p>
<ol>
<li>Instalar el SDK de App Inventor.<br />
El instalador copia archivos en la pc que son necesarios para compilar la aplicación y probarla en un emulador en el mismo teléfono.</li>
<li>Utilizar el diseñador desde el browser y armar la lógica usado el complemento java.</li>
<li>Probar la aplicación utilizando el emulador que viene con el SDK o en un dispositivo Android compatible.</li>
<li>Compilar la aplicación y copiarla al teléfono. El archivo compilado ya se encuentra con la extensión apk. Por lo tanto, es tan simple como copiarla al teléfono y ejecutarla desde ahí.</li>
</ol>
<p>Ahora, publicar el instalador en el market no es tan sencillo. Para empezar, el instalador generado no esta preparado para la tienda de Android porque no esta firmado digitalmente ni incluye los datos mínimos requeridos para ser compartido con otros usuarios. App Inventor es un proyecto que aun se encuentra en fase de pruebas y no esta pensado para crear aplicaciones que sean utilizadas en producción, sin embargo hay una forma de modificar el instalador para agregar las características restantes y que este sea aceptado por la tienda.</p>
<p>Los pasos para conseguirlo se pueden encontrar <a title="[How To] Publish the app created with App Inventor in the Android Market" href="http://www.androidworld.it/forum/app-inventor-91/%5Bhow-%5D-publish-app-created-app-inventor-android-market-4597/">aquí</a> y es necesario que ya tengas el instalador apk generado.</p>
<p>El resultado del experimento puedes descargarlo siguiendo el siguiente enlace:</p>
<a href="http://danielzegarra.net/download/11" title="Aplicación para Android que permite hacer consultas sobre la identidad de las cuentas contables del 2011.">Descargar AndroidApp: Plan Contable 2011 (Perú)</a>
<p>No he tenido tiempo que prepararlo para la tienda. Por el momento, solo puede instalarse copiandolo manualmente al dispositivo.</p>
<h3>Información sobre la aplicación</h3>
<div id="attachment_1449" class="wp-caption aligncenter" style="width: 280px"><a href="http://danielzegarra.net/wp-content/uploads/2011/10/screenshot.3.png" rel="lightbox[1446]"><img class="size-full wp-image-1449" title="Emulador de dispositivo" src="http://danielzegarra.net/wp-content/uploads/2011/10/screenshot.3.png" alt="Emulador de dispositivo" width="270" height="557" /></a><p class="wp-caption-text">Emulador de dispositivo</p></div>
<p>Muestra información de la cuenta contable asociada al código ingresado. Ademas muestra la naturaleza del registro y lo que representa. La información la halla de una tabla de google docs compartida. Fue la manera mas rápida que encontré de realizar una búsqueda en una tabla. Como la tabla se encuentra en mi cuenta de google docs requiere de otra cuenta de google valida para tener acceso a la tabla de mi cuenta, sin importar que la tabla de datos sea publica. Por lo tanto te pedirá acceso a tu cuenta de google al realizar la primera consulta. Esto puede parecer sospechoso <img src='http://danielzegarra.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  . Repito, esto se debe a que los datos de este ejemplo se encuentran almacenados en una cuenta de google docs. Lo ideal seria que se almacenen en la aplicación (ya que esta data suele no cambiar en años).</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;">. <a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_a.png?x-id=622937ed-846a-4156-b2ff-2b2e7c0f47e3" alt="Enhanced by Zemanta" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/10/03/mi-primer-app-para-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El demonio también usa Linux</title>
		<link>http://danielzegarra.net/2011/09/23/el-demonio-tambien-una-linux/</link>
		<comments>http://danielzegarra.net/2011/09/23/el-demonio-tambien-una-linux/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 21:55:41 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1441</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Hace un momento apareció esta alerta en mi pantalla. Me imaginé como hubiera reaccionado un hombre de Dios que no sabe lo que significa un &#8220;demonio&#8221; en informática.</p>
<p><a href="http://danielzegarra.net/wp-content/uploads/2011/09/Pantallazo-Ventana-sin-título.png" rel="lightbox[1441]"><img class="aligncenter size-full wp-image-1442" title="Advertencia intrigante" src="http://danielzegarra.net/wp-content/uploads/2011/09/Pantallazo-Ventana-sin-título.png" alt="Advertencia intrigante" width="474" height="315" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/09/23/el-demonio-tambien-una-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Que y como funcionan las cocinas de inducción</title>
		<link>http://danielzegarra.net/2011/09/18/que-y-como-funcionan-las-cocinas-de-induccion/</link>
		<comments>http://danielzegarra.net/2011/09/18/que-y-como-funcionan-las-cocinas-de-induccion/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 01:20:08 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1439</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Vi en groupon una oferta por una cocina portátil de inducción. Me entro curiosidad por sabes que es eso y encontré algo interesante.</p>
<p>Aqui hay un articulo sobre el tema: <a title="El poder de la inducción - revistalabarra" href="http://www.revistalabarra.com.co/larevista/Edicion-29/equipamiento-4/el-poder-de-la-induccion.htm">El poder de la inducción</a>.</p>
<p>En resumen, se calientan mucho mas rápido, son mas seguras, son mas eficientes pero al parecer también consumen mas energía. Ah, y son mas costosas. Entonces, no aptas para todo publico aun. Tal vez si consumieran menor energía valdría la pena el costo adicional.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/09/18/que-y-como-funcionan-las-cocinas-de-induccion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Otro chico &#8220;genio&#8221; haciendo el ridículo</title>
		<link>http://danielzegarra.net/2011/09/06/otro-chico-genio-haciendo-el-ridiculo/</link>
		<comments>http://danielzegarra.net/2011/09/06/otro-chico-genio-haciendo-el-ridiculo/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 14:39:45 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[Críticas]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1432</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Primero lee esta nota: <a href="http://www.panoramacajamarquino.com/noticia/creador-de-%E2%80%98red-social%E2%80%99-via-inti-continua-solicitando-ayuda-a-instituciones/">Creador de ‘red social’ Vía Inti continúa solicitando ayuda a instituciones</a></p>
<p>Otra vez con lo mismo?, por favor. Osea, me instalo un CMS en un hosting, elijo un tema que me guste, informo a la prensa y ya esta? salgo a competir con facebook?<br />
Hay decenas de paquetes para crear redes sociales que lo unico que piden es que el administrador sepa subir archivos por ftp (y si no me crees puedes visitar este link: <a href="http://www.vivalogo.com/vl-resources/open-source-social-networking-software.htm">Top 40 Free Downloadable Open Source Social Networking Software</a>).<br />
Esta bien que el chico quiera superarse, pero no engañando a la gente intentando hacerles creer que se trata de un superdotado.<br />
Es comprensible que los periodistas no sepan que tan fácil es levantar una red social en internet, pero pueden preguntar al encargado de sistemas, él pudo haber dicho con solo leer el código de la pantalla de inicio que ahí no hay mas de 12 horas de trabajo (y eso es por instalación y elegir un tema bonito).<br />
Por cierto, lo revise antes de escribir esto, es un CMS común con un theme personalizado (y por personalizado quiero decir que se le cambio el color de fondo y se le agrego la imagen del logo).<br />
Siento vergüenza ajena.</p>
<p style="text-align: center;"><em>Este post iba a estar en mi muro de fb pero excede los 500 caracteres. Para no perder el tiempo dedicado en escribirlo lo publico aquí.</em></p>
<p style="text-align: left;">En las palabras del genio: (cortesia de Javier)</p>
<p style="text-align: left;"><p><a href="http://danielzegarra.net/2011/09/06/otro-chico-genio-haciendo-el-ridiculo/"><em>Pinche aquí para ver el vídeo</em></a></p></p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/09/06/otro-chico-genio-haciendo-el-ridiculo/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>GingerDX v005 liberado. Por fin fotos a 3MP en Gingerbread con Xperia X8</title>
		<link>http://danielzegarra.net/2011/08/03/gingerdx-v005-liberado-por-fin-fotos-a-3mp-en-gingerbread-con-xperia-x8/</link>
		<comments>http://danielzegarra.net/2011/08/03/gingerdx-v005-liberado-por-fin-fotos-a-3mp-en-gingerbread-con-xperia-x8/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 18:17:39 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1429</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Hoy <a href="http://forum.xda-developers.com/member.php?u=3546299" title="Perfil de doixanh">doixanh</a> publico una nueva version de <a href="http://forum.xda-developers.com/showthread.php?t=1188486" title="[ROM] GingerDX | v005 | 03-08-2011">GingerDX</a>, su ROM personalizada para el Xperia X8, la primera que puede utilizar todo el potencial de la cámara incluida en el teléfono (tampoco es que sea &#8220;la cámara&#8221; pero tomar fotos a VGA pudiendo hacerlas a 3MP era molesto). </p>
<p><a href="http://forum.xda-developers.com/showthread.php?t=1188486" title="[ROM] GingerDX | v005 | 03-08-2011">Ver la entrada en el foro de xda-developers</a></p>
<p>doixanh fue hasta hace poco el desarrollador de <a href="http://forum.xda-developers.com/showthread.php?t=1079463" title="[ROM] FroyoBread | v023b FINAL | 27-07-11">FroyoBread</a>, la ROM que actualmente uso en mi teléfono. Las actualización de FroyoBread ha finalizado para dar paso al desarrollo de GingerDX el cual usa  Android 2.3. GingerDX es un fork de <a href="http://www.cyanogenmod.com/" title="Cyanogen">Cyanogen</a> que al parecer corre perfectamente sobre el Xperia X8.</p>
<p>Estoy descargando la ROM y la instalare en unos minutos. Luego contare como me va y podre hacer comentarios propios.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/08/03/gingerdx-v005-liberado-por-fin-fotos-a-3mp-en-gingerbread-con-xperia-x8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambiar el scrollbar de Ubuntu 11.04</title>
		<link>http://danielzegarra.net/2011/07/11/cambiar-el-scrollbar-de-ubuntu-11-04/</link>
		<comments>http://danielzegarra.net/2011/07/11/cambiar-el-scrollbar-de-ubuntu-11-04/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 14:07:48 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1426</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Personalmente, no me gusta esta &#8220;mejora&#8221;. Considero que el ahorro de espacio (no mas de 20px) no valía la pena la implementación.</p>
<p>Para desactivar la nueva barra de desplazamiento ejecuta las siguientes en tu consola favorita:</p>
<pre class="brush: plain; title: ; notranslate">
sudo su
echo &quot;export LIBOVERLAY_SCROLLBAR=0&quot; &gt; /etc/X11/Xsession.d/80overlayscrollbars
</pre>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/07/11/cambiar-el-scrollbar-de-ubuntu-11-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sitio recomendado: eclipsecolorthemes.org</title>
		<link>http://danielzegarra.net/2011/06/21/sitio-recomendado-eclipsecolorthemes-org/</link>
		<comments>http://danielzegarra.net/2011/06/21/sitio-recomendado-eclipsecolorthemes-org/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 15:50:55 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1419</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Para dejar de poner Eclipse en negativo.</p>
<p><a href="http://www.eclipsecolorthemes.org/">www.eclipsecolorthemes.org</a></p>
<p>Excelente sitio.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/06/21/sitio-recomendado-eclipsecolorthemes-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script para generar colores aleatorios</title>
		<link>http://danielzegarra.net/2011/06/07/script-para-generar-colores-aleatorios/</link>
		<comments>http://danielzegarra.net/2011/06/07/script-para-generar-colores-aleatorios/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 16:11:28 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1415</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: jscript; title: ; notranslate">
/**
 * Devuelve un color RRGGBB aleatorio.
 * @returns Cadena con un color aleatorio.
 * @type String
 */
function getRandomColor(){
	var colors = new Array(14);
	colors[0]=&quot;0&quot;;
	colors[1]=&quot;1&quot;;
	colors[2]=&quot;2&quot;;
	colors[3]=&quot;3&quot;;
	colors[4]=&quot;4&quot;;
	colors[5]=&quot;5&quot;;
	colors[5]=&quot;6&quot;;
	colors[6]=&quot;7&quot;;
	colors[7]=&quot;8&quot;;
	colors[8]=&quot;9&quot;;
	colors[9]=&quot;a&quot;;
	colors[10]=&quot;b&quot;;
	colors[11]=&quot;c&quot;;
	colors[12]=&quot;d&quot;;
	colors[13]=&quot;e&quot;;
	colors[14]=&quot;f&quot;;

	var digit = new Array(5);
	var color = '';
	for (i=0;i&lt;6;i++){
		color+= colors[Math.round(Math.random()*14)];
	}

	return color;
}
</pre>
<p>Estaba a punto de eliminar este script de mi aplicación porque no lo iba a utilizar mas. Me dio pena perderlo, prefierí compartirlo.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/06/07/script-para-generar-colores-aleatorios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elecciones</title>
		<link>http://danielzegarra.net/2011/06/05/elecciones/</link>
		<comments>http://danielzegarra.net/2011/06/05/elecciones/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 17:02:01 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[corrupción]]></category>
		<category><![CDATA[fuerza 2011]]></category>
		<category><![CDATA[fujimorismo]]></category>
		<category><![CDATA[keiko]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/2011/06/05/elecciones/</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://danielzegarra.net/wp-content/uploads/2011/06/wpid-DSC00150_edit0.jpg" /></p>
<p>Siguiendo la temática electoral.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/06/05/elecciones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aqui estoy</title>
		<link>http://danielzegarra.net/2011/03/30/aqui-estoy/</link>
		<comments>http://danielzegarra.net/2011/03/30/aqui-estoy/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 04:51:24 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[adodb]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[Code Igniter]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[Ext (JavaScript library)]]></category>
		<category><![CDATA[Ext-JS]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://danielzegarra.net/?p=1398</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Así es, no he muerto aun, solo he tenido mucho trabajo últimamente.</p>
<p>Me ha gustado darme cuenta que después de meses de aprendizaje forzado me encuentro por fin en buenos términos con javascript. Sigo pensando que es un lenguaje inadecuado para la web, con muchos problemas de compatibilidad entre browsers e increíblemente tosco en su aproximación a la OO. Así es, por si no sabias javascript es un lenguaje estructurado al que se le han ideado formas ingeniosas de emular un comportamiento orientado a objetos pero, al fin de cuentas, no lo es ni al 50%.</p>
<p>Mi experiencia con JS se limita a un solo framework y este es <a class="zem_slink" title="Ext (JavaScript library)" rel="homepage" href="http://www.sencha.com/products/js/">Ext-JS</a>. Un framework sorprendente, completamente orientado a objetos (en lo que se puede) y gracias a esto te permite crear enteramente una interfaz totalmente funcional sin tener que escribir una sola linea de código HTML (salgo los infaltables  y ).</p>
<p>Y la desilusión recae sobre <a class="zem_slink" title="CodeIgniter" rel="homepage" href="http://www.codeigniter.com">CodeIgniter</a> y <a class="zem_slink" title="ADOdb" rel="homepage" href="http://adodb.sourceforge.net/">AdoDb</a>. El primero un framework <a class="zem_slink" title="PHP" rel="homepage" href="http://www.php.net/">PHP</a> ideado para el desarrollo usando el patrón MVC ofrece una atractiva curva de aprendizaje pero sin ni un solo método de ayuda para Ajax. Definitivamente no es un framework pensado para Ajax. Muy util si deseas tener una web y dispones de poco tiempo y no hay esperanzas de que sea convierta en un gran proyecto.</p>
<p>El segundo AdoDB es una librería en PHP para la abstracción en la comunicación entre PHP y la base de datos. En pocas palabras, es una capa intermedia entre la BD y tu aplicación. No es nada sorprendente, <a class="zem_slink" title="Zend Framework" rel="homepage" href="http://framework.zend.com/">Zend Framework</a> así como otros frameworks tienen paquetes similares (incluso CodeIgniter tiene las suyas). La diferencia con otras librerías es que AdoDb carece de detallada documentación que si poseen sus compañeros, tanto en la web como en el código mismo (el código no se encuentra documentado) y al parecer no recibe soporte desde hace ya un tiempo. PHP 5.3 me lanza varias alertas de comandos obsoletos en esta librería así que todo parece indicar que posiblemente deje de funcionar con la siguiente versión de PHP.</p>
<p>Eso es todo por hoy. Continuo trabajando. Mañana tengo una presentación que debe salir muy bien.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_a.png?x-id=d9c6659d-a0fb-4e04-bb9e-b2c02d6bed0f" alt="Enhanced by Zemanta" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2011/03/30/aqui-estoy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

