No comments

Después de mucho tiempo pensándolo, al final he dado el paso. Artículos como éste, de Matt Gemmel y el hecho de que para mí el blog de blogs es el de Joel Spolsky y desde el principio no tenía comentarios me han llevado a cancelarlos.

Y eso que yo tengo mucha suerte. El nivel de los comentarios de este blog es muy bueno (sobre todo, comparado con otros). Pero poco a poco, iba decayendo (se ve que me hago popular). Así que prefiero que quien tenga una opinión distinta a la mía, la escriba calladamente en un fichero de su disco duro y no me lo envíe nunca. O eso, o que se abra su blog y escriba allí la respuesta, meditada, a lo que yo escribo. Porque estoy harto.

Harto de SPAM. Harto de moderar comentarios. Harto de mucha gente que no cree que tenga una opinión distinta a la mía: se creen en posesión de la verdad. Harto de leer gente que no pasó de la adolescencia, aunque tengan niños. Harto.

La vida es muy corta para moderar comentarios.

j j j

Los ideístas

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 informático que pretende trabaje para él gratis. Aunque el Ideista tiene muchas ideas, usualmente no puede transmitirlas al estar aquejado de NDAitis

Esos líderes

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 más o menos lo que tú quieres. Pero eso no te exime, amigo/a: eres tonto/a. De remate.

Delante tuyo fluye imparable un río de dinero, pero eres tan anormal que no lo ves, no te das cuenta que sólo con tener una idea 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 idea.

Pero claro, como eres tonto, no ves que es tan sencillo. Por eso, prefiero tener yo la idea, que para eso soy el ideísta y que tú trabajes para mi. Con pasión y entrega, porque claro, si sólo lo haces porque te gusta, pero no pones pasión, como que eres un triste que medio lo intenta, pero que no merece su reconocimiento. Eso sí, gratis.

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 track record, 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 visionarios. No tienen obligación de demostrarte que sus visiones sean algo concreto, claro.

El contacto

Reconocer al ideísta es fácil. Tanto, que he creado una plantilla para buscar concordancia de sus mensajes. Os presento el ideísta-canvas:

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 ideas pero ni zorra idea de cómo llevarlas a cabo. Te retan, ya que ejecutar su idea va a ser muy divertido y estimulante para tu cerebro. Porque a tí te gusta trabajar gratis. Reconócelo.

Y ellos no tienen un duro, claro.

Mi problema

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 pósters de gatitos 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:

Si eres bueno en algo, nunca lo hagas gratis

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: tengo una idea y por eso me voy a llevar seis rollos de papel higiénico gratis, porque para eso soy un líder nunca funciona. Mis poderes Jedi están oxidados. No soy un ideísta.

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 de verdad. Y, algunas veces, incluso teniendo ideas.

Porque esa es la otra: pese a ser un mero picateclas ¡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… Lo difícil es que hay que esforzarse, querido ideísta. Y tú no lo estás haciendo. Buscas a un pardillo que se esfuerce por tí.

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.

j j j

Cómo instalar Xcode 6 GM (o cualquier versión final de Xcode) sin sobreescribir la anterior

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 (un bundle) 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 Mostrar contenido del paquete. Desde la terminal es aún más evidente. Si hacemos:

$ 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/

veremos todas las versiones de Xcode que tenemos instaladas. No son más que directorios UNIX normales

La práctica

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 Xcode, con lo que no hay conflicto.

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 el mismo nombre de carpeta que el Xcode 5 que ya tienes instalado en tu disco duro. Si lo copias, vas a perder Xcode 5.

Xcode5 antes de copiar Xcode6 GM

]Xcode5 antes de copiar Xcode6 GM

Solución sencilla: antes 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 Ye olde Xcode 4.3)

Instalando Xcode 6 tras renombrar Xcode 5

]Instalando Xcode 6 tras renombrar Xcode 5

Fácil, ¿no?

j j j

Mi ThinkPad x61s

Mi x61s

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… 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 aburrida. Así que me puse a buscar en las webs de segunda mano.

El modelo escogido

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…

x61s vs Macbook Pro 13

Así que la duda estaba entre el TP x200 y el 201, mucho más moderno. Hasta que descubrí el x61, con su pantalla no panorámica. 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″, 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.

Esta base es una docking station 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, para mi) de tecnología moderna y retro, 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.

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…

Linux en 2014

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 out of the box. Sin esto, nunca será un S.O. tenido en cuenta por el usuario en el escritorio.

Supongo que lo volveré a intentar, porque soy un cabezón, pero de momento se queda con Win 7 Ultimate 64 bits.

SSDs

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 pincho el portátil en la base. Por otro, dado el precio al que se están poniendo los SSDs me he comprado un Kingston SSDnow 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 flashear (la BIOS Middleton) y que te da soporte SATA II. Ahora el disco va como un tiro.

Kinsgston SSD

j j j

El lamentable estado de las herramientas de desarrollo Android

Advertencia: si le tienes mucho cariño a Google, mejor que no sigas leyendo. Si desarrollas Apps como es mi caso (para iOS y Android) y no tomas como dogma de fe todo lo que dice Google (ni Apple, ni Microsoft, ni nadie), adelante.

Segunda advertencia: leed el update de abajo del todo, por favor. Para que os hagáis una idea de lo grave que es este asunto…

Ahora mismo estamos en pleno Google I/O, la conferencia para desarrolladores de Google. Se están presentando muchas novedades de consumo, lo que me parecen muy bien. Hay incluso un nuevo lenguaje visual llamado Material (que, por desgracia no veremos mas que en los Nexus, ya que los fabricantes se lo van a cargar; y aún así habrá que ver en qué Nexus y cuándo).

Todo muy bien, pero ¿qué pasa con las herramientas de verdad para desarrolladores?

Estas herramientas, no nos engañemos, son: el compilador, el lenguaje y el IDE. Eso es lo que usamos el 90% del tiempo mientras desarrollamos Apps. Pues parece que, en 2014, todo sigue como en 2013. En la edad de la piedra. En el más absoluto desprecio de Google hacia sus desarrolladores.

Sí señores: desprecio. No es de recibo las herramientas que proporciona Google, insisto, en 2014. Revisemos.

El lenguaje de programación

Es Java. Ni creado ni controlado por Google. Conste que no odio Java (he invertido mucho tiempo en aprenderlo y certificarme como para no tomarle cariño). Pero seguir en Java 6 cuando ha salido Java 8 con un montón de novedades interesantes me escuece. Mucho. Quiero esos tipos opcionales, clausuras y funciones de primer orden. En Android. Y lo quiero ya. Llámame caprichoso, pero creo que ya toca avanzar.

Seguir con esta versión de Java se debe seguramente al litigio que Oracle le está ganando a Google sobre la copia de Java para la máquina virtual Dalvik. Es ese el motivo de aguantar mientras puedan con Dalvik, cambiar a ART (el runtime que se va a usar a partir de ahora) y en cuanto puedan (probablemente la I/O de 2015) presentar el desarrollo de Android con Go. Que es un lenguaje creado por Google. Lo cual, por cierto, tampoco me disgustaría.

El cambio de Dalvik por ART no se debe a que incorpore 64 bits. Ni a que sea más óptimo. Si Dalvik es ya abierto ¿por qué no incorporar esas novedades y mejoras en la máquina virtual que ya tienen todos los Android? Probablemente por huir de un barco que se hunde. Y además: ¿para qué darle a todos los que están haciendo clones de Android (Nokia X, Amazon, Barnes & Noble Nook, Aliyun) estas mejoras? Me juego algo a que al final ART sólo lo podrán usar los miembros de la Open Handset Alliance. ¿Open?

IDE

Controlar el lenguaje es algo importante para crear un buen ecosistema de desarrollo. Microsoft creó C#, escribe su runtime, compilador y tiene el que probablemente sea el mejor IDE de todos: Visual Studio. Apple escribe su propio IDE, Xcode, que es una maravilla (como editor es mejorable y le faltan refactors, pero en Xcode se pueden hacer cosas que Eclipse no hará en la vida y Android Studio dentro de 100 años; ante las dudas ver un Storyboard, el diseñador de efectos de partículas con SpriteKit, los PlayGrounds de Xcode 6 o los Gauges). Apple influye poderosamente en el compilador, llvm, hasta el punto de haber creado un nuevo lenguaje de programación (Swift) para avanzar tras usar casi en exclusiva Objective-C los últimos 20 años.

Google, por contra, empezó creando un plugin de Eclipse para añadir algunos refactors, un asistente aquí y allá, un visualizador del XML de los layouts y poco más. Eclipse ni es de Google, ni Google puede influir en su desarrollo para hacerlo más Android. Luego, esperaron a que la comunidad demostrase que IntelliJ Idea era una alternativa viable para el desarrollo Android y propusieron Android Studio con mucho bombo y platillo… en Mayo de 2013. Es casi Julio de 2014 y seguimos con una herramienta en versión Alpha, que no ha alcanzado aún la versión 1.0.

Excusas

No, no me valen excusas sobre “es que Google ya se sabe, pone las cosas en Beta y tal”. Google no es una startup montada por cuatro chavales. Es la compañía más valiosa del planeta. Tienen pasta y tienen cerebros. Lo que no tienen es ningún interés en mejorar las herramientas de desarrollo.

Google sólo se preocupa de aquellos productos en los que puede vender su publicidad. Todo lo que no sirva para imprimir anuncios, sigue el camino de Google Reader y del Dodo. Y como no pueden imprimir anuncios mientras compilas, tenemos lo que tenemos.

Modelos de negocio distintos

