How to Design Programs

Book cover

How to Design Programs” is yet another book to read from MIT Press. The good thing about this particular book is that it talks about general programming principles. These principles are useful not only to professional developers, but to almost everyone. In book’s own words:

Many professions require some form of computer programming. Accountants program spreadsheets and word processors; photographers program photo editors; musicians program synthesizers; and professional programmers instruct plain computers. Programming has become a required skill.

Yet programming is more than just a vocational skill. Indeed, good programming is a fun activity, a creative outlet, and a way to express abstract ideas in a tangible form. And designing programs teaches a variety of skills that are important in all kinds of professions: critical reading, analytical thinking, creative synthesis, and attention to detail.

This book can be purchased in print from Amazon, or read online on it’s website. Also on the website you can find solutions to all problems presented in the book, additional problem sets, corrections to all known mistakes and typos, and much more.

If you don’t know why you should learn how to design programs, then flip through first few pages – there is a special part for you.

The Tao of Windows Buffer Overflow

<%image(20040726-dataflow.gif" alt="">

The Tao of Windows Buffer Overflow” is yet another excellent guide into buffer overflows. It has a well balanced combination of theory and practice. As you can guess from the title, all the practice is based on Microsoft Windows operating system.

404 Research Lab

404

404 is the code for the “Not found” error that web users get so often. Everyone knows it. What everyone doesn’t know is that 404 error messages are completely customizable. Rarely they are changed, but if they are – it can be a lot of fun. People at 404 Research Lab collect and study the 404 pages. They have them all categorized. They have even a pick of the week for the lazy ones.

Cryptonomicon

I have just finished reading “Cryptonomicon” by Neal Stephenson. It is a great action book for people interested in technology. There is a lot of stuff about cryptography, UNIX and computers in general, but it is also quiet an entertaining read.

You can read a proper review at Slashdot. There is a website for the book here. You can read few excerpts there aswell.

And, of course, you can get it from Amazon here for a mere $8 USD.