EBooks and Others

Architecting Angular Applications with Redux, RxJS, and NgRx

Bought a copy of this. Yet another angular book but seems to have a focus on using angular with some newer reactive technology. Was on ‘Deal of the Day’ at Packt for $7.20 so worth a look.

JavaScript PatternsJavaScript Patterns

Another JavaScript book. I’m still trying to get a better feel for best practices and language specific idioms in JavaScript.

I’m reading through this on the kindle as of mid-August 2016. Pretty busy with work related things so I can read but don’t have all that much time in the evenings to play with the language.

JavaScript with PromisesJavaScript with Promises

Looking at more advanced, asynchronous JavaScript idioms. Not sure when I’ll get to reading this one, but it looks like interesting information.

Designing Modern Strategy GamesDesigning Modern Strategy Games

I’ve been a fan of board wargames since college. I’d love to put together some games that have the same feel as those but allow online play.



Designing Wargames - IntroductionDesigning Wargames – Introductions

I’ve been a fan of board wargames since college. I’d love to put together some games that have the same feel as those but allow online play.



Modern Perspectives on Game DesignModern Perspectives on Game Design

I’ve been a fan of board wargames since college. I’d love to put together some games that have the same feel as those but allow online play.



Simulating WarSimulating War: Studying Conflict through Simulation Games

I’ve been a fan of board wargames since college. I’d love to put together some games that have the same feel as those but allow online play.

41gYuY11OsL._SX331_BO1,204,203,200_Practical Guide to Web Development: Understand Full Web Development Lifecycle

An inexpensive (couple of bucks) and short volume giving a high level overview. I was hoping that this might fill in any gaps in my understanding of the overall flow of well designed, modern web applications. On balance it was too high level to be really useful (but given the cost I’m not particularly unhappy with it).

510Qib-dSCL._SX398_BO1,204,203,200_The Go Programming Language

This was an impulse buy. I’ve been hearing about Go and a number of other new languages that have been created to simplify web development tasks. This weekend I watched some video sessions by the folks working on the OpenSolaris fork called ‘illumos’ and they mentioned doing some rather painful work to support Go on their platform. I was looking for other web related books (mostly javascript and related UI side HTML5 and CSS3 stuff) and when I saw the kindle version of this for around $20.00 I decided to buy a copy. Not sure when I’ll really get around to reading it, much less trying it out though.

51W25NBDLQL._SX379_BO1,204,203,200_Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript

Given that I’m trying to improve my web UI knowledge and that the ‘effective’ series books have generally been helpful, I decided to buy this. I know the syntax of the language so anything that helps with the higher level usage and common idioms is worth looking at. Hoping this will be as good as the java and C++ effective books.

H41MlGS0jeCL._SX379_BO1,204,203,200_TML5: The Missing Manual, Second Edition

I’m adding this to the Javascript and JQuery book to make sure I have a handle on modern HTML5 best practices. I know 4.01 pretty well (at least from a practical standpoint…there may be best practices I could stand to improve). I really want something that pulls the whole mess together, but I suspect I’ll have to start building something that uses the various pieces before I have a clear idea of where my gaps are.

41Towyq7DyL._SX379_BO1,204,203,200_CSS: The Missing Manual, Fourth Edition

The CSS3 end of the dive into modern web UI best practices. Looks like I’ve got a lot of reading and sandbox work ahead on this front.

51OZ5LGSO9L._SX379_BO1,204,203,200_ (1)JavaScript & jQuery: The Missing Manual, Third Edition

I’ve had pretty good luck with the ‘missing manual’ series for coming up to speed quickly on things. I’m not sure they’re the place to get the last bits of polish on a set of skills, but at the moment I want to pull the pieces together on web UI work and get a good idea of what current best practices look like.

Book0517Universal Serial Bus System Architecture, Second Edition

I just picked this up as a used book. USB is ubiquitous these days and this covers up to USB2. Worth having on the shelf and I hope I’ll get around to messing with it sometime soon (probably with an AVR controller as I have arduino’s downstairs).

Book0521GIT Essentials

A quick reference to important GIT things. I do find that I still google search things rather than look them up in here. This mostly stays on the bookshelf these days.

Book0523H. P. Lovecraft, Complete and Unabridged

I keep this on my bookshelf either to see who’s paying attention (not too many folks) or as a last ditch reference when things go really, terribly, irretrievably wrong…

51yr+S-g1zL._SX379_BO1,204,203,200_Developing Web Components: UI from jQuery to Polymer

Another inexpensive eBook on web UI components.

51pnT4sXw2L._SX379_BO1,204,203,200_Building Web Apps with WordPress

