K&R homework

I've needed to keep pushing my C education so I've taken on doing the exercises from my K&R book (The C Programming Language 2nd Edition). This has been an interesting task since modern Linux distributions are supporting UTF8 which can really throw a wrench into the whole basic input/output idea.

1-01 Modify "Hello World" to see the resulting gcc compile errors.
1-02 Add escapes to "Hello World" to see what happens.
1-03 Add a header to "Fahrenheit to Celcius".
1-04 Reverse "Fahrenheit to Celcius" to "Celcius to Fahrenheit.
1-05 Modify the temperature conversion program to print the table in reverse order, that is, from 300 degrees to 0.
1-06 Verify that the expression getchar() != EOF is 0 or 1.
1-07 Write a program to print the value of EOF.
1-08 Write a program to count blanks, tabs, and newlines.
1-09 Write a program that takes input and replaces multiple spaces with a single space.
1-10 Write a program that replaces each tab with \t, each backspace with \b and each backslash with \\.
1-11 Write the word count program and test it.
1-12 Write a program that prints its output one word per line.
1-13 Write a program that prints a histogram for the length of the words input.
1-14 Write a program that prints a histogram for the frequency of characters entered.
1-15 Rewrite the Fahrenheit conversion program to use a function for the conversion.
1-16 Reuse the main routine of the longest line program so it will correctly print the length of arbitrarily long input lines.
1-17 Write a program to print all input lines that are longer than 80 characters.
1-18 Write a program to remove trailing blanks and tabs from each line of input, and to delete entirely blank lines.
1-19 Write a function "reverse(s)" that reverses the character string s. Use it to write a program that reverses its input a line at a time.
1-20 Write a program that replaces tabs with the correct number of spaces.
1-21 Write a program that replaces spaces with the correct number of tabs and spaces to reach a tab stop.
1-22 Write a program to "fold" long input lines into two or more shorter lines after the last non-blank character that occurs before the n-th column of input. Make sure your program does something intelligent with very long lines, and if there are no blanks or tabs before the specified column.


I've witnessed a need for a spoken language that is more computer friendly. I've dubbed this the "Trade" language. It normally takes a back seat to other projects but it has made some progress over the years.

Here are some notes I have made on my progress.

Legend of Pandora

This is a game I've been working on to get me started in the indie scene. It's not much but I wanted something "simple" to get started with. Unfortunately a Legend of Zelda clone is FAR from simple so this is taking me quite a while to finish.

-no link yet-