From 20b553417ef13f60525324581a44f4688a4e1d51 Mon Sep 17 00:00:00 2001 From: Miloslav Ciz Date: Fri, 12 Nov 2021 19:50:37 -0600 Subject: [PATCH] Update --- fun.md | 1 + ioccc.md | 21 ++++++++++++++++++--- main.md | 1 + 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/fun.md b/fun.md index 7f281f5..e50373a 100644 --- a/fun.md +++ b/fun.md @@ -7,5 +7,6 @@ Fun is a reward in form of a pleasant feeling which you get after doing somethin - [programming](programming.md) - [games](game.md) - [open consoles](open_console.md) +- [obfuscating C](ioccc.md) - hanging around with friends on the [Island](island.md) - laughing at normies dealing with [bloat](bloat.md) diff --git a/ioccc.md b/ioccc.md index 73b6483..470ea3f 100644 --- a/ioccc.md +++ b/ioccc.md @@ -1,8 +1,8 @@ # International Obfuscated C Code Contest -The International Obfuscated C Code Contest (IOCCC for short) is an annual online contest in making the most creatively [obfuscated](obfuscation.md) programs in [C](c.md). It's kind of a "just for [fun](fun.md)" thing but similarly to [esoteric languages](esolang.md) there's an element of art and clever hacking that carries a great value. While the [productivity freaks](productivity_cult.md) will argue this is just a waste of time, the true programmer appreciates the depth of knowledge and creative thinking needed to develop a beautifully obfuscated programs. +The International Obfuscated C Code Contest (IOCCC for short) is an annual online contest in making the most creatively [obfuscated](obfuscation.md) programs in [C](c.md). It's kind of a "just for [fun](fun.md)" thing but similarly to [esoteric languages](esolang.md) there's an element of art and clever hacking that carries a great value. While the [productivity freaks](productivity_cult.md) will argue this is just a waste of time, the true programmer appreciates the depth of knowledge and creative thinking needed to develop a beautifully obfuscated programs. The contest runs since 1984 and was started by Landon Curt Noll and Larry Bassel. -The contest runs since 1984 and was started by Landon Curt Noll and Larry Bassel. +Unfortunately some [shit](shit.md) is flying around IOCCC too, for example confusing licensing -- having a [CC-BY-SA](cc_by_sa.md) license in website footer and explicitly prohibiting commercial use in the text, WTF? Also the team started to use [Microshit](microsoft.md)'s [GitHub](github.md). They also allow latest [capitalist](capitalist_software.md) C standards, but hey, this is a contest focused on ugly C, so perhaps it makes sense. Hacking the rules of the contest is also encouraged and there is an extra award for "worst abuse of the rules". @@ -12,4 +12,19 @@ Some common ideas employed in the programs include: - misleading identifiers and comments - extreme [macro](macro.md) and [preprocessor](preprocessor.md) abuse - abuse of compiler flags -- weird things like the main function [recursion](recursion.md) +- different behavior under different C standards +- doing simple things the hard way, e.g. by avoiding loops +- including weird files like `/dev/tty` or recursively including itself +- [code golfing](code_golf.md) +- weird stuff like the main function [recursion](recursion.md) or even using it as a signal handler :) + +And let us also mention a few winning entries: + +- program whose source code is taken from its file name (using `__FILE__`) +- [ray tracer](ray_tracing.md) in < 30 LOC formatted as ASCII art +- operating system with multi-tasking, GUI and filesystem support +- neural [machine learning](machine_learning.md) on text in < 4KB +- program printing "hello world" with error messages during compilation +- [X11](x11.md) Minecraft-like game +- [web browser](web_browser.md) +- self-replicating programs diff --git a/main.md b/main.md index e03ae40..7697e3c 100644 --- a/main.md +++ b/main.md @@ -25,4 +25,5 @@ And if you just want something more obscure and fun, check out these: - [esoteric languages](esolang.md) - [open consoles](open_console.md) - [brain software](brain_software.md) +- [C obfuscation contest](ioccc.md) - [shit](shit.md) \ No newline at end of file