<?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>Ocio Electrónico &#187; general</title>
	<atom:link href="http://ocioelectronico.es/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://ocioelectronico.es</link>
	<description>Videojuegos, tecnología y un poquito de actualidad</description>
	<lastBuildDate>Wed, 25 Apr 2012 15:46:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Un &#8220;par&#8221; de consejos para conversar con un informático</title>
		<link>http://ocioelectronico.es/2009/07/24/un-par-de-consejos-para-conversar-con-un-informatico/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=un-par-de-consejos-para-conversar-con-un-informatico</link>
		<comments>http://ocioelectronico.es/2009/07/24/un-par-de-consejos-para-conversar-con-un-informatico/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 18:53:40 +0000</pubDate>
		<dc:creator>Shark</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://ocioelectronico.es/?p=264</guid>
		<description><![CDATA[Se que en un principio lo que voy a escribir a continuación son obviedades, pero no creo que TODOS lo vean tan obvio (quizá más bien el problema estará en que sólo resultará obvio para quien pudiera leerlo ).  Por si se da el caso de que alguien lo lee y realmente le resulta de <a href='http://ocioelectronico.es/2009/07/24/un-par-de-consejos-para-conversar-con-un-informatico/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Se que en un principio lo que voy a escribir a continuación son obviedades, pero no creo que TODOS lo vean tan obvio (quizá más bien el problema estará en que sólo resultará obvio para quien pudiera leerlo <img src='http://ocioelectronico.es/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ).  Por si se da el caso de que alguien lo lee y realmente le resulta de utilidad procuraré evitar términos informáticos en exceso.</p>
<p>Probablemente alguna vez has hablado con un informático de profesión o algún aficionado a la informática y te has encontrado con que la conversación que mantienes no parece agradarle.</p>
<p>Desde mi punto de vista, la mayor parte de las ocasiones se deben a la monotonía de estas conversaciones que casi siempre se tratan de lo mismo o casi.</p>
<p><strong>Los favores:</strong></p>
<p style="padding-left: 30px;">Has de pensar que generalmente, cuando se le pregunta a un informático de &#8220;donde se baja el programa NOMBREDELPROGRAMA&#8221; o &#8220;como se pone el ordenador como venía de fábrica&#8221; no sólo no estás despertando interés en la conversación si no que estás pidiendo explícitamente un favor y no una conversación. Con esto quiero decir, que si lo que buscas no es ayuda si no conversación, mejor evita este tipo de temáticas.</p>
<p style="padding-left: 30px;">Por otra parte, a la hora de pedir un favor, es muy importante que tu intentes solucionarlo mil y una veces y no pidas ayuda hasta que a ciencia cierta sepas que no puedes aprender tu solo. En caso contrario la persona a la que pidas ayuda sentirá que le utilizas.</p>
<p style="padding-left: 30px;">Y continuando con los favores, si vas a agradecer un favor que te han hecho. Ten muy presente que los informáticos pueden ser muy diferentes entre si. Tanto como un extremo al otro.</p>
<p><strong>La eterna discusión Windows vs Linux:</strong></p>
<p style="padding-left: 30px;">Esta es una discusión recurrente. Se puede &#8220;percibir&#8221; en el día a día en internet y en la vida real. Cada punto de vista tiene sus razones (cuestionables o no), pero la discusión está hoy en el mismo punto que ayer y que antes de ayer.</p>
<p style="padding-left: 30px;">No quiero decir que Windows vs Linux sea un tema tabú sólo que para nada es un tema novedoso o ingenioso como para generar una conversación de interés.</p>
<p style="padding-left: 30px;">Los informáticos realmente experimentados habrán utilizado ambos sistemas (y otros muchos) y probablemente, se esforzarán a que día tras día todos (y no sólo uno) funcionen de forma adecuada dentro de sus diferencias, virtudes y defectos. Seguramente tendrán una elección personal, pero no serán generadores de la gran batalla campal Windows vs Linux.</p>
<p><strong>La afinidad con la piratería, los originales y el software libre:</strong></p>
<p style="padding-left: 30px;">En cierto modo, digamos que existen diferentes formas de apreciar un programa u otro en función de la &#8220;ideología&#8221; que tenga un informático. En este sentido una persona no iniciada en el mundillo puede meter la pata hasta el fondo con otra persona si no tiene esto al menos &#8220;un poquito&#8221; en cuenta.</p>
<p style="padding-left: 30px;">Se trata de otra discusión recurrente: la moralidad de la piratería y la del software propietario (también llamado privativo). Esta discusión, en cierto modo es una generalización de la anterior, pero no todos lo ven así (hay gente que defiende windows por que es windows o linux por que es linux sin importarle este asunto).</p>
<p style="padding-left: 30px;">A la hora de escoger los programas que llevará un ordenador hay 3 grandes tipos de &#8220;programas&#8221;:</p>
<p style="padding-left: 60px;">En primer lugar hablemos del <em>software libre</em>. El software libre es el que cumple <a href="http://www.gnu.org/philosophy/free-sw.es.html" target="_blank">una serie de requisitos</a> que más o menos podríamos resumir en: no restringir los derechos del usuario sobre el programa que utilizará (resumido de forma poco técnica y corta).</p>
<p style="padding-left: 60px;">El <em>software propietario</em> es el que no cumple alguno de los requisitos para considerarlo software libre. Lo que más suele caracterizarlo suele ser que el &#8220;fabricante&#8221; no ofrece el código fuente que es la &#8220;receta&#8221; con la que un ordenador puede hacer un programa justo igual y permitir hacerle mejoras de la forma más adecuada. Al no haber tal &#8220;receta&#8221; un programa propietario (también llamado privativo) es lo que es y así se quedará hasta que dicho &#8220;fabricante&#8221; diga lo contrario. Puesto que entre otras cosas ese &#8220;fabricante&#8221; es el dueño del programa y no la persona que lo utiliza.</p>
<p style="padding-left: 60px;">El <em>software pirata</em> es el mismo que el propietario. Pero a diferencia del anterior, se utiliza sin consentimiento de su dueño.</p>
<p style="padding-left: 30px;">Bajo estas 3 diferenciaciones, tenemos a los usuarios que prefieren utilizar software que esté completamente bajo su control y/o conocimiento, a los usuarios que prefieren responsabilizar a una empresa concreta o los que harán lo que les de la gana sin importar a quien agrada o desagrada tal decisión.</p>
<p style="padding-left: 30px;">Es decir: si tienes una conversación con un informático puede agradarle o no que le hables de bajar un programa de Internet, que le hables de comprar una licencia de un programa o de las bondades del software libre. Y lo más importante: has de tener en cuenta que hay ciertos informáticos (no todos) que toman esta moralidad como algo muy serio, por lo que has de tener tacto.</p>
<p><strong>Estudios, competencias y atribuciones</strong>:</p>
<p style="text-align: left; padding-left: 30px;">El hablar con un informático sobre estas 3 cuestiones puede suponer llegar a una discusión del mismo nivel que una conversación de política (es más, tiene implicaciones políticas). Se cauteloso.</p>
<p style="text-align: left; padding-left: 30px;">Este punto es sólo aplicable a España (creo).</p>
<p>Si has leído todo esto y alguno de los puntos no te sonaba de nada (y no me refiero a que no estés de acuerdo conmigo) es posible que te ahorre un par de futuros mal entendidos. ¡Suerte!</p>
]]></content:encoded>
			<wfw:commentRss>http://ocioelectronico.es/2009/07/24/un-par-de-consejos-para-conversar-con-un-informatico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mis impresiones sobre &#8220;Objective C&#8221; programando para iPhone (utilizando xcode)</title>
		<link>http://ocioelectronico.es/2009/05/12/mis-impresiones-sobre-objective-c-programando-para-iphone-utilizando-xcode/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mis-impresiones-sobre-objective-c-programando-para-iphone-utilizando-xcode</link>
		<comments>http://ocioelectronico.es/2009/05/12/mis-impresiones-sobre-objective-c-programando-para-iphone-utilizando-xcode/#comments</comments>
		<pubDate>Tue, 12 May 2009 14:09:03 +0000</pubDate>
		<dc:creator>Shark</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://ocioelectronico.es/?p=156</guid>
		<description><![CDATA[Últimamente estoy comenzando a conocer los productos de Apple, algo que comencé cuando con ciertas dificultades compré un iPhone. Yo soy de esas personas que a su manera, cuando algo le gusta, tiene que ver la forma de la rosca de sus tornillos y como esto no podía ser menos decidí ver como se programaba <a href='http://ocioelectronico.es/2009/05/12/mis-impresiones-sobre-objective-c-programando-para-iphone-utilizando-xcode/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-160 alignright" title="iphonedevcenter" src="http://ocioelectronico.es/wp-content/uploads/2009/05/iphonedevcenter.png" alt="iphonedevcenter" width="84" height="88" /></p>
<p>Últimamente estoy comenzando a conocer los productos de Apple, algo que comencé cuando <a href="http://ocioelectronico.es/2009/04/23/comprando-un-iphone-y-siendo-investigado-por-ello/" target="_blank">con ciertas dificultades compré un iPhone</a>.</p>
<p>Yo soy de esas personas que a su manera, cuando algo le gusta, tiene que ver la forma de la rosca de sus tornillos y como esto no podía ser menos decidí ver como se programaba para este aparato. A continuación me gustaría contaros la experiencia.</p>
<p><span id="more-156"></span></p>
<p>No pretendo publicar una &#8220;receta&#8221;, tan común en internet, aun que se pudiera parecer e igualmente, la exactitud o completa corrección no entran del objetivo de este texto, si no algo que pudiera leer alguien al que le pudiera interesar el tema y quiere tener unas nociones básicas de su mecánica y quizá a animar a conocerlo en mayor detalle o incluso animar al lector a inscribirse en el programa oficial de desarrollo.</p>
<p>Igualmente, si lees este texto y encuentras errores (que seguramente contendrá), no dudes en hacérmelo saber y poco a poco lo iré perfeccionando.</p>
<p><strong>Alternativas</strong></p>
<p>En un principio existen 2 caminos:</p>
<p>- El camino oscuro, utilizando software privativo, como es el caso de xcode.<br />
- El camino luminoso, utilizando software libre (toolchain).</p>
<p>Como ya había utilizado toolchain para hacer pequeños pinitos del <a href="http://es.wikipedia.org/wiki/WRT54G">wrt54g</a>, del comtrend 536+ y del <a href="http://www.nslu2-linux.org/">NSLU2</a> me decidí por probar el &#8220;bando de los malos&#8221; (el del software cerrado). Esta opción, pese a que acabo de nombrarla como &#8220;el camino oscuro&#8221; es oscuro por su karma, no por su luz o color <img src='http://ocioelectronico.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Y a todo esto se sumaron mis ganas por probar OSX un poco más lejos de verlo &#8220;en un escaparate&#8221;.</p>
<p>Igualmente también existen caminos intermedios como utilizar xcode para compilar con Toolchain (que imagino que es lo que hará la mayoría de los mortales que programan aplicaciones de consola).</p>
<p><strong>Instalando el SDK</strong></p>
<p><em>Una de las primeras cosas que me disgustó del desarrollo para iPhone, es que este SDK oficial sólo está disponible para el sistema operativo de Apple, por lo que o lo instalas para OSX o no lo instalas <img src='http://ocioelectronico.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</em></p>
<p>Partiendo de tener instalado OSX, sólo necesitaremos obtener el SDK de iPhone para empezar a programar. El firmware actual es el 2.2.1 y el firmware beta es el 3.0 beta 5 y ambos tienen SDKs diferentes siendo el primero gratuito y costando 100$ el acceso al segundo (y siguientes betas).</p>
<p>Para obtener el SDK gratuito de la versión 2.2.1 utilizaremos la misma cuenta que seguramente tendremos en iTunes y en el <a href="http://developer.apple.com/iphone/index.action">iphone dev center</a> podemos descargar el <a href="http://developer.apple.com/iphone/download.action?path=/iphone/iphone_sdk_for_iphone_os_2.2.1__9m2621a__final/iphone_sdk_for_iphone_os_2.2.19m2621afinal.dmg">instalador del sdk 2.2.1 9m2621a</a>.</p>
<p>Una vez instalado el sdk, podemos arrancar xcode, que generalmente se encontrará en /Developer/Applications/Xcode.app</p>
<p><img class="alignnone size-full wp-image-163" title="directorio_x-code" src="http://ocioelectronico.es/wp-content/uploads/2009/05/directorio_x-code.png" alt="directorio_x-code" width="477" height="525" /></p>
<p><strong>Escogiendo una plantilla</strong></p>
<p>En Xcode, los proyectos se inician en base a una serie de plantillas predefinidas. Estas serían las opciones que nos da:</p>
<p><img class="alignnone size-full wp-image-162" title="plantillas_x-code" src="http://ocioelectronico.es/wp-content/uploads/2009/05/plantillas_x-code.png" alt="plantillas_x-code" width="480" height="485" /></p>
<p>Estas plantillas incluirán líneas de código y recursos, siendo si no me equivoco &#8220;Window-Based Application&#8221; la más ligera.</p>
<p><em>En un principio me sorprende que no exista una forma de crear &#8220;aplicaciones de consola&#8221;, pero imagino que Apple, pretende impulsar el uso de la interfaz gráfica. Y por si alguien duda de &#8220;Utility Application&#8221; tiene un nombre un poco engañoso, pero no es una aplicación de consola si no una plantilla con 2 vistas que se intercambian con un efecto de giro.</em></p>
<p><em>Si hubiéramos escogido utilizar ToolChain en lugar de xcode, probablemente si podríamos haber escrito aplicaciones de consola para ejecutar en un terminal, pero recordemos que entre las políticas de Apple está el no poder ejecutar programas dentro de programas. Por lo que tiene sentido que Apple nos esconda esas opciones. A mi me parece algo injusto esconder esa opción, por que una cosa es lo que hagas tu con tu iPhone y otra lo que envíes al AppStore.</em></p>
<p>En general encontraremos que las plantillas incluyen una serie de ficheros entre los que tendremos los xib (que son diseños del GUI), un main.m, un *AppDelegate.h + *AppDelegate.m que es a más alto nivel donde se controla la aplicación y probablemente un *ViewController.h + *ViewController.m en el que estará el código que gestionarán las diferentes &#8220;vistas&#8221; incluidas en la plantilla.</p>
<p><strong>Compilando la plantilla</strong><em><br />
</em></p>
<p>Compilar la aplicación, es tan sencillo como hacer click en Build o Build and Go, para lanzarlo en el iPhone o en el Simulador de iPhone incluido en el SDK.</p>
<p><img class="alignnone size-full wp-image-164" title="plantilla_vacia" src="http://ocioelectronico.es/wp-content/uploads/2009/05/plantilla_vacia.png" alt="plantilla_vacia" width="590" height="337" /></p>
<p>Cabe destacar, que las plantillas nos permiten escoger diferentes &#8220;targets&#8221;, escogiendo: Firmware, Debug/Release, Simulador/iPhoneOS. Siendo Firmware el firmware en el que esperamos que funcione la aplicación, Debug/Release las diferentes formas de compilar nuestro código (que imagino que en las plantillas en un principio serán la misma o casi) y Simulador/iPhoneOS.</p>
<p>Dentro de estas opciones, escoger Simulador/iPhoneOS diferenciará si se ejecuta en el Simulador o si la aplicación se copiará a un iPhone para hacer debug desde la propia máquina.</p>
<p><strong>Lanzando tu aplicación en un iPhone</strong></p>
<p>Creo que en esta parte es donde encontré la mayor &#8220;espina&#8221;. Una &#8220;espina&#8221; ideológica más que técnica. No pretendo que quien lea este texto acepte &#8220;los dogmas&#8221; que planteo o los de Apple, si no que tenga consciencia de que dicha discrepancia existe y que probablemente en otros teléfonos como los diferentes &#8220;Google Phones&#8221; no exista o sea diferente.</p>
<p>Para poder ejecutarlo en un iPhone, debemos de tener instalado en el ordenador, un certificado digital para firmarla de forma que el teléfono lo acepte como software legítimo. Ese certificado se obtiene de Apple apuntándose como desarrollador y pagando los 100$ que mencioné antes.</p>
<p>En caso de no tener dicho certificado obtendríamos un maravilloso &#8220;<span style="color: #ff0000;">CodeSign error: Code Signing Identity &#8216;iPhone Developer&#8217; does not match any code-signing certificate in your keychain.  Once added to the keychain, touch a file or clean the project to continue.</span>&#8220;.</p>
<p>Como por ahora no he podido pagar esos 100$ y todavía no tengo ese certificado he tenido que crakear el teléfono. Para ello he tenido que hacer exactamente lo mismo que se haría si quisiera instalar software crakeado (y aun que no entraré en detalles no me refiero sólo a liberar el teléfono o a tener acceso a cydia o installer). Igualmente, también necesitaremos realizar cambios en nuestro proyecto para que sea capaz de enviar la aplicación compilada al iPhone.</p>
<p><em>Realmente esto me parece bastante molesto, por que he comprado el teléfono, apple me ha dado xcode, tengo mi código fuente,&#8230; no hay nada con copyright de otra gente. ¿Por qué Apple se cree con derecho a decidir si yo puedo o no ejecutar MI aplicación en MI teléfono?</em> <em>¿Por qué me obligan a crackearlo (Jailbreak + MobileInstallation Patch)?</em></p>
<p><em>Sinceramente dudo muchísimo que Apple pueda defender en un juicio su &#8220;derecho&#8221; a impedir que ejecutes tu programa completamente legal sin su firma. </em></p>
<p>A efectos de lo que Apple espera que hagas o no con el SDK conviene leerse el <a href="http://developer.apple.com/iphone/download.action?path=/iphone/iphone_sdk_for_iphone_os_2.2.1__9m2621a__final/iphone_sdk_agt_ea0495.pdf" target="_blank">iPhone SDK Agreement</a>, en el que a mi modo de ver, destaca el apartado 3.2 Use of the SDK y 3.3 Program Requirements for Applications (que vienen siendo 2 folios y medio de las 10 que tiene el documento). Resumiéndolo e interpretándolo en 3 frases saltándome cosas también importantes: &#8220;No hagas Aplicaciones que crackeen el teléfono&#8221;, &#8220;No utilices funciones privadas del API&#8221; y &#8220;No espíes al usuario&#8221;.</p>
<p><em>Dudo que algún tribunal en alguna parte del mundo considerase válido la totalidad de este acuerdo, especialmente cuando el usuario sólo tenga intención de crear aplicaciones sin maldad alguna, pero si es importante cumplirlo si esperamos poder publicar algo en el AppStore (que si andas algo despistado, te diré que es el sitio oficial donde haces públicas tus aplicaciones).<br />
</em></p>
<p><strong>El Simulador de iPhone</strong></p>
<p>La palabra &#8220;Simulador&#8221; llama un poco la atención. Es un simulador por que simula, pero no llega a ser un emulador, por que no es capaz de ejecutar aplicaciones nativas del iPhone. Xcode realmente compila una versión especial para procesadores intel que correrá dentro del &#8220;Simulador&#8221;.</p>
<p>Así &#8220;luciría&#8221; la plantilla sin hacer nada en el Simulador sobre OSX:</p>
<p><img class="alignnone size-full wp-image-165" title="simulador-vacio" src="http://ocioelectronico.es/wp-content/uploads/2009/05/simulador-vacio.png" alt="simulador-vacio" width="125" height="230" /></p>
<p>El fondo blanco es la plantilla (concretamente el fichero MainWindow.xib de la plantilla) en la que no hemos incluido nada.</p>
<p>Si editamos ese fichero con el Interface Builder (que arranca haciendo doble click en el desde xcode) podemos añadir elementos a la interfaz sólo con un par de clicks. Por ejemplo, añadiendo un UILabel y haciendo doble click en el podemos cambiarle el texto, lo cual se vería reflejado en la aplicación al compilar:</p>
<p><img class="alignnone size-full wp-image-166" title="label" src="http://ocioelectronico.es/wp-content/uploads/2009/05/label.png" alt="label" width="322" height="502" /> <img class="alignnone size-full wp-image-167" title="simulador-label" src="http://ocioelectronico.es/wp-content/uploads/2009/05/simulador-label.png" alt="simulador-label" width="395" height="741" /></p>
<p>En un principio la ejecución del Simulador y la ejecución nativa en el teléfono son muy parecidas. Las principales diferencias que he encontrado se encuentra en el cambio de las rutas, la falta de alguna aplicación accesoria en el simulador (como pudiera ser por ejemplo la aplicación de mapas) o el hardware que evidentemente no tiene.</p>
<p><strong>Gestión de memoria</strong></p>
<p><em>Quizá no he leído la documentación adecuada para entender este comportamiento con claridad. Recordemos que estoy contando mis impresiones. </em><em>Algo que me ha resultado incómodo a la hora de adaptarme a Objective C es la gestión de memoria, no por que sea bueno o malo, si no por que es diferente. Quizá mi problema pasase por que las &#8220;recetas&#8221; que he leído tampoco lo aplicaban con claridad o que el comportamiento &#8220;esperable&#8221; cambiase entre versiones.<br />
</em></p>
<p>En general el concepto es el mismo que en Java, una vez un objeto tiene 0 referencias este puede ser destruido en cualquier momento. Sin embargo en ocasiones he encontrado con que mis maravillosos objetos dejaban de existir al cambiar de contexto. En un principio esto podría evitarse aumentando el número de referencias con [objetoEnCuestion retain] (o reduciéndolas con [objetoEnCuestion release]), pero es algo que todavía veo algo borroso. Quizá por que se pueden crear con 1 referencias pero también con 0 referencias o quizá por el código que incluía la plantilla que estaba utilizando.</p>
<p><em>No quiero explayarme en exceso en esto, tengo una idea de como podría funcionar, pero no tengo tan claro que funcione realmente así, por lo que prefiero dejarlo con esta somera explicación de mi actual tropiezo del que espero levantarme muy pronto. </em><em>Para mi es el gran problema de aplicar &#8220;recetas&#8221;: en ocasiones quedan lagunas de cosas que deberían de ser obvias. Así que si realmente te interesa programar una aplicación para el iPhone o para OSX te recomendaría que leyeras un poco más que esas simples &#8220;recetas&#8221; para que no tengas las lagunas que <strong>hoy</strong> tengo yo.</em></p>
<p><strong>Interacción código-GUI</strong></p>
<p><img class="alignright size-full wp-image-168" title="codigo-gui" src="http://ocioelectronico.es/wp-content/uploads/2009/05/codigo-gui.png" alt="codigo-gui" width="287" height="260" />Dicha interacción se puede hacer de varias formas, los tutoriales de iniciación suelen utilizar el entorno gráfico, para enlazar las funciones que se desencadenan al interactuar con el interfaz y los objetos del código con los objetos del interfaz. De esta forma escogemos elemento a elemento cual &#8220;cacho de código&#8221; se relaciona con que elemento del interfaz y viceversa.</p>
<p>Otros tutoriales hacen uso de protocolos que casi se podría entender como &#8220;un interface&#8221;. De forma que un objeto creado en el interface builder o incluso uno creado dinámicamente &#8220;delega&#8221; su comportamiento en una clase que implementa dicho protocolo, de este modo, todos los eventos que desencadene dicho elemento del GUI deberían de estar implementados en la clase en la que delega.</p>
<p>A demás, como los elementos del interfaz irán colocados dentro de &#8220;vistas&#8221;, el código correspondiente irá por norma general en el &#8220;Controller&#8221; de esa vista.</p>
<p>Una única clase puede implementar diferentes protocolos de elementos de diferente naturaleza, pero recordemos que sin llegar a delegar completamente el comportamiento, podríamos escoger dentro de la misma clase que el &#8220;Botón A&#8221; hace una cosa y el &#8220;Botón B&#8221; hace otra y del mismo modo un mismo .xib puede llevar varios &#8220;Controller&#8221; (por ejemplo, podrías tener un listado en un UITableView con un &#8220;Controller&#8221; propio.</p>
<p>Igualmente, la forma de crear elementos del GUI no tiene por que ser a través del Interface Builder, si no que también podríamos crearlos por código y organizarlos por código en la pantalla, pero seguramente que lo idóneo sea algo intermedio, puesto que XCode viene listo para que tu aplicación incluya localización, de tal forma que ajustes los tamaños en función del idioma (piensa en la típica palabra que en un idioma es enorme y en otro son 3 letras).</p>
<p><strong>Conclusiones</strong></p>
<p>Tras ver como funciona un pequeño proyecto el sabor de boca que me ha quedado es más bien dulce que amargo.</p>
<p>Desventajas:</p>
<p style="padding-left: 30px;">- La sintaxis de &#8220;Objective C&#8221; me resulta más o menos:</p>
<p style="padding-left: 60px;"><strong>mi_opinion = [NSString initWithFormat:@"%@ es extraño",objectiveC];</strong></p>
<p style="padding-left: 30px;">- Me queda por entender bien por que en ocasiones se me liberan algunos objetos al cambiar de contexto y por que otros no se liberan (como comenté en el apartado de gestión de memoria)</p>
<p style="padding-left: 60px;">mi_opinion = invalid</p>
<p style="padding-left: 60px;"> <img src='http://ocioelectronico.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="padding-left: 30px;">- Alguien que no es desarrollador autorizado, no puede firmar aplicaciones para un iPhone sin crackear (tenemos incluso que llegar a parchear el MobileInstallation).</p>
<p style="padding-left: 30px;">- El SDK sólo está disponible para OSX. Lo cual explica que la mayor parte de las aplicaciones de soporte relacionadas con el iPhone funcionen casi siempre en OSX (y no sean multiplataforma).</p>
<p>Ventajas:</p>
<p style="padding-left: 30px;">- Me ha animado a conocer mejor el sistema operativo de Apple y conocer las alternativas debe de ser algo obligatorio para cualquier informático.</p>
<p style="padding-left: 30px;">- He tomado una ración individual de &#8220;Objective C&#8221;. Lo cual me lleva a la conclusión de la anterior ventaja.</p>
<p style="padding-left: 30px;">- Me ha encantado la integración entre los editores, compilador, debugger y Simulador.</p>
<p style="padding-left: 30px;">- Al fin he utilizado sqlite para algo mio <img src='http://ocioelectronico.es/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p style="padding-left: 30px;">- Al fin puedo llevar conmigo un dispositivo que puedo programar a gusto y con gran conectividad.</p>
<p>Y tu ¿habías programado alguna vez para tu teléfono móvil?</p>
]]></content:encoded>
			<wfw:commentRss>http://ocioelectronico.es/2009/05/12/mis-impresiones-sobre-objective-c-programando-para-iphone-utilizando-xcode/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Adios al antiguo OE.es :(</title>
		<link>http://ocioelectronico.es/2009/04/29/adios-al-antiguo-oe/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adios-al-antiguo-oe</link>
		<comments>http://ocioelectronico.es/2009/04/29/adios-al-antiguo-oe/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 21:31:20 +0000</pubDate>
		<dc:creator>Shark</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://ocioelectronico.es/?p=64</guid>
		<description><![CDATA[Finalmente me he decidido. Voy la antigua web y a reemplazarla por mi blog personal no con la intención de obtener visitas (más bien al contrario), si no terminar con el antiguo OE. Me gustaría agradecer especialmente el esfuerzo de Ank, cutuko, xakmsx y Duke, que colaboraron enviando enlaces, votaron y comentaron. Sinceramente, me habeis <a href='http://ocioelectronico.es/2009/04/29/adios-al-antiguo-oe/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Finalmente <a href="http://ocioelectronico.es/2009/04/20/presentacion/" target="_self">me he decidido</a>. Voy la antigua web y a reemplazarla por mi blog personal no con la intención de obtener visitas (más bien al contrario), si no terminar con el antiguo OE.</p>
<p>Me gustaría agradecer especialmente el esfuerzo de Ank, cutuko, xakmsx y Duke, que colaboraron enviando enlaces, votaron y comentaron. Sinceramente, me habeis ayudado mucho empujado un poco a mantener el esfuerzo.</p>
<p>A los demás que leían la web y no enviaban noticias también desearía darles las gracias.</p>
<p>Creedme cuando digo que no es un cambio que me guste por que me gustaba la idea de un menéame de videojuegos (sin politizar y sin gente a la que NO les gusten los videojuegos).</p>
<p>Pero en fin, la etapa se cierra y a otra cosa <img src='http://ocioelectronico.es/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ocioelectronico.es/2009/04/29/adios-al-antiguo-oe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comprando un iPhone (y siendo investigado por ello)</title>
		<link>http://ocioelectronico.es/2009/04/23/comprando-un-iphone-y-siendo-investigado-por-ello/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=comprando-un-iphone-y-siendo-investigado-por-ello</link>
		<comments>http://ocioelectronico.es/2009/04/23/comprando-un-iphone-y-siendo-investigado-por-ello/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 18:22:08 +0000</pubDate>
		<dc:creator>Shark</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://ocioelectronico.es/wp/?p=15</guid>
		<description><![CDATA[Os voy a contar algo que me aconteció hace un par de semanas (concretamente el día miercoles de semana santa). El iPhone es uno de esos gadgets de moda: Es típico colgar un anuncio de compara/venta y que al poco rato te llamen preguntando por él. No dejaría de ser un gadget más, si no <a href='http://ocioelectronico.es/2009/04/23/comprando-un-iphone-y-siendo-investigado-por-ello/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_24" class="wp-caption alignright" style="width: 187px"><img class="size-medium wp-image-24" title="Iphone 3G" src="http://ocioelectronico.es/wp-content/uploads/2009/04/iphone3g_02-300x236.jpg" alt="Iphone 3G" width="177" height="138" /><p class="wp-caption-text">Iphone 3G</p></div>
<p>Os voy a contar algo que me aconteció hace un par de semanas (concretamente el día miercoles de semana santa).<br />
El iPhone es uno de esos gadgets de moda: Es típico colgar un anuncio de compara/venta y que al poco rato te llamen preguntando por él. No dejaría de ser un gadget más, si no fuese porque también es un teléfono móvil y no un mp3 como pudiera ser el iPod o una videoconsola, como pudiera ser una PSP.</p>
<p>Ya hay pocos despistados que no saben que un teléfono móvil tiene un número de serie que lo identifica y que se puede hasta cierto punto triangular entre las antenas que le dan cobertura. Por lo que un teléfono robado no sólo podría bloquear tras un robo si no que dentro de sus limitaciones, se podría localizar. Al contrario, una PSP o un iPod robado sólo podrían ser localizados de forma casi casual o investigando de la forma más tradicional.</p>
<p>Por ahora no he contado nada fuera de lo habitual, sólo repasado una obviedad. Ahora contaré lo que me ha ocurrido a mí el pasado Miércoles (el inmediatamente anterior al jueves santo).</p>
<p><span id="more-15"></span></p>
<p>Tras pasar un par de días revisando anuncios en los que se vendiesen iPhones de segunda mano, encontré uno que me llamó la atención (entre otras cosas porque no aparentaba el tipiquísimo timo).</p>
<p>Tras analizar el anuncio no encontré información sospechosa sobre el vendedor y decidí llamarle. Me atendió un tipo con voz &#8220;afeminada&#8221; (o una tipa con voz &#8220;masculina&#8221; xD). Esta persona me dijo que el que vendía el teléfono no estaba presente y que tardaría 10 minutos y transcurridos esos 10 minutos me llamaron nuevamente desde otro teléfono y acordamos un lugar y una hora.</p>
<p>Aprovechando la nueva información busqué información sobre este nuevo número y si encontré cosas extrañas (como pudiera ser un anuncio en el que se ofrecía sexo a mujeres y un par de ventas). Igualmente esta persona me ofreció hacer el trato en un lugar conocido por mi y con bastante transitado, por lo que decidí ir con mi hermano (este guardó el dinero y yo me separé de él para entablar conversación).</p>
<p>Llegué a la zona acordada y allí estaba el &#8220;vendedor&#8221; con el teléfono.<br />
El teléfono era un iPhone 3G 16GB, por lo que avisé a mi hermano de que se acercase con el dinero y le dejamos el dinero al &#8220;vendedor&#8221; para que pudiera comprobarlo mientras nosotros toqueteábamos el teléfono. En ese momento aprecié una ralladura muy profunda en la pantalla tan grande como para que la uña se enganche con gran facilidad. Este defecto estaba disimulado con una gran capa de suciedad que posiblemente hubieran colocado ahí intencionadamente (puesto que los surcos de la mugre coincidían con el de la grieta).</p>
<p>Visto esto, le pregunté si sería posible obtener la factura para poder solicitar una reparación o piezas de repuesto. A lo que me dijo que él creía que sí, pero que tendríamos que esperar al Lunes. A mí no me había gustado nada la idea de esa marca y esperaba pedirle un gran descuento por ello, pero a mi hermano no le gustó nada la idea, por lo que deshicimos el cambio. Recuperamos el dinero y le dimos el teléfono.</p>
<p>Y aquí llega un dato curioso: en el momento en el que mi hermano cogió el dinero y yo devolví el teléfono apareció una persona de mi misma edad, despeinado y con barba de 3 o 4 días que hablaba de forma informal que dijo ser un policía. Yo al principio pensé &#8220;Este nos quiere timar, ¡FIJO!&#8221;, por lo que le indiqué al policía que encestábamos algo más que su palabra para creer este dato. Acto seguido nos enseñó una placa y nos quedamos igual de incrédulos. Así que decidimos con su consentimiento, llamar a la policía y preguntar nosotros mismos y resultó que ¡SI! era un policía nacional.</p>
<p>Mi hermano y yo nos encontrábamos completamente sorprendidos, puesto que no veíamos nada raro en la transacción (a fin de cuentas es lo que hace todo el mundo en eBay, a diferencia de que habíamos acordado hacer el intercambio en la vía pública). Según indicaba el policía, él creía que el teléfono podía ser robado, por lo que tras llamar a su compañero (otra persona con apariencia normal/desaliñado) confirmaron con su central que no constaba ninguna denuncia con el IMEI del teléfono. Pero les había resultado muy sospechoso el intercambio en la calle.</p>
<p>Como el tipo no disponía de documentación del terminal para probar que él era el dueño nos pidieron la identificación (puesto que según ellos habíamos llegado a realizar tal transacción, lo cual era imposible puesto que el tenia el teléfono y mi hermano el dinero). Después de explicarle que si el &#8220;vendedor&#8221; tenía el teléfono y nosotros el dinero no habíamos llegado a realizar tal compra, sólo mediado. En este punto creo que el policía lo entendió, pero no quiso decir ni sí ni no.<br />
Les pregunté 2 veces si existe algún tipo de ilegalidad si el teléfono se encuentra en regla (una vez a cada policía, mientras uno tomaba nota y mientras el otro hablaba con el vendedor), a lo cual uno me dijo que habría que documentar el cambio de titular para evitar problemas con denuncias de robo y el otro que no sabía.</p>
<p>Igualmente le facilitamos cada uno la documentación correspondiente ambos policías (imagino que por si surgiese posteriormente una denuncia de robo del terminal que nos vendían). Imagino que todo terminaría ahí, si no fuese porque el &#8220;vendedor&#8221; esquivaba algunas preguntas personales y otras las contestó de forma esquiva.</p>
<p>Al final de una larga conversación, creo que todos entendimos la situación: el tipo que nos vendía el teléfono estaba casado legalmente con el titular del teléfono (pero él llamaba al dueño &#8220;ella&#8221;). Esto debió de desconcertar bastante a ambos policías, que debían de pensar que esa nueva información era para &#8220;tapar un error&#8221; en su versión. Por lo que decidieron acompañarle a su domicilio a contrastar todo. Mi hermano y yo preguntamos si nos podíamos marchar y les dejamos continuando con el tema.</p>
<p>Mis conclusiones:</p>
<p>- Lo primero es que no he vuelto a saber nada del asunto. Y aun que no creo que finalmente lo consideraran ningún tipo de delito sólo sé que han tomado nuestros datos y que no se que ha sido de ellos.<br />
- Tengo la impresión de que el vendedor decía la verdad, pero temía que no creyeran su versión y el intentaba darnos una más creíble.<br />
- Si compras un teléfono, obtén su documentación original. Y si puedes tener una prueba de que lo has adquirido de su titular, mejor.<br />
- Cuidado al realizar transacciones en la calle o puedes ser mal interpretado.<br />
<strong>- Me he comprado un iPhone libre con factura (ya hablaré de este teléfono).</strong></p>
<p>No siento ningún rencor ni con el vendedor ni con los policías puesto que estaban ejerciendo correctamente su trabajo. Simplemente me apetecía contar la historia.</p>
]]></content:encoded>
			<wfw:commentRss>http://ocioelectronico.es/2009/04/23/comprando-un-iphone-y-siendo-investigado-por-ello/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentación</title>
		<link>http://ocioelectronico.es/2009/04/20/presentacion/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=presentacion</link>
		<comments>http://ocioelectronico.es/2009/04/20/presentacion/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 09:09:08 +0000</pubDate>
		<dc:creator>Shark</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.ocioelectronico.es/wp/?p=1</guid>
		<description><![CDATA[Bienvenidos a mi nuevo blog. Para los despistados, este blog ha aparecido inicialmente como medio para comunicar cambios en un sistema similar a menéame, pero orientado a los videojuegos que en el momento de escribir este post se encontraba en: http://ocioelectronico.es/ pero que aparenta dirigirse a la desaparición. Inicialmente el objetivo de dicha web era <a href='http://ocioelectronico.es/2009/04/20/presentacion/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_27" class="wp-caption alignright" style="width: 90px"><img class="size-full wp-image-27" title="Logo OcioElectronico.es" src="http://ocioelectronico.es/wp-content/uploads/2009/04/oe.png" alt="Logo OcioElectronico.es" width="80" height="73" /><p class="wp-caption-text">Logo O.E. </p></div>
<p>Bienvenidos a mi nuevo blog.<br />
Para los despistados, este blog ha aparecido inicialmente como medio para comunicar cambios en un sistema similar a menéame, pero orientado a los videojuegos que en el momento de escribir este post se encontraba en: <a href="http://ocioelectronico.es/" target="_blank">http://ocioelectronico.es/</a> pero que aparenta dirigirse a la desaparición.</p>
<p>Inicialmente el objetivo de dicha web era similar a la de menéame, con la excepción de buscar un público diferente que no votase irrelevante una gran noticia sobre esta temática. Con esta web trataba de demostrar que es factible una comunidad en la que usuarios de diferentes plataformas podrían compartir noticias sin aferrarse a fanatismos de una u otra marca.</p>
<p>Si bien es cierto que no me curré en gran medida el diseño, puesto que reutilicé la apariencia del menéame original, pero con un color diferente el proyecto parece no avanzar: la gente visita la web pero no participa y si yo no participo la web deja de visitarla por que no tiene contenido.</p>
<p>En mi opinión, bajo esas circunstancias una red social no tiene sentido puesto que no existe tal red social si yo soy casi toda esa sociedad. Aun pudiendo parecer que le dediqué poco tiempo no es así: el problema radica en que dicho tiempo he tenido que dedicárselo a añadir yo mismo el contenido en lugar de perfeccionar técnicamente la web.</p>
<p>Visto lo visto, estoy pensando en aprovechar la pequeña inversión que me supuso la web para publicar algún problema neuronal mío (como pudiera ser una opinión sobre un videojuego).</p>
<p>Por tanto, durante un tiempo convivirán las 2 webs y este blog permanecerá medio escondido durante un tiempo mientras decido que haré finalmente.</p>
]]></content:encoded>
			<wfw:commentRss>http://ocioelectronico.es/2009/04/20/presentacion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

