Chris Donnan : Programming - Brooklyn Style
software, trading, family, fun
Charles Petzold’s 3D Programming for Windows Book
Posted .net, books, c#, wpf on Wednesday, July 16th, 2008.
I am not sure if I have posted on this yet - but just in case I have not…
Charles Petzold’s 3D Programming for Windows Book
is excellent. When Charles was kind enough to send me a copy of his book, I was not ready to dig deep into 3d WPF. I have been reading more and more of this book - and I have really been enjoying it.
Charles also posted recently how important bloggers can be in the world of book sales. Now - I am no Jeff Atwood in the blogosphere, but I wanted to at least do my part to give some credit where due to Charles.
There you have it - go get the 3d WPF book. Not only is there ‘wpf’ stuff in there - but there is ‘how to really do 3d programming’ in there. If you have ever needed to sort out how to scale, bend, morph and manipulate 3d objects - WPF will help - but technique will help just as much.
-Chris

Refactoring in Large Software Projects: Performing Complex Restructurings Successfully
Posted books, programming on Sunday, June 3rd, 2007.
I have been reading: Refactoring in Large Software Projects: Performing Complex Restructurings Successfully. Along with the WELC book, an excellent book for the REALITY of day to day programming. How do we continue to write testable code, have emergent architecture, manage complex software day to day…
The RLSP:PCRS book (fun with/ death by acronym) book has a GREAT listing. The original list for me was the “robert martin list”, then - core developer values, I needed to add TDA and a few others. I never put as nice and complete actual list as the book contains … the list is:
DRY - Don’t Repeat Yourself
SCP - Speaking Code Principle
OCP - Open Closed Principle
LSP - Liskov Substitution Principle
DIP -Dependency Inversion Principle
ISP - Interface Segregation Principle
REP -Reuse/ Release Equivalency Principle
CRP - Common Reuse Principle
CCP -Common Closure Principle
ADP -Acyclic Dependencies Principle
SDP - Stable Dependencies Principle
SAP - Stable Abstractions Principle
TDA - Tell Don’t Ask (LOD mentioned as well)
SOC - Separation of Concerns
Maybe I will embellish, but you can certainly google ALL of these - THESE are the code developer principles of of good OO software development IMHO.
Go - read - enjoy
-Chris
Â
More reading - via Safari
Posted C++, books, programming on Tuesday, July 18th, 2006.
Well - I am doing the Safari Subscription thing….. I am an info addict. Audible subscription, Safari subscription, magazines, more books …. AAAHHH. Love it. Safari is pretty cool so far. Since I tend to read so much - this should make the bill a bit lower in general. I usually get my books from the Amazon.com marketplace for used books. This is a great cheaper mechanism than buying the books ‘brand new’. I still DO buy them brand new if the price is close etc, but - this on line bit with Safari works well for me.
Parallel and Distributed Programming Using C++

Great - unix-centric book on multi-threading, interprocess communication/ synchronization, etc. Also good coverage of MPI and distributed computing stuff. Like it lots - good book.
Prefactoring

I am not sold on this book yet. I will let you know when I have been through it. It is not that it is ‘wrong’ or ‘bad’ but I do not see anything novel yet.
Windows System Programming Third Edition

I just want to dig deeper and deeper into my (what I would humbly consider to be vast) knowledge of windows internals. So far so good.
Mastering Algorithms with C

I have done my best to advise MANY of my friends, collegues, peers etc in the programming world about ‘how to get a better job’. Inevitably - knowing about datastructures, Big-O style notation, algorithms, etc comes up. I have given weaker references to ‘a good book on those topics’ in the past. Now - I will refer people to this book
This is really a great book with pretty pics to help understand those topics. Even if you already understand those topics - it is still a well written book that talks about issues with different implementations of things like hashtables, trees, etc. Highly recommended!
db4o book … and a few others
Posted books, programming on Thursday, July 6th, 2006.
Books books books books….
The folks @ db4o were kind enough to send me a copy of the new book “The Definitive Guide to db4o” today. A few months back I filled out some survey for them - lo and behold - free book
Since i am a book junkie - this is of course pleasing. I have been talking about db4o for some time now - cool technology! My 1st quick flip was good - we’ll see how insightful the books is. 1 thing I can say so far is that I love that the software is for java and .net - so is the book.

I have also been trying to get around to reading “My Life as a Quant : Reflections on Physics and Finance”. After chatting with a collegue today about it - he was kind enough to lend it to me… Since I am on Wall St these days - and I know lots o quant folks, seems right up my alley. I am sort of a wanna-be-quant myself - just under-qualified 

Since I am mentioning books - I also have this one on the way - C++ GUI Programming with Qt 4 I love linux, I love desktop apps (been doing desktop app frameworks for some time now). Need to get up to speed on KDE/ QT development. I am particularly interested in perusing alternative event routing/ event bus techniques and the slots/ signals is a different paradigm then how you skink the events cat in .net.
… and this one
(I am a fan of Robert Martin - Author 1, and I have a son named Micah, Author 2 - had to get it). From the description:
Readers will come away from this book understanding:
- Agile principles, and the fourteen practices of Extreme Programming
- Spiking, splitting, velocity, and planning iterations and releases
- Test driven development, test first design, and acceptance testing
- Refactoring with unit testing
- Pair programming
- Agile design and design smells
- The Single Responsibility Principle and the Open Closed Principle
- The Liskov Substitution Principle and the Dependency Inversion Principle
- The Interface Segregation Principle, and Separation through Delegation and Multiple Inheritance
- The five types of UML diagrams and how to use them effectively
- Object-oriented package design and design patterns
- How to put all of this together for a real-world project
The emphasis is mine - the things that I talk about all the time - really - and the things that stood out to me. While I have been doing ALL this stuff for some time now - introducing it to new people/ places is still hard sometimes. This all sounds like potential angles and ways to explain wins of these techniques 
Agile Principles, Patterns, and Practices in C#

