¿El término "Ingeniería de software" es un oxímoron?
Ingeniería. Ingeniero. Engine. Máquina. Vamos a hacer una pregunta tonta y peligrosa: ¿qué máquina construye un ingeniero de software? Si te sale rápido, sospechá. Yo llevo treinta años metido en el software y todavía no tengo una respuesta que me convenza.1
Lo interesante no es que la pregunta sea difícil. Lo interesante es que la pregunta no la inventó un crítico externo de la disciplina, ni un filósofo decidido a molestar, ni un estudiante con ganas de quedar bien en un seminario. La escribió Alan Kay, el tipo que acuñó object-oriented, en un apéndice de un manual técnico que casi nadie lee. La dejó ahí, como quien deja una bomba en el cajón de una mesa de luz, y siguió escribiendo software.
By César Ballardini
Leer másDel torno a la inteligencia artificial: cuando la precisión se autoperfecciona a sí misma
¿Qué tiene en común el torno de precisión y la inteligencia artificial?
A primera vista, nada. Uno es una máquina de hierro que arranca virutas de metal; la otra es software que predice la siguiente palabra. Pero las dos enfrentan el mismo problema fundacional: para construir una versión mejor de sí mismas, necesitan una versión de sí mismas que ya sea suficientemente buena. El torno preciso se fabrica con piezas precisas, pero las piezas precisas se fabrican en un torno preciso. La IA capaz de mejorar IA necesita ser lo bastante inteligente para entender qué mejorar, pero esa inteligencia es justamente lo que estamos tratando de construir.
By César Ballardini
Leer másSoplar humo de tabaco
Un sistema con muchos procesos tiene un tiempo de login de un minuto, cuando la expectativa es de 1 ó 2 segundos. Los procesos ocupan toda la memoria disponible, así que alguien propone aumentar la RAM. La solución parece obvia: más memoria, mejor rendimiento.
Diagrama de estados de un proceso1
Resultado: el tiempo de login sube a dos minutos.
¿Qué pasó? Antes de agregar memoria, muchos procesos que podrían estar listos para ejecutarse habían sido desalojados (page-out) a disco: el sistema operativo los había movido al disco para liberar RAM. Un proceso en disco no compite por la CPU; simplemente espera allí, fuera de la cola de listos. Con poca memoria, la cantidad de procesos compitiendo activamente por la CPU era baja, y cada uno recibía su quantum en su turno.
By César Ballardini
Leer más