¿Developers, developers, developers, developers? Cómo Microsoft alienó a los desarrolladores durante una década

“Microsoft loves Linux”, “Microsoft compra Github”. Este año Microsoft está haciendo una campaña bastante fuerte para atraer desarrolladores. Hablamos de una compañía que, en el año 2000 era de facto la empresa que dictaba las normas del desarrollo, ¿qué pasó?

El célrebre momento de Balmer gritando "Developers, developers!"
A principios de los 90 Microsoft se convirtió en el estándar del usuario medio: los críos de aquella época sabíamos que Apple existía y fabricaba unos equipos estupendos, pero eran caros y elitistas, algo que sólo los veíamos en las redacciones de los periódicos y en algunos laboratorios de universidades: el resto de los mortales usábamos MS-DOS y un tiempo después Windows. Todos los equipos, salvo algunas rarezas que empleaban Solaris, se programaban según dictase la compañía de Redmond, con Visual Basic sustituyendo a Basic en las aulas, si es que se podía acceder a la asignatura de informática en el colegio y se tenía la fortuna de tener un profesor competente, no alguien empeñado en que un ordenador era la nueva versión de la máquina de escribir y únicamente sometía a los alumnos a insufribles cursos de mecanografía y uso de procesador de texto. Si la cosa se ponía interesante se tocaba incluso algo de C.

Al llegar a la universidad y empezar a programar, los alumnos se dividían entre los que usaban Visual Studio 6.0 o los que usaban Turbo C y Borland, pero el principal era el primero por el soporte, una vez más, a Visual Basic… y entonces pasaron 2 cosas:

  • Microsoft decidió apostar por .NET en lugar de Visual Basic.
  • Microsoft empezó a cobrar un precio por las licencias de Visual Studio bastante draconiano, además de licencias por su .NET privativo.

Tengamos en cuenta que aquella época era un tanto diferente a la actual: no todo el mundo tenía acceso a Internet desde su casa, el software era muy escaso y consecuentemente a un precio de lujo, y la piratería era algo habitual, hasta el punto de que cuando comprabas un ordenado era bastante común que en la propia tienda te diesen el disco de sistema operativo pirata. Sin embargo en el sistema de educación de aquel entonces ya habían oído hablar del software libre y el código abierto, por lo que en vez de mantener su plan a base de copias ilegales decidieron hacer un cambio de paradigma bastante fuerte: se comenzó a cambiar el temario de las asignaturas de introducción a la programación a Java, usándose al principio Kawa (un IDE aberrante donde los hubiese, que no seguía bien las normas de codificación de Java y que era una verdadera pesadilla para instalar) y después eclipse que nos cambió la vida a todos para mejor. Los drivers, que seguían codificándose en C, se picarían en KDevelop, y empezamos a tener equipos con Debian y un primerizo Ubuntu.

Este cambio significó que las siguientes generaciones académicas de programadores estudiaron y se desarrollaron lejos de Microsoft, y 10 años después esa empresa se encontró con que carecía de nicho de programadores. Confiaron en que “las empresas serias seguirían usando su software” y así fue en ofimática, pero se perdieron un evento muy importante: la revolución web. El software libre y el código abierto abierto siguieron proliferando y aparecieron ECMAscript (especificaciones de JavaScript), PHP, Ruby… que fueron reinando en los servidores y navegadores, mientras que .NET solo se encontraba en el mundo empresarial mas rancio e inamovible. Progresivamente en las noticias cuando se hablaba de las grandes empresas tecnológicas, se ha pasado a hablar de la GAFA, que son Google, Apple, Facebook y Amazon. El gigante perdió su tren.

