{"id":62,"date":"2014-05-03T18:24:10","date_gmt":"2014-05-03T18:24:10","guid":{"rendered":"http:\/\/ninecrows.com\/career\/?page_id=62"},"modified":"2016-06-30T11:12:13","modified_gmt":"2016-06-30T11:12:13","slug":"bookshelf-2","status":"publish","type":"page","link":"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/","title":{"rendered":"Bookshelf 2"},"content":{"rendered":"<figure id=\"attachment_45\" aria-describedby=\"caption-attachment-45\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf21.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"45\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/bookshelf2\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf21.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=\"BookShelf2\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;Bookshelf 2&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf21.jpg?fit=300%2C93&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf21.jpg?fit=474%2C147&amp;ssl=1\" class=\"wp-image-45 size-full\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf21.jpg?resize=474%2C147\" alt=\"Bookshelf 2\" width=\"474\" height=\"147\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf21.jpg?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf21.jpg?resize=300%2C93&amp;ssl=1 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf21.jpg?resize=1024%2C318&amp;ssl=1 1024w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/BookShelf21.jpg?w=948 948w\" sizes=\"(max-width: 474px) 100vw, 474px\" \/><\/a><figcaption id=\"caption-attachment-45\" class=\"wp-caption-text\">Bookshelf 2<\/figcaption><\/figure>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0197.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"501\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0197\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0197.jpg?fit=935%2C1422&amp;ssl=1\" data-orig-size=\"935,1422\" 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++ Object Oriented Data Structures\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0197.jpg?fit=197%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0197.jpg?fit=474%2C721&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-501\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0197.jpg?resize=150%2C150\" alt=\"C++ Object Oriented Data Structures\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0197.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0197.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0197.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/C-Object-Oriented-Structures-Saumyendra-Sengupta\/dp\/0387941940\/ref=sr_1_14?ie=UTF8&amp;qid=1467231288&amp;sr=8-14&amp;keywords=C%2B%2B+Object+Oriented+Data+Structures\">C++ Object Oriented Data Structures<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0291.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"542\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0291\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0291.jpg?fit=945%2C1409&amp;ssl=1\" data-orig-size=\"945,1409\" 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=\"Compilers, Principles, Techniques and Tools\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0291.jpg?fit=201%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0291.jpg?fit=474%2C707&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-542\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0291.jpg?resize=150%2C150\" alt=\"Compilers, Principles, Techniques and Tools\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0291.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0291.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0291.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Compilers-Principles-Techniques-Alfred-Aho\/dp\/0201100886\/ref=sr_1_1?ie=UTF8&amp;qid=1467231322&amp;sr=8-1&amp;keywords=Compilers+-+Principles%2C+Techniques+and+Tools\">Compilers &#8211; Principles, Techniques and Tools<\/a><\/h2>\n<p>The &#8216;dragon&#8217; book. This is the first book on compiler design and parser generation that I read (though that was a borrowed copy of the previous edition). It provides a great introduction and got me interested in lex (and flex) and yacc (bison). There is a <a href=\"https:\/\/www.amazon.com\/Compilers-Principles-Techniques-Tools-2nd\/dp\/0321486811\/ref=dp_ob_title_bk\">second edition<\/a> of this book. I&#8217;m guessing that the previous version had a different title.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0199.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"431\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0199\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0199.jpg?fit=1084%2C1373&amp;ssl=1\" data-orig-size=\"1084,1373\" 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=\".NET Web Services\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0199.jpg?fit=237%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0199.jpg?fit=474%2C601&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-431\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0199.jpg?resize=150%2C150\" alt=\".NET Web Services\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0199.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0199.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0199.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/NET-Web-Services-Architecture-Implementation\/dp\/0321113594\/ref=sr_1_3?ie=UTF8&amp;qid=1467231445&amp;sr=8-3&amp;keywords=.NET+Web+Services\">.NET Web Services<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0041.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"428\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0041\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0041.jpg?fit=1096%2C1356&amp;ssl=1\" data-orig-size=\"1096,1356\" 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 Distributed COM\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0041.jpg?fit=242%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0041.jpg?fit=474%2C586&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-428\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0041.jpg?resize=150%2C150\" alt=\"Inside Distributed COM\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0041.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0041.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0041.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Inside-Distributed-COM-Mps-Eddon\/dp\/157231849X\/ref=sr_1_1?ie=UTF8&amp;qid=1467231488&amp;sr=8-1&amp;keywords=Inside+Distributed+COM\">Inside Distributed COM<\/a><\/h2>\n<p>One of a number of COM books from Microsoft that covered the ongoing development of the technology before they shelved it to work on .NET.<\/p>\n<h2><a href=\"https:\/\/www.amazon.com\/Effective-Specific-Ways-Improve-Your\/dp\/0321245660\/ref=sr_1_5?s=books&amp;ie=UTF8&amp;qid=1467231522&amp;sr=1-5&amp;keywords=Effective+C%23\"><br \/>\n<\/a><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0483.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"812\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0483\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0483.jpg?fit=1036%2C1376&amp;ssl=1\" data-orig-size=\"1036,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=\"Book0483\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0483.jpg?fit=226%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0483.jpg?fit=474%2C630&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-812\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0483.jpg?resize=150%2C150\" alt=\"Book0483\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0483.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0483.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0483.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Effective-Specific-Ways-Improve-Your\/dp\/0321245660\/ref=sr_1_5?s=books&amp;ie=UTF8&amp;qid=1467231522&amp;sr=1-5&amp;keywords=Effective+C%23\">Effective C#<\/a><\/h2>\n<p>I have found the &#8216;Effective C++&#8217; books by Meyers to be indispensable when trying to get a development team with varying levels of experience up to speed. They&#8217;re also handy as a starting point for &#8216;best practices for C++&#8217; lists, and if you&#8217;ve got a team of more than a couple of engineers you need such a list.<\/p>\n<p>This book has some useful advice (and there may be a newer edition&#8230;I&#8217;ve got to take a look soon) but doesn&#8217;t seem to dive as deep or think as broadly as the C++ books. It has some useful advice around the basics of making C# work and work well though and if I had a major component of a product based in the managed environment I&#8217;d likely use this as the starting point for a C# best practices list and recommend that the team members read it or something similar. There is a <a href=\"https:\/\/www.amazon.com\/Effective-Covers-6-0-Specific-Development\/dp\/0672337878\/ref=sr_1_2?s=books&amp;ie=UTF8&amp;qid=1467231522&amp;sr=1-2&amp;keywords=Effective+C%23\">third edition<\/a> of this book on pre-order.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0225.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"430\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0225\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0225.jpg?fit=1065%2C1497&amp;ssl=1\" data-orig-size=\"1065,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=\"Numerical Recipes\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0225.jpg?fit=213%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0225.jpg?fit=474%2C667&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-430\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0225.jpg?resize=150%2C150\" alt=\"Numerical Recipes\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0225.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0225.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0225.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Numerical-Recipes-3rd-Scientific-Computing\/dp\/0521880688\/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1467231603&amp;sr=1-1&amp;keywords=Numerical+Recipes%2C+Third+Edition\">Numerical Recipes, Third Edition<\/a><\/h2>\n<p>The book for numerical computing recipes covering a broad range of topics with excellent examples and sufficient detail to get the job done. This edition is implemented in C++ instead of C in the previous editions (or fortran 77). This book has been of great value many times in my career.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0063.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"432\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0063\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0063.jpg?fit=1028%2C1370&amp;ssl=1\" data-orig-size=\"1028,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=\"Programming .NET Components\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0063.jpg?fit=225%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0063.jpg?fit=474%2C632&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-432\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0063.jpg?resize=150%2C150\" alt=\"Programming .NET Components\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0063.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0063.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0063.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Programming-NET-Components-Applications-Component-Oriented-ebook\/dp\/B0026OR34E\/ref=sr_1_1?s=digital-text&amp;ie=UTF8&amp;qid=1467231648&amp;sr=1-1&amp;keywords=Programming+.NET+Components\">Programming .NET Components<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0201.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"502\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0201\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0201.jpg?fit=1049%2C1380&amp;ssl=1\" data-orig-size=\"1049,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=\"Designing and Using OLE Custom Controls\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0201.jpg?fit=228%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0201.jpg?fit=474%2C624&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-502\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0201.jpg?resize=150%2C150\" alt=\"Designing and Using OLE Custom Controls\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0201.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0201.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0201.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Designing-Using-Ole-Custom-Controls\/dp\/1558514457\/ref=sr_1_1?s=digital-text&amp;ie=UTF8&amp;qid=1467231680&amp;sr=8-1&amp;keywords=Designing+and+Using+OLE+Custom+Controls\">Designing and Using OLE Custom Controls<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0203.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"433\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0203\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0203.jpg?fit=1035%2C1416&amp;ssl=1\" data-orig-size=\"1035,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=\"Pro Visual C++\/CLI\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0203.jpg?fit=219%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0203.jpg?fit=474%2C649&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-433\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0203.jpg?resize=150%2C150\" alt=\"Pro Visual C++\/CLI\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0203.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0203.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0203.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Visual-NET-Platform-Experts-Voice\/dp\/1590596404\/ref=sr_1_1?ie=UTF8&amp;qid=1467231735&amp;sr=8-1&amp;keywords=Pro+Visual+C%2B%2B%2FCLI+and+the+.NET+2.0+Platform\">Pro Visual C++\/CLI and the .NET 2.0 Platform<\/a><\/h2>\n<p>Managed C++ is an interesting twist on the intersection between the CLR environment and native code development. I&#8217;m not sure I&#8217;d use it in a real system as .NET programmers are likely to be more comfortable with C# or VB.NET but it is worth being aware of for the possible cases where this middle ground might simplify things. This looks like a <a href=\"https:\/\/www.amazon.com\/Visual-NET-Platform-Books-Professionals\/dp\/1430210532\/ref=pd_sim_sbs_14_1?ie=UTF8&amp;dpID=517FCxrhC4L&amp;dpSrc=sims&amp;preST=_AC_UL320_SR242%2C320_&amp;refRID=8BA1KQQ3WAY8AZ80MFP2\">revised edition<\/a> of this book.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0205.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"489\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0205\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0205.jpg?fit=1098%2C1388&amp;ssl=1\" data-orig-size=\"1098,1388\" 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 with Microsoft Visual C++ .NET\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0205.jpg?fit=237%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0205.jpg?fit=474%2C599&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-489\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0205.jpg?resize=150%2C150\" alt=\"Programming with Microsoft Visual C++ .NET\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0205.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0205.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0205.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Programming-Microsoft-Visual-Reference-Pro-Developer\/dp\/0735615497\/ref=sr_1_2?ie=UTF8&amp;qid=1467236246&amp;sr=8-2&amp;keywords=Visual+C%2B%2B+shepherd\">Programming with Visual C++ .NET<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0101.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"434\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0101\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0101.jpg?fit=1023%2C1369&amp;ssl=1\" data-orig-size=\"1023,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=\"Javascript, The Definitive Guide\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0101.jpg?fit=224%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0101.jpg?fit=474%2C634&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-434\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0101.jpg?resize=150%2C150\" alt=\"Javascript, The Definitive Guide\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0101.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0101.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0101.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/JavaScript-Definitive-Guide-Activate-Guides\/dp\/0596805527\/ref=sr_1_2?ie=UTF8&amp;qid=1467236292&amp;sr=8-2&amp;keywords=Javascript+-+The+Definitive+Guide\">Javascript &#8211; The Definitive Guide, Sixth Edition<\/a><\/h2>\n<p>Covers most of the things you&#8217;d want to know about JavaScript as of the time it was written. Not really stand-alone, but as a reference to the language and various environments it can run in it is very useful.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0207.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"435\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0207\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0207.jpg?fit=960%2C1422&amp;ssl=1\" data-orig-size=\"960,1422\" 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=\"Computer Graphics, Principles and Practice\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0207.jpg?fit=203%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0207.jpg?fit=474%2C702&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-435\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0207.jpg?resize=150%2C150\" alt=\"Computer Graphics, Principles and Practice\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0207.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0207.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0207.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Computer-Graphics-Principles-Practice-2nd\/dp\/0201848406\/ref=sr_1_2?ie=UTF8&amp;qid=1467236325&amp;sr=8-2&amp;keywords=Computer+Graphics+-+Principles+and+Practice\">Computer Graphics &#8211; Principles and Practice<\/a><\/h2>\n<p>One of the first broad based texts on computer graphics that I read. A bit to generic to be useful for practical issues, but a nice overview of the topic. There is a <a href=\"https:\/\/www.amazon.com\/Computer-Graphics-Principles-Practice-3rd\/dp\/0321399528\/ref=sr_1_1?ie=UTF8&amp;qid=1467236325&amp;sr=8-1&amp;keywords=Computer+Graphics+-+Principles+and+Practice\">third edition<\/a> of this book.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0215.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"490\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0215\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0215.jpg?fit=1059%2C1331&amp;ssl=1\" data-orig-size=\"1059,1331\" 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=\"Debugging Microsoft .NET 2.0 Applications\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0215.jpg?fit=239%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0215.jpg?fit=474%2C596&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-490\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0215.jpg?resize=150%2C150\" alt=\"Debugging Microsoft .NET 2.0 Applications\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0215.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0215.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0215.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Debugging-Microsoft-NET-2-0-Applications\/dp\/0735622027\/ref=sr_1_1?ie=UTF8&amp;qid=1467236385&amp;sr=8-1&amp;keywords=Debugging+.NET+2.0+Applications\">Debugging .NET 2.0 Applications<\/a><\/h2>\n<p>&nbsp;<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0213.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"545\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0213\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0213.jpg?fit=1015%2C1368&amp;ssl=1\" data-orig-size=\"1015,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=\"The .NET Developer&#8217;s Guide to Windows Security\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0213.jpg?fit=223%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0213.jpg?fit=474%2C639&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-545\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0213.jpg?resize=150%2C150\" alt=\"The .NET Developer's Guide to Windows Security\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0213.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0213.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0213.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/NET-Developers-Guide-Windows-Security\/dp\/0321228359\/ref=sr_1_1?ie=UTF8&amp;qid=1467236474&amp;sr=8-1&amp;keywords=The+.NET+Developer%27s+Guide+to+Windows+Security\">The .NET Developer&#8217;s Guide to Windows Security<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0211.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"436\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0211\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0211.jpg?fit=1093%2C1370&amp;ssl=1\" data-orig-size=\"1093,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=\"Effective C++, Second Edition\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0211.jpg?fit=239%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0211.jpg?fit=474%2C594&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-436\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0211.jpg?resize=150%2C150\" alt=\"Effective C++, Second Edition\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0211.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0211.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0211.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Effective-Specific-Addison-Wesley-Professional-Computing\/dp\/0201924889\/ref=sr_1_12?ie=UTF8&amp;qid=1467238747&amp;sr=8-12&amp;keywords=Effective+C%2B%2B\">Effective C++, Second Edition<\/a><\/h2>\n<p>This is one of my favorite &#8216;advanced topics&#8217; books on C++ programming (along with its companion volume). I have run discussion groups based on this book at two previous workplaces with good results. An excellent place to go looking for &#8216;best practices&#8217; items for C++ programming as well.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0265.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"517\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0265\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0265.jpg?fit=1124%2C1415&amp;ssl=1\" data-orig-size=\"1124,1415\" 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=\"Object Oriented Design Heuristics\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0265.jpg?fit=238%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0265.jpg?fit=474%2C597&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-517\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0265.jpg?resize=150%2C150\" alt=\"Object Oriented Design Heuristics\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0265.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0265.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0265.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Object-Oriented-Design-Heuristics-Arthur-Riel\/dp\/020163385X\/ref=sr_1_1?ie=UTF8&amp;qid=1467238775&amp;sr=8-1&amp;keywords=Object+Oriented+Design+Heuristics\">Object Oriented Design Heuristics<\/a><\/h2>\n<p>A decent overview of object oriented design techniques.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0263.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"516\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0263\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0263.jpg?fit=1120%2C1402&amp;ssl=1\" data-orig-size=\"1120,1402\" 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=\"Object Oriented Analysis and Design\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0263.jpg?fit=240%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0263.jpg?fit=474%2C593&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-516\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0263.jpg?resize=150%2C150\" alt=\"Object Oriented Analysis and Design\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0263.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0263.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0263.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Object-Oriented-Analysis-Design-Applications-2nd\/dp\/0805353402\/ref=sr_1_10?ie=UTF8&amp;qid=1467238794&amp;sr=8-10&amp;keywords=Object+Oriented+Analysis+and+Design\">Object Oriented Analysis and Design<\/a><\/h2>\n<p>Object oriented design as described by Grady Booch. There is a <a href=\"https:\/\/www.amazon.com\/Object-Oriented-Analysis-Design-Applications-3rd\/dp\/020189551X\/ref=sr_1_1?ie=UTF8&amp;qid=1467238794&amp;sr=8-1&amp;keywords=Object+Oriented+Analysis+and+Design\">third edition<\/a>.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0117.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"437\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0117\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0117.jpg?fit=1074%2C1373&amp;ssl=1\" data-orig-size=\"1074,1373\" 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=\"Essential COM\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0117.jpg?fit=235%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0117.jpg?fit=474%2C606&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-437\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0117.jpg?resize=150%2C150\" alt=\"Essential COM\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0117.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0117.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0117.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Essential-COM-Don-Box\/dp\/0201634465\/ref=sr_1_1?ie=UTF8&amp;qid=1467238890&amp;sr=8-1&amp;keywords=Essential+COM\">Essential COM<\/a><\/h2>\n<p>The &#8216;Box&#8217; book that acted as the initial &#8216;primer&#8217; on COM technology. Covers the basics of how COM works but the technology evolved far beyond the initial version described here.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0235.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"439\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0235\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0235.jpg?fit=1056%2C1419&amp;ssl=1\" data-orig-size=\"1056,1419\" 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=\"Unix Internals\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0235.jpg?fit=223%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0235.jpg?fit=474%2C637&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-439\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0235.jpg?resize=150%2C150\" alt=\"Unix Internals\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0235.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0235.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0235.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/UNIX-Internals-Frontiers-Uresh-Vahalia\/dp\/0131019082\/ref=sr_1_1?ie=UTF8&amp;qid=1467238970&amp;sr=8-1&amp;keywords=Unix+Internals+-+The+New+Frontier\">Unix Internals &#8211; The New Frontier<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0237.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"438\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0237\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0237.jpg?fit=953%2C1411&amp;ssl=1\" data-orig-size=\"953,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=\"The Design and Implementation of the 4.4 BSD Operating System\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0237.jpg?fit=203%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0237.jpg?fit=474%2C701&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-438\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0237.jpg?resize=150%2C150\" alt=\"The Design and Implementation of the 4.4 BSD Operating System\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0237.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0237.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0237.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Design-Implementation-4-4-Operating-System\/dp\/0201549794\/ref=sr_1_sc_1?ie=UTF8&amp;qid=1467238993&amp;sr=8-1-spell&amp;keywords=The+Design+and+Implementation+of+the+4.4+BSD+Operating+Systemr\">The Design and Implementation of the 4.4 BSD Operating System<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0289.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"541\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0289\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0289.jpg?fit=852%2C1364&amp;ssl=1\" data-orig-size=\"852,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=\"Letter Forms\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0289.jpg?fit=187%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0289.jpg?fit=474%2C758&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-541\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0289.jpg?resize=150%2C150\" alt=\"Letter Forms\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0289.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0289.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0289.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Letter-Forms-Typophile-Chap-Books\/dp\/0881791369\/ref=sr_1_1?ie=UTF8&amp;qid=1467239058&amp;sr=8-1&amp;keywords=Letter+Forms+morison\">Letter Forms<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0501.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"783\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0501\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0501.jpg?fit=1101%2C1370&amp;ssl=1\" data-orig-size=\"1101,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=\"Book0501\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0501.jpg?fit=241%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0501.jpg?fit=474%2C590&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-783\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0501.jpg?resize=150%2C150\" alt=\"Book0501\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0501.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0501.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0501.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Debugging-Development-Process-Practical-Strategies\/dp\/1556156502\/ref=sr_1_1?ie=UTF8&amp;qid=1467239084&amp;sr=8-1&amp;keywords=Debugging+the+Development+Process\">Debugging the Development Process<\/a><\/h2>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0287.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"540\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0287\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0287.jpg?fit=767%2C1349&amp;ssl=1\" data-orig-size=\"767,1349\" 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 Elements of Typographic Style\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0287.jpg?fit=171%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0287.jpg?fit=474%2C834&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-540\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0287.jpg?resize=150%2C150\" alt=\"The Elements of Typographic Style\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0287.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0287.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0287.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Elements-Typographic-Style-Version-Anniversary\/dp\/0881792128\/ref=sr_1_1?ie=UTF8&amp;qid=1467239110&amp;sr=8-1&amp;keywords=The+Elements+of+Typographic+Style\">The Elements of Typographic Style<\/a><\/h2>\n<p>There was a time when I became very interested in fonts, typefaces and the associated technology. This was one of the books that came highly recommended as a source of wisdom in the typographic world.<\/p>\n<p>There are certainly many subtleties to properly designing and using typefaces that I took away from that dive into letter forms and the knowledge continues to serve me well.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0187.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"440\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0187\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0187.jpg?fit=1053%2C1408&amp;ssl=1\" data-orig-size=\"1053,1408\" 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 I\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0187.jpg?fit=224%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0187.jpg?fit=474%2C634&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-440\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0187.jpg?resize=150%2C150\" alt=\"Internetworking with TCP\/IP, Volume I\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0187.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0187.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0187.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Internetworking-TCP-IP-One-6th\/dp\/013608530X\/ref=sr_1_1?ie=UTF8&amp;qid=1467239147&amp;sr=8-1&amp;keywords=Internetworking+with+TCP%2FIP\">Internetworking with TCP\/IP, Volume I, Third Edition<\/a><\/h2>\n<p>The core volume of the &#8216;Comer&#8217; books on IP. This one covers all of the internal protocol details (see volume two for implementation advice and code fragments). Anyone who wants to write networked code needs a book like this one (or just buy this book and be done). There is now a <a href=\"https:\/\/www.amazon.com\/Internetworking-TCP-IP-One-6th\/dp\/013608530X\/ref=sr_1_1?ie=UTF8&amp;qid=1467239147&amp;sr=8-1&amp;keywords=Internetworking+with+TCP%2FIP\">sixth edition<\/a>.<\/p>\n<p>It does lack significant IPv6 information (and I&#8217;ve got less knowledge at the moment on that front than I&#8217;d prefer&#8230;something that needs looking into soon). I tend to fall back to the RFCs (as they are the source documents for all of this) when I need the real details. Trying to come up to speed on something as complex as IPv6 through the standards documents would be challenging though&#8230;got to go and find a book soon.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0005.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"441\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0005\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0005.jpg?fit=1128%2C1427&amp;ssl=1\" data-orig-size=\"1128,1427\" 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=\"Design Patterns\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0005.jpg?fit=237%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0005.jpg?fit=474%2C600&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-441\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0005.jpg?resize=150%2C150\" alt=\"Design Patterns\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0005.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0005.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0005.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Design-Patterns-Elements-Reusable-Object-Oriented\/dp\/0201633612\/ref=sr_1_1?ie=UTF8&amp;qid=1467239544&amp;sr=8-1&amp;keywords=design+patterns\">Design Patterns<\/a><\/h2>\n<p>The original &#8216;patterns&#8217; book. I have used the patterns described here on a regular basis without really thinking about it. The real benefit of this volume (from my perspective) is to provide a shared vocabulary that allows engineers to talk about these patterns of activity in a concise and consistent manner. It has been quite some time since\u00a0I last read through this one and I should probably revisit it soon.<\/p>\n<p><em>Moving to a new job and a new development team is going to move communications back to front and center. The last few years I&#8217;ve been working with a team that I&#8217;ve known for quite a while and we haven&#8217;t been replacing attrition. Getting back to a more expansive environment will be good, but I&#8217;m looking at the things I need to knock some rust off of before I get there. Shouldn&#8217;t be a big issue, but I can&#8217;t ignore it.<\/em><\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0209.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"503\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0209\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0209.jpg?fit=1031%2C1358&amp;ssl=1\" data-orig-size=\"1031,1358\" 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=\"Developing Professional Applications for Windows 95 and NT Using MFC\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0209.jpg?fit=228%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0209.jpg?fit=474%2C625&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-503\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0209.jpg?resize=150%2C150\" alt=\"Developing Professional Applications for Windows 95 and NT Using MFC\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0209.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0209.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0209.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Developing-Professional-Applications-Windows-Using\/dp\/0136163432\/ref=sr_1_2?ie=UTF8&amp;qid=1467239559&amp;sr=8-2&amp;keywords=Developing+Professional+Applications+for+Windows+95+and+NT+Using+MFC\">Developing Professional Applications for Windows 95 and NT Using MFC<\/a><\/h2>\n<p>One of the better early references on MFC that I bought. Clear and easy to work through.<\/p>\n<h2><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0255.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"709\" data-permalink=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/book0255\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0255.jpg?fit=1233%2C1684&amp;ssl=1\" data-orig-size=\"1233,1684\" 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=\"Book0255\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0255.jpg?fit=220%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0255.jpg?fit=474%2C647&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-709\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0255.jpg?resize=150%2C150\" alt=\"Book0255\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0255.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0255.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2014\/05\/Book0255.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a><a href=\"https:\/\/www.amazon.com\/Effective-XML-Specific-Ways-Improve\/dp\/0321150406\/ref=sr_1_1?ie=UTF8&amp;qid=1467239581&amp;sr=8-1&amp;keywords=Effective+XML\">Effective XML, 50 Specific Ways to Improve your XML<\/a><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>C++ Object Oriented Data Structures Compilers &#8211; Principles, Techniques and Tools The &#8216;dragon&#8217; book. This is the first book on compiler design and parser generation that I read (though that was a borrowed copy of the previous edition). It provides a great introduction and got me interested in lex (and flex) and yacc (bison). There &hellip; <a href=\"https:\/\/ninecrows.com\/career\/bookshelf\/bookshelf-2\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Bookshelf 2<\/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-62","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P7F2Qc-10","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/62"}],"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=62"}],"version-history":[{"count":25,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/62\/revisions"}],"predecessor-version":[{"id":813,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/62\/revisions\/813"}],"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=62"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}