… the last one I have on the way is - Interface Oriented Design : With Patterns A portion of the description interested me … “You’ll learn by pragmatic example how to create effective designs composed of interfaces to objects, components and services.” I think I have read ALL the patterns/ practices books out there. There is not too much new under the sun in this space. That said - the fine points of composing a nice object model is still key and warrants discussion. People under and over use interfaces all too often. People also suffer from the pitfals of “infrastructure driven packaging” - and other poor componentization problems. Who knows - maybe this will be as good a read as the 1st prag prog book.

In case you cant tell - I REALLY value books, education … information. Believe it or not - I love all this stuff!
-Chris
New Reading
Posted books, programming on Tuesday, June 6th, 2006.
Here is my latest reading….
Since I do so much of this - framework design - I figured I would see what they have to say
Framework Design Guidelines : Conventions, Idioms, and Patterns for Reusable .NET Libraries
 
The author’s blog - Brad Abrams - he is on my current blog reading list.
Eric Evans Domain Driven Design is one of my all time favorite software books. I quote it to other developers and push the concepts in my day to day since my 1st read of it. I was excited to see this today - emailed to me - as a recommendation by Amazon (good job folks).
Applying Domain-Driven Design and Patterns : With Examples in C# and .NET

the author’s Blog
Also - I finished these recently - both are good in the interaction/ UI design space :
The Inmates Are Running the Asylum : Why High Tech Products Drive Us Crazy and How To Restore The SanityÂ
Â
This is a WONDERFUL book that lays clear the thinks you should be thinking about when doing interaction/ UI design.
The Design of Everyday Things

Go - get readin’!
-Chris
Pragmatic Programmers 10 Part interview
Posted Agile Development, books, programming, ruby on Monday, April 17th, 2006.
Here is a link that has all 10 parts of an interview with the Pragmatic Programmer guys. I refer to lots of these ideas all the time. So - go read this stuff - better - get and read the 1st book The Pragmatic Programmer: From Journeyman to Master
Then get this one and read it: Ship it!: A Practical Guide to Successful Software Projects
Then if you like Ruby - get these - Programming Ruby (2nd Edition) and Agile Web Development with Rails: A Pragmatic Guide …
I guess I am a fan of thier work - lol.
Chris
Books I have been reading
Posted C++, Software Project Management, books, coding on Wednesday, April 12th, 2006.
Beyond the C++ Standard Library : An Introduction to Boost
 |
CLR via C#
 |
Behind Closed Doors : Secrets of Great Management
 |
Pragmatic Version Control Using Subversion
 |
Java Threads (3rd edition includes the latest JDK’s stuff)
 |
Ajax Patterns and Best Practices
 |
ObjectView Magazine
Posted Magazines, books, programming on Tuesday, March 14th, 2006.
Via : Obie Fernandez (a thoughtworks-er). This magazine ObjectView - looks pretty darn cool.
-Chris
Sci Fi Series ..
Posted books, non-techinical on Wednesday, March 8th, 2006.
Well - Since I am an Audible addict… I figured I would post some of my listens…
Robert Jordan - Wheel of time series - (12 books so far - 1 left to come)
Kevin J. Anderson - Saga of Seven Suns (4 books so far - 1 soon, who knows how many more after)
Orson Scott Card - Ender Wiggin Saga, Enders Shadow Stuff (8 books)
Richard K Morgan - Takeshi Kovacs Novels - (3 books so far - who knows how many more)
There are plenty more - but these ~30 books could tie anyone up for a bit.
-Chris
PS - I am aware that sci-fi books are for geeks 
More reads….
Posted Grid/ Clustering, books on Friday, February 10th, 2006.
Here is the latest reading list. I have had an interest in non- .net based clustering solutions. I have implemented some Grid stuff using Alchemi http://www.alchemi.net/ - but I want to extend into the linux HPC space now. The optimization work I have done in the past - as well as the machine learning would all benefit HUGE from cluster-ability.
As to Ruby on Rails. I just want to get the buz on Rails. I do not plan on doing any web work - esp with Rails - but I do like and use Ruby - so understanding the framework that is bringing Ruby to fame seems worthy.
Strong willed kids…. My 3.5 year old is awesome - really - brilliant, sweet, everything good. That being said - he pushes bounds to no end - so I got this book recommend to help my wife and I bear up and help him to have less conflict with us as I am sure he does not love that….
PS - I also ALWAYS am listening to something from http://www.audible.com and reading a few mags on the train - I will post audio books and mags soon.
I am an information input JUNKIE!!!
-Chris
Building Clustered Linux Systems

Agile Web Development with Rails : A Pragmatic Guide

Setting Limits with Your Strong-Willed Child


That Damned Construction Analogy
Posted Agile Development, books on Sunday, December 18th, 2005.
I was having a chat on Friday at lunch - with a friend from Finetix, and another associate from Risk Focus. We were chatting about the common analogy painting software development as construction. I happened to believe that the analogy only went so far…
As it goes - I was reading over my normal blogger list this weekend and saw a post by James Shore.
That Damned Construction Analogy
Anyhow, I also think that the folks that wrote Lean Software Development

would say that software development is a lot more like the manufacturing industry. I LOVE the LSD book and I cannot recommend it enough. Read it.
-Chris