Hay que entender el modelo de negocio de cada una de estas tres empresas para comprender cómo actúan:

  • Microsoft quiere venderte licencias. Por eso hacen el software que hacen, sólo para Windows, porque quieren venderte las licencias de Visual Studio, Team Foundation Server y Windows. Lo tomas o lo dejas, pero son claros.
  • Apple quiere meterte en su ecosistema y venderte chismes, que es donde ganan pasta, no con software (que ahora lo dan gratis, desde el S.O. hasta Xcode pasando por la suite ofimática). Ellos quieren que te compres un iPad, un iPhone, un MacBook Pro retina con AppleCare y que sigas y sigas comprando sus productos. Hacen buen software para apoyar la venta de sus productos hardware.
  • Google vende publicidad. Es con lo que gana dinero. No es nada innoble ni lo de que avengonzarse, pero todo esto de ir de salvapatrias de los open y darse aires de ir curando el cáncer cuando lo que hacen es espiarte para vender mejores anuncios me resulta muy gracioso. Google nunca ha sido pro software libre.

Open no es Libre

Open no significa nada y me molesta el uso torticero que Google hace de este término. No dicen libre porque se le echaría encima todo el mundo del Software ídem, dicen open como en voy a tirarte las migajas de los repositorios de código fuente de Android para que veas lo bueno que soy.

Eso no es libre.

En un proyecto Software Libre se puede ver el código mientras se desarrolla, y no después. Se puede aportar código. Es una meritocracia.

Aquí tenemos un desarrollo totalmente propietario y cerrado creado por una compañía que libera código al terminar. Y, por cierto, sólo parte de ese código. Google Maps o Gmail no lo liberan. Ahí lo open no entra, que eso es parte de mi maquinaria de vender anuncios… Llevo usando, aportando y tratando de comprender a la comunidad del Software Libre desde el 94. Me molesta que la gente se confunda y crea que Google nos defiende de las “Megacorporaciones” como Microsoft o Apple. Como si ellos fueran Teresa de Calcuta.

Las tres son iguales: compañías que tratan de imponer sus productos en el mercado. Ninguna tiene como misión salvar al mundo. No le demos más vueltas.

Gradle

Así que para poner la guinda al pastel, tras usar un lenguaje que no es suyo y ofrecerte dos IDEs que tampoco hacen, han cambiado a Gradle, un sistema de construcción que tiene muy buena pinta, pero que de salida es muuuucho más lento que Ant. Es decir: tu proyecto en Eclipse compila más rápido que en Android Studio. Que sí, que se puede acelerar Gradle. Entonces ¿por qué no viene de salida ya configurado correctamente? ¿Por qué machacar a los devs que ya tenemos bastante al migrar un proyecto de Eclipse a AS? Es en estas cosas donde veo la desidia de Google.

Y ese es el meollo de la cuestión. Que el equipo de desarrollo de AS en Google deben ser un programador y un becario. Y el becario a tiempo parcial. Sólo así se puede explicar el ritmo de no-avance de la herramienta. De nuevo, sin excusas: si Apple puede en un año sacar una nueva versión de Xcode, digo yo que Google podrá. Pero claro, si pierdes el foco creando gafas, relojes, coches, drones y mil cosas más pero no vas a lo fundamental pasan estas cosas.

Costes

Y ahora es cuando alguien pensará: “ya, pero es que en Apple hay que pagar 80 € anuales y en Microsoft el Visual Studio de verdad cuesta pasta, mientras que en Google pagas una vez en la vida 25 dólares y ya”.

Efectivamente: ¿ves una tendencia?. Pagas por un producto == calidad. No pagas y no pueden ponerte publicidad == Google Reader, digo herramientas de desarrollo.

Tú es que eres un Fanboy de Apple

Vaaaale, venga, sí, soy un Fanboy de Apple. Los tiempos de compilación de Gradle me los invento. Y tener un IDE más de un año en Alpha es de lo más normal. O que para lanzar el emulador tengamos que andar con trucos como la aceleración Intel o usar Genymotion (de nuevo, nada de esto de Google). De paso, que nada de lo que usa Google Play Services (que cada vez son más cosas) no funcione en el emulador y tengamos que tirar de dispositivo también es un triunfo.

Quizá tu problema es que no has tratado de desarrollar con otro entorno que no sea Android Studio. En mi caso, sí. Uso Xcode, Eclipse y Android Studio a diario. Y antes usé Visual Studio, Aptana, Delphi, Turbo C y vim. ¡Hasta Blackberry ha hecho un mejor trabajo con Eclipse para BB10 que Google!

Creo que hablo con cierto conocimiento de causa. Pero si tienes argumentos en contra de algo que lo que digo (que no sean es que a mi me gusta más X en lugar de Y) sino cosas como “resulta que el roadmap de Gradle muestra que Z y Android Studio se puede mejorar de tal y cual forma” bienvenidos sean. Si quieres ponerme a parir, no comentes: escribe un post en tu propio blog. Gracias.

