About Gallery Software Books Links Ideas and Theories Crumbs Philipsophy Sponsors Personal

Technical Books


This page was updated on Fri Nov 12 21:02:40 IST 2004

  1. Programming Pearls - fine book, light language and with sense of humor, but still makes you think. As i dig into it , its a bit outdated , at least few parts of it. I mean , everyone used to use arrays now , you don't have to tell people this.Anyway this book reminds you about some very useful concepts which you should keep in mind while programming.Few examples , they are obvious but frequently forgotten:
    I'll divide the advises into groups :
    • Data structures - don't forget about bit-vectors they are small and fast;
      Let data structures be the significant part of your program and not a code.
      Be familiar with advanced data structures - it will give you the ideas and if you use them - you're a king.
    • Algorithms - multipass algorithm , don't try to do everything at once.;
      Quick sort is quick , but looses time when dealing with small arrays at the end of recursion, so stop at the chosen size and sort them using some other sort ( insertion for example)
    • General - the problem well and be sure what you wanna do;
      be lazy, don't write right away but wait till you could think about better algorithm and write less.
      Everything should be made as simple as possible , but no simpler. Einstein.
      Estimate the run-time and space complexity of your program ahead.
      Take a over insurance , it wont hurt it , but it will save you.

      Worth reading.
  2. Chaos theory tamed by G.P.Williams - not mathematical enough, but good intro. Covers a lot of issues for non-math book.
  3. Genetic programming by Koza - it's heavy , about 4 kg.:-). Good, very good, a lot of examples and results to think and to be impressed by.
    Very worth reading.
  4. Patterns of Software by Peter Gabriel This is probably the best book on software design that I've read up to day.
    To summarize the books concepts: make your programs habitable, make the people who will come after you feel at home; OOP doesn't make it easier to write/read programs, even thought, the class functions are smaller the logic is in inheritance structure; reuse doesn't work even with classes, you should work hard to make it work. Very very very advised.
  5. An introduction to catastrophe theory by P.T.Saunders - it looks interesting, though i didn't see much use out of this thing.
    To summarize it : nice to read but can live without it.
  6. An Introduction to Chaotic and Dynamical Systems by Robert L. Devaney - this one is easy to read since author tried to make this book readable by everyone and not only by masters and up in math. Anyway i like it till now.
  7. The Fuzzy Systems Handbook by Earl Cox July 2000- This is a practical guide how to build and maintain fuzzy system, but its understandable and easy to read. A bit lengthy, but bearable.
  8. Neural Network Learning and expert systems by Stephen I. Gallant December 2000 - This is a nice overview of the Neural Nets. Good for novices, might be used as a very first book to read or an introduction to the field.
  9. Digital Neural Networks by S.Y.King - January 2001
    I don't know. This is not an outstanding book in any way, not for good and not for bad. It has a nice (in my opinion) chapter about Markov and hidden Markov chains. This book also gives you a quite a wide review of the field.
  10. Introduction to Artificial Neural Systems by Jacek M. Zurada - January 2001
    This is the best introduction book on Neural Networks that I've read.
    I don't really think that i should add more blah-blah.
  11. Mathematical Methods for Neural Network Analysis and Design by Golden - February 2001
    Math review of neural nets. Read it as a second book after the previous one. From this book you can get a mathematical ground to dive into the depth of the neural networks. If you know what you're doing then take a look at this one.
  12. Portfolio Selection: efficient diversification of investments by Harry Markowitz - May 2001
    This book describes an mean variance optimization (MVO) system for portfolio selection. This is a leading analysis tool today. This is also called the modern portfolio selection theory. Although, the foundation of the analysis is mathematical, the book written for unprepared user too. Read it if you want to understand how to invest "correctly".
  13. Random Walk down Wall street by Malkiel - February 2002
    Explains what is the investment all about and how you could make money in a long-run. The target audience of this book is a normal people and its fun to read. If i had money i would invest using his advices. Interesting.
  14. Advanced C++ programming styles and idioms by James O. Coplien - April 2002
    This books talks about style, design and idioms, as you've might have guessed from the title. :). The author is a world known expert in OOD/OOP. This is definitely a book to read and learn from. He writes on some interesting issues and discusses a few philosophical aspects of software development. Worth buying.
  15. C4.5 : programs for Machine Learning by R. Quinlan - March 2002
    This books explains the C4.5 decision trees algorithm together with the complete code listing of the implementation. The implementation can be found on Quinlan home page.
  16. Extreme Programming explained: embrace change by Kent Beck - March 2002
    This books speaks about Extreme Programming (XP) techniques and XP way of software development. This sounds like a cool practice, however, i'm not sure that i agree with all of the preached techniques. Its worth a read anyway, some of the advices are really cool: plan for today, write a test first and etc.
  17. IP SANs by Tom Clark - April 2002
    The book talks about SAN over IP. Protocols, design issues, problems and advantages. The book tries to overview a lot of issues and discuss all of the IP SAN, which of course, includes IP networking, Fibre Channel, SCSI and etc. This makes the book wide but shallow. This is a good overview.
  18. Code Complete by Steve McConnell - August 2002
    If i were to give a course on a software construction (programming) this is the course book. This is the best book on how to write a comprehensible clear programs i've read so far. The book is full with examples and different approaches. What I've particularly liked about the book, is that author is not obsessive with one technique, but suggests you to use a number of them and to decide by yourself which one is better. If you want to be better programmer make your employer to buy this book and use it.
  19. How to Lie with Statistics by Darrell Huff illustrated by Irving Geis - April 2003
    Fun book. Fun not as in funny, but fun to read. Funny too, though. Little tricks with statistics which make your data look better. The bottom line advice: whenever you see the statistical data (i) check the source for bias; (ii) how is the data collected; (iii) is there anything missing from the data; (iv) is it relevant for the point to be made? (v) is it logical ? especially in extrapolations. Read it if you can get hold of it. too pity there is no more modern edition.
  20. Unix Haters Handbook - June 2003
    The title says it all. This book is why UNIX is no good and full with the UNIX criticism, both the justified and not. To make it clear, I'm a UNIX fan, i use it and i think its a fine OS. of course, it has it's problems and issues, like everybody else. Well, i did liked the book. Although, they've talked about the old versions of the U*nix, it is still relevant in many cases. I think that this book might be like a "TODO" list for UNIX programmers. Anyway, there is a free online copy now (ironically, its placed at Microsoft site) so download it and read it.
  21. The Craft of Text Editing by Craig Finseth - April 2004
    The book describes the task of writing a text editor. While the book provided me with a number of insights into a problems of writing an editor it was a little bit shorter than i have expected. On one hand some problems were not covered and on the other hand some of the covered problems were outdated (at least in my opinion). However, it is a nice book to read. Beware though, it is a bit technical.
  22. Software Project Survival Guide by Steve McConnell - July 2004
    "How to be sure your first important project isn't your last". I was a little disappointed by this book. I guess that after "Code Complete" my expectations were soaring. This book is a fine example of a recent problem with computer related literature: the books are huge not because they have a lot of content, but rather because they are written in large fonts, with many screen captures and graphs, with large margins and big spacing between the lines. Don't get me wrong, this book presents a nice method of staged delivery, which is somewhere in the middle of a classic development model and incremental development. The author does a good job describing the method and highlighting the pitfalls and problems. The method is not a panacea, but it is nice and should do a nice job reducing the risks of software development. At the end of the book i had only a single question left, which is definitely a sign of a good book. Why the hell it took 260 pages??? This book should be written as a booklet, not a book, with 50 pages top. A lists of points. Pocket format, so the project manager can carry it with her. Concise and to the point. After all, if you are a new project manager the last thing you want your programmers to see is a "project management for dummies" book.

Main page