[eBook] Another possible source of information to make building applications with shared state. Hoping that WordPress as a substrate can help to make the implementation simpler and more robust. I also need to seriously improve my web UI skills. I can put serviceable things together, but I’d like to be able to build nice things 🙂

51Y2dhZeh2L._SX404_BO1,204,203,200_WordPress Theme Development: Beginner’s Guide

Updating my blog means that I’d like to have a good idea how themes go together. I may not find the time to create one from the ground up, but knowing how the pieces go together means I can take an existing theme and get an idea of what it can do and whether I can customize in in ways that will work for me.

51Ful-E0xLL._OU01_AC_UL320_SR248,320_RESTful PHP Web Services

Just bought a copy of this. RESTful interfaces tend to be a bit complicated to implement in PHP as you need mod-rewrite (or something similar) at the web server level to get the requests properly dispatched and then some specialized coding in the server to field the requests. Hoping that this may have become easier since last time I looked. Adding RESTful interfaces in with access to the database is a powerful tool for interactivity and sharing.

51sEz5dVBTL._SX379_BO1,204,203,200_Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5, Fourth Edition

Looking to get up to speed on the front end pieces. HTML5, CSS and supporting javascript libraries (JQuery seems to be the big one). I’d very much like to improve my command of full stack technology in support of various personal projects (and not a bad thing to have available for work purposes either).

51AzlYsGMnL._SX379_BO1,204,203,200_PHP Web Services: APIs for the Modern Web

Another modern PHP based web services book. Need to read this soon.

51HndtRqX1L._SX379_BO1,204,203,200_Programming PHP

I picked this up to update my PHP. I’ve messed with the language at times in the past but it has been some time. I’m trying to get my blog in shape at the moment so bringing my PHP fluency up to date is a good thing.

512gMRderOL._SX379_BO1,204,203,200_Apache Cookbook, Second Edition

WordPress runs on PHP and PHP runs on Apache. I’ve wanted a good Apache book for some time. This one doesn’t seem to cover some of the areas I care about (mod-rewrite stuff for RESTful web services and various sorts of redirects for example) but it is a resource I’d rather not live without.

51qhRy+Nt-L._SX379_BO1,204,203,200_Apache Cookbook, Third Edition

I have this on pre-order. Should be out in the near future. I have found it challenging to find good books on Apache in the past. I’m hoping this one will cover the areas I need. The web is a good resource, but often fragmentary and incomplete in areas.

51tnJYaXGsL._SX379_BO1,204,203,200_WordPress: The Missing Manual

More of the blog beautification effort. This is more a ‘using wordpress’ book than a programming/extending wordpress volume. I pulled a number of helpful bits out of this book and will likely go through it again sometime soon to hit the items I may have given too quick a traversal to as other priorities were pressing on me (backups, image galleries and such).

513cDwGXkPL._SX379_BO1,204,203,200_Modern PHP: New Features and Good Practices

This looks like a good updater. Focus on newer PHP features after I’ve refreshed my ‘core PHP’ knowledge.

51-QdMkfO5L._SX390_BO1,204,203,200_WordPress Plugin Development Cookbook

I expect that at some point in the near future I’ll wind up writing plug-in logic to run under wordpress. I’ve got enough things I’d like to do that i expect some things won’t have a readily available plug-in off the shelf.

51OzkzqIPaL._SX379_BO1,204,203,200_Version Control with Subversion

Yet another version control system. KMC uses subversion for the main repository so I’m coming up to speed on it. This is one of several resources (including a free book from the subversion folks).

NoSQL Distilled
NoSQL Distilled

I bought this to help with the non SQL alternatives out there as I was looking at the cloud transition at Kiva/AR. I never did get around to reading this in any detail as the specific docs for DynamoDB were more immediately relevant and so this stayed on the virtual bookshelf

411eIi5NLEL._SX389_BO1,204,203,200_MySQL – Developer’s Library, Fifth Edition

I bought this to bring myself up to speed after I joined Kiva as the system there (before the SOA/Cloud transition) was very dependent on MySQL for data storage and retrieval. It remains relevant as MySQL is one of a handful of high quality databases that are freely available, high quality and straightforward to use. SQLite is also getting my attention for smaller projects these days, but they’re both interesting. This volume seems to provide pretty good coverage of the areas I have been interested in.

51uyHc1BweL._SX375_BO1,204,203,200_Understanding the Linux Kernel, Third Edition

In the embedded space I expect to eventually have a need for some custom Linux based driver code. Knowing my way around the kernel will make implementing that (or even planning the path towards implementation) much easier.

Advanced Programming in the Unix EnvironmentAdvanced Programming in the Unix Environment, Third Edition

The latest edition of the classic Stevens book on Unix programming. As I’m working in QNX at the moment and Linux is an important target in general, I wanted to bring my Unix awareness up to date. As with previous editions, this is a nice, broad based view of the facilities provided and covers a pretty broad range of topics. There are definitely some Linux specific areas that aren’t here, but there are plenty of other sources for that stuff.

51oVyaIVqIL._SX387_BO1,204,203,200_Linux Kernel Development – Developer’s Library, Third Edition

Kernel drivers come up now and again. I’ve so far not needed to write linux kernel drivers, but keeping up with the technology keeps me covered. I’ve written windows drivers and old-school unix drivers. Linux isn’t that different an environment all told.

5120AkZH+VL._SX334_BO1,204,203,200_Computer Vision, Models, Learning and Inference

General interest, particular interest on the robotics front obviously. I still haven’t had time to more than skim through this volume.

51HDfuw28oL._SX401_BO1,204,203,200_Mastering DynamoDB

Part of coming up to speed on DynamoDB for Kiva/Amazon Robotics work. Combine DynamoDB as working index with S3 for bulk storage and you can do quite a lot.

51oLwBBwvGL._SX403_BO1,204,203,200_Raspberry Pi Computer Vision Programming

51IgFwEVwML._SX379_BO1,204,203,200_CSS and Documents

CSS is pretty important to low level web formatting. These days there may be better ways to handle this with higher level tools but understanding the lower level functionality can help even with these.

51-AevKuu3L._SX379_BO1,204,203,200_Java I/O, Second Edition

Another bit of coming up to speed on Java. The I/O subsystem has a lot of moving pieces and quite a few performance and capability related trade-offs. I used this book to get an initial view of what was where.

51F4g3VY1yL._SX419_BO1,204,203,200_IntelliJ IDEA Essentials

When I started at Kiva, several people suggested using IDEA rather than Eclipse. I bought this book to help with that effort but in the end found that the large population of Eclipse users that I could go to for information trumped any functionality advantages IDEA may have had.

41BNojHFp1L._SX403_BO1,204,203,200_USB: The Universal Serial Bus

Toward the end of my time at Oni Medical Systems it became clear that USB 3 provided an easy to use (relatively) commodity interface with readily available embedded implementations and pretty good host support. The performance is at least as good as the dedicated I/O card we were using and much more flexible and scalable. At that point I started looking into USB in a serious way and thus have these books in my kindle library.

51dJjBWFveL._SX387_BO1,204,203,200_USB Embedded Hosts – The Developer’s Guide

517KLGfYfbL._SX387_BO1,204,203,200_USB Mass Storage

41iVV8FfzqL._SX408_BO1,204,203,200_Inside Windows Debugging – Practical Debugging and Tracing Strategies

41e1eAWGmeL._SX408_BO1,204,203,200_Understanding IPv6, Third Edition

IPv6 has been around for quite a long time. I know enough about IPv4 to get down to the frame level and walk all the way back up. I bought this to come up to speed on IPv6…so far it has stayed on my kindle app, mostly unread. Some day soon I’ll remedy that.

51tB8RZgU6L._SX379_BO1,204,203,200_Linux System Programming

516I76ao15L._SX380_BO1,204,203,200_Building Embedded Linux Systems

518h2IFabVL._SX396_BO1,204,203,200_Amazon Web Services for Dummies

Another step along the way to coming up to speed on AWS. The dummies books can be superficial, but they cover the basics in a fast, easily digestible format.

51LJki8bcHL._SX379_BO1,204,203,200_Java 8 Lambdas

New Java 8 features. Now C++ has Lambda expressions too. They’re handy and they can certainly improve readability of code.

51lEzpinLqL._SX379_BO1,204,203,200_MySQL Cookbook, Second Edition

There is now a third edition of this, not sure I have a need though as KMC is less MySQL oriented than AR was.

41DWgRIMX-L._SX384_BO1,204,203,200_Apache Maven 3 Cookbook

Maven is one of the major Java build systems. Kiva used maven for its build environment so I spent some effort familiarizing myself with the tool. The arrangement at Kiva was complex enough that my reading never got close to a point where it helped with that build, but it leaves me in a better place for sandbox Java projects. I’m still split whether Ant or Maven (or something else entirely) would be the best choice for a serious home project.

51HsSqoVCtL._SX330_BO1,204,203,200_The Design of Design

More brooks essays. Bought this and then never found the time to read them. I’ll update here when I get around to it.

51E7ZMHouQL._SX382_BO1,204,203,200_Linux Device Drivers, Third Edition

More linux device driver knowledge.

51S+v22Gz-L._SX403_BO1,204,203,200_Application Development with QT Creator, Second Edition

QT has come up a number of times as an interesting, cross platform, UI kit in the embedded space. I’ve got a few other QT references around. It looks interesting from a portability standpoint. The internal design looks a bit dated, but workable.

41UcT0l5J4L._SX348_BO1,204,203,200_Learn Android Studio

Android is my preferred mobile OS and I’d like to be able to write code that runs on my phone and tablets.

Android studio seems like the current best approach to handling this.

51yllus4s-L._SX331_BO1,204,203,200_Liars & Outliers

41Gtxqni4eL._SX348_BO1,204,203,200_Pro Android 5

An updated version of the big android programming book. Significantly less expensive  in kindle format than in paperback. I still prefer working with the physical book, but can’t justify the price.

51pvcs41FqL._SX403_BO1,204,203,200_Thinking in CSS

More CSS knowledge. I use a bit of CSS now and then but have mostly avoided the heavy lifting here.

41HUCnAVYLL._SX408_BO1,204,203,200_Windows Internals, Part 1 – Sixth Edition

The one and only place to go for updates on the internals of windows. This one is much less expensive as an ebook and on a 10″ tablet seems pretty readable. I just bought this and its companion and haven’t yet had a chance to dig into them, but these volumes have generally been great.

51W8zPe5pyL._SX408_BO1,204,203,200_Seventh edition appears to be posted for pre-order. I will very likely buy an electronic copy when it is released. These volumes tend to cover a broad range of internal functionality that gets added to windows as new versions come out. I’d like to keep up with these changes even if I’m not actively developing on the platform at any given time.

41f6W36bjTL._SX405_BO1,204,203,200_Windows Internals, Part 2 – Sixth Edition

As with part 1 I expect this to be very helpful in becoming familiar with what has changed in windows in the last release or two and as a general reference for the internal structure of the OS overall.

Effective Modern C++Effective Modern C++

The latest (and some rumors I hear suggest last) Myers book on effective use of C++. Covers C++ 2011 language features and run time library. Interesting reading. A bit shorter and lighter than his previous efforts. This really needs the Jossutis book or something similar as a supplement.

Horowitz and HillHorowitz and Hill: The Art of Electronics, Second Edition

A source of ideas and suggestions for hobbyist electronic design. I have an electrical engineering degree, but for small projects it is easier to dig out a sample circuit from here than try putting something together from scratch. There is a newer edition of this book, but for the amount of use it gets, this older volume is sufficient.

SQLiteThe Definitive Guide to SQLite

I am very pleased with SQLite as a small, built in database engine for simple projects. If I needed huge amounts of data or serious performance I’d likely go with MySQL (or PostGres) . For projects that fit its size and scale, SQLite is a very nice little package.

Book0013OpenGL SuperBible, Seventh Edition

I ordered a paper copy of this book (that I first bought for the kindle) as I am very much hoping to find time to do some 3D programming in the near future.

The Disney Magic had a really neat effect in the animator’s palate dining room where guests would draw a figure on a sheet of paper and then the figures would be animated on the screens around the room at the end of the meal. Should be relatively straightforward to do…the biggest hurdle is coming up to speed on the (relatively) new programmable pipeline functionality that OpenGL now presents.

Book0021OpenCL Programming Guide

I bought this when I was looking to leave Amazon Robotics and it looked as if there might be opportunities in CT or MR. For CT in particular, the projective reconstruction process appears to be much more compute intensive than recon for MR was (more data, more complex DFT processing). OpenCL seems perfect for that sort of problem space. I’m sure I’ll find other places where this sort of compute crunch is welcome. For now it is an interesting API that may eventually complement the OpenGL side of things.

Book0023C++ Concurrency in Action

Hopping back into C++ at KMC and into a C++ 2011 environment (at Oni we never got past visual studio 2010) I used this book to familiarize myself with the new concurrency facilities that the C++ 2011 runtime library contains. Given a choice between implementing threading and concurrency control on an OS by OS basis or sticking to the standard runtime (assuming I don’t need features that are OS specific) I’d rather go generic. Good book with good coverage of the topic. I’m still referring to this now and again.

Book0025OpenGL Shading Language, Third Edition

Given the extensive programmability of the current OpenGL pipeline, I decided I should have a copy of the shading language description on hand. It didn’t hurt that Amazon had very attractive prices on used copies.

Book0027Programming Windows with MFC, Second Edition

This has been my go-to book for straightforward MFC development for a long time. I’ve beaten my first copy to death long ago (covers falling off, spine long gone) and this is a used replacement for that hoary tome.

Book0029Pro WPF 4.5 in C#, Fourth Edition

WPF seems like the best tool currently available for putting together a decent user interface quickly on windows and thus I have quite a crop of WPF books.

Book0031Pro JSF and Ajax, Building Rich Internet Components

Informational mostly to date. Amazon had their own approaches and I’ve not had a reason to touch java based web user interfaces outside of Amazon.

Book0033Beginning JSP, JSF and Tomcat, Java EE 7 Edition, Second Edition

Book0035Pro JSP 2, Fourth Edition

Book0037ADO.NET 3.5 Cookbook, Second Edition

Book0045Maven, The Definitive Guide

The java build tool that I’ve run into most often to date. Easy for simple things, has a ‘knee’ in the difficulty curve when you need to do things that don’t come naturally. I’ve seen some huge and hairy pom files for real world builds. Probably the best of a set of bad options.

Book0047Pro Apache Ant

The old-school java build tool. Played with this a little bit some time back but Maven seems to be the tool that keeps coming up in the real world.

Book0051The C++ Programming Language, Fourth Edition

The latest (last time I looked) version of the Stroustrup C++ book. It has been a little while since I’ve done any heavy C++ but always worth having on hand.

Book0053The C++ Standard Library, Second Edition

The other half of the C++ world. The standard library as of C++ 2011/2014 has become much more capable and cleaned up a number of pain points from earlier versions. I’ve used this when writing a QNX service a while ago and I feel pretty good about the new standard library features.

Book0055Advanced Metaprogramming in Classic C++

Metaprogramming is an interesting and hairy topic. I can see where it could be quite useful in some edge cases. I’m not convinced that finessing the compiler’s template and type logic into doing work at compile time is necessarily the right choice unless there are no other choices. This sort of coding is hard to debug and likely to run afoul of compiler implementation vagaries.

Book0067C# 6.0 and the .NET 4.6 Framework, Seventh Edition

This has been my broad based C# reference until recently. With the emergence of .NET core, this covers classic while my core references cover the newer environment designed for portability.

Book0077Pro ASP.NET in C# 2010, Fourth Edition

Book0083C# 6.0 in a Nutshell, The Definitive Reference, Sixth Edition

My other C# reference. This book handles the base language better than the APress volume. This remains important as the base language hasn’t changed that much while the runtime environment for core is different in a number of important ways.

Book0085C# in Depth, Third Edition

Book0087More Effective C#, 50 Specific Ways to Improve your C#

Book0089Effective C#, 50 Specific Ways to Improve your C#, Second Edition

Book0091Pro WPF, Windows Presentation Foundation in .NET 3.0

Book0093Well Grounded Java Developer

Book0105Implementing SSL/TLS, Using Cryptography and PKI

Book0107Introduction to 3D Game Programming with DirectX 12

Book0109The Unified Modeling Language User Guide, Second Edition

UML shows up now and then as an important (but often poorly understood) language for communicating system architecture. I’ve used UML at times to communicate high level design concepts though in many cases a less formal approach might have come together faster and been just as effective.

Book0111Real Time C++, Second Edition

Book0113MySQL, Fifth Edition

My go-to SQL engine all other things being equal. Free, capable and well understood.

Book0119The Unified Modeling Language Reference Manual, Second Edition

The reference guide that goes along with the above users manual.

Book0121Cryptography Engineering, Design Principles and Practical Applications

Book0127MySQL Cookbook, Third Edition

My go-to SQL engine all other things being equal. Free, capable and well understood.

Book0129SQL for Dummies

Old, simple but still a quick way to gin up that select statement without getting into too many deep details.

Book0173The Java Native Interface

Book0189Programming Web Services with Perl

Book0191Pro CSS Techniques

More CSS.

Book0241Java Concurrency in Practice

A good introduction to Java’s concurrency support. I found this very helpful while coming up to speed on Java while at Kiva Systems.

Book0447Perl/Tk Pocket Reference

Book0451Developing Windows NT Device Drivers

Book0453Windows NT Device Driver Development

Book0457ATM Volume II

Book0469File Structures

Book0471Win32 System Services

This was the first Win32 services book I bought that I felt good about. It was easy to  read and reasonably accurate and complete.

Book0475Inside DirectX

Book0467Java Security


Book0473ASP.NET Security




51l3imdKABL._SX385_BO1,204,203,200_OpenGL ES 3.0 Programming Guide (2nd Edition)

Ordered a used copy of the ‘ES’ spec as well. Standard, limited capability rendering for mobile and low power devices. For the used copy price it makes good sense (I tell myself).

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Engineering execution and creativity mixed for the best results…