{"componentChunkName":"component---node-modules-narative-gatsby-theme-novela-src-templates-article-template-tsx","path":"/software-verde","result":{"pageContext":{"article":{"id":"b12979a5-f8fc-58c1-85ec-5026474c3b1a","slug":"/software-verde","secret":false,"title":"Software verde","author":"Alex Gascon","date":"October 10th, 2021","dateForSEO":"2021-10-10T00:00:00.000Z","timeToRead":2,"excerpt":"Sobre el impacto energético del software que hacemos","canonical_url":null,"subscription":true,"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Software verde\",\n  \"excerpt\": \"Sobre el impacto energético del software que hacemos\",\n  \"author\": \"Alex Gascon\",\n  \"hero\": \"./verde.png\",\n  \"date\": \"2021-10-10T00:00:00.000Z\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"David Bonilla ha publicado hoy \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://mailchi.mp/bonillaware/energia-codigo?e=1faa572978\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"un post muy interesante en su #Bonilista\"), \", sobre el impacto energ\\xE9tico de nuestro c\\xF3digo. Da la casualidad de que es algo que he vivido de cerca en AWS, as\\xED que quiero compartir mi experiencia dado que puede ayudar a cualquiera que trabaje con software:\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"TL;DR: tienes MUCHAS opciones sin cambiar de lenguaje\")), mdx(\"hr\", null), mdx(\"p\", null, \"Para dar contexto: CloudWatch es uno de los servicios m\\xE1s grandes de AWS, as\\xED que como os pod\\xE9is imaginar la cantidad de tr\\xE1fico que gestion\\xE1bamos era inmensa. Como es l\\xF3gico, para gestionar una cantidad de tr\\xE1fico enorme, necesitas una cantidad de servidores tambi\\xE9n enorme. Por ello, en los \\xFAltimos tiempos pusimos mucho el foco en la eficiencia de nuestros servicios\"), mdx(\"p\", null, \"Cuando sirves tant\\xEDsimo tr\\xE1fico cualquier mejora, aunque sea peque\\xF1a en porcentaje, termina teniendo un efecto absoluto muy grande. Mejorar en esto era un objetivo general de mi \\xE1rea\"), mdx(\"p\", null, \"No puedo dar n\\xFAmeros exactos, pero s\\xED que en varios servicios hubo cambios con mejoras de eficiencia > 10% (algunas, mucho mayores). En ning\\xFAn momento tuvimos que cambiar de lenguaje, ni reescribir servicios. Algunos de esos cambios no requer\\xEDan m\\xE1s de 20 l\\xEDneas de c\\xF3digo\"), mdx(\"p\", null, \"Al final, la clave es \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"mirar en qu\\xE9 est\\xE1s gastando tu tiempo de c\\xF3mputo\"), \", y preguntarte si hay opciones mejores o incluso si te hace falta eso. \\xBFHay procesos que est\\xE9s repitiendo? \\xBFHay procesos que puedan ejecutarse de forma distinta? \\xBFHay procesos que no har\\xEDa falta ejecutar?\"), mdx(\"p\", null, \"Por ejemplo, piensa en ordenar un array: ordenarlo por fuerza bruta en C puede ser m\\xE1s eficiente que ordenarlo por fuerza bruta en Ruby, no te digo que no. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Pero un algoritmo malo va a ser malo en Ruby, en C o en el lenguaje que quieras. As\\xED que c\\xE9ntrate en mejorar eso\")), mdx(\"p\", null, \"En mi equipo y otros de mi \\xE1rea, encontramos much\\xEDsimas optimizaciones simplemente metiendo un Profiler y analizando d\\xF3nde pasa el tiempo el c\\xF3digo. \\xBFEs lo que esperamos o hay alguna sorpresa? Tal vez algo que se ejecuta muchas veces, o donde se pasa mucho tiempo sin necesitarlo\"), mdx(\"p\", null, \"Muchas veces cuando nos da la sensaci\\xF3n de que nuestra aplicaci\\xF3n es lenta o ineficiente le echamos la culpa al lenguaje, o a las librer\\xEDas. Pero igual habr\\xEDa que dejar de echar balones fuera y empezar a mirar dentro. Siempre va a haber cosas que mejorar, \\xA1o incluso que quitar!\"), mdx(\"p\", null, \"As\\xED que, en resumen:\"), mdx(\"p\", null, \"Puedes dedicar meses a reescribir tu aplicaci\\xF3n en otro lenguaje para ser un 5% m\\xE1s eficiente\"), mdx(\"p\", null, \"O puedes pasar unas semanas instrumentando tu c\\xF3digo, analizando de verdad qu\\xE9 est\\xE1s haciendo, y plante\\xE1ndote si de verdad est\\xE1s gastando CPU en lo que importa\"), mdx(\"hr\", null), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Este post es una adaptaci\\xF3n de un hilo de Twitter que hice. Puedes ver el original empezando por el siguiente tweet:\")), mdx(\"blockquote\", {\n    className: \"twitter-tweet tw-align-center\"\n  }, mdx(\"p\", {\n    lang: \"es\",\n    dir: \"ltr\"\n  }, \"S\\xFAper interesante \", mdx(\"a\", {\n    href: \"https://twitter.com/david_bonilla?ref_src=twsrc%5Etfw\"\n  }, \"@david_bonilla\"), \" hoy con su \", mdx(\"a\", {\n    href: \"https://twitter.com/hashtag/Bonilista?src=hash&ref_src=twsrc%5Etfw\"\n  }, \"#Bonilista\"), \", sobre el impacto energ\\xE9tico de nuestro c\\xF3digo\", mdx(\"a\", {\n    href: \"https://t.co/NfLR4af1YI\"\n  }, \"https://t.co/NfLR4af1YI\"), mdx(\"br\", null), mdx(\"br\", null), \"Da la casualidad de que es algo que he vivido de cerca en AWS, as\\xED que hilo con mi impresi\\xF3n \\uD83D\\uDC47\\uD83E\\uDDF5\", mdx(\"br\", null), mdx(\"br\", null), \"TL;DR: tienes MUCHAS opciones sin cambiar de lenguaje\"), \"\\u2014 Alex Gasc\\xF3n Bononad (on vacation \\uD83C\\uDFDD ) (@AlexGasconB) \", mdx(\"a\", {\n    href: \"https://twitter.com/AlexGasconB/status/1444724331054051330?ref_src=twsrc%5Etfw\"\n  }, \"October 3, 2021\")), \" \", mdx(\"script\", {\n    async: true,\n    src: \"https://platform.twitter.com/widgets.js\",\n    charSet: \"utf-8\"\n  }));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABx0lEQVQoz2NgaC1BRowtRZJ9tcxAdnMRz+xOtr5ahoZ8u4VTGg7tFu5vAAoytpYi1MNZTG2lDI0FOVtW3D+zI2XzCobaHPHl07gmNwE17L1z6//fP8kbFjPUZrO0l+HQXJ9Xtn3dj+dPy7atY2jIY2rIZ6zPY2jMT9q4onfjMsXJjSCnIbsUwWopFuipEemr15vdx9lZKTWhqXjXxqb92y3nTwJazlBfILByBueMNqDrGNpKMTQ3Fx24fqXv0B6GuhygQaaz+pa8f3bg5+eyPZuBUmwd5dy9tTzd1QwtRVhtLgpYNttiVi/QV0AvmM3u3/rm2fL3Lwp3b2JsKWZpK59wcM+2S+dArsCiGRiSHWV8q2cwtZUwNBUI9NZtunzh5tMn9gunAr3NUJtlO29yzJpFODS3FLN2VXJMbdad3WO3eBpPZyV/V7XM5Bagi1Smtncc2u20eBowtJnasEUVKAKbizjby7dfuXDq1g29OX1A49h6a4AaYjYu+//tx6mHd5mB8dRSjM1msOUsHeUlOza0Htgp0FnFPa9HdPlUYPiJT2jsPbI3YMVchqZC7IkErp+ptYSlrQykrr2MEeJIoD8bQBGOphgANj4L34pH4FYAAAAASUVORK5CYII=","aspectRatio":1.7744360902255638,"src":"/static/9e153d33c4076e004b4b8d03b2e5dec4/a1946/verde.png","srcSet":"/static/9e153d33c4076e004b4b8d03b2e5dec4/5b37e/verde.png 236w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/49058/verde.png 472w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/a1946/verde.png 944w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/030f1/verde.png 1416w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/907f7/verde.png 1568w","srcWebp":"/static/9e153d33c4076e004b4b8d03b2e5dec4/99fbb/verde.webp","srcSetWebp":"/static/9e153d33c4076e004b4b8d03b2e5dec4/77392/verde.webp 236w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/1f177/verde.webp 472w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/99fbb/verde.webp 944w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/4a492/verde.webp 1416w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/59606/verde.webp 1568w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABx0lEQVQoz2NgaC1BRowtRZJ9tcxAdnMRz+xOtr5ahoZ8u4VTGg7tFu5vAAoytpYi1MNZTG2lDI0FOVtW3D+zI2XzCobaHPHl07gmNwE17L1z6//fP8kbFjPUZrO0l+HQXJ9Xtn3dj+dPy7atY2jIY2rIZ6zPY2jMT9q4onfjMsXJjSCnIbsUwWopFuipEemr15vdx9lZKTWhqXjXxqb92y3nTwJazlBfILByBueMNqDrGNpKMTQ3Fx24fqXv0B6GuhygQaaz+pa8f3bg5+eyPZuBUmwd5dy9tTzd1QwtRVhtLgpYNttiVi/QV0AvmM3u3/rm2fL3Lwp3b2JsKWZpK59wcM+2S+dArsCiGRiSHWV8q2cwtZUwNBUI9NZtunzh5tMn9gunAr3NUJtlO29yzJpFODS3FLN2VXJMbdad3WO3eBpPZyV/V7XM5Bagi1Smtncc2u20eBowtJnasEUVKAKbizjby7dfuXDq1g29OX1A49h6a4AaYjYu+//tx6mHd5mB8dRSjM1msOUsHeUlOza0Htgp0FnFPa9HdPlUYPiJT2jsPbI3YMVchqZC7IkErp+ptYSlrQykrr2MEeJIoD8bQBGOphgANj4L34pH4FYAAAAASUVORK5CYII=","aspectRatio":1.7717391304347827,"src":"/static/9e153d33c4076e004b4b8d03b2e5dec4/3ddd4/verde.png","srcSet":"/static/9e153d33c4076e004b4b8d03b2e5dec4/078a8/verde.png 163w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/e56da/verde.png 327w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/3ddd4/verde.png 653w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/c5cc7/verde.png 980w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/eebd2/verde.png 1306w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/907f7/verde.png 1568w","srcWebp":"/static/9e153d33c4076e004b4b8d03b2e5dec4/0acdf/verde.webp","srcSetWebp":"/static/9e153d33c4076e004b4b8d03b2e5dec4/ac59e/verde.webp 163w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/7660b/verde.webp 327w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/0acdf/verde.webp 653w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/75470/verde.webp 980w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/68d47/verde.webp 1306w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/59606/verde.webp 1568w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABx0lEQVQoz2NgaC1BRowtRZJ9tcxAdnMRz+xOtr5ahoZ8u4VTGg7tFu5vAAoytpYi1MNZTG2lDI0FOVtW3D+zI2XzCobaHPHl07gmNwE17L1z6//fP8kbFjPUZrO0l+HQXJ9Xtn3dj+dPy7atY2jIY2rIZ6zPY2jMT9q4onfjMsXJjSCnIbsUwWopFuipEemr15vdx9lZKTWhqXjXxqb92y3nTwJazlBfILByBueMNqDrGNpKMTQ3Fx24fqXv0B6GuhygQaaz+pa8f3bg5+eyPZuBUmwd5dy9tTzd1QwtRVhtLgpYNttiVi/QV0AvmM3u3/rm2fL3Lwp3b2JsKWZpK59wcM+2S+dArsCiGRiSHWV8q2cwtZUwNBUI9NZtunzh5tMn9gunAr3NUJtlO29yzJpFODS3FLN2VXJMbdad3WO3eBpPZyV/V7XM5Bagi1Smtncc2u20eBowtJnasEUVKAKbizjby7dfuXDq1g29OX1A49h6a4AaYjYu+//tx6mHd5mB8dRSjM1msOUsHeUlOza0Htgp0FnFPa9HdPlUYPiJT2jsPbI3YMVchqZC7IkErp+ptYSlrQykrr2MEeJIoD8bQBGOphgANj4L34pH4FYAAAAASUVORK5CYII=","aspectRatio":1.78125,"src":"/static/9e153d33c4076e004b4b8d03b2e5dec4/502b1/verde.png","srcSet":"/static/9e153d33c4076e004b4b8d03b2e5dec4/f2e6d/verde.png 114w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/4ddba/verde.png 229w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/502b1/verde.png 457w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/7ddc2/verde.png 686w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/435bf/verde.png 914w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/907f7/verde.png 1568w","srcWebp":"/static/9e153d33c4076e004b4b8d03b2e5dec4/15384/verde.webp","srcSetWebp":"/static/9e153d33c4076e004b4b8d03b2e5dec4/31fce/verde.webp 114w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/e3e25/verde.webp 229w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/15384/verde.webp 457w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/0258d/verde.webp 686w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/64ea2/verde.webp 914w,\n/static/9e153d33c4076e004b4b8d03b2e5dec4/59606/verde.webp 1568w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/9e153d33c4076e004b4b8d03b2e5dec4/6050d/verde.png"}}},"authors":[{"authorsPage":true,"bio":"Software Development Engineer @ AWS CloudWatch\nPython, Ruby, Elixir - Scalability, Distributed Systems\nInterested in self-improvement and leadership\n","id":"fddf057c-d88c-5738-a037-a2ee66fd22f4","name":"Alex Gascon","featured":true,"social":[{"url":"https://twitter.com/AlexGasconB"},{"url":"https://github.com/AlexGascon"}],"slug":"/authors/alex-gascon","avatar":{"small":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAMBAQAAAAAAAAAAAAAAAAIDBAEF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQIA/9oADAMBAAIQAxAAAAHTHzac3soKpjXRM//EAB0QAAIBBAMAAAAAAAAAAAAAAAABAgMRExQhMTL/2gAIAQEAAQUC2edtEqrlLJTRcuS9ObF1/8QAFREBAQAAAAAAAAAAAAAAAAAAICH/2gAIAQMBAT8Bo//EABYRAQEBAAAAAAAAAAAAAAAAABEAEP/aAAgBAgEBPwEjf//EABoQAQEAAgMAAAAAAAAAAAAAAAEAICEiMmH/2gAIAQEABj8C8njLdWdOBf/EAB4QAQACAQQDAAAAAAAAAAAAAAEAESExQVFhcYGh/9oACAEBAAE/Ib5URZQQnLEAZe5sn8sc7DwVpL8/IrfUUumYn1T/2gAMAwEAAgADAAAAEOAPvP/EABgRAAIDAAAAAAAAAAAAAAAAAAABEBEh/9oACAEDAQE/EFgtz//EABcRAQEBAQAAAAAAAAAAAAAAAAABQXH/2gAIAQIBAT8QsY6RX//EABwQAQADAAIDAAAAAAAAAAAAAAEAESFhkTFRcf/aAAgBAQABPxBRh/VdJlo7KEeowa28USXs5WD1KHBbsz9cQcLXFQgvAsCJiYU5GXrgJ//Z","aspectRatio":1,"src":"/static/591aeda48348b33c0e8b5f3070f26761/fa1ea/profile-pic.jpg","srcSet":"/static/591aeda48348b33c0e8b5f3070f26761/afb2b/profile-pic.jpg 13w,\n/static/591aeda48348b33c0e8b5f3070f26761/7c20e/profile-pic.jpg 25w,\n/static/591aeda48348b33c0e8b5f3070f26761/fa1ea/profile-pic.jpg 50w,\n/static/591aeda48348b33c0e8b5f3070f26761/03612/profile-pic.jpg 75w,\n/static/591aeda48348b33c0e8b5f3070f26761/61cdf/profile-pic.jpg 100w,\n/static/591aeda48348b33c0e8b5f3070f26761/5c243/profile-pic.jpg 1944w","srcWebp":"/static/591aeda48348b33c0e8b5f3070f26761/e7b2c/profile-pic.webp","srcSetWebp":"/static/591aeda48348b33c0e8b5f3070f26761/58718/profile-pic.webp 13w,\n/static/591aeda48348b33c0e8b5f3070f26761/74aad/profile-pic.webp 25w,\n/static/591aeda48348b33c0e8b5f3070f26761/e7b2c/profile-pic.webp 50w,\n/static/591aeda48348b33c0e8b5f3070f26761/ed320/profile-pic.webp 75w,\n/static/591aeda48348b33c0e8b5f3070f26761/66016/profile-pic.webp 100w,\n/static/591aeda48348b33c0e8b5f3070f26761/f4f69/profile-pic.webp 1944w","sizes":"(max-width: 50px) 100vw, 50px"},"medium":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAMBAQAAAAAAAAAAAAAAAAIDBAEF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQIA/9oADAMBAAIQAxAAAAHTHzac3soKpjXRM//EAB0QAAIBBAMAAAAAAAAAAAAAAAABAgMRExQhMTL/2gAIAQEAAQUC2edtEqrlLJTRcuS9ObF1/8QAFREBAQAAAAAAAAAAAAAAAAAAICH/2gAIAQMBAT8Bo//EABYRAQEBAAAAAAAAAAAAAAAAABEAEP/aAAgBAgEBPwEjf//EABoQAQEAAgMAAAAAAAAAAAAAAAEAICEiMmH/2gAIAQEABj8C8njLdWdOBf/EAB4QAQACAQQDAAAAAAAAAAAAAAEAESExQVFhcYGh/9oACAEBAAE/Ib5URZQQnLEAZe5sn8sc7DwVpL8/IrfUUumYn1T/2gAMAwEAAgADAAAAEOAPvP/EABgRAAIDAAAAAAAAAAAAAAAAAAABEBEh/9oACAEDAQE/EFgtz//EABcRAQEBAQAAAAAAAAAAAAAAAAABQXH/2gAIAQIBAT8QsY6RX//EABwQAQADAAIDAAAAAAAAAAAAAAEAESFhkTFRcf/aAAgBAQABPxBRh/VdJlo7KEeowa28USXs5WD1KHBbsz9cQcLXFQgvAsCJiYU5GXrgJ//Z","aspectRatio":1,"src":"/static/591aeda48348b33c0e8b5f3070f26761/61cdf/profile-pic.jpg","srcSet":"/static/591aeda48348b33c0e8b5f3070f26761/7c20e/profile-pic.jpg 25w,\n/static/591aeda48348b33c0e8b5f3070f26761/fa1ea/profile-pic.jpg 50w,\n/static/591aeda48348b33c0e8b5f3070f26761/61cdf/profile-pic.jpg 100w,\n/static/591aeda48348b33c0e8b5f3070f26761/59538/profile-pic.jpg 150w,\n/static/591aeda48348b33c0e8b5f3070f26761/fd013/profile-pic.jpg 200w,\n/static/591aeda48348b33c0e8b5f3070f26761/5c243/profile-pic.jpg 1944w","srcWebp":"/static/591aeda48348b33c0e8b5f3070f26761/66016/profile-pic.webp","srcSetWebp":"/static/591aeda48348b33c0e8b5f3070f26761/74aad/profile-pic.webp 25w,\n/static/591aeda48348b33c0e8b5f3070f26761/e7b2c/profile-pic.webp 50w,\n/static/591aeda48348b33c0e8b5f3070f26761/66016/profile-pic.webp 100w,\n/static/591aeda48348b33c0e8b5f3070f26761/d9b14/profile-pic.webp 150w,\n/static/591aeda48348b33c0e8b5f3070f26761/6b183/profile-pic.webp 200w,\n/static/591aeda48348b33c0e8b5f3070f26761/f4f69/profile-pic.webp 1944w","sizes":"(max-width: 100px) 100vw, 100px"},"large":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAMBAQAAAAAAAAAAAAAAAAIDBAEF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQIA/9oADAMBAAIQAxAAAAHTHzac3soKpjXRM//EAB0QAAIBBAMAAAAAAAAAAAAAAAABAgMRExQhMTL/2gAIAQEAAQUC2edtEqrlLJTRcuS9ObF1/8QAFREBAQAAAAAAAAAAAAAAAAAAICH/2gAIAQMBAT8Bo//EABYRAQEBAAAAAAAAAAAAAAAAABEAEP/aAAgBAgEBPwEjf//EABoQAQEAAgMAAAAAAAAAAAAAAAEAICEiMmH/2gAIAQEABj8C8njLdWdOBf/EAB4QAQACAQQDAAAAAAAAAAAAAAEAESExQVFhcYGh/9oACAEBAAE/Ib5URZQQnLEAZe5sn8sc7DwVpL8/IrfUUumYn1T/2gAMAwEAAgADAAAAEOAPvP/EABgRAAIDAAAAAAAAAAAAAAAAAAABEBEh/9oACAEDAQE/EFgtz//EABcRAQEBAQAAAAAAAAAAAAAAAAABQXH/2gAIAQIBAT8QsY6RX//EABwQAQADAAIDAAAAAAAAAAAAAAEAESFhkTFRcf/aAAgBAQABPxBRh/VdJlo7KEeowa28USXs5WD1KHBbsz9cQcLXFQgvAsCJiYU5GXrgJ//Z","aspectRatio":1,"src":"/static/591aeda48348b33c0e8b5f3070f26761/ec46e/profile-pic.jpg","srcSet":"/static/591aeda48348b33c0e8b5f3070f26761/a2637/profile-pic.jpg 82w,\n/static/591aeda48348b33c0e8b5f3070f26761/15203/profile-pic.jpg 164w,\n/static/591aeda48348b33c0e8b5f3070f26761/ec46e/profile-pic.jpg 328w,\n/static/591aeda48348b33c0e8b5f3070f26761/b69a5/profile-pic.jpg 492w,\n/static/591aeda48348b33c0e8b5f3070f26761/23a36/profile-pic.jpg 656w,\n/static/591aeda48348b33c0e8b5f3070f26761/5c243/profile-pic.jpg 1944w","srcWebp":"/static/591aeda48348b33c0e8b5f3070f26761/5a48e/profile-pic.webp","srcSetWebp":"/static/591aeda48348b33c0e8b5f3070f26761/2d087/profile-pic.webp 82w,\n/static/591aeda48348b33c0e8b5f3070f26761/29d87/profile-pic.webp 164w,\n/static/591aeda48348b33c0e8b5f3070f26761/5a48e/profile-pic.webp 328w,\n/static/591aeda48348b33c0e8b5f3070f26761/42f2e/profile-pic.webp 492w,\n/static/591aeda48348b33c0e8b5f3070f26761/dec03/profile-pic.webp 656w,\n/static/591aeda48348b33c0e8b5f3070f26761/f4f69/profile-pic.webp 1944w","sizes":"(max-width: 328px) 100vw, 328px"}}}],"basePath":"/","permalink":"https://blog.alexgascon.com/software-verde/","slug":"/software-verde","id":"b12979a5-f8fc-58c1-85ec-5026474c3b1a","title":"Software verde","canonicalUrl":null,"mailchimp":"","next":[{"id":"4c924bc0-b0bc-54e9-88d1-6c66be802efe","slug":"/doblando-proteinas","secret":false,"title":"Doblando proteínas","author":"Alex Gascon","date":"December 25th, 2020","dateForSEO":"2020-12-25T00:00:00.000Z","timeToRead":1,"excerpt":"Sobre ciencia, tecnología, y poder vivirlo","canonical_url":null,"subscription":true,"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Doblando proteínas\",\n  \"excerpt\": \"Sobre ciencia, tecnología, y poder vivirlo\",\n  \"author\": \"Alex Gascon\",\n  \"hero\": \"./proteinas.png\",\n  \"date\": \"2020-12-25T00:00:00.000Z\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Esta ma\\xF1ana estaba hablando con un amigo farmac\\xE9utico sobre \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://deepmind.com/blog/article/alphafold-a-solution-to-a-50-year-old-grand-challenge-in-biology\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"AlphaFold\"), \", la red neuronal de Google para predecir la estructura de las prote\\xEDnas. La verdad es que estuve al tanto del anuncio en su momento, pero como es un tema que desconozco, tampoco le prest\\xE9 mucha atenci\\xF3n.\"), mdx(\"p\", null, \"Pues bueno, al parecer, puede tratarse de uno de esos descubrimientos que puede marcar un antes y un despu\\xE9s en el progreso cient\\xEDfico. Que puede abrir posibilidades que hasta ahora ni imaginamos. No \\xFAnicamente en biolog\\xEDa, sino en farmacolog\\xEDa, ciencia de materiales, y decenas de campos m\\xE1s.  Al parecer Google ha conseguido un avance de gigante: despu\\xE9s de muchos a\\xF1os sin un progreso significativo, Google ha conseguido llegar a un punto que cre\\xEDamos que a\\xFAn tardar\\xEDa varias d\\xE9cadas. De verdad, tendr\\xEDais que haber visto la emoci\\xF3n con la que mi amigo hablaba de ello: no le sal\\xEDan las palabras con las que expresar hasta qu\\xE9 punto lo que vamos a vivir es una revoluci\\xF3n.\"), mdx(\"p\", null, \"He estado investigando un poco y, no os voy a enga\\xF1ar, sigo sin comprender del todo las consecuencias del descubrimiento. Pero una de las cosas que sin duda me queda claro, es que menuda suerte poder \\u201Cformar parte\\u201D de algo as\\xED.\"), mdx(\"p\", null, \"Por supuesto, el \\u201Cformar parte\\u201D es muy desde la lejan\\xEDa, porque nada de lo que yo hago se acerca ni de lejos a la trascendencia que puede tener AlphaFold. Pero es que, \\xFAltimamente, parece que casi todos las noticias que vemos sobre tecnolog\\xEDa hablan sobre los fallos de un algoritmo u otro, o sobre el abuso que alguna aplicaci\\xF3n o servicio hace de nosotros y nuestros datos. Y por esto es que a veces es reconfortante recordar que, al mismo tiempo, la tecnolog\\xEDa tambi\\xE9n permite que hagamos realidad cosas que parec\\xEDan absolutamente imposibles, que avancemos descubrimientos que deb\\xEDan haber tardado d\\xE9cadas en llegar. Que cosas que parec\\xEDa que fuesen solo magia pasen a ser parte de nuestro d\\xEDa a d\\xEDa.\"), mdx(\"p\", null, \"Sin duda, \\u201Cafortunado\\u201D es la palabra que mejor describe la sensaci\\xF3n de pensar que de unas l\\xEDneas de c\\xF3digo como las que escribimos hoy puede surgir el progreso que cambie nuestras vidas ma\\xF1ana. \"), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Links:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://deepmind.com/blog/article/alphafold-a-solution-to-a-50-year-old-grand-challenge-in-biology\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Anuncio oficial de DeepMind sobre AlphaFold\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://www.nature.com/articles/d41586-020-03348-4\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Art\\xEDculo en Nature sobre AlphaFold\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://towardsdatascience.com/an-introduction-to-attention-transformers-and-bert-part-1-da0e838c7cda\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Art\\xEDculo sobre \\u201Cattention\\u201D en redes neuronales\")))));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQozxWSW0+bBQCGv8RLEy9MFi9MvFK48GLJXLLojQe2KbHG6JgRzGQOdbC5icA4ZHbDSUeAjLJ2gU4O3egmYDtXDsPWsgIFSlnrOHQdUNqA0LJmyGjrBpR+Xx8/f8D7JO/7vELkbpCVIKz/eouosZpog5qnF95h+1IOXX/W0+40c/aHDU6p7VSYf+KKNx+dzU1bkYTq8AYqRZIxs8TcoERXhYgQqzzLckgGdhhJlL9K8uQu4hcvEOlyEHDPMTG1QbEaTt8aoaRDgbrDzM/XtzlSkKS+XKLzvIi7X8TSKHJujwzkJYGNslZm5yHU5mLn2CtsV5fim4J749DjErncH8PT9S2hzl1MqGoZUPWi7I9gnthgdknCdk3iZJZIyf/AcP4l1nQDuB9A/ONSEASGVW3YqzoIGu8z9FUz0bcz2cl8AT5/js3MNNj9Mr1fVqIcDmG6F+PYB1vkpom0VMnA6as3cf6xjN8HjwdjJA5XM7KvBE29HaXWSrN2kvBbmUgvCiy8loP7UA2TJ1qwfaTnRt8jLmqinCtK4RxKMXonhTBqn6DrtpfwDLiuOfEpW4mfaaG3AQ6+n6I9e57o6/uJpWdQ/24jQ2/UMrf3M5aOVOLPyKf7Oz22Wgc3exY5bXqGoLc8IeKHv2ckenOqaVJUMGQKYL8MfSrQlQaoLTKhybBwvcHAmLob8xf3sRYbiJ7X4jg+iKNqDKNhkhrLOsKMe5v1OViUrzNa2EpdngZDH0RnUwSWd2i8+5CCngDNRh/tWU/I1oqk14BGHyci5xZkeWvj84RdYYJyS+GRLGP8hgedaY0Pf1mg4Zvb6IqS+PvhqOIpB+pC5JRHOLMfcp+X2FuYYLd1k6amOA/uhJmyRVkcfMzqLKx45Q2XpiW0ZVf5seg3VLVeTh2PU3YwhTI3ySfpEoo9KQpzt8h6b4tueUN9mpVDb4K1TSLqlwj2LOGyrDLlTLDqlRAisl3PyL983blCXt0/FBSnmPdInPheRJEt8mleAlNfHPXvIQzt06gPhDi6DwauPGPF4WdtOIjvr00eepJ4p0X+A9FomaTnK0exAAAAAElFTkSuQmCC","aspectRatio":1.7744360902255638,"src":"/static/5169bb454a6ef2a7832950bc5efdf22e/a1946/proteinas.png","srcSet":"/static/5169bb454a6ef2a7832950bc5efdf22e/5b37e/proteinas.png 236w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/49058/proteinas.png 472w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/a1946/proteinas.png 944w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/030f1/proteinas.png 1416w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/d23e3/proteinas.png 1642w","srcWebp":"/static/5169bb454a6ef2a7832950bc5efdf22e/99fbb/proteinas.webp","srcSetWebp":"/static/5169bb454a6ef2a7832950bc5efdf22e/77392/proteinas.webp 236w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/1f177/proteinas.webp 472w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/99fbb/proteinas.webp 944w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/4a492/proteinas.webp 1416w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/6c96b/proteinas.webp 1642w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQozxWSW0+bBQCGv8RLEy9MFi9MvFK48GLJXLLojQe2KbHG6JgRzGQOdbC5icA4ZHbDSUeAjLJ2gU4O3egmYDtXDsPWsgIFSlnrOHQdUNqA0LJmyGjrBpR+Xx8/f8D7JO/7vELkbpCVIKz/eouosZpog5qnF95h+1IOXX/W0+40c/aHDU6p7VSYf+KKNx+dzU1bkYTq8AYqRZIxs8TcoERXhYgQqzzLckgGdhhJlL9K8uQu4hcvEOlyEHDPMTG1QbEaTt8aoaRDgbrDzM/XtzlSkKS+XKLzvIi7X8TSKHJujwzkJYGNslZm5yHU5mLn2CtsV5fim4J749DjErncH8PT9S2hzl1MqGoZUPWi7I9gnthgdknCdk3iZJZIyf/AcP4l1nQDuB9A/ONSEASGVW3YqzoIGu8z9FUz0bcz2cl8AT5/js3MNNj9Mr1fVqIcDmG6F+PYB1vkpom0VMnA6as3cf6xjN8HjwdjJA5XM7KvBE29HaXWSrN2kvBbmUgvCiy8loP7UA2TJ1qwfaTnRt8jLmqinCtK4RxKMXonhTBqn6DrtpfwDLiuOfEpW4mfaaG3AQ6+n6I9e57o6/uJpWdQ/24jQ2/UMrf3M5aOVOLPyKf7Oz22Wgc3exY5bXqGoLc8IeKHv2ckenOqaVJUMGQKYL8MfSrQlQaoLTKhybBwvcHAmLob8xf3sRYbiJ7X4jg+iKNqDKNhkhrLOsKMe5v1OViUrzNa2EpdngZDH0RnUwSWd2i8+5CCngDNRh/tWU/I1oqk14BGHyci5xZkeWvj84RdYYJyS+GRLGP8hgedaY0Pf1mg4Zvb6IqS+PvhqOIpB+pC5JRHOLMfcp+X2FuYYLd1k6amOA/uhJmyRVkcfMzqLKx45Q2XpiW0ZVf5seg3VLVeTh2PU3YwhTI3ySfpEoo9KQpzt8h6b4tueUN9mpVDb4K1TSLqlwj2LOGyrDLlTLDqlRAisl3PyL983blCXt0/FBSnmPdInPheRJEt8mleAlNfHPXvIQzt06gPhDi6DwauPGPF4WdtOIjvr00eepJ4p0X+A9FomaTnK0exAAAAAElFTkSuQmCC","aspectRatio":1.7717391304347827,"src":"/static/5169bb454a6ef2a7832950bc5efdf22e/3ddd4/proteinas.png","srcSet":"/static/5169bb454a6ef2a7832950bc5efdf22e/078a8/proteinas.png 163w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/e56da/proteinas.png 327w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/3ddd4/proteinas.png 653w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/c5cc7/proteinas.png 980w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/eebd2/proteinas.png 1306w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/d23e3/proteinas.png 1642w","srcWebp":"/static/5169bb454a6ef2a7832950bc5efdf22e/0acdf/proteinas.webp","srcSetWebp":"/static/5169bb454a6ef2a7832950bc5efdf22e/ac59e/proteinas.webp 163w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/7660b/proteinas.webp 327w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/0acdf/proteinas.webp 653w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/75470/proteinas.webp 980w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/68d47/proteinas.webp 1306w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/6c96b/proteinas.webp 1642w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQozxWSW0+bBQCGv8RLEy9MFi9MvFK48GLJXLLojQe2KbHG6JgRzGQOdbC5icA4ZHbDSUeAjLJ2gU4O3egmYDtXDsPWsgIFSlnrOHQdUNqA0LJmyGjrBpR+Xx8/f8D7JO/7vELkbpCVIKz/eouosZpog5qnF95h+1IOXX/W0+40c/aHDU6p7VSYf+KKNx+dzU1bkYTq8AYqRZIxs8TcoERXhYgQqzzLckgGdhhJlL9K8uQu4hcvEOlyEHDPMTG1QbEaTt8aoaRDgbrDzM/XtzlSkKS+XKLzvIi7X8TSKHJujwzkJYGNslZm5yHU5mLn2CtsV5fim4J749DjErncH8PT9S2hzl1MqGoZUPWi7I9gnthgdknCdk3iZJZIyf/AcP4l1nQDuB9A/ONSEASGVW3YqzoIGu8z9FUz0bcz2cl8AT5/js3MNNj9Mr1fVqIcDmG6F+PYB1vkpom0VMnA6as3cf6xjN8HjwdjJA5XM7KvBE29HaXWSrN2kvBbmUgvCiy8loP7UA2TJ1qwfaTnRt8jLmqinCtK4RxKMXonhTBqn6DrtpfwDLiuOfEpW4mfaaG3AQ6+n6I9e57o6/uJpWdQ/24jQ2/UMrf3M5aOVOLPyKf7Oz22Wgc3exY5bXqGoLc8IeKHv2ckenOqaVJUMGQKYL8MfSrQlQaoLTKhybBwvcHAmLob8xf3sRYbiJ7X4jg+iKNqDKNhkhrLOsKMe5v1OViUrzNa2EpdngZDH0RnUwSWd2i8+5CCngDNRh/tWU/I1oqk14BGHyci5xZkeWvj84RdYYJyS+GRLGP8hgedaY0Pf1mg4Zvb6IqS+PvhqOIpB+pC5JRHOLMfcp+X2FuYYLd1k6amOA/uhJmyRVkcfMzqLKx45Q2XpiW0ZVf5seg3VLVeTh2PU3YwhTI3ySfpEoo9KQpzt8h6b4tueUN9mpVDb4K1TSLqlwj2LOGyrDLlTLDqlRAisl3PyL983blCXt0/FBSnmPdInPheRJEt8mleAlNfHPXvIQzt06gPhDi6DwauPGPF4WdtOIjvr00eepJ4p0X+A9FomaTnK0exAAAAAElFTkSuQmCC","aspectRatio":1.78125,"src":"/static/5169bb454a6ef2a7832950bc5efdf22e/502b1/proteinas.png","srcSet":"/static/5169bb454a6ef2a7832950bc5efdf22e/f2e6d/proteinas.png 114w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/4ddba/proteinas.png 229w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/502b1/proteinas.png 457w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/7ddc2/proteinas.png 686w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/435bf/proteinas.png 914w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/d23e3/proteinas.png 1642w","srcWebp":"/static/5169bb454a6ef2a7832950bc5efdf22e/15384/proteinas.webp","srcSetWebp":"/static/5169bb454a6ef2a7832950bc5efdf22e/31fce/proteinas.webp 114w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/e3e25/proteinas.webp 229w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/15384/proteinas.webp 457w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/0258d/proteinas.webp 686w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/64ea2/proteinas.webp 914w,\n/static/5169bb454a6ef2a7832950bc5efdf22e/6c96b/proteinas.webp 1642w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/5169bb454a6ef2a7832950bc5efdf22e/6050d/proteinas.png"}}},{"id":"0f0df2e4-d9d6-51f6-a33e-eec23e36a9cf","slug":"/craft","secret":false,"title":"Craft","author":"Alex Gascon","date":"November 11th, 2020","dateForSEO":"2020-11-11T00:00:00.000Z","timeToRead":1,"excerpt":"Sobre cómo, y no sobre qué","canonical_url":null,"subscription":true,"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Craft\",\n  \"excerpt\": \"Sobre cómo, y no sobre qué\",\n  \"author\": \"Alex Gascon\",\n  \"hero\": \"./craft.jpg\",\n  \"date\": \"2020-11-11T00:00:00.000Z\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Mucha gente se extra\\xF1a cuando les cuento que algunos de los libros de los que m\\xE1s he aprendido son biograf\\xEDas de deportistas. En realidad, hay una enorme cantidad de cosas que puedes aprender de alguien que est\\xE1 en el top mundial en su campo, sea cual sea. Por casualidad, hace no mucho me encontr\\xE9 con un v\\xEDdeo de Kobe Bryant en el que lo explica de maravilla:\"), mdx(\"blockquote\", {\n    className: \"twitter-tweet tw-align-center\"\n  }, mdx(\"p\", {\n    lang: \"und\",\n    dir: \"ltr\"\n  }, mdx(\"a\", {\n    href: \"https://t.co/JL9FO54tEz\"\n  }, \"pic.twitter.com/JL9FO54tEz\")), \"\\u2014 Danny Trinh (@dtrinh) \", mdx(\"a\", {\n    href: \"https://twitter.com/dtrinh/status/1317114376395100160?ref_src=twsrc%5Etfw\"\n  }, \"October 16, 2020\")), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"What discipline you are in? Doesn\\u2019t matter! Whether you are a writer, or a basketball player, or a coder, there\\u2019s a common denominator in how we approach our craft: the attention to detail, the love of commitment, right? Those things are the same across the board.\")), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"So that is my message: don\\u2019t look at what I did, but look at how I did it. And then you can transfer that over to any profession, or any discipline. That\\u2019s Mamba Mentality.\")));\n}\n;\nMDXContent.isMDXComponent = true;","hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAGSvBIYQX//xAAbEAABBQEBAAAAAAAAAAAAAAACAAEDERIQIf/aAAgBAQABBQKyjGebXBbaNvAp1//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAMAAQUAAAAAAAAAAAAAAAABIRECM0FRof/aAAgBAQAGPwLRjGeRJQ3PCQvY61T/xAAaEAEBAQADAQAAAAAAAAAAAAABEQAhMVFB/9oACAEBAAE/IQkIvI++YWpfaeYm6amObqAUDlgHSRDf/9oADAMBAAIAAwAAABCMD//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAEDAQE/EFf/xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8QjH//xAAbEAEBAQEBAQEBAAAAAAAAAAABESEAMUFRgf/aAAgBAQABPxBK+sOocL9JyYtINHnWGg35XZJTXq/znBUHDFfZP2HHsTHEyd//2Q==","aspectRatio":1.3333333333333333,"src":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/2f1b1/craft.jpg","srcSet":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/e0f30/craft.jpg 236w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/86afd/craft.jpg 472w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/2f1b1/craft.jpg 800w","srcWebp":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/ccdb5/craft.webp","srcSetWebp":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/77392/craft.webp 236w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/1f177/craft.webp 472w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/ccdb5/craft.webp 800w","sizes":"(max-width: 800px) 100vw, 800px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAGSvBIYQX//xAAbEAABBQEBAAAAAAAAAAAAAAACAAEDERIQIf/aAAgBAQABBQKyjGebXBbaNvAp1//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAMAAQUAAAAAAAAAAAAAAAABIRECM0FRof/aAAgBAQAGPwLRjGeRJQ3PCQvY61T/xAAaEAEBAQADAQAAAAAAAAAAAAABEQAhMVFB/9oACAEBAAE/IQkIvI++YWpfaeYm6amObqAUDlgHSRDf/9oADAMBAAIAAwAAABCMD//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAEDAQE/EFf/xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8QjH//xAAbEAEBAQEBAQEBAAAAAAAAAAABESEAMUFRgf/aAAgBAQABPxBK+sOocL9JyYtINHnWGg35XZJTXq/znBUHDFfZP2HHsTHEyd//2Q==","aspectRatio":1.3360655737704918,"src":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/1dc0b/craft.jpg","srcSet":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/3a5ce/craft.jpg 163w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/05730/craft.jpg 327w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/1dc0b/craft.jpg 653w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/2f1b1/craft.jpg 800w","srcWebp":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/0acdf/craft.webp","srcSetWebp":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/ac59e/craft.webp 163w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/7660b/craft.webp 327w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/0acdf/craft.webp 653w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/ccdb5/craft.webp 800w","sizes":"(max-width: 653px) 100vw, 653px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAPABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIEA//EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAGSvBIYQX//xAAbEAABBQEBAAAAAAAAAAAAAAACAAEDERIQIf/aAAgBAQABBQKyjGebXBbaNvAp1//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAMAAQUAAAAAAAAAAAAAAAABIRECM0FRof/aAAgBAQAGPwLRjGeRJQ3PCQvY61T/xAAaEAEBAQADAQAAAAAAAAAAAAABEQAhMVFB/9oACAEBAAE/IQkIvI++YWpfaeYm6amObqAUDlgHSRDf/9oADAMBAAIAAwAAABCMD//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAEDAQE/EFf/xAAWEQEBAQAAAAAAAAAAAAAAAAAAARH/2gAIAQIBAT8QjH//xAAbEAEBAQEBAQEBAAAAAAAAAAABESEAMUFRgf/aAAgBAQABPxBK+sOocL9JyYtINHnWGg35XZJTXq/znBUHDFfZP2HHsTHEyd//2Q==","aspectRatio":1.3255813953488371,"src":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/eaa58/craft.jpg","srcSet":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/5a3ee/craft.jpg 114w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/41f8f/craft.jpg 229w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/eaa58/craft.jpg 457w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/c309b/craft.jpg 686w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/2f1b1/craft.jpg 800w","srcWebp":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/15384/craft.webp","srcSetWebp":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/31fce/craft.webp 114w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/e3e25/craft.webp 229w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/15384/craft.webp 457w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/0258d/craft.webp 686w,\n/static/6b151c0ee00c56bc0c5f9779afca4a5a/ccdb5/craft.webp 800w","sizes":"(max-width: 457px) 100vw, 457px"},"seo":{"src":"/static/6b151c0ee00c56bc0c5f9779afca4a5a/2f1b1/craft.jpg"}}}]}},"staticQueryHashes":["1143375668","1491088328","1921650733","2068910035","2444214635"]}