Con el cambio en la directiva y el fin de la etapa Balmer, Microsoft replantea su estrategia: cambió la licencia de .NET a una más abierta, se invierte esfuerzo en crear un IDE también abierto (Visual Studio Code, que está basado en Atom de Github) y se aumenta el esfuerzo en el nicho universitario, pero el daño ya está hecho: tienen una década de desarrolladores mayormente alienados, que han crecido académica y profesionalmente lejos de ellos, y que ahora que es su momento de escribir los programas actuales le están pasando factura por su codicia, siendo reacios a utilizar cualquier software que venga de ellos por miedo a que vuelva a cambiar las licencias. Esa misma generación también ha visto como las empresas que ha ido absorbiendo en el pasado han ido degradándose en cuanto a innovación, tales como Skype (que solía ser ligera y tener una conectividad magnífica: cuando en el campus universitario Internet se saturaba por exceso de usuarios, podía usar Skype para pedir a algún amigo que no estuviese en el campus que se descargase la página y me la mandase por Skype, que iba por un puerto distinto, de manera que me salvó en múltiples ocasiones compilando código y escribiendo documentación mientras me comunicaba por él. Ahora abrirlo en segundo plano me se come la mitad memoria de mi antiguo portátil) o LinkedIn (antes era una red donde se debía agregar a profesionales que trabajaron contigo generando una red útil y relevante, estando todos debidamente etiquetados. Ahora las etiquetas ya no existen y no hago más que recibir peticiones de agregación de recruiters para trabajos bastante alejados de mis intereses, lo que lo ha convertido en una monumental fuente de spam), por lo que desconfían de sus adquisiciones. La compra de Github tiene sentido porque con ella pasan a poseer al código en que se basa su IDE, y “obtiene” una comunidad de desarrolladores, pero para eso los estos deben decidir quedarse allí (junto a su código)

¿Podrá remontar? A nivel innovación lo veo difícil, pues ya no dicta las pautas. Su actual inversión, Azure, es conservadora: almacenamiento web y una nube basada en GNU/Linux, que es abrazar lo que su anterior CEO denominaba “un cáncer”. TypeScript es relativamente prometedor, pero su máximo uso es en Angular, cuyo desarrollo capitanea Google, dependiendo una vez mas de un tercero. Si algo podemos aprender de esto es que, como dice el refrán, “la avaricia rompe el saco”.

Anuncios

Bohemian Rhapsody, un tributo más que una biografía

Estas vacaciones fui a ver la polémica película sobre Queen, que la crítica molió a palos. El concepto no me entusiasmaba en demasía, pues esperaba el típico biofilm mediocre, pero en el peor de los casos era una oportunidad de escuchar la música original de Queen en un equipo de sonido gigante y sólo por eso ya merecía la pena porque los álbumes de esa banda son tremendos. Afortunadamente el producto superó mis expectativas.

El cartel de Bohemian Rhapsody

¿Tiene fallos a nivel histórico? Bastantes. ¿Está endulcorada, mostrando la historia de Freddie Mercury de forma bastante amable? Desde luego. Pero no me molestó porque la película no se llama “la vida de Freddie” ni se dedica de ir a lo escandaloso cual paparazzi, sino “Bohemian Rhapsody”, que es uno de los temas mas versionados de la historia. Y eso es lo que es, una versión más que celebra la música de Queen, dándola a conocer a las nuevas generaciones en modo “para todos los públicos”. La interpretación es más que decente y la recreación del emblemático concierto de Live Aid está muy currada, por lo que para mí cumple como homenaje a esa legendaria banda.

Que de paso gracias a esta película Queen haya desbancado al reggaeton en lo mas escuchado de las Navidades es una maravilla que no tiene precio.

Limpieza móvil de año nuevo

Como suele ser habitual, un par de veces al año reviso las apps en mis dispositivos móviles, de manera que me quedo con solo lo estrictamente necesario, y este año definitivamente me he venido arriba borrando.

