Image for post
Image for post

Hoy en día resulta evidente el gran beneficio que la inteligencia artificial y, en particular, Machine Learning ofrece a la sociedad. Se trata de algo que no para de crecer en temas tan dispares como análisis facial, vehículos autónomos, interpretación de pruebas médicas, optimización de procesos, controles de calidad o determinar cómo se pliegan las proteínas.

Sin embargo, uno de lo principales problemas en los sistemas de aprendizaje automático es que los modelos estén sesgados. El sesgo puede tener unas consecuencias bastante negativas en función del contexto, como por ejemplo, cuando el algoritmo aplica criterios racistas o misóginos en sus…


Image for post
Image for post

If you need to use Google Maps in your iOS application and you are using Bazel.build to build it, then this configurations I used may save you some time.

I solved in three steps:

  • Add remote http archives.
  • For each remote, we define a BUILD file that will be executed inside the folders where downloaded code expand
  • We add the needed references in the swift libraries that use the Google Maps and Google Places SDK.

The WORKSPACE file need the following lines. Of course, if you are not using Google Places, you can remove the corresponding lines.

WORKSPACE

As you…


Image for post
Image for post
Unison language

I recognise it, I am obsessed with refactoring. When I program, I keep changing the names of the variables, methods or classes again and again. Or, for example, there are no functions to which the arguments do not change without stopping, until finally I am slightly satisfied. I always have the feeling that something more can and should be done.

That is why I was surprised by the refactoring capacity of this new programming language called Unison. As I said, I rename things obsessively, but this has a cost. For example, when renaming a function, you have to modify all…


Image for post
Image for post

Lo reconozco, soy un obseso de la refactorización. Cuando programo, no dejo de cambiar los nombre de las variables, los métodos o las clases. O, por ejemplo, no hay funciones a las que no les cambie los argumentos sin parar, hasta que por fin me quede ligeramente satisfecho. Siempre me quedo con la sensación de que se puede hacer algo más.

Por eso, me sorprendió la capacidad de refactorización que tiene de este nuevo lenguaje de programación llamado Unison. Como he dicho, renombro las cosas obsesivamente, pero esto tiene un coste. Por ejemplo, al renombrar una función, hay que modificar…


Image for post
Image for post
Young girl walking over railway track by Johannes Plenio

tl;dr This is an introduction to AssemblyScript: I explain what WebAssembly is, why AssemblyScript maybe an interesting alternative to build WebAssembly for JavaScript developers and, finally, in order to compare JavaScript to AssemblyScript, I comment a small image manipulation project I’ve developed for this purpose.

WebAssembly is one of the biggest revolutions coming to the web, although it is neither Web nor Assembly. WebAssembly, also known as Wasm, is a fast, efficient, safe and low-level bytecode for the Web.

This means that, on one hand, it isn’t an assembly language but bytecode instead. Although both of them are similar in…


Image for post
Image for post
Young girl walking over railway track by Johannes Plenio

tl;dr Introducción a AssemblyScript: explico qué es WebAssembly, por qué AssemblyScript es una alternativa de construcción de WebAssembly interesante para programadores de JavaScript y comento un sencillo proyecto de manipulación de imágenes que permite comparar las implementaciones de JavaScript y AssemblyScript.

WebAssembly es una de las grandes revoluciones que llegan a la web, aunque no es Web ni es Assembly. WebAssembly, también conocido como Wasm, es un bytecode eficiente, seguro y de bajo nivel para la Web.

Es decir, por un lado no es un lenguaje ensamblador sino bytecode. Aunque ambos son similares en el sentido de que aunque no…


Las extensiones de Chrome son pequeñas aplicaciones que te permiten personalizar la experiencia de navegador. Permiten ajustar o extender la funcionalidad y el comportamiento de Chrome adaptándolo tus necesidades o preferencias particulares.

Algunos ejemplos de extensiones son los siguientes:

  • LastPass: un gestor de claves que te ayuda creando passwords seguras para cada sitio, las almacena de forma encriptada y automáticamente puede rellenar formularios y pantallas de login. Solo tienes que memorizar una clave maestra.
  • 2048: el juego para jugar incluso si estás offline. (En unas semanas, espero tener un post relacionado con este juego)
  • Evernote Web Clipper: te permite guardar…


Motivación de Word2vec

Los sistemas de procesamiento de imágenes o de audio trabajan con conjuntos de datos multidimensionales muy ricos en información que se codifican como vectores. Estos vectores tendrán, por ejemplo, las intensidades de los pixeles en los distintos colores, o coeficientes espectrales para audio. Sin embargo, cuando se trata de procesamiento de lenguaje natural, las palabras se tratan como símbolos individuales y discretos. Así por ejemplo, podríamos representar “sol” con id343 y “luna” con id432. Las codificaciones son arbitrarias y no proporcionan información sobre las relaciones que pueden existir en entre las distintas entidades. …

Gonzalo Ruiz de Villa

Engineer, Google Developer Expert , co-founder of Adesis Netlife and Kenobi Ventures. CTO @ GFT Group

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store