How we can make software part of the climate solution.

GreenCoding: The keys to lower emissions

Reducing greenhouse gas (GHG) emissions is an urgent global priority. It has recently been underlined by commitments from both the political and business spheres. By 2050, the Biden administration has pledged a trillion-dollars of clean-energy investments and the EU has committed to becoming carbon-neutral by 2050. And Blackrock, the world’s largest money manager, which in 2020 pledged to put sustainability at the heart of its investment strategy, is just the most prominent of many investors and corporates now pivoting to climate-friendly business models.

Yet while emissions need to fall fast…


Nowadays, it is more than evident the great benefit that Artificial Intelligence and, in particular, Machine Learning offers to society. Improvements are happening very fast and continuously in topics as diverse as facial analysis, autonomous vehicles, interpretation of medical tests, process optimization, quality controls or determining how proteins fold.

However, one of the main problems in machine learning systems is that the models can be biased. This bias can have quite negative consequences depending on the context like, for example, when the algorithm applies racist or misogynistic criteria in its predictions. …


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…


Last week, I received my new MacBook M1 and I wanted to setup the local environment to do some machine learning with TensorFlow. These are the steps that worked for me. I installed the latest version of TensorFlow available at the time 0.1-alpha3.

Step 1: Install Xcode

Xcode consists of a suite of tools that developers use to build apps for Apple platforms.

You can install Xcode from the App Store or you can download it from the Developer site.

Step 2: Install the Command Line Tools Package

As defined in the documentation, the Command Line Tools Package is a small self-contained package available for download separately from Xcode and that allows…


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…


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…


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…


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…


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…

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