Tablet apps

  • Ofimática: he hecho cuentas y hace 5 años que no manejo un documento de texto, hoja de cálculo ni presentación. Todo lo tengo que hacer en formatos responsivos para web, o epub. Incluso los PDFs los saco directamente del imprimir y ya está. Las presentaciones las hago con remarkjs, que es un framework de EcmaScript al que le paso el contenido en markdown y me lo deja de escándalo (ya, esto es más geek pero al hacerlo con remarkjs me ahorro tonterías de cambio de resolución y ajuste adecuado a pantalla porque este sistema si que lleva la responsividad de fabrica). En conclusión, no necesito un paquete ofimático de megas y megas: solo necesito un procesador de texto ligero con markdown. Si bien a nivel profesional Boostnote se ha convertido en el centro de mi día a día (documentación, duagramas, coloreado sintáctico para los fragmentos de código…), para tareas de diario me pasé a Simplenote, que es mucho más ligero y con sincronización óptima. Obviamente es menos potente que Boostnote, pero sus funcionalidad son muy diferentes. Adiós a 150 megas de Google por 20 de Automattic, que además me dejan ver el código.
  • Información/social: las redes sociales cada vez me parece más confuso, airado y menos fiable. Twitter solía tener un buen flujo de lectura basado en listas, pero el nivel de toxicidad es tan alto que a actualmente entro sólo un par de veces al mes para limpiar menciones y poco más. Medium consume demasiado y se puede leer por RSS, además de que no me resulta cómodo editar mediante la app, por lo que también la he eliminado. Con esto puedo decir que actualmente me informo principalmente mediante RSS, manejados por Feedly Classic (lo siento Flipboard, tus últimas actualizaciones han acabado por completo con tu rendimiento, y la nueva intefaz por gestos de Feedly también es absolutamente improductiva), y la parte social de a diario la he pasado directamente a Mastodon, que es mucho mas sano y compartimentado. Si doy con algún artículo en el medio que sea, el cual merezca la pena leer mas tarde con más detenimiento, lo guardo en Pocket, que siempre me ha sido imprescindible en dispositivos móviles desde le minuto uno: lectura sin distracciones y guardándose en memoria local, por lo que no tengo que gastar datos.
  • Escritura/social: a nivel publicación me limito a WordPress, que es plenamente funcional mediante la aplicación móvil. Como mi tema de publicación principal en Medium es el desarrollo software con fragmentos de código, Medium es una pesadilla para añadir y formatear tus snippets, por lo que también desaparece.
  • Arte/social: tuve durante un tiempo la aplicación de Deviantart, pero a la larga no me resulta práctica. Es mucho más cómoda e infinitamente más moderna que su versión para web, pero personalmente no obtengo lo que busco allí, que es aprender o interactuar con otros artistas, y eso lo obtengo con mejor calidad en sus blogs personales. Me vale como descubrimiento pero no para crecimiento, por lo que también fuera. Mantengo mis programas de dibujo y edición de imagen de elección, que ahora mismo son Artrage y Prisma, y lo demás lo elimino.
  • Código: Codeanywhere es mi navaja multiusos para estas cuestiones. Es socorrida para un caso de crisis, pero tampoco soy muy devota de su solución por la falta de integración con Gitlab. Acepto propuestas en este departamento.
  • Lectura: me mantengo acción a Aldiko, que lo tengo desde mi primer tablet y es donde leo (y subrayo) mis epubs. Para comics siempre me ha gustado PerfectViewer, que también mantengo desde los orígenes.

Un balance sobre la discriminación en el mundo de la tecnología

No suelo dar discursos sobre cuestiones de discriminación, de hecho considero que algunas de las normas de igualdad de la llamada “discriminación positiva” nos han hecho aún mas daño que bien al minar el reconocimiento al obtener una plaza de trabajo a las minorías al poner en duda las capacidades del candidato para obtenerla, pero me siento con ganas de tratar el tema en el contexto del mundillo en que trabajo. Lo que yo defendí, y defendereé es que debemos tener acceso a las mismas oportunidades y que se nos trate a todos ecuánimamente. Hoy os voy a hablar mi experiencia en este mundillo puestro que fuí una de las primeras chicas de mi generación que decidieron estudiar una ingeniería en mi ciudad natal.

Un balance sobre la discriminación en el mundo de la tecnología

