Author:
Award: Who won award
To build:
make all
To use:
./prog columns lines
Try:
./try.sh
Judges’ remarks:
This program is definitely bigger on the inside than the outside. Can you find out where the volume of output comes from in the prog.c source code?
A fun challenge
Create an alternative form of prog.c (i.e., prog.alt.c)
so that video displays IOCCC 2025 instead of DOCTOR WHO.
The above fun challenge is still open. See the “Fun challenge Info” section for details.
Author’s remarks:
1963 Doctor Who title sequence
This is an ASCII animation resembling the 1963 Doctor Who title sequence.
How to run
./prog width height
The first argument after “./prog” should a positive integer that is smaller than your terminal width (in characters), and the next argument being positive integer smaller than your terminal height (in characters). Please do not enter a negative number.
It’s recommended that the width to be at least 120 characters and height to be at least 30 characters for a clearer animation. Also, the program assumes the terminal to be a “black background” and “white text” one, please flip the ASCII brightness map if you are using a terminal with a “light color background. and”dark color text”. Lastly, the terminal must support ANSI escape codes to work properly.
Overview
From 1963 to 1973, the title sequences in the BBC Sci-Fi show Doctor Who was made using a technique called “HowlRound” effect, which is done by pointing a camera to its output. This program simulates the “HowlRound” effect by first scanning a portion of the screen buffer, enlarging it and storing it into a temporary buffer same size as the screen buffer, then copy everything back into the screen buffer, resulting in a continuous video feedback.
Obfuscations and Features
- Box shaped formatting (possibly caused by a broken chameleon circuit)
- “while loop” instead of “for loop” for output and scanning buffers
- “for loop” instead of “while loop” for the animation’s main loop
- Uninitialized variable instead of
time(0)forsrand(t)seed (time(0)unusable during time travel flight) - “prog.c” does not appear bigger on the inside upon opening it
Warnings
- Flickering on the screen may not be suitable for people with photosensitive epilepsy
Portability
This code is tested on : - Ubuntu 24.04.3 LTS on Windows 10 x86_64 - Debian GNU/Linux 12 (BookWorm) x86_64
This code is NOT tested on : - TT capsule computer system
Inventory for 2025/jingp49
Primary files
- prog.c - entry source code
- Makefile - entry Makefile
- prog.orig.c - original source code
- try.sh - script to try entry
Secondary files
- 2025_jingp49.tar.bz2 - download entry tarball
- README.md - markdown source for this web page
- .entry.json - entry summary and manifest in JSON
- .gitignore - list of files that should not be committed under git
- .path - directory path from top level directory
- .date-range - copyright date range for this directory
- index.html - this web page
Jump to: top
