<?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>Informática &#8211; freniche.com</title>
	<atom:link href="/category/informatica/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>Another personal blog about everything tech-related</description>
	<lastBuildDate>Sun, 30 Dec 2018 19:56:49 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.8.13</generator>
	<item>
		<title>El lamentable estado de las herramientas de desarrollo iOS</title>
		<link>/2017/06/01/el-lamentable-estado-de-las-herramientas-de-desarrollo-ios/</link>
		<pubDate>Thu, 01 Jun 2017 10:36:54 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Don erre que erre]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[swift]]></category>
		<category><![CDATA[WWDC]]></category>

		<guid isPermaLink="false">/?p=2782</guid>
		<description><![CDATA[Apelando a Murphy, voy a escribir esto justo antes de la WWDC, a ver si Apple me deja por tonto cambiando todo de lo que me voy a quejar aquí. Por desgracia no lo espero. Espero que presenten «otras 1000 APIs» que realmente no necesito. Lo que necesito es que eliminen los bugs que existen [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Apelando a Murphy, voy a escribir esto justo antes de la WWDC, a ver si Apple me deja por tonto cambiando todo de lo que me voy a quejar aquí. Por desgracia no lo espero. Espero que presenten «otras 1000 APIs» que realmente no necesito. Lo que necesito es que eliminen los bugs que existen en las que ya hay. Y que las herramientas funcionen. No que añadan cosas. Que arreglen bugs.</p>
<p>Hace tres años escribí sobre <a href="/2014/06/26/el-lamentable-estado-de-las-herramientas-de-desarrollo-android/">El lamentable estado de las herramientas de desarrollo Android</a>. En aquella época, lo que existía para desarrollo Android (oficial) era el plugin ADT para Eclipse. Y, como relato en el post, no funcionaba algo que era un simple ZIP. Eclipse, Java 6, fallos en las herramientas, un Android Studio que estaba en Alpha, una documentación horrorosa, una API discutible (ver p.ej. el método <code>isUserAGoat</code> en <a href="https://developer.android.com/reference/android/os/UserManager.html#//apple_ref/clm/isUserAGoat%28%29">UserManager</a>), la lentitud de Gradle si probabas AS&#8230; Esto era la muerte por mil cortes, comparado con el mundo iOS, con esas APIs Cocoa tan consistentes, un Xcode tan bonito y que entonces no fallaba tanto&#8230;</p>
<p>Y encima Apple presentó Swift en Junio de 2014. La promesa de un nuevo lenguaje, compatible con Objective-C, con C, C++, pero funcional, con inmutabilidad, Opcionales, genéricos, &#8230; Todo se veía de color de rosa desde el mundo iOS, comparado con el cenagal que era el desarrollo Android.</p>
<h2>Apple: Non-Pro Macs</h2>
<p>Apple <a href="/2017/05/08/apple-tenemos-que-hablar/">ya no hace ordenadores para desarrolladores</a>. Y me parece muy bien, si así gana más dinero. Pero debe entonces afrontar las cosecuencias, que van a ser (porque esto ya ha lo he visto antes en otras plataformas):</p>
<ul>
<li>los desarrolladores se compran otras máquinas y se montan un Hackintosh para seguir desarrollando en iOS / Mac. MacOS se convierte en «ese sistema operativo que te ves obligado a usar por el trabajo». Apple no gana dinero con las máquinas. Tienes dual-boot y cada vez usas más Windows. Peligro.</li>
<li>los desarrolladores directamente se pasan a Windows 10 / Linux con mejores portátiles (y a mejores precios, que no todos tenemos una mina de oro en el sótano de casa) y usan MacOS en una máquina virtual (cosa que prohíbe la licencia, como el Hackintosh, pero ponle puertas a ese campo&#8230;). Goto 1</li>
<li>algunos desarrolladores se cabrean tanto con el poco aprecio que sienten desde Apple que <a href="https://twitter.com/spolsky/status/833082540995014656">directamente abandonan la plataforma</a>, algo que a dia de hoy se puede hacer ya que el mercado de trabajo tiene ofertas casi para todo tipo de perfiles de desarrollo. </li>
</ul>
<p>Si los programadores se van de una plataforma, esta se muere. Lo he visto con OS/2, con Amiga, con Linux (¿este es el año de Linux en el escritorio? Y sí, ya se que se usa mucho Linux en Android, que es Linux, y en la RaspberryPi, y que llevo usando Linux desde el 93, que no me cuentes de qué va eso que yo voté porque Tux fuera la mascota de Linux y tú no).</p>
<p>Casi le pasa a Microsoft. El rechazo que generó con sus Internet Explorers le ha llevado a ceder casi toda la cuota de mercado a Chrome. Y no hablemos del patinazo Vista, que enmendó con Windows 7. Es por eso el titánico esfuerzo que está haciendo ahora mismo Microsoft, permitiéndote ejecutar <a href="https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/">Linux en Windows</a> de forma nativa, o dándote la <a href="https://blogs.windows.com/buildingapps/2016/03/30/run-bash-on-ubuntu-on-windows/#zyguw3uS8gw66FL3.97">bash</a>. Atraer programadores que son los que riegan este campo con sus aplicaciones.</p>
<h2>2017</h2>
<p>Es 2017. Swift va a sacar la versión 4, con nuevos cambios que te obliguen a actualizar tu código, o no compila. Con ese asistente que tiene Xcode tan bueno. Si no tenías listo el lenguaje en 2014&#8230; ¿para qué sacarlo? ¿Porque Chris Latter estaba harto y se <a href="http://www.businessinsider.com/chris-lattner-swift-creator-leaves-apple-2017-1">quería ir</a>? Pero bueno, era 2014 y podíamos entenderlo, Apple. Pasamos por Swift 1, 1.1, 1.2, y los cambios a Swift 2. Y Swift 3. Contínuamente cambiando una base de código que funciona para hacer que siga funcionando. Es decir, gastar horas para seguir en el mismo punto. No añadir nuevas funcionalidades. Que <em>compile</em>. Coding is fun.</p>
<p>Al menos el compilador de Swift es rápido. Tanto, que cuando ejecuto Gradle en Android me parece instantáneo. Gradle, quiero decir. Pero en cada WWDC nos dicen que «ahora el compilador de Swift es un 20% más rápido». Con tantos avances en velocidad mi código debería terminar de compilar&#8230; en 1984. De lo rápido que compila. Pero la realidad es la realidad, y Swift es <strong>horriblemente</strong> más lento compilando que su equivalente en Objective C. Y es una pena, porque el lenguaje es muy bonito. Apple ha hecho un <a href="https://en.wikipedia.org/wiki/Sherlock_(software)">Sherlock</a> de Kotlin con Swift, lo que está bien. Si ahora hiciese un Sherlock de IntelliJ, todos contentos.</p>
<p>Porque cansa ver cómo se arrastra el compilador. Cómo haces Cmd+click en un símbolo y no lo encuentra (es una función de ámbito global <em>y no la encuentra</em>). O cómo el autocompletado es totalmente random. O cómo pones un punto de ruptura dentro de una clausura y no puedes depurar el valor de las variables de la clausura. Bueno, sí puedes&#8230; usando println. NSlog oriented debugging FTW!</p>
<p>Al menos podemos refactorizar nuestro código. Esto significa que puedes cambiar el nombre a una clase. Fin de los refactors. Y en Objective-C. En Swift nada. Zero. Nil. Y de generar código ni hablamos. Últimamente Xcode no es capaz ni de comentar líneas de código con Cmd + / o <em>acertar</em> y autocompletarte los nombres de las librerías en los imports.</p>
<p>O cómo la comunidad ha tenido que solucionar problemas básicos que Apple se niega a ver. ¿Resolución de dependencias y librerías de terceros? En Android: Gradle. Soportado. En iOS: CocoaPods, Carthage, o a mano. Todos proyectos de la comunidad. ¿Plugins? En Android: Android Studio tiene de todo. En iOS: han metido un sistema de plugins tan restringido que, la verdad, no conozco a nadie que esté usando algún plugin que merezca la pena (indicadme por Twitter los mejores, por favor). Y de paso se han cargado un proyecto como Alcatraz, que sí que ofrecía un montón de plugins, temas y plantillas de ficheros porque, ¿quién quiere algo mejor cuando mi versión inferior patentada por Apple ya viene con Xcode? Y sí, entiendo los problemas de seguridad de los plugins, y que Xcode viene firmado y todo eso. Pero digo yo que habrá alguna solución intermedia colocando los plugins en otro proceso fuera del sandbox de Xcode&#8230;</p>
<h2>WWDC</h2>
<p>Así que, en esta próxima <strong>Developers Conference</strong>, vamos a abrir la Keynote hablando de lo mucho que vendemos, de lo buenos que son los portátiles con la ToyBar, de lo chulos que son los auriculares Beats, de todas esas cosas que nos interesan muchísimo a los programadores, <strong>que es a los que debe ir dirigida la Keynote</strong>. Nuevos colores para las correas del reloj. Nuevas animaciones en macOS para organizar tus ventanas en 15 espacios para que nadie lo use nunca, porque todos usamos un monitor externo. Y Apple Music, que todo programador necesita música de fondo y eso. Pagando.</p>
<p>Pues no. Este año no renové mi Apple Membership por primera vez en 6 años. Y cada vez me cuesta más y me duele más abrir Xcode. Porque veo lo que podría ser, lo comparo con un excelente IDE (con sus problemas, pero mucho mejor para <em>escribir</em> código) como IntelliJ y me sangra el corazón. Quiero seguir programando en un Mac en 2027. No me eches de tu jardín, Apple.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Cómo preparar las certificaciones Java (y probablemente el resto)</title>
		<link>/2017/05/24/como-preparar-las-certificaciones-de-java-y-probablemente-el-resto/</link>
		<pubDate>Wed, 24 May 2017 11:28:52 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[certificaciones]]></category>
		<category><![CDATA[Java SCJP]]></category>

		<guid isPermaLink="false">/?p=2752</guid>
		<description><![CDATA[Estoy preparándome la certificación OCP Java SE 8. No preguntes por qué. Quizás porque soy adicto a coleccionarlas, tras tener el SCJP 1.5, 1.6, SCWCD 1.5 y SCBCD 1.3 y llevaba años sin presentarme a ninguna. O porque las que tengo ya son antiguas y quería tener una actualizada. O porque quería aprender Java 8 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Estoy preparándome la certificación OCP Java SE 8. No preguntes por qué. Quizás porque soy <a href="/2008/12/22/scjp-15-aprobado-con-un-pirrico-70-pero-aprobado-al-fin/">adicto a coleccionarlas</a>, tras tener el SCJP 1.5, 1.6, SCWCD 1.5 y SCBCD 1.3 y llevaba años sin presentarme a ninguna. O porque las que tengo ya son <em>antiguas</em> y quería tener una actualizada. O porque quería aprender Java 8 con cierta profundidad, ver todo lo nuevo que tiene que ofrecer (que es mucho, aunque quizás llega tarde) y compararlo con lo que he aprendido en otros lenguajes (Swift, te estoy mirando).</p>
<p>Además, he tenido la oportunidad de preparar a varios grupos para obtener esta certificación&#8230; que yo ahora mismo no tengo. <a href="/2015/08/11/fraudismo-101-ensenar-las-verguenzas/"><em>Fraudismo at its best</em></a>. Aunque en este caso no tengo tanto síndrome del impostor por una razón: puede que no tenga (aún) la certificación Java 8, y mis conocimientos de Java son muy mejorables, pero me autotitulo como el <em>mayor experto mundial en aprobar estos exámenes</em>. Y eso es gracias a mi sistema, el <em>Sistema Freniche para aprobar las Certificaciones Java</em> AKA sentido común.</p>
<h2>El Sistema Freniche para aprobar las Certificaciones Java</h2>
<p>Es un sistema muy probado, tanto personalmente como con montones de alumnos que he preparado para distintas certificaciones. Se basa en 9 pasos:</p>
<ol>
<li>
<p>Buscar un buen libro, que cubra todo el temario de la certificación. En este caso, he escogido el <a href="https://www.amazon.es/OCP-Certified-Professional-Programmer-1Z0-809/dp/1119067901/ref=sr_1_1?ie=UTF8&amp;qid=1490033852&amp;sr=8-1&amp;keywords=ocp">oficial de Oracle</a></p>
</li>
<li>
<p>Leer el libro, saboreando cada capítulo. Aunque el objetivo último es aprobar el examen, hay mucho que podemos aprender aunque tengamos muchos años de experiencia con Java. <em>Especialmente</em> si tenemos muchos años de experiencia con Java trabajando siempre en proyectos similares, porque habrá montones de cosas que no hemos probado o visto por falta de tiempo.</p>
</li>
<li>
<p>Escribe código. Mucho código. Haz pequeños ejemplos. Búscate las vueltas. Piensa retorcidamente. Prueba cosas extrañas (ver anexo Cosas Extrañas al final)</p>
</li>
<li>
<p>Crea tus propios apuntes. O extiende <a href="https://github.com/dfreniche/ocp-java8-notes">los míos</a></p>
</li>
<li>
<p>Escribe más código. Cuando te surjan dudas, vuelve a leer esa parte del libro. Y vuelve a escribir código probando todo.</p>
</li>
<li>
<p>Cuando termines el libro, haz las preguntas de repaso de cada tema. Descubrirás que aún no has memorizado o te has fijado en partes. Goto 2</p>
</li>
<li>
<p>Busca un simulador de exámenes. En mi caso siempre uso <a href="http://enthuware.com/index.php/mock-exams/oracle-certified-professional/ocpjp-8-questions">Enthuware</a> porque me ha ido bien (no porque me paguen por hacerles publicidad, aunque ya podrían <img src="https://s.w.org/images/core/emoji/2.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> )</p>
</li>
<li>
<p>Haz exámenes de prueba. Falla. Vuelve a leer. Escribe código. Haz exámenes.</p>
</li>
<li>
<p>Cuando en los exámenes del simulador estés llegando al 80% de aciertos, preséntate. Pasarás con nota.</p>
</li>
</ol>
<h2>¿Cuánto tiempo me va a llevar esto?</h2>
<p>Pues depende. Leer el libro e ir probando pueden ser unas 30 h. Y luego hay que hacer los exámenes de prueba. Lo ideal es ponerse una fecha tope y en un par de meses <em>power through it</em>. Quitártelo de en medio, vamos.</p>
<p>Aunque recibir un excelente curso de formación, patrocinado por tu empresa e impartido por un profesional de prestigio siempre puede ayudarte bastante y</p>
<p><code>(interrumpimos este _shameless plug_ para continuar con lo que has venido a leer aquí)</code></p>
<h2>Cómo presentarte al examen</h2>
<p>Yo tengo mi ritual, pero lo ideal es que cada uno ejecute el suyo, porque lo normal es que estés nervioso/a ese día. Lo que yo hago es:</p>
<ul>
<li>levantarme bastante temprano</li>
<li>comprobar que llevo algún documento, como el DNI en España que me identifique. Si no, no puedo hacer el exámen.</li>
<li>llegar con más de 1h de adelanto a los alrededores de donde tenga el Centro Prometric para presentarme.</li>
<li>desayunar o tomar café. Aunque el examen sea a las 13:00h en Sevilla en Agosto. Café. Para estar <em>tranquilo</em>.</li>
<li>llevar el libro de preparación de la certificación conmigo en la mochila, aunque no lo voy a leer mientras tomo café ni me van a dejar tenerlo conmigo durante el examen. Lo uso de talismán y porque no soy el más listo. Pero tengo que sentir que está cerca por si me ataca el pánico y alguna duda concreta en el último momento.</li>
<li>cargar con el portátil que no me van a dejar usar por las mismas razones que el punto anterior: porque no soy demasiado astuto.</li>
<li>llevar agua. Y caramelos. Para darte un premio según avance el exámen y beber para mantenerse hidratado.</li>
<li>ir al cuarto de baño justo antes de entrar, porque voy a estar bebiendo más agua que un caracol en el desierto durante la prueba.</li>
</ul>
<h2>¿Pero esto de las certificaciones sirve para algo?</h2>
<p>Pues esto es un debate interesante, que puedes tener con quien quieras menos conmigo poque que en mi caso lo tengo bastante claro:</p>
<ul>
<li>las certificaciones no demuestran que sepas más Java que nadie</li>
<li>demuestran que eres capaz de fijarte un objetivo, que te va a requerir un esfuerzo extra y cierto sacrificio y pasarlo</li>
<li>demuestran que tienes una base en el lenguaje Java</li>
<li>preparar esta certificación me ha supuesto toda una sorpresa, porque la he encontrado 100% útil: multihilo con Thread Pools y el paquete <code>java.util.concurrent</code>, programación funcional con Lambdas, map, reduce, streams, parallel streams, problemas de concurrencia y multihilo, acceso a BDs con JDBC (que hasta ahora era lo único que usaba en Android), uso de ficheros, excepciones, Opcionales,&#8230;</li>
<li>demuestran que eres capaz de estar 2 horas y media seguidas trabajando enfocado en una sola tarea, sin usar Internet ni mirar Twitter. Y eso es una rara cualidad hoy día, en los entornos multi-interrupción de que <em>disfrutamos</em> trabajando. </li>
</ul>
<p>Esto último es probablente lo más difícil. Ser capaz de nuevo de estar haciendo una tarea durante 2 horas y media sin moverte de la silla. Esto se entrena con los exámenes del simulador. Y es duro, porque tú eres tu mayor enemigo.</p>
<h2>Anexo: Cosas extrañas</h2>
<p>Cosas que puedes hacer con Java, como escribir bucles así</p>
<pre><code>Predicate&lt;Integer&gt; end = e -&gt; e &lt; 10; int i = 0; 
for (int j = 1; end.test(i) ; i++, j++, System.out.println("i " + i)) ;

// imprime i 1, i 2, i 3...
</code></pre>
<p>Usar bloques de código de instancia (NO usar en código real)</p>
<pre><code>class Cat {
    String name;

    {
        System.out.println("I'm a Cat!");
        name = "Meow!";
    }

    Cat() {
        name = "Garfield";
    }
}
</code></pre>
<p>Programar «código encriptado» <img src="https://s.w.org/images/core/emoji/2.3/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<pre><code>class _ {
    String _ = "Hello";
}

// más adelante...

_ _ = new _();
System.out.println(_._);   // imprime "Hello"

_ $ = _;
System.out.println($._);   // imprime "Hello"
</code></pre>
<p>Y otras muchas barbaridades que podría añadir&#8230;</p>
]]></content:encoded>
			</item>
		<item>
		<title>Apple, tenemos que hablar</title>
		<link>/2017/05/08/apple-tenemos-que-hablar/</link>
		<pubDate>Mon, 08 May 2017 18:27:32 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">/?p=2749</guid>
		<description><![CDATA[Estoy pasando momentos bajos en mi relación con Apple. Cuando dejé Linux y me pasé a los Macs, en 2008, todo eran vino y rosas. Descubrí un S.O., OS X, que era un UNIX bonito. Un UNIX que no tenía que preocuparme de mantener. En el que los drivers de audio siempre iban a funcionar, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Estoy pasando momentos bajos en mi relación con Apple. Cuando dejé Linux y me pasé a los <a href="/2008/04/04/razones-para-no-usar-un-mac/">Macs</a>, en 2008, todo eran vino y rosas. Descubrí un S.O., OS X, que era un UNIX <em>bonito</em>. Un UNIX que no tenía que preocuparme de mantener. En el que los drivers de audio siempre iban a funcionar, sin preocuparme de si eran ALSA o no. Un S.O. que además venía envuelto en unas máquinas que siempre me parecieron increíbles. Bonitas, precisas, avanzadas, potentes. Como me dijo <a href="https://twitter.com/xeleh">Xeleh</a> una vez «yo me compré un Mac para instalarle Windows porque quería tener el mejor PC portátil del mercado».</p>
<p>Entonces Apple sacó el iPhone 3G, y me compré uno en un viaje a Bélgica (en España aún no los vendían porque no había ninguna Apple Store por entonces). Y tras esa maravilla vino el iPad 1, el 3Gs, el iPhone 4&#8230; Apple siempre sacaba algo que me gustaba por alguna razón y que compraba, como su Time Capsule (que falló, como tantas). Y me compré un iMac (que aún tengo como máquina de escritorio principal, y como monitor para mi PC de gaming). He tenido otros modelos, desde varios PowerMac G5 hasta un Mac Mini G4 que corre <a href="/2010/10/19/mi-macmini-con-morphos-2-6/">MorphOS</a> (un S.O. alternativo inspirado y compatible con el software de Amiga) o un PowerMac G3 que aún conservo.</p>
<p>Eran años de vino y rosas, de maravillas.</p>
<p>Entonces Apple sacó el Apple Watch.</p>
<p>Este fue el primer producto de Apple en mucho tiempo que me dejó frío. Mi mujer, por ejemplo, lo tiene y usa a diario. Pero en mi caso, que llevaba 20 años sin usar un reloj ¿cargar uno cada noche para poco más que ver la hora? Por ironías del destino, vuelvo a llevar reloj, pero en mi caso es un feísimo, durísimo, utilísimo, Polar M400 con una semana de batería que me llevo cuando voy a trotar por el campo. Por menos de 100 Eur. hace todo lo que necesito y más: registra mis carreras con GPS y monitoriza mi actividad diaria. Y da la hora. Veo que el Apple Watch es mucho más bonito, es a fin de cuentas un móvil pequeñito con correa, pero al igual que a las difuntas Google Glass, no le veo utilidad en mi caso.</p>
<p>Bueno, esto no es para tanto, me dije. Pronto sacarán algo que realmente me interese. Pero tras sacar el iPhone 6+, con una pantalla grande como los otros teléfonos Android que tengo, las mejoras en los iPhones me han parecido irrelevantes. Sí, mejor cámara. Sí, tienes ahora 3D touch. Vale, más potente gráficamente. Pero que no estoy dispuesto a gastarme otros 900 Eur para tener esas mejoras. Y el colmo ha venido cuando han quitado el conector para auriculares estéreo jack de 3.5mm. Se ve que alguien en Apple tuvo un problema de niño con este conector, porque el iPhone original tenía un conector de 2.5mm y necesitaba un adaptador. Y en cuanto han podido lo han <em>deprecado</em>. Supongo que para vender más auriculares Beats con Bluetooth. Y entiendo perfectamente la comodidad de BT, y se que con BT4 la calidad de sonido es bastante buena. Pero si voy a pagar con <em>mi</em> dinero un móvil, quiero que me de opciones. Como la de usar unos auriculares con cable porque suenan mejor, porque me da placer insertar el jack de 3.5mm o <em>porque me da la gana y pago yo</em>. Por increíble que parezca, los consumidores a veces tenemos criterio, y sabemos qué nos gusta y qué no, especialmente cuando lo pagamos con nuestros ahorros&#8230;</p>
<p>Y luego se han ido amontonando Keynotes horribles de Apple, en los que presentaban más y más cosas que no me interesan. Apple Music. Lo siento, pero prefiero dedicar un presupuesto de 12 Eur. mensuales y comprarme un CD en Amazon al mes. Porque me gusta abrir el CD. Porque me encanta tener la molestia de <em>ripearlo</em> al nivel de calidad que yo quiera. Porque es un disco físico que puedo prestar o vender si me harto de él. Porque soy viejuno. Echo de menos sentarme a escuchar música sin hacer otra cosa que escuchar la música, como cuando era un chaval. Es increíble la de notas e intrumentos que hay ahí, si les prestas atención. Bueno, eso es si no escuchas <em>Reggaeton</em>, claro. Estoy hablando de música&#8230;</p>
<p>Y los días y semanas se convertían en meses. Y el Mac Pro no se actualizaba. Los iMacs tampoco. Al final, ni siquiera los MacBooks. Los Mac Minis ¿qué era aquello? Una pena abandonar la mejor solución para tener servidores macOS (que aunque a alguien en Apple le sorprenda, siguen siendo necesarios). Y después de abandonar los Xserve y ahora dejar de lado los Mini, no se si en apple quieren que los <em>racks</em> donde se alojan los servidores pongamos iMacs&#8230;</p>
<p>Al final, la gota que ha colmado mi vaso ha sido el nuevo MacBook NoPro con ToyBar™. Un portátil en el que se destila la obsesión anoréxica por el «más delgado y ligero» que está bien, si no se pierde la potencia. Pero cuando pones un teclado, que para <a href="https://twitter.com/spolsky/status/833082540995014656">Joel Spolsky</a> es horrible (y me fío algo de la opinión de este señor), no permites, tras tantísimo tiempo sin actualizar, ampliar más de 16 GB RAM, quitas las teclas físicas de función y metes un Apple Watch estirado, en un esfuerzo por dar la impresión de que innovas, te cargas el puerto MagSafe, una de las cosas que siempre me han gustado más de los portátiles Apple y metes únicamente USB-C, pues no puedo estar contento. Que USB-C que estará muy bien en el futuro, o con adaptadores, pero que como he dicho antes si pago por un producto quiero que me sirva <em>ahora</em>, no en el futuro. Y actualmente ni siquiera el último iPhone es USB-C, con lo cual para conectar el último teléfono al último ordenador de Apple necesitas un adaptador&#8230; Sin contar con que pasamos de conector de 30 pines a lighning ¿y ahora viene otro distinto? Esto es innovación permanente, o ansia por vender adaptadores permanente, no lo tengo claro.</p>
<p>Y ya se, ya. Que yo soy un caso especial. Que me gustan las cosas viejunas, los ordenadores que cargan juegos de cinta y <em>ripear</em> CDs. Que el ToyBar™ es una maravilla y que me quejo por vicio, y que los más de 500 Eur. que ha subido de precio el MacBook Pro teniendo (para mi gusto) menos prestaciones son perfectamente justificables por esto y por lo otro. Que no podían meter más de 16GB RAM porque entonces no duraba tanto la batería. Pero sí la pantallita de las teclas de función, que debe ser muy ecológico eso de consumir energía para que se vea tecla de ESC. Y que todo el mundo conoce mis necesidades y preferencias a la hora de comprar un portátil mejor que yo. Pero mientras el dinero salga de mi cartera, Apple, tenemos un problema. No me voy a comprar estos nuevos jueguetes con la marca Pro que has sacado. Y no voy a pagar un precio premium por MacBooks Pro con hardware de hace dos años. Así que seguiré <em>estirando</em> este MacBook no retina de 13&#8243;, y mi iMac de finales de 2009. Porque funcionan bien, y me parecen máquinas excelentes, y me sigue gustando tu sistema operativo, a pesar de que insistas en iCloud, que como usuario me interesa cero.</p>
<p>Pero tenemos que hablar, Apple, porque por primera vez desde 2008 hay en mi casa un ordenador que es muchísimo más potente que los que tú me ofreces. Es una torre. Lo uso para jugar. <em>De momento</em>. Y corre Windows 10. Y cada día lo enciendo más. Para jugar. <em>De momento</em>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Expectativas salariales</title>
		<link>/2016/08/24/expectativas-salariales/</link>
		<pubDate>Wed, 24 Aug 2016 14:18:36 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Don erre que erre]]></category>
		<category><![CDATA[emprendiendo]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[entrevista]]></category>
		<category><![CDATA[trabajo]]></category>

		<guid isPermaLink="false">/?p=2689</guid>
		<description><![CDATA[Muy a menudo recibo ofertas de recruiters, con tal o cual puesto que buscan cubrir. Antes de seguir, un apunte. Ponerse tiquis-miquis con el paro que hay podría parecer prepotencia, pero la realidad es esta: no se me concedió en la cuna el privilegio Papal de estudiar informática y la automática prohibición al resto. Quien [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Muy a menudo recibo ofertas de <em>recruiters</em>, con tal o cual puesto que buscan cubrir. Antes de seguir, un apunte.</p>
<p>Ponerse <em>tiquis-miquis</em> con el paro que hay podría parecer prepotencia, pero la realidad es esta: no se me concedió en la cuna el privilegio Papal de estudiar informática y la automática prohibición al resto. Quien quiera puede estudiar esta carrera. En la universidad pública, nada de Oxford ni Yale. Vamos, que si se quiere se puede. No soy hijo del Marqués de Cubas. Si hay trabajo en esto y el personal se empeña en seguirse matriculando en carreras con 100% de paro la culpa encima no va a ser mía&#8230;</p>
<p>Los recruiters. Las ofertas. Sigamos. Siempre he pensado que cuando ofertas un puesto debes tener claro:</p>
<ul>
<li>qué problema tiene que resolver la persona que venga (no basta con un «estoy agobiado de trabajo y necesito alguien que me <em>eche una mano</em>«). </li>
<li>con quién va a trabajar esa persona, en qué equipo va a estar y quien va a ser su responsable. Quién se va a encargar de ayudarle a adaptarse.</li>
<li>que contratar a alguien cuesta. Tiempo y dinero. Y cuando lo contratas pasará un tiempo hasta que sea productivo, entendiendo por eso que aporte a la facturación neta de la empresa más de lo que te cuesta tenerlo por allí. </li>
<li>el coste de contratar. No sólo el salario neto (que no lo puedes conocer sin saber las circunstancias particulares de la persona), ni el bruto. Además, los costes sociales, o el coste del puesto de trabajo. Un gran empresario amigo mío dijo una vez que «los trabajadores comen, cagan y mean». Desde la mesa hasta el ordenador, pasando por el coste de luz eléctrica, limpieza, etc. Tener a alguien siempre incrementa los costes. Y muchos son ocultos: línea de movil, costes de Gestoría, papel higiénico en el baño, costes de despedir a esa persona si te has equivocado, etc.</li>
</ul>
<p>Todo esto se aleja mucho de la retórica brillante de los libros tipo «monta tu startup como en Silicon Valley» o «Silicon Valley Spanish Style». Aquí no hay «realismo mágico» sino «neorealismo cazurro». Sin mesas de Ping-Pong. Pero es que yo a lo más que he llegado es a ser empresario en mi vida. No he alcanzado los puntos de Hype necesarios ni para llegar a <em>entrepreneur</em>. Lo de <em>Serial Entrepreneur</em> (especialista en <em>dar el pase</em>) requiere de muchos puntos más de Karma.</p>
<p>Pues bien, de los puntos anteriores, el coste laboral para la empresa lo puedes calcular de antemano. Lo <em>debes</em> calcular de antemano. Si no, ¿qué empresario eres? Por eso me matan las ofertas de trabajo tipo:</p>
<blockquote>
<p>«Cárnica Incorporated te ofrece incorporarte en Cojo-Empresa Líder en su sector, pero que no te decimos el nombre para que no vayas directamente a ellos y perder la comisión, y tan buena que no es capaz de seleccionar a su propia gente porque no sabe responder a las sencillas preguntas de arriba.</p>
<p>Ni idea de lo que harás allí, pero por sí acaso aquí va una lista de buzz-words para ver si puedes preparar un CV mentiroso que las incluya y así todos nos engañamos: nosotros por pedir la luna a precio de coste y tú porque piensas que vamos a contar contigo.</p>
<ul>
<li>jQuery mobile, iOS (10 Años de experiencia), Java EE, SQL, Arduino y por sí acaso saber programar la TDT. </li>
</ul>
<p>Ya, sabemos que hemos contactado contigo a través de LinkedIn y podríamos leernos tu perfil, pero es que nos da pereza y a fin de cuentas esto es recruiting al por mayor. Sabemos que a los mejores no los pescaremos con este tipo de correos, pero si a fin de cuentas la gente sigue usando Infojobs eso significa que el <em>batallón de los tristes</em> es amplio.</p>
<p>Indica tus expectativas salariales «</p>
</blockquote>
<p>Vaya. Así qué ofreces un puesto pero no sabes lo que vas a pagar por el. O eso, o quieres «retribuir según valía del candidato». Lo que normalmente suele ser una subasta a la baja, a ver a quien encontramos más desesperado que acceda al salario más miserable. Porque sí tu salario es digno, o no lo es, pero es lo que estás dispuesto a ofertar, pues eso, lo ofertas. Pero no entras en estas tonterías.</p>
<p>A partir de ahora voy a participar en todas estas ofertas. Expectativas salariales: 120.000€ al año, netos. Y una Gameboy advance SP.</p>
<p>Para decir tonterías ya me basto yo solito.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Fraudismo 101 &#8211; El audiolibro</title>
		<link>/2015/09/03/fraudismo-101-el-audiolibro/</link>
		<pubDate>Thu, 03 Sep 2015 07:11:25 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Geeks Freaks & Nerds]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[fraudismo]]></category>
		<category><![CDATA[Geek Freak Nerd]]></category>

		<guid isPermaLink="false">/?p=2687</guid>
		<description><![CDATA[Bueno, mejor el podcast, pero como es un ladrillo de dos horas, casi que podemos considerarlo un libro. Junto con José A. Blanco he perpetrado el episodio 40 del podcast en el que participo, We.Developers. Tengo la enorme suerte de que dos fantásticas personas (José, Ramón) me dejen compartir podcast. Y ser el más tonto [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Bueno, mejor <em>el podcast</em>, pero como es un ladrillo de dos horas, casi que podemos considerarlo un libro. Junto con José A. Blanco he perpetrado <a href="http://wedevelopers.com/2015/09/03/we-developers-040-como-ser-desarrollador/">el episodio 40 del podcast</a> en el que participo, We.Developers. Tengo la enorme suerte de que dos fantásticas personas (<a href="http://twitter.com/jablanco">José</a>, <a href="http://twitter.com/m3drano">Ramón</a>) me dejen compartir podcast. Y ser el más tonto de la habitación.</p>
<p>Es este episodio repasamos lo hablado en la serie de El Fraudismo, lo miedos, tics, fobias y problemas a los que nos enfrentamos los informáticos y concretamente los programadores. Aunque también hablamos de cómo gestionar equipos y de otras cosas. ¡Dos horas dan para mucho, especialmente a mí, que se me va la pinza!</p>
<p>Si tienes anécdotas, has escrito sobre el tema, tienes algo que contarnos, déjanos un comentario en la entrada del podcast. Pásate aunque sea <em>para ver los enlaces a los posts de Joel Spolsky que deberías leer, sí o sí</em>.</p>
<p>Cierro así la serie de El Fraudismo, para pasar a otros temas. Que me pongo muy pesado. Ahora tengo que buscar tiempo para publicar el libro + audiolibro en Amazon.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Fraudismo 101 &#8211; Here be dragons</title>
		<link>/2015/08/27/fraudismo-101-here-be-dragons/</link>
		<comments>/2015/08/27/fraudismo-101-here-be-dragons/#comments</comments>
		<pubDate>Thu, 27 Aug 2015 16:36:31 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Geeks Freaks & Nerds]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[fraudismo]]></category>
		<category><![CDATA[Geek Freak Nerd]]></category>

		<guid isPermaLink="false">/?p=2679</guid>
		<description><![CDATA[Este post pertenece a la serie Fraudismo 101, dedicada a las fobias y filias del informático. Puedes leer todos sus posts en la selección de mis posts favoritos Diez de la mañana. Tras leer el correo, ver Twitter y otras actividades de misión crítica, accedes a aquella carpeta. Abres un proyecto de hace un año. [&#8230;]]]></description>
				<content:encoded><![CDATA[<blockquote>
<p>Este post pertenece a la serie Fraudismo 101, dedicada a las fobias y filias del informático. Puedes leer todos sus posts en <a href="/mis-entradas-favoritas/">la selección de mis posts favoritos</a></p>
</blockquote>
<p>Diez de la mañana. Tras leer el correo, ver Twitter y otras actividades de misión crítica, accedes a aquella carpeta. Abres un proyecto de hace un año. ¡Menuda basura de código <em>tiraba</em> entonces!</p>
<p>¿Quién no ha sentido ese escalofrío alguna vez? Ese momento en el que abres un viejo proyecto y miras el código que escribiste <em>hace tanto tiempo</em>. Es decir, hace dos meses. Casi no quieres mirar, con miedo a lo que puedes encontrar.</p>
<p>Bueno, eso si puedes abrirlo, claro. Si no ha cambiado en dos meses el IDE, el Sistema Operativo, el lenguaje y el encoding de los ficheros. Pero siempre nos quedará <code>vi</code>. Bueno, también admito Notepad.exe. Sigamos.</p>
<p>Haciendo un supremo esfuerzo te asomas al abismo de tu estupidez pasada. Sientes vértigo. Y ves los dragones. Te miran, revolcándose en tu miedo, en tu vergüenza, en tu falta de Unit Tests, en tu programar <em>de espaldas al interfaz</em>, en tu inconsistencia al nombrar variables. En esa clase con el nombre empezando en minúsculas. No hay <strong>nada</strong> que se pueda salvar de esta basura. ¿Cómo he podido <em>perpetrar</em> este código? te preguntas. ¡He definido un número como un <code>int</code>! ¡Me he acoplado!</p>
<h2>¡Nunca entraré en la <em>Iglesia de la CleanCodeología</em>!</h2>
<p>¿Seguro que todo es tan malo? ¿Es un asco absoluto? ¿Estás seguro de que tu código te hace digno de ser azotado en la plaza del pueblo? ¿Nunca vas a tener el autógrafo de <em>Uncle Bob</em>? Te voy a contar un secreto: <strong>tu código no era/es tan malo</strong>: ¿No compila? ¿No resolvió el problema hace dos meses? Si da respuesta a los requisitos del usuario y funciona bien, sin errores, probablemente no sea tan malo.</p>
<p>Y ahora, lo bueno:</p>
<blockquote>
<p>Si eres capaz de ver mejoras en código tuyo que escribiste hace un tiempo, enhorabuena: eso significa que <em>ahora</em> eres mejor programador.</p>
</blockquote>
<p>Lo malo sería que pasen los años y continúes satisfecho all 100% del código que escribiste. Que es distinto de estar satisfecho del producto/proyecto. Me explico. El producto/proyecto es lo que disfruta el cliente. El código es lo que tú ves y conoces que está ahí. Es como en un hotel: tú disfrutas la habitación, las piscinas, el comedor. Pero no ves las cocinas, las máquinas del ascensor, los cuartos donde se guardan los carritos de la limpieza, las tuberías. Lo feo. Por eso hay veces que estás contento con una aplicación o web que hiciste, aunque sepas que se podría haber escrito mejor. Lo sabes ahora, claro.</p>
<p>Esta es la clave: tú no estás quieto en el tiempo. Y cuando empiezas un proyecto conoces el problema que tratas de solucionar bastante peor que al final. Por eso al final sabes que deberías haber empezado de esta u otra forma. Claro, porque ahora realmente entiendes de qué va tu programa. Ahora has dedicado montones de horas a resolver el problema y conoces mejor a tu usuario. Ahora todo es más fácil si recomenzáramos, pero no hay que avergonzarse de lo ya hecho.</p>
<p>Lo más normal es que ahora, que entiendes bien el problema y conoces mucho mejor tu lenguaje/framework escribas mejor código. Si no es así, sí debes empezar a preocuparte: estás en una Cárnica, en un proyecto estancado o escribes cosas en un blog en vez de subir código a GitHub.</p>
<h2>El ansia de lo nuevo</h2>
<p>Y claro, mientras estamos en pleno proyecto leemos sobre alguna nueva herramienta, nos hablan de una librería, vemos un vídeo o leemos un libro y seguimos aprendiendo. Y queremos poner esas ideas en practica inmediatamente. Error.</p>
<blockquote>
<p>En cada proyecto, aprende una o dos técnicas nuevas e incorpóralas para siempre a tu caja de herramientas.</p>
</blockquote>
<p>Si durante el proyecto te comentan una nueva forma de hacer Unit Testing, y es muy sencillo aplicarla, hazlo. Si no, crea un proyecto de pruebas para «rascarte ese picor» y prueba ahí la nueva técnica. Una vez la tengas entrenada, aplícala en el siguiente proyecto. Si no, estarás añadiendo cosas que, en teoría mejoran el proyecto pero que realmente te retrasan del objetivo: entregarlo. Y es así porque, seamos sinceros, esas nuevas técnicas no estaban planificadas en ningún <em>sprint</em>, ¿cierto? Pues eso: practica, anota y aplica en el siguiente. Pero no lo uses como excusa para procrastinar.</p>
<p>Y piensa que siempre estarán ahí. No van a desaparecer por no usarlas <em>de golpe</em>. Deja que maduren, y termina tu proyecto. Pruébalas y cuando estén preparado úsalas. Experimenta con gaseosa.</p>
<h2>Rewrite from scratch</h2>
<p>Y recuerda: a medida que conozcas mejor el problema que solucionas y la tecnología, mayor será la tentación de <em>tirarlo todo a la basura y volver a empezar</em>. No lo hagas. Lee mejor a <a href="http://www.joelonsoftware.com/articles/fog0000000069.html">Joel Spolsky</a>.</p>
<p>Como verás en ese artículo (¿qué haces aquí? ¡vete y lee eso, que es oro puro!), leer código es mucho más difícil que escribirlo. Tienes que volver a pensar en qué solucionaba ese código. Meterte en la cabeza de otro (aunque sea tu cabeza de hace dos meses). Eso cuesta. Por eso inmediatamente <em>sabemos</em> que nuestro código antiguo es una basura. Porque no queremos leerlo de nuevo.</p>
]]></content:encoded>
			<wfw:commentRss>/2015/08/27/fraudismo-101-here-be-dragons/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fraudismo 101 &#8211; enseñar las vergüenzas</title>
		<link>/2015/08/11/fraudismo-101-ensenar-las-verguenzas/</link>
		<comments>/2015/08/11/fraudismo-101-ensenar-las-verguenzas/#comments</comments>
		<pubDate>Tue, 11 Aug 2015 08:58:16 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Geeks Freaks & Nerds]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[fraudismo]]></category>
		<category><![CDATA[Geek Freak Nerd]]></category>
		<category><![CDATA[Informática]]></category>

		<guid isPermaLink="false">/?p=2675</guid>
		<description><![CDATA[Tu jefe entra a la oficina. Es Lunes, son las 9:30 y se nota el cansancio del fin de semana, el cansancio de los que nacieron cansados, el cansancio de las quejas por lo malo que es el trabajo (pero eso sí, no hago nada por mejorar como, por ejemplo, irme que me da pereza). [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Tu jefe entra a la oficina. Es Lunes, son las 9:30 y se nota el cansancio del fin de semana, el cansancio de los que nacieron cansados, el cansancio de las quejas por lo malo que es el trabajo (pero eso sí, no hago nada por mejorar como, por ejemplo, irme <em>que me da pereza</em>). Cansancio. Eso y ganas de ir a desayunar. En medio de la granja de cubículos el jefe anuncia a voz en cuello, sobresaltando a varios:</p>
<ul>
<li>«a partir de mañana vamos a instalar un Wall Screen en la entrada. En este Wall Screen vamos a poner una secuencia de capturas de vuestro código sacado de los repositorios de la compañía junto con vuestro nombre y una foto. Con animaciones chulas, para impresionar a los clientes que vengan y puedan leer el código que escribimos». En broma añade: «es eso o venir a trabajar en pelotas». </li>
</ul>
<p>El Martes, todos fueron en bolas.</p>
<hr />
<p>Esto, que puede parecer exagerado, es lo que se produciría si de pronto tu compañía le mostrase a todo el mundo tu código de golpe. Bueno, quizás no irías desnudo, pero los niveles de ansiedad y <em>mala leche</em> se dispararían bastante. Enseñar tu código es una de las cosas que más estrés produce del mundo, junto con el examen del carnet de conducir y dejarle el móvil desbloqueado a tu pareja. Dado que <a href="/2015/07/28/fraudismo-101-todos-lo-saben-todo/">el resto ya lo sabe todo</a> y que sabemos que somos unos <a href="/2015/07/23/el-agobio-de-repuesto/">fraudes</a>, la perspectiva de enseñar nuestro código hace que el cerebro entre en pánico.</p>
<p>Lo que tu cerebro imagina que va a pasar: al llegar a la oficina, todo el mundo se va a poner en pie, señalándote con el dedo y riéndose de ti, mientras terminan de colocar pancartas con «El código de Diego apesta» escrito con pintura roja y te lanzan verduras podridas a la cabeza. Te sientas y todo el que pasa te da una palmada en la cabeza junto con un cariñoso «pringao». Te han quitado el ordenador para que no perpetres más crímenes contra el Clean Coding. El tonto de la oficina se sienta a tu lado y cada dos minutos te da un golpecito en el hombro y te susurra «loser». Godzilla está en camino para comerse tu coche. Tu pareja te llama porque «tenemos que hablar».</p>
<p>Lo que de verdad pasaría: <em>nada</em>.</p>
<p>Y sin embargo estos miedos llenan de pesadillas las noches de los programadores. Esa es la razón de tantas risitas nerviosas cuando había que unir el código de todos en las prácticas de la Universidad. O por qué cuando se asoma tu jefe a «ver cómo va eso, que le enseñes algo» siempre se piden 10 minutos más, que ya «casi casi está, un momentito que ahora te lo enseño». Miedo. Al rechazo de tus compañeros. A no dar <a href="/2015/08/08/fraudismo-101-senior-en-6-meses/">el nivel que se espera</a>. A Godzilla. Es que no he terminado de pagar el coche.</p>
<p>Quizás el 10% de los que programan en la oficina se fijaría en tu código (que no son todos los que andan por allí). De esos, algunos usan tu mismo lenguaje, otros no. Así que estos asumen que lo haces bien porque <a href="/2015/08/08/fraudismo-101-senior-en-6-meses/">para ellos ya eres senior</a>. Y los que lo entienden, probablemente te hagan algún comentario positivo sobre cómo lo hacen ellos. Si es que es distinto. O que usan tal o cual librería, con lo que aprendes. O que gracias a tu código han aprendido cosas (¡de ti, de un Fraude, inaudito!). Al compartir <em>siempre</em> ganas. En este caso, al recibir críticas de tu código aprenderás horrores en muy poco tiempo, sin los <em>horrores</em> que imaginas.</p>
<p>«Recibir críticas == terror». Pues no. Yo invoco siempre este mantra cuando tienen que mirar mi código (por ej. en una code review):</p>
<blockquote>
<p>cuando critican mi código sólo critican mi código, no a mi</p>
</blockquote>
<p>Es así de simple. Sólo puedes saber lo que haces mal comparando con otros que lo hacen mejor. En cuyo caso aprenderás. Si no contrastas, no aprendes. Puedes aprender leyendo libros, pero al dejar que otras personas revisen tu código comparas de golpe con todos los libros que <em>ellos</em> ya han leído, gratis.</p>
<p>Y la gente es buena.</p>
<h2>El doble G</h2>
<p>Pero claro, siempre está ahí el miedo a encontrarte con el doble G (Gran Gilipollas) que sabe mucho y se reirá de ti. En mi experiencia (unos cuantos años ya) he deducido que el doble G es una ilusión paranoide colectiva producida por el exceso de radiaciones que recibimos de nuestros ordenadores. No existe. O yo no lo he visto. Es como BigFoot.</p>
<p>Si alguien sabe mucho normalmente es porque tiene lo que llamamos <em>experiencia</em>, que consiste en cometer todas las posibles equivocaciones y luego ser capaz de recordarlas. Si no las recuerdas eres un yo. Alguien así o bien te va a comentar cómo mejorar (porque ya lo sabe) o va a estar liado con sus cosas de <em>senior</em> y no va a tener tiempo para dedicarse a ti. Pero siempre te podrá recomendar un libro, un blog, un video. ¿Qué sentido tiene reírse del que no sabe? ¡Si ya sabes que no sabe!</p>
<h2>Comparte</h2>
<p>Mi experimento de los Wall Screens nunca se ha llevado a cabo tal cual. Pero existe, en la forma de repositorios públicos de código, vídeos donde apareces dando una charla a un grupo de compañeros o posts de tu blog donde hablas de tal o cual tema que ahora has dominado. Cuanto más compartas, mejor. Porque para apaciguar al monstruo del miedo no tendrás más remedio que profundizar, revisar, aprender, mejorar. Porque Godzilla te da miedo, ¿recuerdas? Luego escribir un inocente post sobre algo probablemente te convierta en un experto en ese algo. Al menos, <em>más experto de lo que eras antes</em>.</p>
<p>Combate el miedo publicando cosas. Total, lo más que te pueden decir es que <a href="/2015/07/28/fraudismo-101-todos-lo-saben-todo/">yo ya lo sabía</a> o que <a href="/2015/07/23/el-agobio-de-repuesto/">eres un fraude</a>.</p>
<p>P.D.: Por cierto, y por si no lo has percibido, he creado un <em>mantra</em>. Mi carrera hacia el Olimpo gafapástico de gurú de salón avanza que da gusto.</p>
]]></content:encoded>
			<wfw:commentRss>/2015/08/11/fraudismo-101-ensenar-las-verguenzas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fraudismo 101 &#8211; Senior en 6 meses</title>
		<link>/2015/08/08/fraudismo-101-senior-en-6-meses/</link>
		<pubDate>Sat, 08 Aug 2015 10:58:08 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Geeks Freaks & Nerds]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[fraudismo]]></category>

		<guid isPermaLink="false">/?p=2660</guid>
		<description><![CDATA[Este post pertenece a la serie Fraudismo 101, dedicada a las fobias y filias del informático. «Perdona, ¿sabes dónde está Manolo? Juan, que lleva trabajando de becario en Cárnica Consulting Inc. desde hace seis meses se quita apresuradamente los auriculares con los que escucha música electrónica para programar. Los cascos caen resonando sobre la mesa. [&#8230;]]]></description>
				<content:encoded><![CDATA[<blockquote>
<p>Este post pertenece a la serie <em>Fraudismo 101</em>, dedicada a las fobias y filias del informático.</p>
</blockquote>
<h2>«Perdona, ¿sabes dónde está Manolo?</h2>
<p>Juan, que lleva trabajando de becario en <em>Cárnica Consulting Inc.</em> desde hace seis meses se quita apresuradamente los auriculares con los que escucha música electrónica <em>para programar</em>. Los cascos caen resonando sobre la mesa. Realmente Juan los usa para no escuchar los gritos de los comerciales en el teléfono a dos mesas de distancia. Ventajas de los <em>espacios abiertos</em> o granjas de cubículos. Gallinitas ponedoras. Juan no ha hablado nunca con <em>el Jefe</em>. Desde que entró en <em>Cárnica</em> sólo se ha relacionado con el pequeño grupo de personas que forman su proyecto. Desconoce todo del resto de su empresa. Ventajas de las <em>sinergias para desarrollo humano y de tu carrera profesional</em> que te ofrecen las grandes empresas para <em>crecer como profesional</em>. Y poner mejores huevos.</p>
<ul>
<li>No, está de vacaciones. Le tocaba ahora, creo, ¿no?</li>
</ul>
<p>Juan está asustado y trata de escoger con cuidado las palabras. Quiere impresionar a su jefe, pero sin que se note. No quiere parecer un listo, pero quiere dejar huella. Su cerebro es como un hormiguero pisoteado: ideas corriendo en todas direcciones, sin rumbo, sin organización. Una idea se apodera del resto. Recuerda a Han Solo diciéndole a Chewbacca «<a href="http://www.imdb.com/title/tt0086190/quotes?item=qt0447318">fly casual</a>«</p>
<p>La voz de su jefe le saca de su ensoñación.</p>
<ul>
<li>Ah, es cierto. Bueno, tú también estás en el proyecto ese de los móviles con Android, ¿no?. Vente, que te necesito en una reunión. <em>Serán sólo diez minutos</em>.</li>
</ul>
<h1>La reunión</h1>
<p>Para Juan era la primera vez que acudía a una reunión. La mano que sujetaba el cuaderno con el logo de la empresa le sudaba y temía que se le cayera el boli bic al entrar y quedase mal. Había estado en este <em>templo corporativo</em> otras veces, pero para hablar con Manolo, su responsable. Cosas de su proyecto y eso. Para aislarse del ruido reinante.</p>
<p>La sala era como todas las salas de reuniones del mundo <em>Cárnico</em>. Una gran mesa la presidía, ya que según el manual corporativo no escrito siempre deben reunirse al menos diez personas. Que si no no se despilfarra suficiente tiempo y dinero. Imprescindible que al menos dos no tengan nada que aportar a la reunión. Avisar con 10 minutos de antelación da puntos. Sillas incómodas, que venimos a trabajar (en teoría) pero no queremos que <em>se queden a vivir aquí</em>. Es la versión de la dirección de comerse un kilo de churros mojados en café con sacarina. Una TV para proyectar una presentación en PowerPoint cuidadosamente inundada de datos irrelevantes, pero grande, ¡muchas páginas!, <em>que se vea que trabajamos</em>. Y cuadros corporativos que son como memes en papel y con marco de gente enchaquetada. De esos que tienen debajo escrito «motivación» con un ejecutivo saltando una valla con el portafolios en la mano o «trabajo en equipo» y el equipo olímpico de remo con gomina en una barca arrimando el hombro. Siempre he echado en falta uno que ponga «Siesta: lo que todos haríamos si supiésemos vivir». Lo encargaré para mi próxima <em>estartúp</em>.</p>
<p>Juan se sentó. Al parecer la reunión era con el cliente del proyecto. No tenía ni idea de quienes eran. Se intercambiaron nombres y un saludo tímido. Recogió las tarjetas que le alargaron por la mesa. <em>Mis primeras tarjetas de visita</em>, se decía, recogiéndolas como un trofeo y guardándolas con cuidado entre las páginas de su libreta para que no se perdieran. Era como si ya te considerasen adulto. Se excusó por no tener una.</p>
<p>Entonces su jefe empezó a hablar. Sobre el equipo encargado del proyecto, plazos de entrega parciales, facturas y otras cosas que para Juan eran secundarias. En su mundo, lo único interesante es el código. Y luego, de alguna manera mágica desconocida, se transforma en dinero. Como es de rigor en toda reunión, cuando habla otro que no seas tú, miras a otra parte, haces dibujitos en el cuaderno, escribes en el móvil. Hay que estar allí pero enviando el sutil mensaje <em>esto es un tostón</em>.</p>
<p>En un punto de la reunión le preguntaron sobre las analíticas que iban a usar. Aún no estaba claro si usarían las propias de Google o las de Localytics. Así que explicó, <em>con todos los detalles técnicos que nadie había pedido</em>, los pros y contras ende ambas. Aquello pareció impresionar a los reunidos, que afirmaban con la cabeza cada palabra de Juan.</p>
<p>Una idea empezó a formarse en su cabeza «estos no tienen mucha idea de esto», peligroso germen que suele desembocar en ese sentimiento, mitad complejo de superioridad y mitad asco, aderezado por horror al comparar nóminas, que los técnicos sienten hacia los responsables de negocio.</p>
<p>Y le volvieron a preguntar. Algunas cosas las sabia. Con otras se arriesgó y siguió un consejo de su padre «cuando no sepas de algo no digas cosas que luego te hagan quedar como un tonto». Así que respondía con detalle a lo que sabia, pasando por encima de lo que no. <em>Flying casual</em>. Casi podía oler a Chewbie a su lado.</p>
<p>Finalmente le pidieron opinión sobre tiempos, esfuerzos y una serie de ampliaciones sobre la App. Y fue aquí cuando comenzó el pánico a apoderarse de Juan. «Espera, yo sólo soy un becario, el que hace esto es mi jefe. ¡y yo qué sé!», se quejaba en su mente.</p>
<p>Empezó a balbucear excusas sobre no estar preparado, sobre que si eso lo hace mi jefe, pero le miraron con sonrisas y le respondieron: «bueno, tú llevas con este proyecto ya 6 meses, ¿no?»</p>
<h2>Senior en 6 meses</h2>
<p>Esta es una <em>tragedia</em> a la que todos nos hemos enfrentado. Te asignan un nuevo proyecto, con tecnologías nuevas. En parte te gusta porque hay un montón de cosas que aprender aunque a la vez te da un poco de miedo y respeto. Todo es nuevo y puedes meter la pata, claro. Empiezas a aprender leyendo y haciendo pruebas, pero te gustaría que alguien te guiara porque a medida que avanzas te encuentras con problemas y las dudas te asaltan. Si la tecnología es muy nueva puede que seas el primero en StackOverflow en hacer esa pregunta. Ser pionero da <em>miedito</em>.</p>
<p>Y de pronto han pasado seis meses. Eres de los pocos en la empresa que estabas usando esa tecnología. Arrancan otro proyecto y te etiquetan automáticamente como <em>senior</em>. La autoridad a la que preguntar. El que ya lo sabe todo. Y sientes la presión. Sabes algunas cosas, pero en seis meses lógicamente eres consciente de no haberte convertido en experto. Pero te preguntan. Te piden opinión. Y piensas en si estarás dando información errónea, en si hay otra forma mejor de hacerlo, en si estarás diciendo tonterías, en si <a href="/2015/07/23/el-agobio-de-repuesto/">eres un Fraude</a>&#8230;</p>
<p>Esto mismo te habrá pasado si has compartido algo por Twitter. Quizás un truco que viste mientras aprendías. O un script curioso. O un trocito de código. E inmediatamente te etiquetan como experto. Te añaden a una lista. Te llaman <em>crack</em>. El que sabe. El <em>gurú</em>.</p>
<p>Esto no es más que un síntoma de un problema. Las tecnologías cambian y se reinventan a un ritmo frenético. No tengo claro si avanzan, porque al final sólo son herramientas para resolver los problemas y los problemas no son tan distintos ahora y antes. El avance, tal como resalta <a href="http://blog.cleancoder.com/uncle-bob/2015/08/06/LetTheMagicDie.html">Uncle Bob</a> en este post no es tan evidente. Sí, ahora tenemos Swift en iOS y Android Studio en Android. Pero podíamos hacer exactamente lo mismo, quizá algo peor, con Objective C y Eclipse. No es una mejora tan evidente. Es una <em>apuesta de futuro</em>. Pero en un mercado en el que cada cinco años has cambiado de SO, IDE, lenguaje y frameworks me río yo de las apuestas de futuro. Ese futuro es muy cambiante.</p>
<p>La informática y especialmente la programación avanzan a ritmo frenético, a veces parece que a ninguna parte. Esto es otro de los detalles que hacen de esta profesión algo tan difícil: tienes que tomar decisiones y resolver problemas cuando realmente eres un novato. Un carpintero es experto tras 20 años de profesión. Nosotros con 20 años de profesión estamos recomenzando con alguna nueva cosa.</p>
<p>Por eso es importante ser capaz de dejar cosas atrás. De desaprender. De ser capaz de usar lenguajes que <em>odias</em>, para resolver un problema. Improvisar, adaptarse, vencer (sí, el Sargento de Hierro de nuevo, no doy para más como <em>Coach</em>). De ver lo común y general en los lenguajes y que no nos ciegue la sintaxis.</p>
<p>Claro, que si no quieres aceptar que siempre serás <em>senior con seis meses de experiencia</em> y la presión que esto conlleva siempre puedes hacerte churrero. Con todo el respeto que me merecen mis <em>churreros de cabecera</em> sólo necesitas: aceite caliente, palillos y darle vueltas a la masa con <em>arte</em> AKA experiencia. Eso no ha cambiado tanto en los últimos 100 años.</p>
<p>Hace 10 años aún no había salido Windows Vista. El mundo usaba XP. En Febrero de 2005 se fundó Youtube. Piensa en ello.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Fraudismo 101 &#8211; The Silver Bullet</title>
		<link>/2015/08/02/fraudismo-101-the-silver-bullet/</link>
		<pubDate>Sun, 02 Aug 2015 21:46:16 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Geeks Freaks & Nerds]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[fraudismo]]></category>

		<guid isPermaLink="false">/?p=2657</guid>
		<description><![CDATA[Este post pertenece a la serie Fraudismo 101, dedicada a las fobias y filias del informático. Tras leer que Todos lo saben todo siempre puedes saber el por qué de tener siempre El agobio de repuesto Te ha costado dominar este lenguaje. Bueno, dominar, dominar, tampoco, sin empujar, que para eso somos fraudistas, claro. Pero [&#8230;]]]></description>
				<content:encoded><![CDATA[<blockquote>
<p>Este post pertenece a la serie Fraudismo 101, dedicada a las fobias y filias del informático. Tras leer que <a href="/2015/07/28/fraudismo-101-todos-lo-saben-todo/">Todos lo saben todo</a> siempre puedes saber el por qué de tener siempre <a href="/2015/07/23/el-agobio-de-repuesto/">El agobio de repuesto</a></p>
</blockquote>
<p>Te ha costado dominar este lenguaje. Bueno, dominar, dominar, tampoco, sin empujar, que para eso somos <em>fraudistas</em>, claro. Pero ya <em>controlas</em> algo y cuando miras en Stack Overflow hasta comprendes el código que vas a copiar y pegar. El IDE empieza a <em>estar dominado</em>. Igual que las librerías y frameworks que usas habitualmente.</p>
<p>Y entonces el mundo conspira contra ti y tu lenguaje deja de ser <em>cool</em>. Y tu jefe contrata un proyecto con una tecnología diferente que nadie en la empresa domina porque lo leyó en un blog. O tu cliente quiere hacer experimentos con una tecnología tan nueva que es inestable. Y quieres morir.</p>
<p>A recomenzar. Otra vez. Y van n. De nuevo eres novato AKA un inútil. Te lo han cambiado todo, pero total, como <em>sólo es programar</em> y tú <em>eres un crack que esto en dos semanas te lo meriendas</em> pues ahí lo llevas: nuevo proyecto con todo nuevo y más apretado en tiempo que los tornillos de un submarino.</p>
<p>Tu jefe te lo propondrá como un <em>reto</em>.</p>
<p>Un inciso: siempre que tu jefe use la palabra <em>reto</em>, corre en la dirección opuesta lo más rápido que puedas, sin mirar atrás. En silencio, pero sin parar. Ya te enviarán el finiquito a casa. Como si tu jefe fuera un <em>infectado</em>: huye. <em>Reto</em> significa en su idioma que ha vendido algo que no sabe cómo ejecutar y que ha encontrado al que se va comer ese marrón por el mismo sueldo: tú. Porque eso es un <em>reto</em> para ellos: arriesgar tu prestigio profesional haciendo algo totalmente nuevo sin formación ni apoyo. Sin planificación ni margen para error. Por supuesto por la misma pasta. Y lo harás, claro, porque <em>eres el mejor, crack</em></p>
<p>Y cuando empieces y los problemas se amontonen, acabarás maldiciendo y soltando la frase mágica: «estoy harto de cambiar de lenguajes cada 5 años. ¿Es que no puedo aprender uno que me dure para siempre?»</p>
<h2>The Silver Bullet.</h2>
<p>La primera vez que llegué a esta conclusión fue al empezar a trabajar justo al terminar los estudios. Hasta ahora aprender lenguajes había sido en parte por necesidad (para aprobar) en parte por placer. Conocía o había visto BASIC, Pascal, C, C++, LISP, ADA, Prolog&#8230; Pero todo desde la teoría, proyectos personales, etc.</p>
<p>Cuando empecé <em>en serio</em> me pusieron con Access y VBA. Y tuve que desarrollar una App para hacer presupuestos y ventas, stock y demás en Access que corría en ¡15 puestos! De locos. Viniendo de C++ con mi proyecto fresco VB me parecía muy chulo porque era sencillo crear interfaces de usuario pero una calamidad como lenguaje. ¿Quién se ha llevado mis punteros a funciones? Cuando me empecé a enterar me moví de empresa y en unos meses tuve que programar en C, ver HTML (ni idea por entonces), hacer una App en Delphi, tocar VB 5.0 (no VBA ni Access, VB con Visual Studio). Y la presión subía y subía. ¡Estoy harto, quiero aprender de una vez ese único lenguaje multiplataforma, multiparadigma, que con darle a un botón genere desde una web hasta una aplicación Windows o Linux!</p>
<p>The Silver Bullet es una vieja aspiración que he aprendido a no desear. No desear lo que es imposible tener ayuda bastante a no frustrarte y no ser infeliz. Budismo básico de manual. Sí, hay que aspirar a más, a ser mejor persona y profesional: <em>esto no es desear en negativo</em>. Pero en mi caso querer tener la altura de Gasol sólo me generaría frustración: eso sí es <em>desear</em> con toda su carga peyorativa. Y con los años me he dado cuenta de una verdad inmutable:</p>
<blockquote>
<p>una vez que aprendes un nuevo concepto de programación, el lenguaje con el que lo apliques es irrelevante.</p>
</blockquote>
<p>Es lo que yo llamo «carpintería». Lo difícil es entender el concepto, «hacer los planos». La ejecución debe ser sencilla (si te gusta programar, claro).</p>
<p>Por eso, aprende sobre patrones. Lee sobre cómo otros escriben el código. Consulta guías de estilo de tu lenguage, y sobre todo pruébalas en pequeños proyectos. Descarta lo que no encaje contigo, tras reflexionarlo. Aprende lenguajes que no tengan nada que ver con lo que haces ahora: te <em>inocularán</em> conceptos que desconocías y que te gustaría que tu lenguaje tuviera. Pero ¡oh sorpresa!, casi seguro que o ya existen en tu lenguaje actual o hay una manera de simularlos. Así, aprendiendo otro lenguaje siempre acabas sabiendo más del «tuyo», con el que empezaste.</p>
<p>Nunca vas a encontrar ese lenguaje que te llene al 100%, que nunca se cuelgue su IDE, que sea ultrarápido compilando, que tengba todas las librerías que necesitas, que se ajuste a todos los problemas&#8230; Bueno, ahora unos cuantos trolls estarán abalanzándose sobre Twitter para decirme «pero mi lenguaje hace». Ya, pero otras cosas las hará peor, o no las hará. Nunca vamos a poder escaparnos de aprender distintos lenguajes ya que los lenguajes son sólo herramientas para el programador. Ni más, ni menos. Lo más importante: que el cliente sea feliz, que tu código sea todo lo bueno y bonito que puedas escribir con tu actual nivel de conocimientos, que sea económicamente rentable. Que lo hagas con Python o con COBOL poco importa: con ambos puedes escribir maravillas o cometer aberraciones contra natura.</p>
<p>Así que no busques esa <em>Silver Bullet</em>. Ya la has encontrado. Es tu cabeza y tu capacidad de programar. En cualquier lenguaje que te echen, que para eso <em>eres un crack</em></p>
]]></content:encoded>
			</item>
		<item>
		<title>Fraudismo 101: todos lo saben todo</title>
		<link>/2015/07/28/fraudismo-101-todos-lo-saben-todo/</link>
		<pubDate>Tue, 28 Jul 2015 08:12:23 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Geeks Freaks & Nerds]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[fraudismo]]></category>
		<category><![CDATA[Programadores]]></category>
		<category><![CDATA[tarados]]></category>

		<guid isPermaLink="false">/?p=2653</guid>
		<description><![CDATA[Quiero iniciar una serie de posts que desde hace mucho tiempo cuento, de forma verbal, en cursos, charlas o tomando cerveza. Adelanto esto porque si hablas de la tradición verbal de una fábula inmediatamente ganas puntos de gafapastismo. Estas historias son la constatación de un hecho: que todos los informáticos (plural genérico) somos unos tarados. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Quiero iniciar una serie de posts que desde hace mucho tiempo <em>cuento</em>, de forma verbal, en cursos, charlas o tomando cerveza. Adelanto esto porque si hablas de la <em>tradición verbal</em> de una fábula inmediatamente ganas puntos de <strong>gafapastismo</strong>.</p>
<p>Estas historias son la constatación de un hecho: que <strong>todos los informáticos</strong> (plural genérico) <strong>somos unos tarados</strong>. A todos nos falla un fusible, normalmente el mismo. He decido escribirlos tras ver que la mayoría necesitamos <a href="/2015/07/23/el-agobio-de-repuesto/">un club de autoayuda</a> ya que este trabajo estresa y agobia bastante, por razones que ahora presentaré. Compartir y descubrir estas manías te ayudará a superarlas. La corriente filosófica/psicológica que trata estas taras se llama <em>Fraudismo</em></p>
<blockquote>
<p>Fraudismo: disciplina que trata de explicar por qué personas normales, bastante inteligentes (más que nada porque realizan un trabajo intelectualmente complejo como es programar) se sienten como una mierda a diario y piensan que son un fraude con patas y un fracaso con DNI.</p>
</blockquote>
<p>Como último aviso, advertir que algunos van a estar bastante basados en las ideas que el genial <a href="http://www.joelonsoftware.com/">Joel Spolsky volcó en su blog</a>, de obligada lectura, más alguna pizca personal. Como buen Fraudista me limito a regurgitar las ideas de otro y a esperar con pánico a ser descubierto. Os ahorro el esfuerzo de descubrirme y, si no has leído a Joel (yo hasta he comprado sus libros), deja todo lo que estés haciendo y ponte a ello. De nada.</p>
<h2>Todos lo saben todo</h2>
<blockquote>
<p>You are comparing your backstage self with spotlight others</p>
</blockquote>
<p>Esto seguro que lo has sentido muchas veces. Ser el más tonto de la habitación. Escuchar a todos hablar y darte cuenta de que o están hablando de otras cosas, o te has quedado irremisiblemente atrás. Junto con 50 puntos de tu CI. A mi me pasa mucho cuando voy a conferencias.</p>
<p>Bueno, eso y cuando <a href="http://www.programaraciegas.net/">Jonathan Chacón</a> da alguna charla en una <a href="http://nscoder-sev.tumblr.com/">NSCoder Night de Sevilla</a>. Porque alguna vez se podría llevar algún ejemplo en modo texto, algo feo y simple, vamos, <em>lo que yo entiendo que debe programar un ciego</em>. Y no juegos en 2D y ejemplos con SceneKit en 3D. Que acaba uno machacado y preguntándole «Jonathan, alguna vez te vas a traer algo <em>de ciegos</em> y dejar de humillar a los que no sabemos hacer juegos ni animaciones. Que tú eres el ciego pero yo el discapacitado para SceneKit&#8230;». Qué le vamos a hacer: Jonathan es demasiado bueno en todo.</p>
<p>Me pierdo. El tonto de la habitación. Seguimos.</p>
<p>En una conferencia ya extinta (BCNDevCon) acudí a un taller de iniciación de Unity. Pensé «Unity debe molar», así que preparé lo necesario (instalé Unity, leí algún tutorial, esas cosas) y me senté a escuchar. El instructor era un valiente, porque aquello estaba lleno de gente. Pasó unos recursos en un pendrive y empezamos a hacer cosas. Yo estaba maravillado porque podía «pintar» un mundo en 3D con aquella herramienta. Casi era magia. Pero entonces mi cerebro empezó <em>a hacer cosas</em>. Empecé a mirar a mi alrededor de soslayo. «Vaya, parece que soy el más viejo del lugar. Sí todos son chavales. ¡Lo que yo habría dado por aprender estas cosas a su edad!. Anda que me van a llevar un ventajón&#8230;»</p>
<p>Me sobrepuse y continué con el taller. Pero mi cerebro empezó a pensar «parece que todos lo llevan bien. Es más, <em>mejor</em> que yo. Parece como si todos tuvieran ya experiencia con Unity. <em>¡Eso es!</em>. Estos ya han terminado sus primeros juegos con Unity y viene aquí a <em>repasar</em>«. Y es en estas situaciones cuando el pánico se apodera de ti y empiezas a pensar «no, no es que desarrollen con Unity, es que estos son los que desarrollan <em>el propio Unity</em>. Seguro que vienen de la empresa que escribe Unity. O eso, o lo hacen todo a pelo con OpenGL. Eso es: ¡OpenGL y ensamblador!. Y su procesador de textos es Emacs&#8230; ¡Y manejan vi con el ratón!»</p>
<p>Cuando llegó la pausa del café corrí a una mesa. No por necesidad de cafeína, que también, sino por escapar de la <em>sala de los expertos</em>, donde era el más tonto del grupo. Cuando se fueron formando grupos de café, tímidamente vas charlando, tanteando el hielo para que no se rompa bajo tus pies. Y lo que encuentras te sorprende: <em>todos pensamos que los otros ya lo saben todo</em>. Más que nada porque no podemos meternos en sus cabezas. Y siempre nos ponemos en lo peor.</p>
<p>Me ha pasado en clases magistrales de Core Data con <a href="http://www.cimgf.com/">Marcus Zarra</a>, y <a href="https://twitter.com/accannis">Alan Cannistraro</a> preguntando sobre multi hilo. O en la NSSpain escuchando a <a href="http://petersteinberger.com/">Peter Steinberger</a> hablar de desarrollo en C pelón con Cocoa.</p>
<p>Pero resulta que esa es la mejor situación en la que puedes estar. Una vez identificado el autoengaño de tu cerebro, cada vez que he sentido lo mismo he pensado:</p>
<blockquote>
<p>«Bien, si soy el más tonto de la habitación lo único que puede pasar aquí es que salga aprendiendo algo».</p>
</blockquote>
<p>Sólo invocar este <em>mantra</em> aleja el pánico. Porque es cierto que uno sabe PHP, y otra C++, y la de más allá Perl. Pero no es cierto lo que nuestro cerebro nos hace: que pensamos que ya deberíamos saber <em>a la vez</em> PHP, C++ y Perl porque <em>ellos</em> ya lo saben, que a ver qué has estado haciendo con tu tiempo, que tienes que <em>ponerte al día</em>. Reunimos lo mejor de cada uno y lo convertimos en un <em>yo ya debería saber todo esto</em>.</p>
<p>¿Y qué podemos hacer una vez localizado el engaño?</p>
<p>En mi caso, lo primero que hago es preguntarme si realmente es necesario que sepa R, Ruby, Cocos2D y Scala. Hay que decir no a todos menos a uno. Y escojo el que, de los que me atraen más, pienso que me puede ayudar mejor en mi trabajo. Quizás porque me enseña cosas desde un punto de vista distinto.</p>
<p>Una vez localizados los objetivos lo siguiente es crearme proyectos en Things con cosas que quiero aprender y acciones concretas: ver este vídeo, leer este post, hacer un ejemplo de tal cosa. Y así voy aprendiendo. No tanto como quisiera, pero este miedo lo he superado. Y tú puedes, también, siendo consciente de que <em>todos pensamos lo mismo: que todos lo saben ya todo</em>. Y es mentira.</p>
<p>Aprende y disfruta <em>mientras</em> aprendes. GOTO 10. No hay más.</p>
]]></content:encoded>
			</item>
		<item>
		<title>El agobio de repuesto</title>
		<link>/2015/07/23/el-agobio-de-repuesto/</link>
		<comments>/2015/07/23/el-agobio-de-repuesto/#comments</comments>
		<pubDate>Thu, 23 Jul 2015 10:50:04 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Don erre que erre]]></category>
		<category><![CDATA[Geeks Freaks & Nerds]]></category>
		<category><![CDATA[Perry]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[automachaque]]></category>
		<category><![CDATA[productividad]]></category>
		<category><![CDATA[Reflexiones]]></category>

		<guid isPermaLink="false">/?p=2640</guid>
		<description><![CDATA[TL;DR: auto fustigación y pesimismo ahead. Igual prefieres ponerte Les Luthiers para divertirte. No se si es por ser programador, o por ser informático. No, debe ser por intentar sobrevivir como autónomo en España, luchando contra unos impuestos disparatados que no ayudan mucho al que gana poco. O directamente porque soy tonto del culo. El [&#8230;]]]></description>
				<content:encoded><![CDATA[<blockquote>
<p>TL;DR: auto fustigación y pesimismo  ahead. Igual prefieres ponerte <a href="http://www.lesluthiers.com/">Les Luthiers</a> para divertirte.</p>
</blockquote>
<p>No se si es por ser programador, o por ser informático. No, debe ser por intentar sobrevivir como autónomo en España, luchando contra unos impuestos disparatados que no ayudan mucho al que gana poco. O directamente porque soy tonto del culo. El caso es que siempre ando preocupado. Agobiado. Por pequeñas cosas, cosas insignificantes, pero que están ahí. Y molestan.</p>
<p>Cuando estás sano, tienes una estupenda relación con tu mujer, dos hijos a los que quieres con locura, has estudiado lo que te gusta, tienes trabajo, disfrutas de tus padres y familia&#8230; Parece que quejarse no es una opción. Hay que ser tonto, ¿no?. Problemas del primer mundo&#8230;</p>
<p>Pero como me dijo una vez un compañero, cuando estaba empezando y me dedicaba a arreglar ordenadores <em>«uno siempre quiere más»</em>. Y con el tiempo he acuñado esta frase: «cuando todo te va bien siempre tienes a mano un agobio de repuesto».</p>
<p><em>Siempre quieres más</em>. Aquí está esa idea del deseo no satisfecho, una sed que no puedes apagar del todo, pero  que muchas veces es sólo una fantasía. Uno piensa: «si pierdo cinco kilos me sentiré mejor y haré tal o cual cosa». O peor «<em>cuando pierda 5 Kg</em> hago esto o lo otro». Son fantasías, autoengaños. Perder los kilos probablemente no te haga tan feliz como esperas. Aprende a disfrutar del deporte que practiques para perderlos. Haz ahora lo que quieras hacer o no lo hagas, pero no lo pospongas.</p>
<p>Estos deseos me llevan, en mi caso, a comprar cosas para acallar <em>que algo no va bien</em>. Menos mal para mis finanzas (y mi salud) que las cosas que compro para generar dopamina son baratas: no soy un aficionado al juego, ni a los coches caros o las drogas (más allá del café). Me relaja mucho más comprar un viejo AMSTRAD CPC 6128 y jugar con él. Aunque no me hace tan feliz como había imaginado, porque las cosas no me pueden hacer feliz: sólo yo, reconociendo lo que tengo ahora, dando gracias por lo que tengo y disfrutándolo, podré ser feliz. No hay otra.</p>
<h2>Las críticas</h2>
<p>Siempre he sido así, desde que tengo uso de razón. He pasado rápido por encima de mis éxitos, porque me da un poco de pereza estar alardeando de cosas que pienso cualquiera puede conseguir, si se esfuerza. Y siempre me han afectado mucho las críticas. Pero no las externas.</p>
<p>Esas las escucho, pero he aprendido a aceptar sólo aquellas de gente que respeto, no del primero que pasa por la calle. Las que de verdad me machacan son las internas. Esa voz interior que no para de juzgarte. De recordarte cómo has fracasado en perder los 5 Kg. O cómo no has arreglado la cerradura del patio que está rota. O que no has escrito ese libro que querías. O que no ganas el dinero que suponías te iba a hacer feliz. Esa voz que es tu peor enemigo. Esa voz siempre trae el agobio de repuesto.</p>
<p>Este agobio, esta duda permanente en mi mismo y en si hago lo mejor o no tomando esta decisión o la otra me paralizaba antes muchísimo más que ahora. Antes me devanaba los sesos. Y sufría mucho. En silencio, como las hemorroides. Pero sufría. Así que empecé a leer libros de «autoayuda», a probar métodos de trabajo que me librasen del estrés, a hacer cosas en lugar de pensar en cómo hacerlas perfectas o si debería hacerlas.</p>
<h2>Herramientas para salir del pozo</h2>
<p>Por el camino he aprendido que apuntar todas las tareas en algún sitio, siguiendo el método <a href="https://es.wikipedia.org/wiki/Getting_Things_Done">GTD</a> te libera de la obligación de recordar. Una vez apuntado ya sabes que tu lista de tareas se acordará. Que reflexionar con un mapa mental, pintando en un cuaderno, me ayuda a ver mejor las cosas desde arriba y a tomar decisiones. Que no hay que ver todas las tareas a la vez, sino visualizarlas una tras otra. Es difícil luchar contra tantos problemas a la vez. ¿Pero contra uno? Seguro que gano. Me he ido conociendo y he desarrollado <a href="/2014/02/06/mi-rutina-diaria-de-trabajo/">rutinas para trabajar mejor</a>. Y me <em>autoengaño</em>, por ejemplo, empezando siempre con una tarea muy sencilla, casi absurda. Pero una vez has empezado, sólo hay que mantener la bola rodando. «El principio es la mitad del todo» (Pitágoras, sí, el culpable de que suspendieras el examen de senos y cosenos).</p>
<p>Me he hecho un gurú <em>de cartón piedra</em> de la productividad personal. Y claro, uno piensa que «cuando me sepa organizar perfectamente el agobio se irá». Y, como todas las fantasías, se desvanece en contacto con la realidad. Hay días buenos. Y días malos.</p>
<p>Lo malo es que, una vez que tuviste un día muy bueno en el que fuiste un 150% productivo tu cerebro quiere que todos los días sean siempre como ese. Y claro, eso no puede ser. La vida cambia: te pones enfermo, se acaba la comida del frigorífico, hay que pagar los impuestos, se estropea el coche, un amigo te invita a su segunda boda&#8230; Hay que <a href="https://www.youtube.com/watch?v=gme1h1IfJZA&amp;feature=youtu.be&amp;t=95">improvisar, adaptarse, vencer</a>. Y no hay que sufrir porque hoy sólo has rendido un 50%</p>
<p>El resumen de todas las técnicas de autoayuda, productividad personal, herramientas, etc. es sencillo: haz cosas. Al hacer cosas te sentirás un poco mejor. Haz muchas cosas y te sentirás bastante mejor. ¿Meditación? Un 5% más de felicidad. ¿Deporte? Otro 10%. Tus aficiones, otro 10%. Ve sumando.</p>
<h2>Soy un fraude</h2>
<p>Pero todo esto no me quita la sensación de engañar a todo el mundo. Dicen que se llama <a href="https://es.wikipedia.org/wiki/S%C3%ADndrome_del_impostor">síndrome del impostor</a>. En mi caso lo soy. Un impostor, digo. Porque es muy difícil, al ritmo que cambian las tecnologías, mantenerte al día. Ser relevante. Aprender iOS, Objective-C, Xcode, Cocoa, sus patrones de diseño, a manejar herramientas como Instruments, git, organiza tu trabajo&#8230; Y luego métete con Android, Eclipse, Java, Android Studio&#8230;</p>
<p>Demasiado para mi. Me hago viejo y tonto. Si fuera tan listo como me gustaría habría montado una empresa de la que me sintiera orgulloso. O tendría un proyecto software libre que fuera mío. O al menos una biblioteca de funciones que valiera la pena. O un buen blog. O un libro&#8230; La realidad es que soy un fraude y no tengo nada de esto porque no doy el nivel. No excuses.</p>
<p>Sufro cuando tengo que enseñar a alguien. Siempre pienso que me van a pillar, que se va a descubrir el fraude, que todos van a ver que realmente no tengo ni idea. O cuando tengo que hacer una App para un cliente. App con la que tardaré más de lo presupuestado, perderé dinero como siempre y de la que no me sentiré satisfecho. Me hace gracia cuando me llaman «Senior» developer. Será por lo viejo.</p>
<p>Por eso no tengo la empresa. Por eso no publico el código que tengo. Por todo eso.</p>
<p>Hay días buenos, cuando ves que te acercas a tus objetivos. Otros no son tan buenos y sólo puedes agachar la cabeza y seguir avanzando. Y esperar que la cosa mejore.</p>
<p>Pero me gustaría tanto que todos los días fueran buenos&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>/2015/07/23/el-agobio-de-repuesto/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cómo ver los vídeos de la WWDC 2015</title>
		<link>/2015/06/29/como-ver-los-videos-de-la-wwdc-2015/</link>
		<pubDate>Mon, 29 Jun 2015 16:16:54 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Formación]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[WWDC]]></category>

		<guid isPermaLink="false">/?p=2631</guid>
		<description><![CDATA[&#8230;y no dejar que Twitter, y los sobrehumanos que por allí pululan, me machaquen con sus capacidades heroicas de ver en una semana todas las sesiones. Terminó la WWDC 2015, y como todos los años, me he echo un firme propósito: ver todos los vídeos antes de que llegue la WWDC 2016. Si miro mi [&#8230;]]]></description>
				<content:encoded><![CDATA[<blockquote>
<p>&#8230;y no dejar que Twitter, y los <em>sobrehumanos</em> que por allí pululan, me machaquen con sus capacidades heroicas de ver en una semana todas las sesiones.</p>
</blockquote>
<p>Terminó la WWDC 2015, y como todos los años, me he echo un firme propósito: <em>ver todos los vídeos antes de que llegue la WWDC 2016</em>. Si miro mi <em>track record</em> en este tema, no es para ser optimista: siempre he fracasado. Esto es mi <em>voy a dejar de fumar</em> o <em>tengo que aprender alemán</em>. Lo de los kilos, es evidente a simple vista que tampoco lo llevo bien del todo.</p>
<p>Sí, lo confieso, voy por el mundo desarrollando para iOS y a veces enseñando sobre ello y no he visto todos los vídeos de todas las WWDCs. Una vergüenza, ya lo se. Últimamente, mi síndrome del impostor está súper-desarrollado y tengo muy asumido que soy una <em>estafa con patas</em>, pero eso es tema para otro post. Así que esta vez va a ser diferente. <em>Tiene</em> que ser diferente. Me voy a organizar de manera diferente y quizás alguna de estas ideas os sirva para algo. O no.</p>
<h2>Good Ol&#8217; Streaming</h2>
<p>El streaming y todas estas cosas <em>modernas</em> están muy bien y tal. Hasta que tienes que ver un vídeo y se ha caído tu conexión. O quieres copiar unas cuantas sesiones a tu iPad para estar entretenido en un vuelo, y necesitas tenerlas en tu Mac primero. Y en cualquier caso, porque mañana puede estar caído el servidor de Apple o pueden retirar los vídeos a voluntad. Mi estrategia es sencilla: aquellas cosas de Internet que <em>de verdad</em> me interesan van a mi Drobo o a cualquiera de mis HDs externos. Al coste por GB actual, ni me lo pienso. Para bajar los vídeos os recomiendo <a href="https://github.com/ohoachuck/wwdc-downloader">este script</a>, que además se baja los PDFs con las presentaciones y el código fuente de los ejemplos. Todo lo necesario para explorar las sesiones. Es bastante configurable y puede bajarse los vídeos de otros años, grabar en la carpeta que le indiques, descargar en calidad SD o HD&#8230;</p>
<p>Para instalar el script, debes mostrarlo en formato «raw», es decir, en texto plano (pulsando <a href="https://github.com/ohoachuck/wwdc-downloader">en este enlace</a> lo tienes, de nada, soy así de majo), seleccionar todo el texto y copiar y pegarlo en un fichero de solo texto. En mi caso, uno que me creado con vi. Lo llamas como quieras, pero <code>download-wwdc-videos.sh</code> no es mal nombre. Te quedaría por darle permisos de ejecución con la orden: <code>$ chmod a+x download-wwdc-videos.sh</code>.</p>
<p>Para bajar los vídeos la orden que he usado es:</p>
<pre><code>./download-videos.sh -f HD -o ./
</code></pre>
<p>que significa: «baja los vídeos de la WWDC 2015 (por defecto), en calidad HD (<em>caballo grande, ande o no ande</em>) y me los pones en la carpeta actual». Previamente me había creado esa carpeta en el Drobo y había ido en <a href="https://www.iterm2.com/">iTerm</a> con <code>cd /Volumes/Video-Drobo/WWWDC-2015</code> hasta la carpeta en cuestión.</p>
<h2>Separar la paja del grano</h2>
<p>No todas las sesiones me interesan. Y a ti tampoco deberían. Hay que tener foco y empezar por aquellas que realmente te van a aportar más. Por ejemplo, la entrega de los Apple Design Awards es algo que no me va a hacer más feliz. Las nuevas características de Swift 2.0, sí. Así que hay sesiones que me interesan seguro, otras que ya habré visto y otras que, o seguro no quiero ver o estoy en duda. Primera criba resuelta: <strong>si dudas, es que no quieres verlo</strong>. No pasa nada, no borres el vídeo (yo no lo hago), no se va a ir de ahí. Pero si no tienes claro de entrada si te sirve para algo, es que no te sirve verlo ahora.</p>
<div id="attachment_2634" style="width: 1027px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2015/06/videos-etiquetas.png"><img src="/wp-content/uploads/2015/06/videos-etiquetas.png" alt="Videos WWDC 2015 con etiquetas" width="1017" height="667" class="size-full wp-image-2634" srcset="/wp-content/uploads/2015/06/videos-etiquetas.png 1017w, /wp-content/uploads/2015/06/videos-etiquetas-300x196.png 300w, /wp-content/uploads/2015/06/videos-etiquetas-920x603.png 920w" sizes="(max-width: 1017px) 100vw, 1017px" /></a><p class="wp-caption-text">Videos WWDC 2015 con etiquetas</p></div>
<p>Para distinguirlos he usado las etiquetas del Finder, que puedes cambiar y crear en preferencias del Finder. Me he creado tres nuevas: Ya vistos, en color verde, pendientes, en color naranja (que destaque) y en gris no me interesan. Marco todas en gris y a partir de ahí selecciono con mucho cuidado las que quiero ver. Es mejor marcar sólo cinco vídeos, verlos, y tener la sensación de <em>he cumplido esta etapa</em> y poder volver y añadir más vídeos luego <em>para subir nota</em>. Mucho mejor que marcar cincuenta vídeos y <em>cargarte con una obligación más</em> todo un año. Además de todas las otras cosas <em>imprescindibles</em> que ya <em>tienes</em> que hacer: leer todos los feeds RSS, leer completo tu <em>timeline</em> de Twitter, leer las noticias diarias, etc.</p>
<p><strong>Pista: no lo hagas. Sobrecarga de información inútil == ruido.</strong></p>
<div id="attachment_2636" style="width: 466px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2015/06/finder-prefs.png"><img src="/wp-content/uploads/2015/06/finder-prefs.png" alt="Preferencias del Finder para gestionar las etiquetas" width="456" height="656" class="size-full wp-image-2636" srcset="/wp-content/uploads/2015/06/finder-prefs.png 456w, /wp-content/uploads/2015/06/finder-prefs-208x300.png 208w" sizes="(max-width: 456px) 100vw, 456px" /></a><p class="wp-caption-text">Preferencias del Finder para gestionar las etiquetas</p></div>
<h2>Ver los vídeos</h2>
<p>En mi caso, si puedo, los veo en el iMac. Porque estos vídeos no basta con «verlos». A mi me gusta tener abierto Xcode y los ejemplos de código, y cuando veo algo que me llama la atención pauso el vídeo, tomo notas, pruebo código, etc. Sin hacer esto, a los dos minutos de terminar el vídeo no recuerdo nada. Si no intento repetir la demo que estoy viendo, no voy a aprender nada.</p>
<p>Así que en mi caso, nada de verlos <em>a 2x</em> para marcarlos como vistos. <strong>A mi me interesa marcarlos como <em>aprovechados</em>, que es distinto</strong>. Lo otro es como visitar 10 ciudades en 7 días e ir <em>de Turista</em>. Yo prefiero ver una y <em>vivir</em> 10 días en ella.</p>
<p>Para verlos, los añado a iTunes. Pero con cuidado. Si arrastras la carpeta de los vídeos a iTunes se van a copiar dentro de la biblioteca, duplicando el número de GB. Que puede ser que sea lo que quieres. O no. Siempre puedes borrarlos. En mi caso, los vídeos se quedan en su carpeta del Drobo y sólo <em>enlazo</em> el contenido. Para ello, en las preferencias de iTunes debemos desmarcar la opción <em>Avanzado > Copiar en iTunes Medio los archivos añadidos a la biblioteca</em> que copia por defecto los ficheros dentro de nuestra biblioteca. Ahora podemos arrastrar los ficheros y no se copiarán. Pero podremos sincronizarlos con nuestros dispositivos (en mi caso, mi iPad), para verlos sin conexión. Win!</p>
<h2>Programar y tomar notas</h2>
<p>No te quedes sólo con los vídeos. Crea tus proyectos de prueba, escribe código usando los Playgrounds de Xcode. Usa las betas de Xcode 7. Y si encuentras errores <a href="http://bugreport.apple.com/"><em>file a radar</em></a>. En mi caso, por cada vídeo que voy a ver, creo una tarea en Things, que es lo que uso para llevar un sistema más o menos GTD. En esta tarea anoto cosas que me llaman la atención, de forma que siempre puedo volver y buscar esta tarea para revisar las notas. Si las notas crecen mucho, o van a un Playground junto con código de ejemplo, o a un fichero de texto markdown que luego presento con <a href="http://www.decksetapp.com/">Deckset</a>.</p>
<h2>End</h2>
<p>Y esto es todo. Espero esta vez no sentirme culpable cuando compruebe que es Junio de 2016 de nuevo y no he visto más que tres vídeos. Pero una cosa es segura: tampoco voy a poder verlos en una semana. Hay muchas cosas que aprender, y una vida que vivir.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Los ideístas</title>
		<link>/2014/09/12/los-ideistas/</link>
		<comments>/2014/09/12/los-ideistas/#comments</comments>
		<pubDate>Fri, 12 Sep 2014 08:09:06 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Don erre que erre]]></category>
		<category><![CDATA[emprendiendo]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[liderazgo]]></category>
		<category><![CDATA[Negocio]]></category>

		<guid isPermaLink="false">/?p=2243</guid>
		<description><![CDATA[Idea, definición de la RAE Primero y más obvio de los actos del entendimiento, que se limita al simple conocimiento de algo. Ideísta (definición de Diego Freniche, sobre un palabro inventado por él mismo) Dícese de aquel que considera ser la única persona capaz de tener ideas de negocio. Especialmente si se dirige a un [&#8230;]]]></description>
				<content:encoded><![CDATA[<h3>Idea, <a href="http://buscon.rae.es/drae/srv/search?id=nW6rBmRmCDXX2BVV3sD1|DRJEQrluGDXX2HHzuq6R">definición de la RAE</a></h3>
<blockquote>
<p>Primero y más obvio de los actos del entendimiento, que se limita al simple conocimiento de algo.</p>
</blockquote>
<h3>Ideísta (definición de Diego Freniche, sobre un <em>palabro</em> inventado por él mismo)</h3>
<blockquote>
<p>Dícese de aquel que considera ser la única persona capaz de tener ideas de negocio. Especialmente si se dirige a un informático que pretende trabaje para él gratis. Aunque el Ideista tiene muchas ideas, usualmente no puede transmitirlas al estar aquejado de <em>NDAitis</em></p>
</blockquote>
<h2>Esos líderes</h2>
<p>Ideístas. Tan tiernos. Me encantan. Asumen que, dado que eres informático, eres un tarado incapaz de diseñar un plan de negocio. Ya, quizá has cursado unos estudios, trabajado unos años y puede ser que te exprimas el cerebro cada día para aprender cómo conseguir que los ordenadores hagan <em>más o menos</em> lo que tú quieres. Pero eso no te exime, amigo/a: eres tonto/a. De remate.</p>
<p>Delante tuyo fluye imparable un río de dinero, pero eres tan <em>anormal</em> que no lo ves, no te das cuenta que sólo con tener una <em>idea</em> se abrirán las puertas del cielo, bajarán de las nubes unicornios vomitando arcoiris que pastarán billetes de a 100 Eur., generando pepitas de oro cada vez que levanten la cola en la pradera. Y serás rico. Y tu barriga desaparecerá. Y te crecerá el pelo. Y podrás ganar alguna negociación con tu mujer. Y todo con una <em>idea</em>.</p>
<p>Pero claro, como eres tonto, no ves que es tan sencillo. Por eso, prefiero tener <em>yo</em> la idea, que para eso soy el ideísta y que tú trabajes para mi. Con <em>pasión y entrega</em>, porque claro, si sólo lo haces porque te gusta, pero no pones <em>pasión</em>, como que eres un triste que medio lo intenta, pero que no merece su reconocimiento. Eso sí, gratis.</p>
<p>Porque todo ideísta es un Steve Jobs. Todos son Jeff Bezos, o Hewlett y Packard. Son líderes natos, a los que ni por un momento se te puede pasar por la cabeza dejar de seguir. Eso sí, no te presentan ningún <em>track record</em>, esto es, las grandes compañías que han fundado antes en base a sus ideas. Más que nada porque tienen la misma experiencia laboral que Paris Hilton. Son <em>visionarios</em>. No tienen obligación de demostrarte que sus visiones sean algo concreto, claro.</p>
<h2>El contacto</h2>
<p>Reconocer al ideísta es fácil. Tanto, que he creado una plantilla para buscar concordancia de sus mensajes. Os presento el <strong>ideísta-canvas</strong>:</p>
<p><script src="https://gist.github.com/dfreniche/d5af8a1bee5a793e7e83.js"></script> Aquí podéis ver el esquema general de las cosas. Estos líderes tecnológicos, estos avezados descubridores de nuevos nichos de mercado en la economía de las Apps, son incapaces de registrar su propio dominio. Y siguen usando Hotmail. Te hablan de San Francisco, pero no te muestran las compañías que han creado antes. Tienen <em>ideas</em> pero <em>ni zorra idea</em> de cómo llevarlas a cabo. Te <em>retan</em>, ya que ejecutar su idea va a ser muy divertido y estimulante para tu cerebro. Porque a tí te gusta trabajar gratis. Reconócelo.</p>
<p>Y ellos no tienen un duro, claro.</p>
<h2>Mi problema</h2>
<p>Mi problema es que estoy contaminado, pero no se cómo explicarlo. Como pertenezco a una generación que extrae sabiduría de las citas de las películas, voy a usar una. Antes se extraían citas de la Ilíada. En Facebook se sacan de Paulo Coelho, uno de los escritores de <strong>pósters de gatitos</strong> más prolíficos que se conocen. El caso es que desde que escuché a El Jóker decir esto, no puedo evitar repetirlo siempre:</p>
<blockquote>
<p>Si eres bueno en algo, nunca lo hagas gratis</p>
</blockquote>
<p><img src="http://24.media.tumblr.com/tumblr_m81q3gTlDF1qfw0deo1_500.gif" alt="" /></p>
<p>Y claro, también está la hipoteca. Y los recibos de la luz y el agua. Y que me gusta que mis hijos tengan tres comidas al día. Y por desgracia, si me acerco a la tienda y miro a los ojos al dependiente, diciéndole de forma seductora: <em>tengo una idea y por eso me voy a llevar seis rollos de papel higiénico gratis, porque para eso soy un líder</em> nunca funciona. Mis poderes Jedi están oxidados. No soy un ideísta.</p>
<p>Y no lo soy, pese a haber fundado en el pasado una empresa (¿o fueron dos?). Pese a llevar unos años trabajando. Pese a pagar mis facturas ofreciendo mis servicios a clientes <em>de verdad</em>. Y, algunas veces, incluso teniendo ideas.</p>
<p>Porque esa es la otra: pese a ser un mero <em>picateclas</em> ¡igual también tengo ideas!. Claro, que lo complicado no es tener la idea. Lo complicado es ejecutarla. Y ejecutarla bien. Con un presupuesto. Y encontrando todos los problemas del mundo. Y contratando y despidiendo. Y luchando. Y pese así, triunfar, no quebrar, ganar dinero&#8230; Lo difícil es que hay que esforzarse, querido ideísta. Y tú no lo estás haciendo. Buscas a un <em>pardillo</em> que se esfuerce por tí.</p>
<p>Ayer tuve una idea: voy a ponerme como Arnold Schwarzenegger. El rollo es que hay que levantar pesas y eso. Ya me pongo mañana.</p>
]]></content:encoded>
			<wfw:commentRss>/2014/09/12/los-ideistas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cómo instalar Xcode 6 GM (o cualquier versión final de Xcode) sin sobreescribir la anterior</title>
		<link>/2014/09/10/como-instalar-xcode-6-gm-o-cualquier-version-final-de-xcode-sin-sobreescribir-la-anterior/</link>
		<pubDate>Wed, 10 Sep 2014 08:11:26 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[ObjectiveC]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">/?p=2233</guid>
		<description><![CDATA[De nuevo es esa época del año. Vuelta al cole. Fin del verano. Nuevo Xcode. Me encanta el olor a nuevo Xcode por la mañana Y siempre, el mismo temor: ¿qué pasa al instalar? ¿Voy a sobreescribir mi Xcode actual? Un poco de teoría Una App en OS X no es más que una carpeta [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>De nuevo es esa época del año. Vuelta al cole. Fin del verano. Nuevo Xcode.</p>
<blockquote>
<p>Me encanta el olor a nuevo Xcode por la mañana</p>
</blockquote>
<p>Y siempre, el mismo temor: ¿qué pasa al instalar? ¿Voy a sobreescribir mi Xcode actual?</p>
<h2>Un poco de teoría</h2>
<p>Una App en OS X no es más que una carpeta (un <em>bundle</em>) que contiene los ficheros ejecutables y recursos que la App necesita. Podemos verlo más claro desde el Finder pulsando con el botón derecho del ratón y escogiendo <em>Mostrar contenido del paquete</em>. Desde la terminal es aún más evidente. Si hacemos:</p>
<pre><code>$ cd /Applications/ 
$ ls -d Xcode*

drwxr-xr-x@ 3 dfreniche admin 102B 10 sep 09:47 Xcode.app/ 
drwxr-xr-x  3 root wheel 102B 16 abr 10:30 Xcode5.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 2 jul 02:52 Xcode6-Beta3.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 1 ago 23:17 Xcode6-Beta5.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 16 ago 00:35 Xcode6-Beta6.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 28 ago 09:01 Xcode6-Beta7.app/
</code></pre>
<p>veremos todas las versiones de Xcode que tenemos instaladas. No son más que directorios UNIX normales</p>
<h2>La práctica</h2>
<p>Durante la fase de Betas la imagen de disco con Xcode que descargamos contiene una carpeta con un nombre como Xcode6-Beta5. Este nombre es distinto de <code>Xcode</code>, con lo que no hay conflicto.</p>
<p>Cuando llega la GM y la versión definitiva, Apple distribuye un DMG con una App que ya se llama Xcode. Es Xcode 6, pero tiene <em>el mismo nombre de carpeta que el Xcode 5 que ya tienes instalado en tu disco duro</em>. Si lo copias, vas a perder Xcode 5.</p>
<div id="attachment_2234" style="width: 1467px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2014/09/Xcode5-antes-copiar.png" alt="Xcode5 antes de copiar Xcode6 GM" width="1457" height="700" class="size-full wp-image-2234" srcset="/wp-content/uploads/2014/09/Xcode5-antes-copiar.png 1457w, /wp-content/uploads/2014/09/Xcode5-antes-copiar-300x144.png 300w, /wp-content/uploads/2014/09/Xcode5-antes-copiar-1024x491.png 1024w, /wp-content/uploads/2014/09/Xcode5-antes-copiar-920x442.png 920w" sizes="(max-width: 1457px) 100vw, 1457px" /><p class="wp-caption-text">]Xcode5 antes de copiar Xcode6 GM</p></div>
<p>Solución sencilla: <em>antes</em> de copiar nada a la carpeta Applications, renombra Xcode (como si fuera un fichero o carpeta normal, probablemente tengas que introducir tu clave de administrador) y ponle de nombre Xcode 5 (o el que prefieras, yo tengo por ahí una llamada <em>Ye olde Xcode 4.3</em>)</p>
<div id="attachment_2235" style="width: 1467px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2014/09/Installing-Xcode6.png" alt="Instalando Xcode 6 tras renombrar Xcode 5" width="1457" height="700" class="size-full wp-image-2235" srcset="/wp-content/uploads/2014/09/Installing-Xcode6.png 1457w, /wp-content/uploads/2014/09/Installing-Xcode6-300x144.png 300w, /wp-content/uploads/2014/09/Installing-Xcode6-1024x491.png 1024w, /wp-content/uploads/2014/09/Installing-Xcode6-920x442.png 920w" sizes="(max-width: 1457px) 100vw, 1457px" /><p class="wp-caption-text">]Instalando Xcode 6 tras renombrar Xcode 5</p></div>
<p>Fácil, ¿no?</p>
]]></content:encoded>
			</item>
		<item>
		<title>Mi ThinkPad x61s</title>
		<link>/2014/08/29/mi-thinkpad-x61s/</link>
		<comments>/2014/08/29/mi-thinkpad-x61s/#comments</comments>
		<pubDate>Fri, 29 Aug 2014 12:18:30 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[gadgets]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Levono]]></category>
		<category><![CDATA[SSD]]></category>
		<category><![CDATA[ThinkPad]]></category>
		<category><![CDATA[x61s]]></category>

		<guid isPermaLink="false">/?p=2221</guid>
		<description><![CDATA[Hace ya tiempo que venía temiendo esto. Sentía una irresistible atracción del abismo. Ganas de tener un PC. Con Linux y Windows. Sí. Después de usar Macs desde el 2008, aún no he sido capaz de desintoxicarme del todo de la «infección» Linuxera&#8230; Además, tenía ganas de un ThinkPad. Hay quién dirá que son feos. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="/wp-content/uploads/2014/08/x61s.jpg"><img src="/wp-content/uploads/2014/08/x61s.jpg" alt="Mi x61s" width="1024" height="768" class="aligncenter size-full wp-image-2229" srcset="/wp-content/uploads/2014/08/x61s.jpg 1024w, /wp-content/uploads/2014/08/x61s-300x225.jpg 300w, /wp-content/uploads/2014/08/x61s-920x690.jpg 920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p>Hace ya tiempo que venía temiendo esto. Sentía una irresistible <em>atracción del abismo</em>. Ganas de tener un PC. Con Linux y Windows. Sí. Después de usar Macs desde el 2008, aún no he sido capaz de desintoxicarme del todo de la «infección» Linuxera&#8230; Además, tenía ganas de un ThinkPad. Hay quién dirá que son feos. Otros, que son funcionales. A mi me molan, con esa estética industrial y <em>aburrida</em>. Así que me puse a buscar en las webs de segunda mano.</p>
<h1>El modelo escogido</h1>
<p>Estuve viendo los distintos ThinkPads que pululaban por ahí. No me apetecía nada grande, y vi que había modelos de sólo 12”, como el X200, lo que me parece el tamaño perfecto. Encima, las pantallas son mate. Echo de menos la pantalla mate de mi MBP de 2008, pero en Apple las han dejado de poner como opción y no queda otra que aguantarse. La de mi MBP actual de 13” tiene demasiados reflejos…</p>
<p><a href="/wp-content/uploads/2014/08/x61s_vs_macbook13.jpg"><img src="/wp-content/uploads/2014/08/x61s_vs_macbook13.jpg" alt="x61s vs Macbook Pro 13" width="1024" height="768" class="aligncenter size-full wp-image-2226" srcset="/wp-content/uploads/2014/08/x61s_vs_macbook13.jpg 1024w, /wp-content/uploads/2014/08/x61s_vs_macbook13-300x225.jpg 300w, /wp-content/uploads/2014/08/x61s_vs_macbook13-920x690.jpg 920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p>Así que la duda estaba entre el TP x200 y el 201, mucho más moderno. Hasta que descubrí el x61, con su pantalla <strong>no panorámica</strong>. Sí, un portátil con relación de aspecto 4:3 en estos días. La pantalla no panorámica me recuerda a mi primer portátil, un Toshiba Satellite. Al no ser 16:9 es incluso más pequeño en sus 12&#8243;, lo que lo hacía más apetecible (para mi) si cabe. Y hay un modelo, el x61s, que es un poco más ligero. Finalmente, por 100 € he conseguido uno con la Ultrabase X6.</p>
<p>Esta base es una <em>docking station</em> que amplía los puertos del TP, permitiendo que se cargue mientras está pinchado en ella. Para liberarlo primero debemos pulsar en un botón que informa al SO del evento y le permite desmontar aquellos recursos de la Ultrabase que estemos usando en ese momento. Tras esto, una pequeña palanca libera físicamente el X61. En la Ultrabase encontramos una mezcla perfecta (de nuevo, <em>para mi</em>) de tecnología moderna y <em>retro</em>, algo que se repite con el propio portátil. Junto a puertos serie y paralelo «pata negra» hay varios USB y un caddy que en mi caso tenía instalada una unidad lectora/grabadora de DVD. Pero que puede alojar una segunda batería (útil para viajes largos sin una fuente de alimentación a mano, p.ej.) o, mucho más interesante, una segunda unidad de disco. Una jugada maestra de ampliación podría ser ponerle un SSD baratito al x61S y aprovechar el disco que actualmente tiene en la Ultrabase como expansión de datos.</p>
<p>El portátil en sí lo he equipado con 4GB de RAM y lleva un Core 2 Duo a 1.6 Ghz, lo que si bien no es mucho me permite ejecutar cualquier S.O. de 64 bits sin problemas. Venía con un HD de 140 GB. El teclado me encanta, con un montón de teclas dedicadas a funciones especiales, como moverte adelante/atrás en el navegador de Internet (que en mi caso y en Windows siempre es Firefox). Y tiene detalles que sorprenden. Lector de SD (normal hoy en día) y ranura para PCMCIA. Me viene perfecto para usarlo con las varias tarjetas PCMCIA que tengo para mis Amiga. En lugar de teclado retroiluminado, tiene una pequeña luz led en la esquina superior izquierda de la pantalla mirando hacia abajo que puede encenderse por si quieres trabajar en la oscuridad. O el lector de huellas, que funciona a la perfección y es como inicio sesión en Windows. O el acelerómetro para aparcar las cabezas del HD en caso de caída&#8230;</p>
<h1>Linux en 2014</h1>
<p>Después de probar varias distros, no soy capaz de encontrar una que realice una tarea casi imposible de solucionar: poner el portátil en reposo correctamente al cerrar la tapa. Me niego a investigar nada, ni a leer nada. 2014 se acaba, igual que mi paciencia con ciertas cosas. Me duele ver estos problemas con el hardware a estas alturas del partido. Ahorraos los comentarios: vais a darme la misma retahíla de excusas que yo daba en el 98. Pero han pasado muchos años viendo siempre lo mismo: instalas Linux y no funciona <em>out of the box</em>. Sin esto, nunca será un S.O. tenido en cuenta por el usuario en el escritorio.</p>
<p>Supongo que lo volveré a intentar, porque soy un cabezón, pero de momento se queda con Win 7 Ultimate 64 bits.</p>
<h1>SSDs</h1>
<p>Al final, dada mi manía de llevar mi hardware al extremo (si es posible) y porque soy un cacharrero enfermizo, le he puesto un SSD a la máquina. He comprado, por un lado un Caddy para la Ultrabase, en el que ahora mismo está el HD original del portátil y al que accedo como a un disco IDE cuando <em>pincho</em> el portátil en la base. Por otro, dado el precio al que se están poniendo los SSDs me he comprado un <a href="http://www.amazon.es/gp/product/B00A1ZTZOG/ref=oh_aui_detailpage_o01_s00?ie=UTF8&amp;psc=1">Kingston SSDnow</a> por 55 Eur. Este SSD soporta SATA III, mientras que la BIOS del x61s soporta inicialmente SATA I. Menos mal que hay una BIOS que se puede <em>flashear</em> (la <a href="http://forum.notebookreview.com/lenovo/459591-t61-x61-sata-ii-1-5-gb-s-cap-willing-pay-solution-8.html#post6501443">BIOS <em>Middleton</em></a>) y que te da soporte SATA II. Ahora el disco va como un tiro.</p>
<p><a href="/wp-content/uploads/2014/08/kingston_ssd.jpg"><img src="/wp-content/uploads/2014/08/kingston_ssd.jpg" alt="Kinsgston SSD" width="1024" height="1365" class="aligncenter size-full wp-image-2222" srcset="/wp-content/uploads/2014/08/kingston_ssd.jpg 1024w, /wp-content/uploads/2014/08/kingston_ssd-225x300.jpg 225w, /wp-content/uploads/2014/08/kingston_ssd-768x1024.jpg 768w, /wp-content/uploads/2014/08/kingston_ssd-920x1226.jpg 920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
]]></content:encoded>
			<wfw:commentRss>/2014/08/29/mi-thinkpad-x61s/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