Hay una discriminación innata hacia a las mujeres en este mundillo, lo que es irónico dado que el primer protolenguaje de programación fue el desarrollado por Ada Lovelace, una mujer (os dejo un enlace al genial webcomic de Sydney Padua sobre ella en 2Dgoogles). Fui la única chica de la clase en la rama tecnológica en el instituto, siendo la primera en inscribirse en esa modalidad, y el profesor nada mas entrar e primer día me preguntó si me había equivocado de clase, seguido de la que sería su frase más recurrente: “hay que ser muy hombre para aprobar tecnología”. Pese a los intentos de hacerme sentir fuera de lugar y animarme repetidamente a abandonar, me dejé el pellejo para acabar sacando las mejores notas de la clase en todas y cada una de las asignaturas y demostrar que se equivocaba y eso era la mío, pues quería ser desarrolladora de software. En la universidad tuve un “si lo logró fue porque había algo raro con ella y debía de ser lesbiana”, y ejerciendo profesionalmente hubo intentos de desvío  a trabajo de gestión porque “es más adecuado que la tecnología pura para una chica”. Por supuesto no todo el mundo es así, pero siempre hay alguien en el “lugar adecuado” para intentar hacernos sentir que no aportamos, vedarnos el camino y hacernos sentir francamente mal. Sin embargo puedo decir que mi esfuerzo ha valido la pena y que he abierto camino a otras siendo a día de hoy una Especialista Técnica Senior, y que para cambiar las cosas alguien debe dar el primer paso y aguantar la tormenta.

El otro colectivo discriminado es el compuesto por quienes tienen algún tipo de minusvalía: se supone que legalmente todos tenemos los mismos derechos de acceso, pero al igual que muchos edificios carecen de rampas y ascensores, en el mundo de lo tecnológico muchas herramientas también les son negadas. Este año he trabajado en cuestiones de accesibilidad y ha sido muy educativo para mí, así que os ilustraré con un par de ejemplos. Los IDEs (entornos de programación) de IDEA son las herramientas mas potentes para desarrollo en el mercado actual, pero tienen una accesibilidad nula (a los detractores de eclipse les recuerdo que aunque es muchísimo menos potente es de los pocos que sí son completamente accesibles, software libre al rescate una vez mas). Como anécdota, este año tuve que desarrollar una página web meteorológica accesible, y a la hora de volcar los datos resultaba lenta porque contenía muchísimos “datos verbosos”, es decir, que hay que escribir las 1000 palabras que describen una imagen para que el lector de pantalla de invidentes lo pueda comunicar al usuario. Con los mapas web hoy en día podemos ir haciendo zoom y viendo cómo aparece información mas y mas detallada, pero cuando tenemos que hacer esa misma funcionalidad en texto podemos, o poner una única página muy lenta con una cantidad abismal de información (tened en cuenta que hablamos de mapas por continentes), o ser creativos y hacer paginaciones simulando los diferentes niveles de zoom (los principales núcleos de población del país, luego por provincias…). Pues había quien priorizaba ponerle un estilo CSS para que “se viese bonito” a hacer una paginación intuitiva, dejando solo el acceso nivel superior del mapa (2 o 3 ciudades por país). O sea, discute que un enlace que está visualmente oculto y sólo un lector de pantalla para invidentes incontrará lleva a una página “visualmente agradable” (cosa que dicho usuario obviamente no disfrutará) pero que no da la misma información que la normal. Os parecerá una situación evidente pero cuando el cliente no quiere entender el camino es muy largo.

Muchos en este mundillo nos encontramos a diario con limitaciones, no importa que sea el día de esto o el de aquello. Ojalá se recordasen estas cuestiones mas a menudo, y no solo en eventos políticos o “el día de”, concienciándonos y siendo mas respetuosos. No pedimos ningún privilegio, solo tener las mismas oportunidades de acceder al mismo lugar que el resto y ser tratados con respeto. Mucho ánimo y a no rendirse.

State of mind

Algunas de las aventuras gráficas de Daedalic son diferentes. A new beginning fue un eco-thriller que se salía de la norma, y State of Mind puede contarse dentro del mismo departamento: un juego de minorías con una alta carga de reflexión y una estética peculiar. Se trata de una historia que trata el tema del trashumanismo. Si bien en algunos momentos puede resultar un poco pretenciosa, se puede decir que hace un muy buen planteamiento de cómo afecta la tecnología y la Inteligencia Artificial a nuestras vidas.

