diff --git a/2014/vik/README.md b/2014/vik/README.md index 7b87237e9..3d7fed791 100644 --- a/2014/vik/README.md +++ b/2014/vik/README.md @@ -8,28 +8,33 @@ Daniel Vik ## Judges' comments: ### To build: - make + make all ### To run: - ./prog > foo.c + ./prog > foo.c ### Try: - echo 'Want to hear me beep?' | ./prog > audio_file.raw + echo 'Want to hear me beep?' | ./prog > audio_file.raw + + echo 'No. I want chocolate!' | ./prog | mplayer -demuxer rawaudio - - echo 'No. I want chocolate!' | ./prog | mplayer -demuxer rawaudio - ### Selected Judges Remarks: -This program sets a new tone for obfuscation. But do you understand -what it says about obfuscation? Perhaps: +This program sets a new tone for obfuscation. But do you understand +what it says about obfuscation? Perhaps: - ./prog < prog.c > prog.raw -might speak to your coding style? If not, then perhaps: + ./prog < prog.c > prog.raw + + +might speak to your coding style? If not, then perhaps: + + + ./prog < remarks.markdown | mplayer -demuxer rawaudio - - ./prog < remarks.markdown | mplayer -demuxer rawaudio - might help? :-) @@ -42,41 +47,46 @@ I can tell, there are at least six chocolate references in this program. This program can convert text to Morse to a raw 44.1kHz stereo audio file. Via streaming to mplayer, you can listen to the Morse audio. -Don't forget the last '-' as it makes mplayer read from stdin.) +Don't forget the last '-' as it makes mplayer read from stdin. + ## Convert audio file with Morse signals to text - $ ./prog e < audio_file.raw + + $ ./prog e < audio_file.raw + or alternatively pass a .wav file as input. -The preferred input format 44.1kHz stereo, but it does a decent job on mono -input and different frequencies as well. +The preferred input format 44.1kHz stereo, but it does a decent job on mono +input and different frequencies as well. + ### Portability -The program is portable to most platforms. The only system dependency is that +The program is portable to most platforms. The only system dependency is that the program relies on writing binary data to stdout. -Microsoft compilers adds a carriage return to newlines, and to compile the -program with this platform, the following line can be added after the main +Microsoft compilers add a carriage return to newlines, and to compile the +program with this platform, the following line can be added after the main declaration in order for the program to run correctly: - _setmode(_fileno(stdout), 0x8000); + + _setmode(_fileno(stdout), 0x8000); ### Known Issues The program uses a quite simple algorithm for detecting tone on and off events -in the Morse signal. Hence the program does not work well with noisy input +in the Morse signal. Hence the program does not work well with noisy input signals. I have tested it with several samples of man made Morse recordings as well as computer generated ones. -Generally, any recording from ham radio transmissions does not decode due to -noise and echoes. Other man made recordings may decode, but some characters -can be incorrect due to too big variation in length of tones and pauses. +Generally, any recording from ham radio transmissions does not decode due to +noise and echoes. Other man made recordings may decode, but some characters +can be incorrect due to too big variation in length of tones and pauses. However I found some man made recordings on that decode reasonable well. -If a recording don't decode, you could try to pre-process the input with a +If a recording doesn't decode, you could try to pre-process the input with a narrow bandpass filter on the frequency of the transmission. -------------------------------------------------------------------------------- diff --git a/2020/ferguson2/README.md b/2020/ferguson2/README.md index 77ac89c9f..b0642e67b 100644 --- a/2020/ferguson2/README.md +++ b/2020/ferguson2/README.md @@ -81,12 +81,12 @@ I will have more information on this entry at published. -- [IOCCC: An Enigma?](#ioccc) +- [IOCCC: an Enigma?](#ioccc) - [The 1992 Nathan entry](#nathan) - [Usage](#usage) - * [An example run](#example) + * [Example run](#example) - [The recode.c configurator](#recode) @@ -106,7 +106,7 @@ published. - [Resources](#resources) -### IOCCC: An Enigma? +### IOCCC: an Enigma? Is there a better single word that could describe the code that is IOCCC? I'm sure there are some other words that are equally as valid but I believe 'Enigma' @@ -189,12 +189,13 @@ Finally it'll prompt you for the plugboard pairs. After that you can input the string and it'll go from there. -#### An example run +#### Example run BTW: There's a much more entertaining (and delicious) challenge or exercise in -[recode.md][] (involves [chocolate-cake.html][]). These however show -the general program as well as how to use the two winning entries of the Morse -code that I referred to earlier. +[recode.md][] (involves [chocolate-cake.html][]) though one might need a different +kind of exercise after taking up the challenge! :-) These however show the +general program as well as how to use the two winning entries of the Morse code +that I referred to earlier: $ ./prog - @@ -228,21 +229,21 @@ Notice that all output except the deciphered/enciphered text is sent to stdout. If I didn't specify the `-` by e.g. `echo IOCCC | ./prog` then it will use the default settings; as the judges suggest this invocation I will not show it here. -You can also type it out like this though: +But you can also type it out like this: $ ./prog IOCCC UUMMX -The IOCCC comes from stdin; the UUMMX is stdout. +The IOCCC comes from stdin; the `UUMMX` is written to stdout. If I compile the 2014 entry and copy it to my local directory as `vik` I might do: $ echo TEST|./prog |./vik | mplayer -demuxer rawaudio - -And you would hear Morse code of the Enigma output of 'TEST' (i.e. KCWV). Or +And you would hear Morse code of the Enigma output of 'TEST' (i.e. `KCWV`). Or perhaps not in this case. I'm not sure: I discovered a bug in that entry (Fedora, CentOS and macOS all affected). @@ -289,7 +290,7 @@ Phew! The program redeemed itself after the test failure! :) (Technically above it didn't print a newline after the output and this is how it is with some of the things I pasted in the other file and maybe others here -too. Notice also how it showed the same output that my program gave it - UUMMX.) +too. Notice also how it showed the same output that my program gave it - `UUMMX`.) What about the other Morse code entry? diff --git a/years.html b/years.html index 288d44775..2779190f4 100644 --- a/years.html +++ b/years.html @@ -935,6 +935,10 @@ Contest
  • Makefile
  • README.md
  • prog.c +
  • A minor bug that shows up in some cases was found by +Cody Boone Ferguson +when working on his 2020 Enigma machine. See his +README.md file for details (search for vik).

    wiedijk - Y combinator