Y, por cierto ¿en qué parte de I/O se está hablando de las mejoras del lenguaje, IDE o compilador, más allá de ART?

Pues eso.

Actualización del 1 de Julio, 2014

Escribí esta entrada en el avión, mientras me dirigía al GCTIC a impartir unos talleres, uno de ellos de Android. El día antes tuve la precaución de copiarme el ADT Bundle que proporciona Google para todas las plataformas, por si alguien no lo tenía instalado. Tuve que usarlo: algunos de los asistentes no lo tenían instalado, y se lo proporcioné. Total, es descomprimir un ZIP en el que va Eclipse y el SDK. Es tan sencillo, que incluso escribí en este blog cómo crearte tu propio entorno de desarrollo Android portable con Eclipse.

Pues no. No era tan sencillo. Nada funcionaba. Lo instalé en mi máquina con cierta sonrisa de desdén pensando “novatillos…”. Y no. No funcionaba. Ningún ADT Bundle funcionaba. Ni en Mac, ni en Windows, ni en Linux. Pensé que estarían mal descargados y empezamos a bajarlos de nuevo. Hasta que nos dimos cuenta de que la culpa era de Google:

En la página oficial de descargas del ADT Bundle han colgado versiones que no funcionan

Y no avisan. A día de hoy puedes seguir bajándote una versión rota de ADT Bundle de la página de Google. Y sabiéndolo, no la quitan de en medio ni ponen un aviso. No. Juegan con tu tiempo. ¿Tienes una entrega de una App? Me da igual. ¿Vas a impartir un taller? No me importa. Soy Google, la prepotencia con patas, y me importa [inserta aquí un adjetivo colorido] mi comunidad de desarrolladores. Ellos son muy listos, que se busquen la vida. Total, la culpa es suya por fiarse de mi página oficial de descargas.

Eso sí, en su bug tracker sí que parece que lo saben. Y dicen que lo arreglarán en uno o dos días. Después de una semana.

Estoy harto.

j j j

Imparto dos talleres en el GCTIC: iOS y Android

El #CGTIC es el Foro de Nuevas Tecnologías de la Información y la Comunicación que va a tener lugar en Las Palmas de Gran Canaria este próximo fin de semana (del 26 al 29 de Junio). Y tengo la enorme suerte de poder asistir e impartir un par de talleres:

Esta es mi tercera visita a las Islas Canarias, y la tercera isla en la que voy a estar, tras Tenerife y Lanzarote. Muchas ganas no sólo de ir al GCTIC, sino de estar por Las Palmas al menos el Jueves y echar un paseo en condiciones. No tendré tiempo de mucho más (recordemos que voy a trabajar, no de vacaciones) pero la verdad es no que se puede ir a mejor sitio. Se puede estar igual de bien, pero mejor es complicado.

Ambos talleres son gratuitos, y el Foro ha tenido la amabilidad de hacerse cargo de los gastos de transporte. Aparte de esto, yo voy “de gratis” porque creo que hay que apoyar a la comunidad de desarrollo. Este año ya he participado en dos iniciativas similares: el Curso de iOS en Cádiz con el inimitable Jorge Galindo y el taller que hice con la ayuda del Ironhack en Madrid.

Si me ves, saluda. Y te invitas a algo. Si pongo cara rara, es que no estoy acostumbrado a que me saluden gente que no conozco ;-)

j j j

Que no se den cuenta de que eres tonto

Auto-equiquetarse. Hay gente que le encanta. En esta era de la velocidad, de tener que sonar ingenioso en 140 caracteres, de las “charlas de ascensor”, del speed-dating, parece que no hay tiempo para poder explicar quién es uno, qué hace, en qué puede ayudar. No hay tiempo ni de pensar. Por eso, y dado que las tarjetas de visita están demodé, hay que etiquetarse. En el perfil de LinkedIn. En la Bio de Twitter. En Facebook.

No vaya a ser que pase desapercibido y no se den cuenta de que soy tonto.

Y digo lo de ser tonto porque el contraste con cómo se etiqueta a sí misma cierta gente no puede menos que ser llamativo. Sir Tim Berners-Lee, el motherfucker que inventó Internet, físico de formación y premio Nobel de vocación se pone en los Hangouts de Google “Web developer”. Como un becario aquí en España, vamos. Y mientras, hay gente que se pone de etiqueta:

CEO de un blog

Esta me genera mucha ternura. Lo digo porque para ser CEO de un blog creo que basta con abrirse una cuenta en WordPress y empezar a escribir, ¿no?. ¿O me he perdido algo?. Bueeeno, aceptamos Tumblr como blog también.

Bueno, yo es que soy un antiguo y aún considero “Blog” a la bitácora personal, la página en la que a modo de diario escribe una persona que habla de los temas que le interesan. Y no el mega-portal de rumores donde se infiere cómo será el próximo iPhone a partir de fotos borrosas de una carcasa supuestamente tomadas en China (y nunca contrastadas). Mito de la caverna de Platón en acción.

