Por qué el software vuelve loca a la gente

Este ensayo sostiene que las condiciones que rodean al desarrollo de software —velocidad, dinero, complejidad, abstracción y libertad casi ilimitada para cambiar de rumbo— tienen un efecto desproporcionado sobre las personas que trabajan en él, hasta el punto de distorsionar su sentido de la proporc

Control y complejidad: una tensión central en el diseño de sistemas

El diseño de sistemassoftware y organizativos se mueve entre dos familias de enfoques que rara vez se combinan con éxito. El primero, la descomposición analítica, parte de la premisa de que el todo se comprende a partir de sus partes: dividir un problema, analizar cada componente y predecir su compo

El arte de la intuición en ciencia e ingeniería: dominar la complejidad

El libro "The Art of Insight in Science and Engineering: Mastering Complexity", del físico y docente Sanjoy Mahajan y publicado por MIT Press en 2014, es una guía práctica para aprender a pensar de forma aproximada y extraer comprensión profunda en lugar de atascarse en cálculos precisos. Mahajan so

Epigramas en programación: aforismos sobre el oficio del software

Los 'Epigramas en programación' son una colección de sentencias breves, ingeniosas y a menudo provocadoras que reflexionan sobre la práctica, la teoría y la cultura del desarrollo de software. En ellos se condensan ideas como que 'la estructura de datos se retrasa en el proceso de programación' (epi

Problemas complejos: lecciones de sanidad, Big Dig y MBTA

El texto explora la dificultad de resolver problemas complejos mediante tres casos paradigmáticos. En el ajedrez, un jugador experto puede calcular jugadas hasta que un pequeño detalle invierte la conclusión, mientras que un principiante se rinde. Esta metáfora se extrapola a la sanidad estadouniden

Juegos entre programas: la rulología de la competencia

El ensayo de Stephen Wolfram aplica métodos de la 'rulología' al estudio de la competencia entre agentes que juegan de forma repetida, modelando las estrategias como programas y explorando sistemáticamente el espacio de estrategias posibles en el juego clásico de 'match-or-not' (matching pennies).

Simplicidad Ignorada: ¿Por qué no se premia en el trabajo?

El artículo "Nobody Gets Promoted for Simplicity" de terriblesoftware.org aborda un problema sutil pero común en equipos de ingeniería: la tendencia a recompensar la complejidad sobre la simplicidad. Aunque la simplicidad es una virtud crucial, a menudo se pasa por alto en las evaluaciones de desemp

Autómatas Celulares: Simplicidad que Genera Patrones

## 1D Cellular Automata Playground: Explorando la Simplicidad y la Complejidad Emergente **¿Qué es y por qué es importante?** El "1D Cellular Automata Playground" es una herramienta interactiva que te permite explorar el fascinante mundo de los autómatas celulares (AC) unidimensionales. Los AC so

LinkedIn: ¿Entendemos la tecnología que usamos?

El reciente auge de LinkedIn como plataforma social, impulsado en parte por los problemas de Twitter, ha generado una reflexión profunda sobre la comprensión de los sistemas tecnológicos que utilizamos a diario. La pieza central de esta reflexión es la idea de que, a menudo, construimos y dependemos

Ruliología: La Nueva Ciencia de las Reglas

El artículo introduce el término "ruliología", acuñado por Stephen Wolfram, como una nueva ciencia que estudia el comportamiento de sistemas que siguen conjuntos simples de reglas. No es ni informática tradicional (que se enfoca en programas construidos para propósitos específicos) ni matemáticas (q

Software Complejo: Evolución vs. Diseño Integral

El artículo explora dos enfoques principales en el desarrollo de software para proyectos complejos: la evolución gradual (empezar pequeño y añadir complejidad con el tiempo) y el diseño integral (planificar y especificar todo el sistema por adelantado). La experiencia de un autor en una gran empresa