- Este año, IOCCC28 se reanudó después de 4 años, y se postularon numerosas obras de código C difícil y complejo de desarrolladores de todo el mundo
- La reconstrucción del sitio web y la infraestructura, la incorporación del kit de herramientas mkiocccentry y la mejora del sistema de envío incrementaron notablemente la eficiencia operativa
- El proceso de evaluación se volvió más complejo y exigente que en el pasado, pero el periodo de evaluación se redujo considerablemente frente a ciclos anteriores
- Aunque se relajaron las reglas de tamaño de código, se seleccionaron numerosas obras pequeñas y de alta calidad, por lo que se espera que los cambios futuros en las normas del concurso sean limitados
- Se presentaron obras ganadoras interesantes y originales con técnicas de ofuscación, junto con máquinas virtuales y emuladores experimentales, lo que contribuye a mejorar el nivel de programación en C
Resumen y contexto de IOCCC28
- IOCCC28, celebrado en 2024, fue una competencia de código C creativo y enigmático con participantes de todo el mundo, tras un hiato de 4 años
- Durante este período, con más de 6,168 commits, el sitio web oficial del IOCCC fue reconstruido a gran escala bajo el nombre de "Great Fork Merge"
- En lo operativo se aplicaron innovaciones como el kit de herramientas mkiocccentry, el nuevo proceso de registro y los servidores de envíos, mejorando la eficiencia de evaluación y la velocidad de publicación del código
- Las participaciones se recibieron entre el 5 de marzo de 2025 y el 5 de junio de 2025, y la evaluación terminó en solo 33 días, por lo que tras concluir el concurso el código fuente quedó disponible en su totalidad en unas 2 horas
Tendencias de participantes y selección
- En IOCCC28 de este año, al aumentar de forma marcada la cantidad y calidad de las entradas, también subió la dificultad de evaluación, y se produjeron 23 ganadores, el número más alto de todos los tiempos
- "La pausa de 4 años permitió que aparecieran trabajos mejores en algunos casos, pero en conjunto los participantes lograron avances notables tanto en ofuscación como en programación en C"
- Aunque se aplicó una nueva limitación de tamaño de código (con un aumento de alrededor de 21%), más de la mitad de los ganadores se entregó con menos de 2/3 del límite total, y 10 con menos de 1/2 del tamaño, mostrando así tanto eficiencia como calidad
- Por ello, se espera que en los próximos 10 años casi no haya cambios en el límite de tamaño de código
Normas de evaluación y planes futuros
- Las reglas y guías del IOCCC se revisarán para hacerlas más innovadoras e intuitivas, y los jueces del IOCCC tienen previsto comenzar la preparación para IOCCC29, programada para diciembre de 2025
- También se prevén parches de mejora basados en Pull Request para el repositorio de ganadores del IOCCC y el repositorio del toolkit mkiocccentry en GitHub
Presentación de ganadores y destacados
-
Se seleccionaron obras ganadoras con diversos temas, entre las que destacan:
- ChatIOCCC: implementa el motor de inferencia de LLM más compacto del mundo basado en el LLM de código abierto LLaMA 2 de Meta, y ofrece una divertida función de chatbot
- Eh: un editor con soporte de acento UTF-8 que implementa un código ofuscado más práctico que ed(1)
- One-liner de 135 bytes: un código de ofuscación extremadamente corto que produce distintas salidas según el valor hexadecimal recibido
- Arte de preprocesador de C: implementa renderizado de imágenes ejecutando el preprocesador miles a cientos de miles de veces, ofreciendo una experiencia de larga duración y muy singular
- VM Z₃: implementación de una máquina virtual basada en la tercera versión de la Z-Machine, donde leer el código fuente puede disfrutarse como si fuera un juego
- Entorno virtual con emulador de C64: máquina virtual que permite experimentar de forma segura escenarios dañinos como una fork bomb o el borrado de archivos, e incluye emulación de C64
- Emulación del chip Intel 4004: recreación artística que imita hasta el nivel de puertas lógicas el circuito del primer microprocesador comercial del mundo, lanzado en 1971
- Rompecabezas multilingüe: una ofuscación novedosa para quienes dominan al menos tres lenguajes (C, inglés y otro)
Participantes y recomendaciones futuras
- La ofuscación similar a obras ganadoras anteriores obtiene menor puntaje; la originalidad y la pulcritud de acabado son criterios principales de evaluación
- Se recomienda a quienes no ganaron volver a participar después de mejorar sus propuestas o probar enfoques diferentes
- También se da la bienvenida a que se publiquen por separado las obras que no ganaron
Guía para compilar y ejecutar los ganadores
- Se recomienda usar la versión más reciente de clang o gcc, ya que pueden existir problemas de compatibilidad con algunos compiladores de C
- El FAQ y la documentación oficial explican cómo resolver problemas y enviar correcciones
Descarga de los ganadores de IOCCC28 2024
- El conjunto de ganadores se ofrece como archivo comprimido (2024.tar.bz2); consulta la página de cada obra para ver la descripción detallada, el código fuente y las opiniones de los autores, y aprender técnicas de ofuscación originales
(Los enlaces directos para descargar los ganadores y la descripción detallada de cada uno están disponibles en el sitio oficial)
Aún no hay comentarios.