Claro que, generar contenido requiere esfuerzo. Y que sea bueno, mucho esfuerzo. Generar bazofia de rumores y refritos es mucho más sencillo. Pero ya lo decían antes: “come mierda: cincuenta millones de moscas no pueden estar equivocadas”. Por eso, presentarse como CEO de un blog, si no eres el dueño de The Verge o estás en conversaciones con Time Warner para que te compre por unos cuantos millones, me parece una tontada importante. Bloguero es más normalito. Gafapasta, pero normalito.

Yo, por si te preguntabas, tengo una web. Desde hace diez años. Punto.

LION

LION == Linked In Open Networker. Es decir, el que no tiene criterio para selecciona su red de contactos y acepta a todo el mundo. O, como es mi caso, que acepto a todo el mundo porque sigo el adagio de un empresario sevillano: “el que un día te trae una mierda, al siguiente puede traerte un tesoro”. Vamos, que contactos nunca sobran. Que los uses o no, es otra cosa. Pero es mejor tenerlos para cuando te hagan falta que no al contrario.

Ponerte en tu perfil que eres un LION (buscad por Internet, os sorprenderá el montón que hay) me parece algo pretencioso. Y es forzar la máquina para decirle al mundo “hey, mirad qué popular soy y el montón de amiguitos que tengo, soy el que más muchos amiguitos tiene en el patio del colegio y tú no, chincha rabiña”.

En fin, con ver que en tu cuenta de contactos pone +500 ya se sabe que no tienes criterio…

KnowMad

Esta es de las últimas etiquetas que he visto últimamente. Como se describe aquí, es la contracción entre las palabras inglesas Conocimiento (Know) y Nómada (Nomad). Así que es un culo inquieto, como siempre se ha llamado a este tipo de personas. Yo mismo. Con curiosidad por las cosas, siempre aprendiendo, interesados por compartir y así aprender aún más…

Se ve que culo inquieto no quedaba bien en las tarjetas (era demasiado largo) y prefirieron algo más cortito. Y en Inglés, que siempre mola más.

¿Y tú?

Pues que acabo de descubrir que soy un Knowmad, LION CEO de un blog. Estoy pensando en ponerlo en mi BIO de Twitter. A ver si me llueven las piedras. Madre, qué de gente tratando de destacar como sea…

j j j

La gran golfada de Samsung

Pese a que la mayoría de mis ordenadores son Macs estos días (aunque también tengo y uso mi viejo Dell Inspiron 9400 y un ThinkPad X61, en el que estoy escribiendo esto ahora mismo) soy un entusiasta de la tecnología en general. Esto me lleva a tener chismes de varias marcas, colores y tamaños. En cuestión de impresoras siempre he tenido una Samsung.

La primera que tuve, una ML1510, LASER monocromo, no hacía nada más que imprimir. Ni nada menos. Ni inalámbrica, ni colores, ni escáner, ni nada de nada. Pero funcionaba. La compré nueva, muy bien de precio, hace un montón de años. Hoy en día imprimo pocas cosas: las facturas y algunos documentos para la gestoría que me lleva las cuentas, dibujos para que mis hijos coloreen y algún que otro documento. Así que, por mí, la hubiera usado hasta el infinito y más allá. Pero empezó a dar problemas mecánicos. Se atascaba siempre. Y era frustrante intentar imprimir algo. No podía. Así que la regalé, junto con un cartucho nuevo de tóner, a un compañero de la NSCoder Night de Sevilla. Y me compré una nueva.

En esta ocasión, entre las más baratas busqué una Samsung que tuviera escáner, por aquello de poder digitalizar documentos. Y porque si la anterior Samsung me había ido bien, para qué cambiar. Así que me hice por poco más de 100 Eur. con una Samsung SCX-3400. Es impresora y también escáner. De paso, es fotocopiadora (es decir, que escanea cosas y las imprime sin tu ordenador de por medio, de forma autónoma). Venía con un cartucho, que estaba seguro iba a durar poco, pero dado que imprimo también poco, no había problema.

Efectivamente, al año el cartucho empezó a avisarme de que se terminaba. Sin problemas, compremos uno nuevo. No se lo que habré imprimido en este año, pero ya sabíamos que el primer cartucho viene medio vacío. Miro los precios y me encuentro con que un cartucho nuevo, original de Samsung cuesta casi tanto como la impresora. ¿Cómo? Esa era la táctica que empleaban con las impresoras de chorro de tinta, pero no lo había visto con las LASER baratas. Supongo que como son para consumidores, han adaptado la técnica a los nuevos tiempos.

Pues me niego. Busqué en Amazon y encontré cartuchos compatibles Samsung en venta por un precio más que razonable. Había visto vídeos en Youtube mostrando cómo recargar tu propio cartucho con tóner, pero me parecía un follón y tampoco me ahorraba tanto, así que preferí ir a lo seguro (que alguien que lo sepa rellenar lo rellene) y pedí el compatible a KONVER, Distribuciones Informáticas, que vende en la tienda de Amazon. Llegó enseguida, lo instalé en la impresora y durante unas semanas, todo fue perfecto.

Mi impresora ha muerto

De pronto, un día, enciendo la impresora, la conecto por USB al iMac y lanzo un par de páginas para que se impriman. Sigo con mis cosas sin darme cuenta de que la impresora no imprime. Tiene una luz roja. Vaya, debe ser un atasco. La miro, pero no. En el iMac hay un aviso de error. La impresora dice que no tiene tóner. Pero eso no puede ser, ¿no?. A fin de cuentas se lo he cambiado hace nada…

Apago la impresora, vuelvo a encenderla… Nada. Cambio el cable USB… Nada. Empiezo a preocuparme y miro por Internet a ver si alguien ha tenido problemas similares y… ¡bingo! Docenas de problemas iguales. Veo vídeos por Youtube, leo en foros. Voy aprendiendo. Instalo los drivers y el software de Samsung en el Windows 8 que está en mi iMac en Bootcamp, por si puedo obtener más información… Nada de nada. Me desespero: cambio el cartucho para probar con el original, que está vacío y da error de tóner. Pero el nuevo lo mismo. Y lo peor es que, aunque esté rellenado es un cartucho Samsung pata negra.

El problema

Samsung ha decidido que puedes comprar cartuchos de tóner, pero sólo a ellos. Así que ha puesto un chip en cada cartucho. En ese chip hay un contador de páginas impresas. Cuando llegas a la “vida útil” que ellos estiman (o te imponen) que debe tener un cartucho se acabó. La impresora lee ese contador y te impide imprimir. La excusa de Samsung para hacer ésto: que de esa manera te pueden avisar con su software y así puedes cambiar el tóner a tiempo. Vamos, que tú no estás capacitado para saber cuándo está bajo el tóner: esos grises que no aparecen, la mala calidad, etc. no son una pista. No, te lo tiene que indicar un software que, curiosamente, te pone un enlace en un sitio prominente para que compres sus recambios en su tienda.

Que no se me entienda mal. No me parece mal que Samsung quiera vender sus cartuchos. E incluso que pongan el enlace a su tienda puede ayudar al que no sepa dónde comprar (aunque lo dudo). Lo que me parece una golfada absoluta es que pongan un contador de páginas en el cartucho en lugar de en la impresora. Desde la impresora te podrían indicar perfectamente: “lleva usted impresas 1.500 páginas desde el último cambio de cartucho y pensamos que es hora de que lo cambies. Si empiezas a imprimir y te da asco lo que ves, que conste que no se te ha roto la impresora: es que eres un tacaño”.

La solución

Pasa por resetear el contador del cartucho. Es decir, borrar el chip del cartucho y ponerlo a cero, como si fuera nuevo, lo cual, si has rellenado el cartucho con tóner nuevo se aproxima bastante a la realidad. Por Internet vi que había gente que vendía programas para hacerlo, pero ante la duda en si gastarme otros 12 USD para arreglar un cartucho que debía venir bien, me puse en contacto con Konver a través del formulario de Amazon. Les conté mi odisea y les pregunté qué podía hacer. Bien, no sólo me respondieron súper rápido, sino que me dieron la solución a mi cartucho. Me proporcionaron un programa (sorry, no lo voy a pasar, contacta con tu distribuidor, ese no es mi departamento) con el que borrar el cartucho. No puedo dejar de estarles súper agradecido. Hay momentos en los que ya no sabes qué pasa y que te solucionen un problema así te alegra el día. Aquí tienen a un cliente de por vida.

El caso es que para resetear el cartucho tuve que lanzar un programa desde Windows (en este caso, desde mi ThinkPad x61) y flashear la memoria del cartucho. Conectado por USB le subí un programa a la impresora.

Mi impresora mientras borro el contador

Sí, he grabado la memoria de un cartucho de tóner. Lo siguiente va a ser actualizar el firmware de la tostadora…

Pues ¡milagro!. Una vez borrado el contador de los golfos estos, listo. La impresora me reconoce el cartucho reciclado (que es de Samsung, insisto) como nuevo, hay luz verde y la vida es bella.

Conclusiones

Entiendo que Samsung quiera vender cartuchos y quiera traer ese modelo de negocio en el que los consumibles son más caros que la máquina que los consume. Están en su derecho. Pero eso se avisa. Se indica claramente: cada cartucho es de un solo uso y no puede reutilizarse. Y con esa información y mi dinero tomo una decisión informada de compra. Encontrarte esto cuando ya has comprado la impresora te cabrea, y no es una buena técnica, ya que encima se puede saltar fácilmente. Y sólo queda el cabreo.