Adam en el café (State of mind)

Nos encontramos dos figuras contrapuestas en 2 mundos opuestos: Richard, un periodista en un Berlín futurista y distópico, y Adam, su contraparte en una utopía. Ambos comparten trasfondo: un accidente que ha les ha dejado la memoria fragmentada, una familia que está irónicamente tan cerca y tan lejos, y unas noticias a cubrir sobre avances tecnológicos. La composición familiar (esposa, hijo y robot doméstico) e incluso el mapeado de sus hogares y oficinas coinciden hasta un punto escalofriante, teniendo una historia casi siempre en horario diurno y el otro de nocturno. Si bien el núcleo de la trama es la relación entre esos 2 personajes y sus accidentes, la historia otros protagonistas dignos que hacen más sólido el mundo (¿o mundos?) que describen: la esposa de Richard, que recuerda a la esposa de Deckard en “¿Sueñan los androides con ovejas mecánicas?” de P.K. Dick tiene una historia trágica sobre el desapego y la evasión, la joven cuya consciencia fue trasladada a un cuerpo artificial tiene una reflexión interesante frente a una posible “reencarnación tecnológica a la carta” (siempre que puedas pagártelo) y mi preferida (y en mi opinión infradesarrollada) es la historia del androide doméstico de Richard.

Destaca mucho la diferencia entre Adam, que abraza la tecnología y puede recibir a su nuevo androide como a un miembro más de la familia, y Richard, que es todo un ludita aterrado con cómo todo está reemplazado por seres artificiales y en consecuencia trata fatal a los robots. Sin embargo, donde el juego brilla es por sus 3 grandes pilares temáticos.

Richard cerca del periódico - State of mind

El primer tema es la existencia de una comunidad, o la falta de la misma. Richard está aislado tras el accidente debido a su obsesión por su trabajo. Su investigación es efectivamente muy importante, pero ha ido perdiendo progresivamente su red de soporte humano, volviéndose cada vez más inestable. En contraposición Adam es más afortunado en ese sentido, pero ¿a cuánto hace oídos sordos para mantenerse dentro del sistema?

La segunda cuestión es la de privacidad y la vigilancia: todo está informatizado y cuantificado. Pensad en un mundo donde todos llevan implantes con asistente digital, o siendo más claros: tener un móvil IoT en tu cabeza, cuyas llamadas o búsquedas por Internet holográficamente mediante realidad aumentada dan millones de datos continuamente a terceras partes (y por supuesto al gobierno orwelliano).

La tercera idea consiste en pervivir en forma de datos: toda esa información recopilada se pueden utilizar para generar inteligencias artificiales, pudiendo “cargarse y descargarse” personalidades completas, de manera que se pudiese “vivir tras la muerte en un servidor”, o “volver de entre los muertos al descargarse a un nuevo cuerpo artificial”. ¿Qué sería “real” en ese caso? ¿Acado el futuro cuando la Tierra muera por tanta contaminación sería que la humanidad “sobreviviese” almacenada en un servidor, como pontifica ese pseudo Steve Jobs de Kurtz? ¿Qué pasaría con el individualismo, como se ve con las llamadas hacia fuera (“cloudnet”) y hacia dentro (“hivenet”, a lo mente colmena).

A nivel técnico el juego es simple y directo, con la gran tara de que no hay mucho cambio se elija la opción de diálogo que se elija, pero me alegro de haber invertido tiempo en el porque la estética, concepto y doblaje me parecen fascinantes. En ocasiones parece que intentaban algo más grande, pero se vieron atados a unas pocas localizaciones por falta de recursos, dejando un sabor algo agridulce.

Recomendaría jugarlo en caso de que te guste la ciencia ficción o te llame el tema de transhumanismo, pero si esperabas un juego dinámico y no quieres escenas de vídeo y diálogo largas, probablemente éste titulo no es el que buscabas.