Artículos
Sobre los tests unitarios dependientes de las bases de datos
Resulta obvio decir que una prueba unitaria que involucre una API de terceros será, cuando menos, disfuncional, y hablando con honestidad, una pieza de código que jamás debería integrarse al proyecto. Sin embargo, con las bases de datos, parecería que suele hacerse una excepción.
Antes de continuar, plantaré una premisa simple:
en una prueba unitaria sólo debe probase aquello que, tras ser ejecutado en diferentes entornos, tendrá el mismo comportamiento esperado.
Artículos
Identificadores públicos: ¿obsoletos?
Iniciar sesión con tu correo electrónico, compartir tu número de teléfono con desconocidos o con una empresa, para luego recibir un arsenal de llamadas desde números anónimos, compartir nuestro identificador de cuenta bancaria (llamado CBU o CVU en Argentina).
Todo ello me hace pensar: en esta era de plena digitalización, en la cual gestionamos nuestro dinero desde nuestros dispositivos, desarrollamos nuestros vínculos humanos y exponemos nuestra reputación a través de redes sociales, entre otras tantas actividades cotidianas, ¿no deberían ser estos “identificadores públicos” descartables?
Artículos
Multimodalidad: ¿gestualidad?
Hoy, como cada domingo, aproveché mi caminata matutina para pasar a visitar a mis padres. Tras haber agotado los temas relacionados a lo cotidiano, recordé el reciente anuncio de OpenAI acerca de su novedoso modelo de texto a video: Sora. Y decidí mostarles los videos que se han popularizado, bajo la consigna de “¿notan algo raro en estos videos?”. Tras ver tres o cuatro de ellos, mi madre me dijo “los actores se ven muy bien, ¿son fragmentos de películas?
Artículos
Tu vida es tuya
Hónrala. Siempre puedes volver a empezar. No tengas miedo. Este es un recordatorio para todos aquellos que dudan sobre su rumbo. Eres tú, eres tuyo, y eres infinito. Eres amor para muchos, que no podrían vivir sin tí. Eres especial aunque a veces lo dudes. Eres, y eso es lo más importante. Ámate. Si hoy fue un mal día, eso mañana cambiará. Confía en tí. Yo confío en tí. Muchos lo hacemos.
Artículos
Adopto forma de vida sintética
Antropomórfica, cuadrupeda, o arácnida, hable o no. El único requisito es que no tengan pinzas que puedan aplastar mi cabeza (es que quedé traumado de niño con esa mítica escena de Robocop 2).
El hecho es que las empresas se están quedando sin datos para entrenar a los LLM. Los humanos, en contrapuesto, aprendemos de nuestro entorno, al igual que cualquier otro bio-organismo. Se estima que absorbemos alrededor de 20MB de información por segundo a través de nuestro nervio óptico.
Artículos
El día que conocí el valor de los unit tests
Intro ¿Cómo podemos probar esto localmente? - preguntó el desarrollador. No podemos - respondió el arquitecto.
Esa fue la frase que inició mi viaje hacia el mundo de las pruebas unitarias.
¿Cómo puedo garantizar un minimo nivel de calidad sobre algo que deifnitivamente no puedo probar, debido a dependencias externas y limitaciones de infraestructura? Y no siempre es cuestión de “arrojarlo a producción y ver que pasa”, ya que en muchos casos, el costo de un error puede ser muy alto; ciertos procesos involucran transacciones monetarias, o datos sensibles de y para los usuarios, y un error puede significar una pérdida de dinero, o una violación de una norma o una ley.
Artículos
Sistemas neuróticos
Neurótico: (que padece una) enfermedad funcional del sistema nervioso caracterizada principalmente por inestabilidad emocional. https://dle.rae.es/neurosis
Los sistemas no presentan emociones (aún). Sin embargo, algunos sí presentan rasgos de complejidad y verbosidad exacerbada, como si estuvieran hiperexitados, nerviosos, cuyos momentos de euforia se demuestra en los picos de memoria y tiempos de espera agotados, y los de depresión en sus fallos. En efecto, “parecería” que tienen cierto estado anímico que se manifiesta en función de los “estímulos” que reciben (las solicitudes del usuario y otros actores externos).
Artículos
Menos verde y rojo; más azul y negro
Un título un poco capcioso, debo reconocerlo. Se trata de la configuración de colores que suelo usar en los editores de texto. Reminiscencia de épocas pasadas. Para lograr un punto intermedio, podría mencionar la equivalencia de github en su tema claro, el cual sería menos gris y azul; más rojo y morado.
En este artículo pretendo expresar mi opinión acerca del impacto negativo de tener una gran cantidad de “verdes” y “rojos” en tu código fuente, los cuales explicaré a continuación.
Artículos
Qué separa a los mejores programadores del resto. Diez rasgos críticos.
Aviso: este artículo es una traducción reinterpretada del original What Separates the Best Devs From the Crowd: 10 Critical Traits .
Tres aspectos necesarios para tener éxito como desarrollador de software El desarrollo de software profesional es una disciplina compleja que requiere un conjunto diverso de habilidades para tener éxito. Podemos agruparlos en tres categorías principales:
Habilidades técnicas Este es el grupo más obvio. Para ser un desarrollador exitoso, debes ser bueno en tu oficio: lenguajes y frameworks, principios de código limpio, arquitectura, pruebas, depuración, etc.
Artículos
Un mundo regido por la IA: lo que nos espera
Los millennials hemos vivido y crecido entre épocas: demasiado tarde para participar de las fundaciones de la informática, demasiado temprano para adoptar de forma natural el modelo de vida en línea que rige actualmente. Criados y formados bajo un antiguo modelo educativo basado en memorizar; desafiados a contribuir a la sociedad mediante la ejecución de procesos creativos y disruptivos. Hemos observado cómo el mercado laboral ha mutado desde una oferta laboral local a un modelo de negocios descentralizado; desde ambientes laborales culturalmente homogéneos y presenciales, a entornos virtuales mayoritariamente compuestos por grupos enriquecedoramente diversos de colaboradores, enmarcado por convenciones de trabajo y comunicación, cuanto menos, distantes a los usos y costumbres locales.