Here is the start of some posts documenting my personal "library". It will take some time to document them all. I thought it would be interesting to post these - some of the books are probably not very common. I have many aging tech books I've gathered over 20 years as well. I'm doing this in preparation of an eventual family relocation for which I may have to part ways with some books.
Here is a
link to my second post for my non-IT items.
I had plenty of interest in OS design back in college but those books don't get used now. The more general UNIX/Linux related books and Korn Shell sometimes get pulled when there is a need but often it is easier just to Google for things. I never did any Motif related development but I accepted those from my brother in-law since they seemed interesting at the time but I never took the time to do anything with them. There are a few times I've gone back to the Advanced Programming in UNIX book - usually when I was trying to figure out some problem in Open Source app I was trying to get working at home (some years ago). I think I went to it once for a work related issue I was researching once or twice. The mainframe related books are my wife's - I only briefly worked with a mainframe and only at an operations related job for a telecom early in my IT career.
I've always had an interest in language/compiler development. One of my prior jobs did involve building parsers and scanners though which was enjoyable. The PCCTS (Purdue Compiler Construction Tool Set) is the ancestor of ANTLR. I always found the creator/author, Terrance Parr, very interesting - never met him but lurked on sites where information he (and a number of others) posted often helped me. I've thought about buying the
ANTLR 4 reference book but since I am not doing any compiler/parsing related work right now it seems like a bit of waste (and I have little extra time while trying to pick up more common new technology).
Some of these I bought when working on projects and wanted to reference or research. Others are from college or general interest (wife or me). I have gone through a number of "Oracle - The complete references" over the years but I think this Oracle 10g is my last. Now it is just easier to Google for material and the "Tome" gets heavy carting around. I find some additional useful Oracle related content
here at times.
No, the FORTRAN and COBOL books are not mine - they are my wife's. She did tell me I could get rid of them. I do like to read up on languages but I rarely use most of them. My copy of "The C++ Programming Language" was very heavily used in the past but is pretty dated now and I don't use C++ at the moment. I did recently pick up the "Effective Modern C++" because I wanted to brush up on things - WOW is my best description of the amount and type of changes. The relearning curve is a bit steep. I keep hoping to find a moment to use R in some practical way. I have a few ideas that I would like to try out but no time and too hard of a sell to talk with management about. I picked up the .NET book because I've had to do a bit of coding related to MS FIM but it wasn't substantial. I will finish the book at some point but other needs/books are more pressing.
I've had a long term interest in Assembly language but generally little time to use. I was hoping to generate some interest with my kids (note the Raspberry Pi related items) but I think I am on my own there. The TRS-80 Assembly language was the 2nd language I taught myself - after the built-in basic started to bore me. I picked up the Microprocessors Vol I & II a long time ago and found the content interesting but never did anything useful with the information. They might make good geeky "coffee table" books. I did write a couple Scala programs/utilities a while back at work after reading the "Programming Scala" book but feel it would be a mistake to push it too much since we are understaffed and others don't have the time to pick it up at this point. I am planning on playing with it further outside work when time permits to toy with some Akka ideas.
My college degree included a good amount of electrical engineering/computer engineering courses so some of this is related to that. Some of it was interest in HPC for a period of time but I didn't have a job in that. The Arduino/AVR related books are current hobby interests if/when I find time.
A couple of these books go pretty far back - see if you can figure out which 2 are the oldest. I didn't end up writing many graphics programs - I ended up doing some MFC related enhancements/bug fixes years ago though for work.
I started with the "Algorithms" book by Sedgewick but wish I had gotten the "C" version instead of Pascal. Most of these are mine and those that my wife got during college I browsed out of interest anyways.
I do tend to get the study guides but never seem to find the time and motivation to take the tests. Anyways, they do contain good content and are still beneficial. I was a little concerned by the number of errata for the OCA study guide. I wish the content had been better verified before publication.
Most of these are what I acquired related to work. A couple are books my wife picked up. I've done more of the back end development at my current job but debugged many JSP's and am now doing plenty of debugging and maint on a JSP/jQuery/Spring related application.
Regarding JSF books; I did start a push for JSF2 as a standard but that stalled - not enough developers are experienced in it. I've been hoping to leverage what I learned from my JSF 2.x related books but so far only some minor tools were viable candidates but it worked well. For any non-mobile internal app, I would evaluate JSF2 as a viable option. For mobile apps, it seems a little less clear cut - there is extreme flexibility in more client side Javascript/CSS based technologies (jQuery, bootstrap, etc) regarding UI and mobile/responsiveness. I've not done any real mobile development but to do so in JSF probably means leveraging mobile friendly frameworks such
Primefaces mobile or
ICEfaces mobile which I have not used or read about in-depth so can't form much of an opinion on. It seems that just about any consultant can do Javascript/jQuery/Dojo, etc but not JSF 2 which is why most of our outsourced work continues to use those frameworks. I do wish a long term TCO type analysis was performed to compare some competing solutions.
I picked up the "Node.js, MongoDB and AngularJS Web Development" book today after someone mentioned learning the stack might be beneficial.
I've used Spring core for a number of years and like it. I am not sure yet whether I will convert to CDI based dependency injection instead though. I would like to move to using JEE standards over other stuff if possible. I'm not sure that is viable and maybe not even a good recommendation where I am at though. It comes down to making sure that systems are maintainable and there are people with the appropriate training and knowledge. That is why I looked into Lift but decided that adding one more new technology stack was not supportable even if it would help reduce some issues we have/had. An application was recently refaced and Spring MVC was used so I picked up a book to help me understand how to better deal with it. The application wasn't done as well as was planned and now internal staff have to take over and finish/fix it.
The PHP books started with a desire to be knowledgeable and turned into a mild need when my employer bought a new system that is PHP based but the team that owned it had no PHP knowledge and little recent development knowledge so I ended up helping out for a period while they figured out how to maintain it.
I've bought a few Tomcat related books over the years and this was the last - they don't seem to help much more than what you find with Google. I've worked with Tomcat for so long now that there isn't usually much new to learn on it specifically. I say that not in a bad way but meaning that the software is very stable now and can perform quite well with minimal effort - it is an extremely impressive solution. I've had some inclination to consider TomEE as a replacement/supplement to Tomcat itself but that just means learning/leveraging JEE more than TomEE itself.
I do tend to use my CSS reference a decent amount. I usually keep it at work usually along with one or more jQuery and Javascript books. Of course, there are plenty of web sites with info but some short reference books I find to be quicker to use at times.
Here is a dump of most of the remaining tech books - most related to some current or past work need. I implemented some integration's using Apache ServiceMix and utilizing OSGi. It was somewhat painful at times. I had been trying to work out an overall integration plan to replace a commercial technology with Camel/ActiveMQ along with other technology available in ServiceMix but get pulled off for other projects before real progress gets done. Some aspects of the Open Source stack here work well but there are parts that I've not worked out details to and may require substantial work. This cover stuff like monitoring integration's, managing artifacts, handling deployments and a general developer workflow (creating/maintain/converting to OSGi artifacts). A number of books cover the technology itself but I do find information lacking more and more in how to make it all work cohesively at a business level.
I did enjoy the "Don't make me think!" book. It made a lot of sense and
I wish we (my team) and others had read it before working on a couple
applications.
A bit of odds and ends except for the "Seven Concurrency Models in Seven Weeks" book which I intended to include elsewhere but had misplaced in a pile of papers next to the computer. The rest of these books are a combination of my "random on-sale picks" and my wife's undergrad/MBA related items.
Additionally, some of my Ebooks include:
- Data Science from Scratch
- I've not gotten to this one yet
- User Story Mapping
- I've started this but moved on to more immediate work related items.
- Functional Reactive Programming
- Did a very quick read; interesting but would need to go back through it to get more out of it. Author has his own framework from what I recall. Need to look at this again.
- Akka in Action
- Read a long while back; would like to go back and read again while trying it for a practical problem.
- Liferay in Action: The Official Guide to Liferay Portal Development
- Our portal is now outsourced and based on Liferay; another application is also using Liferay but not in a public visitor way. Those are the reasons I picked this up but have not fully read it. Most of what I'm doing doesn't involve portal changes but I would like to do some portal work at some point - another reason I picked this up.
- Erlang and OTP in Action
- Read this but didn't seem practical in our environment. Still interesting though.
- Activiti in Action
- I really wanted to redesign parts of one application to leverage Activiti - I think it would be great to replace some hard-coded logic with something that might be (somewhat or even fully) maintained externally from the core application.It isn' looking like this will happen unless I take "spare time" which is non-existent.
- Enterprise OSGi in Action
- I think I got this with my paperback copy.
I'm going to work on another post for my remaining books (Christianity related along with hobby/interest such as welding, metal working, CNC stuff, gardening). Yes, I do have plenty of books and even with plenty of book cases I am double stacked - time to start giving up the items which are not useful.
Anyways, hope you enjoyed my trip down memory lane.
Thanks for reading!
Scott