Ni que hablar de lo anti-ecológico y carísimo que es andar tirando cartuchos de tóner. O del desprecio al usuario, al que se trata por tonto. Mal hecho, Samsung. No hay galleta.

No puedo dejar de pensar en qué pasaría si estas cositas las hicieran Microsoft o Apple…

j j j

Windows 8 en mi iMac late 2009

TL;DR;

Este es el mejor resumen de lo que viene a continuación:

Escena de Dexter

Me gusta jugar.

Lo confieso. Especialmente a los juegos de acción en primera persona (vicio adquirido con el mítico Wolfestein 3D) y a los de estrategia por turnos. Por turnos. Los otros son un corre que te pillo para ganar. Esto se lo debo a Civilization, que conocí en el centro de cálculo de la entonces Facultad de Informática. Desde entonces (y desde antes) siempre me ha encantado jugar. De hecho, tengo un refrán propio: “desconfía del programador que no juegue”.

En el Mac mis necesidades de juegos han estado bastante bien cubiertas por Steam estos años. Los juegos que me interesan los tengo. Salvo uno: Héroes of Might and Magic, que siguen empeñandose en sacarlo solo para Windows. Lo cual es absurdo, porque digo yo que si un montón de juegos salen ya para Mac es perder mercado y tal, pero bueno. El caso es que me lo compré hace un tiempo y no he podido jugar por no tener a mano una máquina Windows con una tarjeta gráfica de al menos 512 MB. Aquí no valen máquinas virtuales ni otros apaños: necesitas “the real thing”.

En esta tesitura estaba cuando caí en que mi iMac tiene exactamente esa memoria gráfica. Y es un Core i7. Y tiene 12 GB RAM. Vamos, que es un maquinón. ¿Por qué no usarlo para mis necesidades de jugón instalando con BootCamp una partición con Windows? Eso es lo que hice con mi Mac Mini, pero terminé por no usarlo ya que los juegos iban muy, muy lentos debido a la triste potencia gráfica (y de CPU) de mi Mac Mini. Que de servidor y eso aguanta, pero para cosas más exigentes en gráficos el pobre no puede.

Así que me puse manos a la obra, pensando que con Bootcamp y mi DVD de Windows 8 la cosa estaba controlada. No sabía cuanto me equivocaba.

La clave de producto de Windows

Antes de hacer nada empecé planificando todos los pasos en mi libreta. Para reunir los materiales necesarios, anticipar problemas y esas cosas. Cuando salió Windows 8 compré una licencia de Windows 8 Pro por sí la necesitaba para desarrollo Windows Phone y por echar un vistazo a la interfaz Metro (o como se tenga que llamar ahora). Por todo eso y por otra cosa: porque estaba barata, 30 Eur.

Nota al margen: Microsoft, quizás aprendas que es mejor ganar un poco menos con cada licencia, y llevarte el 100% que seguir empeñada en cobrar un Potosí por cada programa...

Pues bien: no encontraba la licencia. No estaba en Evernote, ni en el disco duro del Mac, ni encontraba mensaje alguno de confirmación de la compra. Sólo veía un correo de Paypal de confirmación del pago, pero de “Product Key” nada de nada. Pues vaya. Para una vez que pago una licencia de Microsoft, me hace ilusión utilizarla. Como no la encontraba la solución fue arrancar una máquina virtual donde la había instalado y sacarle una foto con el iPhone a la clave. Luego, mucho más tarde, caí en que la clave estaba en un correo en mi cuenta de hotmail. Sí, esa que todos tenemos y no usamos. Pero eso es otra historia para un segundo post donde hablaré de las activaciones de productos Microsoft. Que tiene mucha guasa, por cierto.

Copias de seguridad

Armado con mi clave de producto me dispuse a hacer copias de seguridad del iMac. A fin de cuentas, usar Bootcamp supone crear nuevas particiones en el disco, y eso es peligroso, ¿no?. Así que con Techtool 7 he creado una copia arrancable del iMac en un HD externo de 1 TB que tengo para estas cosas. Y claro, además de crearla hay que reiniciar usando ese disco de copia de seguridad como disco de arranque y comprobar que si todo sale mal, al menos puedes dejarlo todo como estaba.

Todo Ok, tras un siglo de esperas.

Fusion drive

De pronto, un escalofrío recorre mi espalda. Recuerdo que tengo instalado un SSD en el sitio que antes ocupaba la unidad Superdrive. Y que creé un grupo de volúmenes con Fusion Drive, de manera que OS X gestiona de forma automática que ficheros deben ir en el SSD y cuales en el HD. Así qué me entra la duda: si instalo Windows 8 ¿dónde se instala?. ¿En el SSD? ¿Se carga el Fusion Drive? ¿No se puede instalar por culpa de este?

Buscando un poco encontré la respuesta en las preguntas frecuentes de Bootcamp. Simplemente se va a instalar en el HD, sin tocar el SSD. Así qué puedo seguir. Phew!

Bootcamp no soporta Windows 8

