Tech Book Revivals: Project Overview

#tech-book-revivals

Table of Contents

Introduction

I’ve been interested in computer programming since I was thirteen, and like most lifelong programmers, I’ve got a lot of technical books on my bookshelf. The problem with books on programming is that, with a few notable exceptions, most of them are only relevant for a short time after publication. Technology changes, software libraries are updated, deprecated, or outright abandoned, and development patterns change (sometimes drastically). A decent percentage of the books on my bookshelf fit this description. Truth be told, I had been planning to put them in the recycle bin for a while.

Fortunately (or maybe it’s unfortunate), while I was putting off cleaning and reorganizing my office, I got an idea for an unorthodox project. Rather than throwing all this knowledge away, what if I could give these outdated books a second chance at life by working through them using the closest modern equivalent I could find for the technologies they covered? I’d gain experience with modern tools while continuing to benefit from the insight and experience the original authors had to offer.

Project Goals

My goals for this project are as follows:

  • Learn to use a new and interesting technology with which I was unfamiliar prior to choosing a book for this process.
  • Preserve my copies of technical books that would otherwise be destined for disposal.
  • Publish my work on this blog so that anyone who is interested can share the benefits, and maybe save their own copies of the book from the recycle bin!

The description I’ve written so far is vague. To help further define the project, and to ensure that I am taking copyright law into account, I also want to make a list of what this project is not:

  • I will not be rewriting any of these books wholesale. I am attempting to retool the existing exercises contained in these books. I am not attempting to (for example) take a book on COBOL and turn it into a book on ABAP.
  • I will not be publishing large chunks of any book on this website that is not in the public domain or otherwise open source. This would not only violate copyright law, but would also be unnecessary to achieving the goals of this project. I will summarize relevant sections or exercises in my own words, and any images or excerpts that make their way onto this site will be properly cited. If the book itself is still available for purchase, I will provide relevant links for readers who would like to purchase it. I will not be earning any kind of commission for any of these links.
  • I will not commit to “completionism” for any book in particular. My goal is to use existing exercises and material to learn about new technologies. A book may contain exercises, sections, or entire chapters that are not relevant to the tech I am trying to learn. Those will be ignored, although I will endeavor to note why I believe they are not relevant.

Methodology

So what can you, the reader, expect to see from this project? In general, the process for each book I select will look like this:

  1. I will publish a short introductory article for the book. This will contain the bibliographic information for the book, along with the results of my attempt to find a way to purchase additional copies. There will be a short blurb about my personal history with the book and why I selected it for revival. Finally, I will give an overview of the newer technology for which I will be retooling the book’s exercises.
  2. As I work through the book, I will publish articles that contain my description of the exercises, along with detailed technical descriptions of how they were retooled for the new technology. Code will be made available, likely via GitHub. Usually these articles will be organized by book chapter.
  3. When I am finished working through the book, I will publish an article summarizing the effort. I’ll talk about how I thought everything went, identify pain points or important mistakes I made that others may be able to learn from, and I’ll provide any resources I can for those wishing to go further.

Conclusion

I’ll be the first to admit that this is kind of a weird project. I am not sure if anyone has attempted this sort of thing before–in all likelihood someone has, but I have not stumbled across any such effort to date. There could be a very good reason for that; I don’t have anywhere near the self-confidence it would take to assume that I’ve come up with something that is both valuable and completely novel. If this turns out to be a flop, I’ll write an article about that too! Until then, keep an eye out for posts under this category.