Monday, September 15, 2014

Goodbye Programming Books

As a life simplification step, I'm discarding several programming books that have been collecting dust on my self for years now.  I read them all, and some were even relevant to my work for awhile.  Here is a nod to each book...

Applying C++

It's a text book on C++ plain and simple.  It's not even one I used personally.  I believe a friend gave it to me when he gave up on the idea of learning to code.

Why you might want it:

You want to learn C++ and you enjoy the tactile sensation of real pages.

3D Game Programming with C++

I bought this one way back in the 90s when I first started coding in C++.  Naturally it's more fun to dream about building games than business software, and this book gives a good overview of the latest technology and techniques available in 1997.

Why you might want it:

Modern game engines now abstract away many of the gory details of game programming, leaving modern coders working at a much higher level.  But this is a great reference for the game programmer who wants to go a bit deeper.  Or who wants to build the next Wolfenstein 3D.

CGI Programming in C and Perl

My first web programming book.  Because it covers standard technologies that are still supported, like the HTTP protocol and HTML, it's not totally irrelevant.

Why you might want it:

Fun trip in the wayback machine.  Also you might learn some details that are not often addressed by higher level web frameworks.   (This book is probably more instructive than, say, the Programming Java Servlets book below.) Or maybe you need to support a really, really old website running off CGI scripts.

System Analysis and Design Methods

A detailed look at modeling techniques that were popular during the 90s.  I haven't cracked it in years but I seem to recall a focus on CASE tools.  In my real-world experience, CASE tools were never used, except for Rational Rose which was lightly used during my tenure with Visional Corporation.  I suspect these tools were popular with managers who then gave up on them once they realized that providing all of the detail required to make the tools generate software was more work than just writing the software.

Why you might want it:

You want to understand the mindset of 1990's technical managers. 

Eclipse Rich Client Platform

Do you have the desire to customize or productize Eclipse for your own purposes?  This book gives the lowdown.  

Eclipse has had a relatively long shelf-life.  I used it for Java development back at Visionael and at Vetsource, and still use variants for RoR and Django debugging.  

Eclipse has been the foundation of the ADT (Android Developer Plugin) for years.  The ADT is a good example of the kind of plugin programming this book addresses and I would not be surprised if the Google developers who built the ADT read this very book.  

It should be noted that Google is no longer actively developing ADT, and is moving toward Android Studio built on IntelliJ, yet another JAVA IDE.  

Open Source ESBs in Action

All of the JAVA-based service bus implementations I worked with were bloaded, configuration-heavy headaches.  But the promise of a Service Bus is compelling to many managers, and they remain in service today at many enterprise companies.  I'm personally not a fan as I prefer lean, best-technology-for-the-job integrations over cross-platform try-to-be-everything-to-everybody ones.

Developing Java Servlets

This is one of the two ways we developed web content with JAVA way back when, the other being those ASP wannabes, JSPs.

I liked this simplicity of the Servlet abstraction.  Let's model a web request as just that, a request.  Let's process the input arguments and then output a response.  Very straight forward.  Java Servlets didn't exactly go away, as they are still buried at the bottom of the JAVA web stack.  Peel back enough layers of code and you will likely find a servlet if you are running a JAVA based web server or service.

I'm guessing though, as I haven't done a deep dive into a JAVA stack for at least five years now.  (Well, there was that integration with VISA, yes, the credit card company.  Talk about a challenging many layers of security, so secretive about the function of their APIs.)

Programming Amazon Web Services

O'Reily books are fantastic and most will stay on my shelf.  But the information in this book is better found on the web.  It's grown pretty far out of date too.

Programming Flex 2

Even though a beloved O'Reiley book, this Flex 2 reference needs to be burned along with everything else related to Flex 2.  I still get job offers because I have experience building apps with Flex 2.  Never again.  Not for any amount of money.  (Hmm...I will for one billion dollars.)

Web 2.0 Heroes

The title has "Web 2.0" in it.  Enough said.  

Actually these are great little stories about some startups you know and some which have already been forgotten.  It was a good read.

Managing Raid on Linux

With the advent of "the cloud" I have been able to free up any synapses utilized for storing information about Raid.  No more striping.  No more thinking about which level gives me the best speed and redundancy.  I'm letting Amazon handle it from now on.

Programming in Python

This book weighs 48 lbs.  Or at least it seems to.  I love Python but haven't cracked this reference in years.  The information is all online anymore.  No need to carry around a 48 lb trophy.   

ModSecurity 2.5

A book dedicated to an Apache security module.  I may never know the luxury of working for a company where my one and only job description is "secure the Apache webserver".  This book was theoretically relevant when I worked for a prepaid debit card processing company.  Probably an interesting read though if you use Apache and want to research security techniques.

Google Web Toolkit

I love Google.  I have loved them for a long time.  However, not everything they invent is awesome.  The GWT created object-oriented libraries that wrap standard web protocols and languages.  I always found it easier to work directly with the web protocols and languages than to get wrapped up so deep in a framework that you are writing at least as much code as you would using the standards based code.  Plus, I never write web content using JAVA, which I believe was the main point of building this library.

For the record, JAVA is the absolute worst choice for writing web applications.  (Who me?  Opinionated?)

UML Distilled Third Edition

During my nine and a half years at Visional, there was much talk about modeling languages.  There was much experimentation with modeling languages.   I mentioned Rational Rose above.  There was this dream that we would be able to create models that described software, and then those models would compile down to actual code.  The reality was that the level of effort to actually accomplish this using a tool like Rational Rose was prohibitively expensive.

For those who don't know, the leading modeling languages of the day were unified to create the one true modeling language, UML.  It was thought (at Visionael) that UML would help state-side technical managers communicate detailed requirements to offshore developers more efficiently.   But in my experience, the offshore developers were struggling to keep up with the programming languages, the cultural differences between our countries,  communication styles etc. and the last thing on their mind was learning UML.  So in fact, I'm sad to say that my substantial investment into learning the ins-and-outs of all of the UML modeling techniques were wasted, as I've never once worked with another developer who wanted to communicate ideas this way.

Well, not wasted per se, as any thinking spent on software engineering helped make me a more well rounded developer.  One figures.

I'm down to the last four and needing to wrap this up, so here comes the short versions.


For a minute there I thought that getting my RHCE would be a nice feather in my hat.  But before getting through the process I determined that I'd rather focus on Debian.  Then Ubuntu.  And why did I need a certification anyway?  Story of my life.

Spring In Action

ESBs and JAVA configuration frameworks were in vogue when I worked at Vetsource.  I think I already mentioned that I didn't love them.  (Can we get back to programming already?)

JBoss at Work

JBoss at Work?  I'd rather not.  Regal eagle or no.  As mentioned, I grew fatigued with JAVA frameworks during this era.  In fact I did a pivot soon after completing this book, started working with Django, and have been using Python or Ruby to build web systems ever since.

Success with C++

It's a primer from a class I took at TCC.  I actually quite liked this book, or maybe it was just the C++ language that I liked so much.  I'm still nostalgic for C++ programming.  I still occasionally contribute C++ code to open-source projects to scratch that itch.

So where did the books end up?  I donated them at the local Goodwill drop station.  So if you see anything you want, and if you live in the Tulsa area, you might be able to find them at a local Goodwill store!

No comments: