{"id":64,"date":"2014-05-03T18:24:40","date_gmt":"2014-05-03T18:24:40","guid":{"rendered":"http:\/\/ninecrows.com\/career\/?page_id=64"},"modified":"2016-06-30T10:48:03","modified_gmt":"2016-06-30T10:48:03","slug":"bookshelf-3","status":"publish","type":"page","link":"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/","title":{"rendered":"Bookshelf 3"},"content":{"rendered":"<p><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf31.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"38\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/bookshelf3\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf31.jpg?fit=1200%2C373&amp;ssl=1\" data-orig-size=\"1200,373\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;3.5&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;Canon EOS 7D&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1398931189&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;18&quot;,&quot;iso&quot;:&quot;1600&quot;,&quot;shutter_speed&quot;:&quot;0.016666666666667&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"BookShelf3\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf31.jpg?fit=300%2C93&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf31.jpg?fit=474%2C147&amp;ssl=1\" class=\"aligncenter size-full wp-image-38\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf31.jpg?resize=474%2C147\" alt=\"BookShelf3\" width=\"474\" height=\"147\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf31.jpg?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf31.jpg?resize=300%2C93&amp;ssl=1 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf31.jpg?resize=1024%2C318&amp;ssl=1 1024w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf31.jpg?w=948 948w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0253.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"519\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0253\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0253.jpg?fit=1094%2C1342&amp;ssl=1\" data-orig-size=\"1094,1342\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Designing International Software\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0253.jpg?fit=245%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0253.jpg?fit=474%2C581&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-519\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0253.jpg?resize=150%2C150\" alt=\"Designing International Software\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0253.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0253.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0253.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Developing-International-Software-Developer-Reference\/dp\/0735615837\/ref=sr_1_1?ie=UTF8&amp;qid=1467239730&amp;sr=8-1&amp;keywords=Developing+International+Software\">Developing International Software, Second Edition<\/a><\/h2>\n<p>If you have to add international language support to your windows software system, you need this volume. Covers most of the aspects of making things work and points to the remainder. p<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0301.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"552\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0301\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0301.jpg?fit=894%2C1344&amp;ssl=1\" data-orig-size=\"894,1344\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"VBScript in a Nutshell\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0301.jpg?fit=200%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0301.jpg?fit=474%2C713&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-552\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0301.jpg?resize=150%2C150\" alt=\"VBScript in a Nutshell\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0301.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0301.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0301.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/VBScript-Nutshell-2nd-Paul-Lomax\/dp\/0596004885\/ref=sr_1_1?ie=UTF8&amp;qid=1467239761&amp;sr=8-1&amp;keywords=VBScript+in+a+Nutshell\">VBScript in a Nutshell<\/a><\/h2>\n<p>I tend to stick to javascript when I can as it is a more comfortable language for me and more widely useable. Every now an again I can&#8217;t and this little volume helps me find my way through the vbscript thickets.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0103.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"443\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0103\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0103.jpg?fit=1033%2C1367&amp;ssl=1\" data-orig-size=\"1033,1367\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Programming Python\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0103.jpg?fit=227%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0103.jpg?fit=474%2C627&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-443\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0103.jpg?resize=150%2C150\" alt=\"Programming Python\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0103.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0103.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0103.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Programming-Python-Mark-Lutz\/dp\/0596158106\/ref=sr_1_1?ie=UTF8&amp;qid=1467239825&amp;sr=8-1&amp;keywords=Programming+Python\">Programming Python, Sixth Edition<\/a><\/h2>\n<p>I&#8217;m not a big fan of python, but being able to find my way around has proven useful on occasion. I tend to use perl or javascript if I need an interpreted language and build UI in either C++ or HTML\/HTTP.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0299.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"551\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0299\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0299.jpg?fit=1079%2C1334&amp;ssl=1\" data-orig-size=\"1079,1334\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Inside Visual Studio .NET\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0299.jpg?fit=243%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0299.jpg?fit=474%2C586&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-551\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0299.jpg?resize=150%2C150\" alt=\"Inside Visual Studio .NET\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0299.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0299.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0299.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Inside-Microsoft-Visual-Studio-Development\/dp\/0735618747\/ref=sr_1_2?ie=UTF8&amp;qid=1467239875&amp;sr=8-2&amp;keywords=Inside+Visual+Studio\">Inside Visual Studio .NET<\/a><\/h2>\n<p>Bought this a long time ago to find out how to build visual studio extensions. I haven&#8217;t seen anything newer that covers this ground and I suspect this may still be the best option for that sort of thing. Never actually needed to build one of these, but I do like having this on my bookshelf so I might be able to should there be need.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0511.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"785\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0511\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0511.jpg?fit=1102%2C1384&amp;ssl=1\" data-orig-size=\"1102,1384\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Book0511\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0511.jpg?fit=239%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0511.jpg?fit=474%2C596&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-785\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0511.jpg?resize=150%2C150\" alt=\"Book0511\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0511.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0511.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0511.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Bug-Patterns-Java-Eric-Allen\/dp\/1590590619\/ref=sr_1_1?ie=UTF8&amp;qid=1467239941&amp;sr=8-1&amp;keywords=Bug+Patterns+in+Java\">Bug Patterns in Java<\/a><\/h2>\n<p>After yesterday&#8217;s interview and a question about Java issues that I handled less than deftly I dragged this volume off of the shelf to rummage through. I remember being unimpressed with it when I bought it. I was looking for insights into Java that went beyond the usual &#8216;this is Java&#8217; books that are out there. I found that this book mostly rehashed some pretty generic &#8216;hanging reference&#8217;, thread issues, exception issues items that would apply to many garbage collected environments and even C++ and such. Not a terrible book, but not interesting enough to be a rewarding reread.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0259.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"520\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0259\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0259.jpg?fit=1031%2C1369&amp;ssl=1\" data-orig-size=\"1031,1369\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"RESTful Web Services\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0259.jpg?fit=226%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0259.jpg?fit=474%2C630&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-520\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0259.jpg?resize=150%2C150\" alt=\"RESTful Web Services\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0259.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0259.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0259.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/RESTful-Web-Services-Leonard-Richardson\/dp\/0596529260\/ref=sr_1_1?ie=UTF8&amp;qid=1467239972&amp;sr=8-1&amp;keywords=RESTful+Web+Services\">RESTful Web Services<\/a><\/h2>\n<p>I very much like the RESTful approach to building web services. It leverages the facilites provided by HTTP in a more thoughtful way than SOAP does. It also seems to result in more human readable interactions between client and server.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0015.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"492\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0015\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0015.jpg?fit=1106%2C1372&amp;ssl=1\" data-orig-size=\"1106,1372\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"C++ Template Metaprogramming\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0015.jpg?fit=242%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0015.jpg?fit=474%2C588&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-492\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0015.jpg?resize=150%2C150\" alt=\"C++ Template Metaprogramming\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0015.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0015.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0015.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Template-Metaprogramming-Concepts-Techniques-Beyond\/dp\/0321227255\/ref=sr_1_1?ie=UTF8&amp;qid=1467239995&amp;sr=8-1&amp;keywords=C%2B%2B+Template+Metaprogramming\">C++ Template Metaprogramming<\/a><\/h2>\n<p>Template metaprogramming is interesting, but I&#8217;ve never yet found a need to implement it in a system. A clever way to get the template machinery to do work at compile time, but the end result seems as if it would be hard to debug and hard to read for anyone who is not deeply knowledgeable of such things.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0297.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"550\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0297\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0297.jpg?fit=1102%2C1364&amp;ssl=1\" data-orig-size=\"1102,1364\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Windows Internals, Fifth Edition\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0297.jpg?fit=242%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0297.jpg?fit=474%2C587&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-550\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0297.jpg?resize=150%2C150\" alt=\"Windows Internals, Fifth Edition\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0297.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0297.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0297.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Windows%C2%AE-Internals-Including-Developer-Reference\/dp\/0735625301\/ref=sr_1_6?ie=UTF8&amp;qid=1467240029&amp;sr=8-6&amp;keywords=Windows+Internals\">Windows Internals, Fifth Edition<\/a><\/h2>\n<p>I try to keep up with these volumes. This is the last edition of this series that I have as a physical book. The sixth edition is split into two volumes and much less expensive as a kindle book.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0295.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"549\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0295\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0295.jpg?fit=1031%2C1370&amp;ssl=1\" data-orig-size=\"1031,1370\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Advanced Perl Programming\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0295.jpg?fit=226%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0295.jpg?fit=474%2C630&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-549\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0295.jpg?resize=150%2C150\" alt=\"Advanced Perl Programming\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0295.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0295.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0295.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Advanced-Perl-Programming-Simon-Cozens\/dp\/0596004567\/ref=sr_1_1?ie=UTF8&amp;qid=1467240111&amp;sr=8-1&amp;keywords=Advanced+Perl+Programming\">Advanced Perl Programming<\/a><\/h2>\n<p>This volume has not been as useful as the camel book. Perhaps it is just that I don&#8217;t do complex enough things with Perl (scary thought) but I find that I don&#8217;t pull this off the shelf that often (as compared with the camel book which comes down pretty much whenever I use perl for anything more complex than a few lines of text mashing).<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0293.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"548\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0293\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0293.jpg?fit=1042%2C1369&amp;ssl=1\" data-orig-size=\"1042,1369\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Photoshop CS6, The Missing Manual\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0293.jpg?fit=228%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0293.jpg?fit=474%2C623&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-548\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0293.jpg?resize=150%2C150\" alt=\"Photoshop CS6, The Missing Manual\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0293.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0293.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0293.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Photoshop-CS6-Missing-Lesa-Snider\/dp\/1449316158\/ref=sr_1_1?ie=UTF8&amp;qid=1467240160&amp;sr=8-1&amp;keywords=Photoshop+CS6+-+The+Missing+Manual\">Photoshop CS6 &#8211; The Missing Manual<\/a><\/h2>\n<p>I do lots of with Photoshop and Lightroom for my photography. Most of my photoshop knowledge before this book came from my time working at Howtek and blind experimentation. Now I&#8217;m trying to improve my game here (and not able to justify the monthly payments of CC).<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0497.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"786\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0497\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0497.jpg?fit=1089%2C1370&amp;ssl=1\" data-orig-size=\"1089,1370\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Book0497\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0497.jpg?fit=238%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0497.jpg?fit=474%2C596&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-786\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0497.jpg?resize=150%2C150\" alt=\"Book0497\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0497.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0497.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0497.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a>The Java Language Specification<\/h2>\n<p>This is an old edition. I&#8217;ve got newer version as electronic documents, but it is nice sometimes to rummage through the paper version.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0179.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"444\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0179\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0179.jpg?fit=1044%2C1497&amp;ssl=1\" data-orig-size=\"1044,1497\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"JPEG Still Image Compression Standard\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0179.jpg?fit=209%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0179.jpg?fit=474%2C680&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-444\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0179.jpg?resize=150%2C150\" alt=\"JPEG Still Image Compression Standard\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0179.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0179.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0179.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/JPEG-Compression-Standard-Multimedia-Standards\/dp\/0442012721\/ref=sr_1_1?ie=UTF8&amp;qid=1467240231&amp;sr=8-1&amp;keywords=JPEG+Still+Image+Data+Compression+Standard\">JPEG Still Image Data Compression Standard<\/a><\/h2>\n<p>Still the most common data compression algorithm out there. Bought when I was implementing both lossless and lossy compression for the Howtek medical file scanning software. Still handy on occasion.<\/p>\n<p><em>And last week my daughter decided she needed something to prop her window open and managed to grab this volume from my book shelf. I think the pink cover attracted her. Fortunately I heard what was going on and got her something more appropriate as a window prop. If I had to pick a book from my library to get rained on, this is hardly the most likely choice.<\/em><\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0163.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"445\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0163\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0163.jpg?fit=1103%2C1410&amp;ssl=1\" data-orig-size=\"1103,1410\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Geometric Tools for Computer Graphics\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0163.jpg?fit=235%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0163.jpg?fit=474%2C606&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-445\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0163.jpg?resize=150%2C150\" alt=\"Geometric Tools for Computer Graphics\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0163.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0163.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0163.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Geometric-Computer-Graphics-Morgan-Kaufmann\/dp\/1558605940\/ref=sr_1_1?ie=UTF8&amp;qid=1467240249&amp;sr=8-1&amp;keywords=Geometric+Tools+for+Computer+Graphics\">Geometric Tools for Computer Graphics<\/a><\/h2>\n<p>This is the one book for geometric manipulations related to computer graphics. Some of the math is a bit involved, but if you can follow it this book will provide much of what you need to manipulate 2D and 3D systems.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0509.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"787\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0509\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0509.jpg?fit=1095%2C1376&amp;ssl=1\" data-orig-size=\"1095,1376\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Book0509\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0509.jpg?fit=239%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0509.jpg?fit=474%2C596&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-787\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0509.jpg?resize=150%2C150\" alt=\"Book0509\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0509.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0509.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0509.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Effective-Specific-Improve-Programs-Designs\/dp\/0321334876\/ref=sr_1_2?ie=UTF8&amp;qid=1467240331&amp;sr=8-2&amp;keywords=Effective+C%2B%2B\">Effective C++, Third Edition<\/a><\/h2>\n<p>The best book I&#8217;ve ever found for enumerating best practices for C++ development. This isn&#8217;t a C++ tutorial it is a list of things to make certain you do and things to avoid with all of the reasons and background to make sense of them. I&#8217;ve used this book as a discussion point with the teams at two places I&#8217;ve worked in the recent past and it has been very helpful.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0185.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"446\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0185\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0185.jpg?fit=1054%2C1413&amp;ssl=1\" data-orig-size=\"1054,1413\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Internetworking with TCP\/IP, Volume III\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0185.jpg?fit=224%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0185.jpg?fit=474%2C635&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-446\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0185.jpg?resize=150%2C150\" alt=\"Internetworking with TCP\/IP, Volume III\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0185.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0185.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0185.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Internetworking-Client-Server-Programming-Applications--BSD-Version\/dp\/013260969X\/ref=sr_1_14?ie=UTF8&amp;qid=1467239147&amp;sr=8-14&amp;keywords=Internetworking+with+TCP%2FIP\">Internetworking with TCP\/IP &#8211; Volume III, Second Edition<\/a><\/h2>\n<p>The application programming volume of the set. Wanders through topics around client\/server programming and protocols that use TCP and UDP sockets for communication. Somewhat less useful to me than the other volumes. If I want details of the telnet protocol I&#8217;d hit the relevant RFCs and I&#8217;ve done enough network programming in the past that I don&#8217;t need the primer on client\/server computing and sockets interfaces.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0183.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"447\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0183\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0183.jpg?fit=1058%2C1411&amp;ssl=1\" data-orig-size=\"1058,1411\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Internetworking with TCP\/IP, Volume II\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0183.jpg?fit=225%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0183.jpg?fit=474%2C632&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-447\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0183.jpg?resize=150%2C150\" alt=\"Internetworking with TCP\/IP, Volume II\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0183.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0183.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0183.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Internetworking-TCP-Vol-Implementation-Internals\/dp\/0139738436\/ref=sr_1_6?ie=UTF8&amp;qid=1467239147&amp;sr=8-6&amp;keywords=Internetworking+with+TCP%2FIP\">Internetworking with TCP\/IP &#8211; Volume II, Third Edition<\/a><\/h2>\n<p>The implementation book. I&#8217;ve come close to needing to implement the low level details of TCP\/IP in an embedded system a few times in my career. I&#8217;ve never actually wound up getting deep into the implementation, but if I had (for IPv4 at least) this is the book I&#8217;d have kept close by. It covers (with code fragments and all the trimmings) the implementation details associated with the IP and TCP layers of IPv4 from one end to the other. It also contains a chunk of information on SNMP though I&#8217;d likely go with more focused volumes if I were trying to build an SNMP implementation on top of an existing TCP stack.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0151.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"448\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0151\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0151.jpg?fit=937%2C1416&amp;ssl=1\" data-orig-size=\"937,1416\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"A Practical Guide to Splines\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0151.jpg?fit=199%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0151.jpg?fit=474%2C716&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-448\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0151.jpg?resize=150%2C150\" alt=\"A Practical Guide to Splines\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0151.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0151.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0151.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Practical-Splines-Applied-Mathematical-Sciences\/dp\/0387953663\/ref=sr_1_1?ie=UTF8&amp;qid=1467240352&amp;sr=8-1&amp;keywords=A+Practical+Guide+to+Splines\">A Practical Guide to Splines, Revised Edition<\/a><\/h2>\n<p>Sometimes you just need a spline to define a smooth path from one point to another. This book brings rigor and detail to the mathematics behind them.<\/p>\n<p>Somewhat of a specialized topic, but they are useful more often than you might think when trying to render smooth looking curves or surfaces to fit an existing data set.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0147.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"452\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0147\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0147.jpg?fit=890%2C1332&amp;ssl=1\" data-orig-size=\"890,1332\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"ASP in a Nutshell\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0147.jpg?fit=200%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0147.jpg?fit=474%2C710&amp;ssl=1\" class=\"size-thumbnail wp-image-452 alignleft\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0147.jpg?resize=150%2C150\" alt=\"ASP in a Nutshell\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0147.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0147.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0147.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/ASP-Nutshell-Desktop-Reference-OReilly\/dp\/1565928431\/ref=sr_1_1?ie=UTF8&amp;qid=1467240389&amp;sr=8-1&amp;keywords=ASP+in+a+Nutshell\">ASP in a Nutshell<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0001.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"449\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0001\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0001.jpg?fit=1042%2C1368&amp;ssl=1\" data-orig-size=\"1042,1368\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Learning XSLT\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0001.jpg?fit=229%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0001.jpg?fit=474%2C622&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-449\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0001.jpg?resize=150%2C150\" alt=\"Learning XSLT\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0001.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0001.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0001.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Learning-XSLT-Michael-James-Fitzgerald\/dp\/0596003277\/ref=sr_1_1?ie=UTF8&amp;qid=1467240421&amp;sr=8-1&amp;keywords=Learning+XSLT\">Learning XSLT<\/a><\/h2>\n<p>XSLT promised to be the &#8216;sed&#8217; of XML, taking in an XML document<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0017.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"450\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0017\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0017.jpg?fit=1037%2C1365&amp;ssl=1\" data-orig-size=\"1037,1365\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"OpenSSL\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0017.jpg?fit=228%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0017.jpg?fit=474%2C624&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-450\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0017.jpg?resize=150%2C150\" alt=\"OpenSSL\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0017.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0017.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0017.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Network-Security-OpenSSL-John-Viega\/dp\/059600270X\/ref=sr_1_1?ie=UTF8&amp;qid=1467240441&amp;sr=8-1&amp;keywords=Network+Security+with+OpenSSL\">Network Security with OpenSSL<\/a><\/h2>\n<p>There have been a number of times that I&#8217;ve looked at implementing encrypted network links (though so far never needed to use the OpenSSL library). This book looks like it provides pretty good coverage of the use of the library and its supporting components. Even with the nasty flaw that turned up recently, this is still one of the most widely used and most rugged SSL implementations out there.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0233.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"495\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0233\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0233.jpg?fit=1040%2C1371&amp;ssl=1\" data-orig-size=\"1040,1371\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Understanding the Linux Kernel\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0233.jpg?fit=228%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0233.jpg?fit=474%2C625&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-495\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0233.jpg?resize=150%2C150\" alt=\"Understanding the Linux Kernel\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0233.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0233.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0233.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Understanding-Linux-Kernel-Daniel-Bovet\/dp\/0596002130\/ref=sr_1_6?ie=UTF8&amp;qid=1467240468&amp;sr=8-6&amp;keywords=Understanding+the+Linux+Kernel\">Understanding the Linux Kernel<\/a><\/h2>\n<p>There is a <a href=\"https:\/\/www.amazon.com\/Understanding-Linux-Kernel-Third-Daniel\/dp\/0596005652\/ref=sr_1_1?ie=UTF8&amp;qid=1467240468&amp;sr=8-1&amp;keywords=Understanding+the+Linux+Kernel\">third edition<\/a>.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0069.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"493\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0069\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0069.jpg?fit=1106%2C1380&amp;ssl=1\" data-orig-size=\"1106,1380\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Visual C# 2010 Recipes\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0069.jpg?fit=240%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0069.jpg?fit=474%2C591&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-493\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0069.jpg?resize=150%2C150\" alt=\"Visual C# 2010 Recipes\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0069.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0069.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0069.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Visual-2010-Recipes-Problem-Solution-Approach\/dp\/1430225254\/ref=sr_1_1?ie=UTF8&amp;qid=1467240541&amp;sr=8-1&amp;keywords=Visual+C%23+2010+Recipes\">Visual C# 2010 Recipes<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0143.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"451\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0143\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0143.jpg?fit=897%2C1336&amp;ssl=1\" data-orig-size=\"897,1336\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Windows NT Shell Scripting\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0143.jpg?fit=201%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0143.jpg?fit=474%2C705&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-451\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0143.jpg?resize=150%2C150\" alt=\"Windows NT Shell Scripting\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0143.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0143.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0143.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Windows-Shell-Scripting-Timothy-Hill\/dp\/1578700477\/ref=sr_1_1?ie=UTF8&amp;qid=1467240566&amp;sr=8-1&amp;keywords=Windows+NT+Shell+Scripting\">Windows NT Shell Scripting<\/a><\/h2>\n<p>Win32 command line scripting isn&#8217;t the most flexible environment to work in, nor is it all that pleasant but it is readily available\u00a0on windows machines and easy\u00a0to work with, even\u00a0for non-programmers. This book is\u00a0one of the few sources for detailed information on writing batch files for windows that I&#8217;ve run across.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0051.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"547\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0051\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0051.jpg?fit=1089%2C1359&amp;ssl=1\" data-orig-size=\"1089,1359\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"The C++ Programming Language\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0051.jpg?fit=240%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0051.jpg?fit=474%2C591&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-547\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0051.jpg?resize=150%2C150\" alt=\"The C++ Programming Language\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0051.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0051.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0051.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/C-Programming-Language-4th\/dp\/0321563840\/ref=sr_1_1?ie=UTF8&amp;qid=1467240596&amp;sr=8-1&amp;keywords=The+C%2B%2B+Programming+Language\">The C++ Programming Language, Third Edition<\/a><\/h2>\n<p>Not quite the latest version of the &#8216;Stroustrup&#8217; book, but recent enough for most purposes and the latest version I have in paper book form. A handy place to go looking for details that don&#8217;t get used all that often as a reference and refresher.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0039.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"494\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0039\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0039.jpg?fit=1120%2C1395&amp;ssl=1\" data-orig-size=\"1120,1395\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"The C# Programming Language\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0039.jpg?fit=241%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0039.jpg?fit=474%2C590&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-494\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0039.jpg?resize=150%2C150\" alt=\"The C# Programming Language\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0039.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0039.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0039.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Programming-Language-Covering-Microsoft-Development\/dp\/0321741765\/ref=sr_1_1?ie=UTF8&amp;qid=1467240653&amp;sr=8-1&amp;keywords=The+C%23+Programming+Language\">The C# Programming Language, Second Editio<\/a>n<\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0135-1.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"454\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/book0135-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0135-1.jpg?fit=1129%2C1404&amp;ssl=1\" data-orig-size=\"1129,1404\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"The Common Language Infrastructure, Annotated Standard\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0135-1.jpg?fit=241%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0135-1.jpg?fit=474%2C590&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-454\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0135-1.jpg?resize=150%2C150\" alt=\"The Common Language Infrastructure, Annotated Standard\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0135-1.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0135-1.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0135-1.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Common-Language-Infrastructure-Annotated-Standard\/dp\/0321154932\/ref=sr_1_1?ie=UTF8&amp;qid=1467240706&amp;sr=8-1&amp;keywords=The+Common+Language+Infrastructure+Annotated+Standard\">The Common Language Infrastructure Annotated Standard<\/a><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>Developing International Software, Second Edition If you have to add international language support to your windows software system, you need this volume. Covers most of the aspects of making things work and points to the remainder. p VBScript in a Nutshell I tend to stick to javascript when I can as it is a more &hellip; <a href=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-3\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Bookshelf 3<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":47,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-64","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P7F2Qc-12","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/64"}],"collection":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/comments?post=64"}],"version-history":[{"count":21,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/64\/revisions"}],"predecessor-version":[{"id":788,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/64\/revisions\/788"}],"up":[{"embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/47"}],"wp:attachment":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/media?parent=64"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}