Pues eso. Que BootCamp no soporta Windows 8 en mi iMac late 2009 y no me lo ofrece como opción a la hora de instalar. Me deja bajar los drivers (en teoría, más sobre esto ahora) y sólo te deja instalar Windows 7. Según Apple, mi iMac no debe ser lo suficientemente potente para ejecutar Windows 8, o bien ellos no quieren seguir dando soporte a una máquina ya antigua. Voto por esto último.

El caso es que intenté bajar los drivers y ¡oh sorpresa! BootCamp fallaba al descargarlos. Tuve que usar mi Google-Fu y explorar un poco para encontrar una web desde la que descargarlos a mano. Porque esa es otra: Apple no te da una manera clara y sencilla de acceder a ellos. Una lista en una página de descargas bastaría, pero no.

Aunque hay unos drivers en Bootcamp > Lbrary > Application Support > Bootcamp > WindowsSupport.dmg que pueden servirte. Lo dejo aquí por si acaso.

Instalemos Windows 8

Ahora viene lo fácil. Vi un truco para saltarse a BootCamp en modo “sólo instalo Windows 7″ que era meter un DVD con Win 7, dejarle hacer las particiones y luego, al reiniciar, cambiarlo por uno de Windows 8. Esa era una opción. La otra, instalar Win 7 y luego actualizarlo a Win 8, pero lleva más tiempo (son dos instalaciones)

Pero claro, todo esto es usando la unidad Superdrive del iMac. La interna. Sí, esa que ya no tengo desde que le puse un SSD y monté Fusion Drive. Pero no pasa nada, ¿no?. A fin de cuentas, la tengo instalada en una caja externa USB y podré iniciar la máquina con el DVD de Windows y… Pues no. No funciona. Lo intento, pero Windows no arranca desde el DVD (que, por cierto, he tenido que crear tras bajarme una ISO de la web de Microsoft). Grabando DVDs en 2014 like some kind of animal

Buscando en foros me encuentro con que sí quiero instalar Windows en mi iMac, por un lado BootCamp no me genera una llave USB de instalación (el iMac es muy antiguo por lo visto para eso) y que puedo instalar Win 7 (no Win 8) pero usando una unidad superdrive externa oficial de Apple. Que esas sí funcionan.

Tragedia. Estoy atrapado.

¿Pido a alguien prestada una unidad Superdrive de Apple pata negra? ¿Reinstalo el Superdrive? ¿Me como Win 8 con patatas?

Winclone

Como soy un cabezón y sabía que de alguna manera se podría hacer seguí buscando por foros y leí sobre Winclone. Winclone es un programa pensado para hacer copias de seguridad de particiones BootCamp. Puedes almacenar en un fichero tu partición y así te ahorras tener que andar instalando drivers, programas, actualizando, etc si tienes algún problema con Windows. En el Mac, con Time Machine por un lado y una copia arrancable que hagas con SuperDuper, Carbon Copy Cloner o Techtool Pro tienes el lado OS X perfectamente protegido. El problema es si tuviera que reinstalar todo el Windows.

Winclone, utilidad para clonar particiones Bootcamp

El caso es que se me ocurrió una idea. Yo ya tenía instalado Windows en mi Mac Mini. ¿Por qué no hacer un Winclone de esa partición, pasarla con un HD externo USB al iMac y machacar la partición BootCamp vacía con esa imagen? Mi lado geek me decía que no, que para que comprar un programa si con un dd podría hacerlo yo solito. El problema es el sector de arranque de Windows que se crea en la partición de BootCamp. Si pudiera iniciar Windows podría arreglarlo y tal, pero dado que estaba atrapado, pagué los 29 $ que cuesta y listo. Si funciona, los apenas 22 € valdrían la pena.

Y valieron la pena. Creé la imagen en el Mac Mini (unas horitas) y la pasé a un disco USB grande (en el que por supuesto no tenía espacio y tuve que ordenar). Una vez copiado, instalé Winclone en el iMac, restauré la imagen y… ¡vive! ¡Está vivo!

It's alive!

Colofón

Al fin, tras una lucha titánica, tengo instalado Win 8 en el Mac. Lo uso para el Héroes y en el futuro para algún que otro juego. Pero si lo necesito para algo, ahí está. Muchas veces hago instalaciones por el placer de cacharrear con los sistemas, pero en este caso, además, estoy disfrutando del resultado.

j j j

Entrevista para el “Developer soportlight” de la WIPJam

Este pasado MWC 2014 tuve la suerte de poder acudir y dar una de las charlas del nuevo formato de la WIPJam. La charla fue sobre Core Data, aunque no me dio tiempo a casi nada. Lo mejor (para mí) fue la gente y proyectos que conocí, y los días que pasé en Barcelona.

En el portal de la WIPJam entrevistan a desarrolladores de Apps móviles y nos ponen “bajo el foco”. Esta vez me ha tocado a mi. Espero que os guste.

j j j