| CUSTOMER Hackerman, I need an impressive icon for my website. It should be 5x5 pixels big and look like a rabbit. Can you please draw it for me? HACKERMAN Draw!? Bah! I don’t need any graphic program for that. I am Hackerman. I will code it for you. You will get the image next week. CUSTOMER Next week?? But… HACKERMAN No buts! I just need to read about how the GIF file format works, then I can create the image in no time. [TIME PASSES] After spending some evenings, Hackerman gets the main idea of how the GIF file format works and the compression algorithm called LZW. With that knowledge, he succeeded in creating the image within an hour. Hackerman calculated that the binary of the image should be as follows: 47 49 46 38 39 61 00 00 00 00 70 00 00 2c 00 00 00 00 05 00 05 00 81 11 11 11 FF FF FF D5 D7 D9 00 00 00 07 0F 80 01 00 83 01 82 84 85 88 82 8A 85 02 85 81 00 3b So he just opened his code editor, saved the file as rabbit.gif, and sent it to his customer. Boom! Easy-peasy! Do you want understand the GIF-file format and be as cool as Hackerman? |
The goal of the thing isn't to turn them into hackers, it is to give them a feeling what the stuff they work with is made of, what a file is. This is also a great introduction to talk about compression, metadata, encoding, decoding, sample rate, bitdepth and so on.
If you dive that deep into it, the settings in a typical media conversion program will suddenly become much less intimidating. My motto always was: this was made by humans so it should be possible for humans to understand it as well. And this is maybe the "hidden" lesson: If you bring enough patience you can go into the depth of nearly every topic.