Monday, 14 March 2011

Writing Solid Code (Microsoft Programming Series)



Writing Solid Code (Microsoft Programming Series)
Steve Maguire | 1993-01-01 00:00:00 | Microsoft Press | 256 | Microsoft
"This book has useful things to say and an engaging way of saying them...a worthwhile addition to the shelves of any full-time programmer." - PC Week. Here, from a former Microsoft developer, are super secrets for developing bug-free C programs. Maguire provides examples of how bugs are caught at Microsoft (using actual case histories) and shows how readers can use these proven programming techniques to get products to market faster.
Any programmer worth their silicon knows that it is wiser to invest time preventing bugs from hatching than to try to exterminate them afterwards. And this is one of the best books for developing a proactive attitude towards electronic entomology. Follow Maguire's advice, and your testers, supervisors and customers will love you. Recommended.
Reviews
A classic that is dated in some respects (C language?) but still has much to offer. Should have a spot on every developer's and project manager's book shelf.

Deserves an update.
Reviews
"Writing Solid Code" contains a creative list of excellent ways to improve your software coding ability, with an emphasis on techniques that simplify and speed up the debugging process. The book is written toward the C language, but most of the advice can be generally applied to any language. I have both a Bachleors and a Masters Degree in Computer Science, and very few of these valuable techniques were mentioned anywhere in my undergraduate or graduate degree courses.



I strongly disagree with boastful reviewers who poo-poo the advice as "obvious." Most good advice is obvious once you have heard it. I highly doubt that these reviewers knew all or even most of these tricks before reading, or could enunciate supporting reasons for doing each. Likewise, sure, a rare few pieces of advice are outdated, and you probably hate Microsoft. So what? Avoiding this book for those reasons is like throwing the baby out with the bathwater -- short sighted.



This is an excellent book. I highly recommend it.
Reviews
Certainly no book can cover all the best practices to write best code but this book has done good attempt. Must read for all the fresh grads and developers before they start writing production code!
Reviews
This book quickly reminded me that the "old school" rules to software development will always apply, no matter how many new labels you put on it (e.g. Agile). It was recommended to me by a college professor aside from the regular classroom reading we had to complete. And I was more than happy I purchased it and added it to my bookshelf.
Reviews
This book has been recently recommended to me by Amazon based on my previous purchase habits and I decided to go take a look at its description. At first, I was little bit skeptic about the value of a book published in 1993 and prepared with Word for Windows 2.0 because software programming has changed a lot since then! However, it was a very low risk purchase because of its very low price tag so I decided to give it a try and I have been pleasantly surprised!



This book is the proof that that there are few things in programming that are timeless. Errors of the past still occur today. The programming language used for the examples is C but what is taught is also applicable to C++ programming as well. Topics discussed in the book are: assertions, integrity checks, stepping through code with a debugger, how to not design interfaces that are error prone, avoid language features that are error prone and finally the author conclude his book by describing the attitude that a programmer should have. Among other things, a programmer should prioritize safe code before micro-optimizations. All these concepts are written in a style easy to understand filled with anecdotes that make this book a pleasant read.



To conclude, I have not been blown away by the content of this book but I have learn one thing or two and I am glad that I have read it especially with its very low price tag.



Download this book!

Free Ebooks Download

Armed Servants: Agency, Oversight, and Civil-Military Relations



Armed Servants: Agency, Oversight, and Civil-Military Relations
Peter D. Feaver | 2005-03-15 00:00:00 | Harvard University Press | 400 | Arms Control

How do civilians control the military? In the wake of September 11, the renewed presence of national security in everyday life has made this question all the more pressing. In this book, Peter Feaver proposes an ambitious new theory that treats civil-military relations as a principal-agent relationship, with the civilian executive monitoring the actions of military agents, the "armed servants" of the nation-state. Military obedience is not automatic but depends on strategic calculations of whether civilians will catch and punish misbehavior.

This model challenges Samuel Huntington's professionalism-based model of civil-military relations, and provides an innovative way of making sense of the U.S. Cold War and post-Cold War experience--especially the distinctively stormy civil-military relations of the Clinton era. In the decade after the Cold War ended, civilians and the military had a variety of run-ins over whether and how to use military force. These episodes, as interpreted by agency theory, contradict the conventional wisdom that civil-military relations matter only if there is risk of a coup. On the contrary, military professionalism does not by itself ensure unchallenged civilian authority. As Feaver argues, agency theory offers the best foundation for thinking about relations between military and civilian leaders, now and in the future.



Download this book!

Free Ebooks Download

Stopping Power: Why 70 Million Americans Own Guns



Stopping Power: Why 70 Million Americans Own Guns
J. Neil Schulman,Gary Kleck | 1900-01-01 00:00:00 | Pulpless.com | 324 | Social Policy
Did you know that every 13 seconds one of America's 70 million gun owners uses a firearm in defense against a criminal? That American women use handguns 416 times a day in defense against rapists, which is a dozen times more often than rapists use a gun? That a gun kept in the home for protection is 216 times as likely to be used in defense against a criminal than it is to cause the death of an innocent victim in that household?

These are just a few of the surprises this book has in store for anyone whose belief in gun control is based on TV news or popular magazines.

Award-winning novelist, screenwriter, and journalist, J. Neil Schulman, challenges the misinformation that pundits ranging from network anchors to ill-informed doctors are promoting about guns.

Especially for the reader who doesn't own a gun and has never even considered buying one, Stopping Power should be an eye-opener.
Reviews
This book has been quoted in many places including Congressional hearings, federal appellate-court briefs, the Internet, and other publications including national magazines and Washington think-tank white-papers. It's wonderful to have at your fingertips so much information covering so many aspects of firearms ownership, self defense, and gun-control laws.

You get a real insight into the prejudiced and corrupt workings of the media and government in their unceasing attempt to diminish your natural right of self-defense. Very few books have provided a step-by-step analysis of the manipulation necessary to convince the public to support the proven counterproductive gun-restriction agenda.

Unlike many academic treatises on this subject, Stopping Power has many original insights, frequent moments of real humor, and avoids focusing on some narrow aspect of the topic, such as merely the crime statistics or legal arguments. One of the best things about the book is that the author doesn't rely on debating straw men but instead goes into the real world--ACLU pamphlets, TV Public Service Announcements, and even on-line chat rooms--to bring out the actual concerns and thought processes of those who are afraid to allow gun ownership. Then the author uses the best available technical expertise, criminology, and legal scholarship to answer these concerns--concisely, wittily, and decisively.

The Center for the Study of Crime recommends this as one of the best books in the field and it is without doubt the most entertaining.
Reviews
It's difficult to understand the enthusiasm other reviewers feel for this book. While I am a staunch advocate of Second Amendment rights, "Stopping Power" adds little to the debate. The book contains very little material written orginally for this edition; rather, it's a compilation of various unpleasant e-mail threads and letters to the editor. It seriously aggravated me to have paid for a book containing verbatim transcripts of junk I could have read for free on the Internet. Mr. Schulman is bright and makes some strong arguments, but overall the work is shoddy -- petulant, unscholarly, and devoid of editing.

Pass on this one.
Reviews
I have studied writings and listened to many arguments on the Second Amendment, its true meaning and intent by our constitutional framers. This book is the best collection of "fact-based" pro-gun arguements that will convince the most staunch gun-control advocate of the dangers in that folly. It is a must read for those seeking the truth about our Second Amendment and the true reason thereof. Mr. Schulman's style of writing, his sincerity and belief in freedom lends itself to a truly great read. If you want to inform your anti-gun friends of the true dangers of "gun control", THIS BOOK IS A MUST!
Reviews
An award-winning science fiction writer, Schulman has penned a well-written, forcefully argued explanation of why gun ownership by good people enhances public safety. The book is a collection of essays that Schulman has written over the last several years. Some of the essays were first printed in the Los Angeles Times, while others have shown up on computer bulletin boards and similar places. Many of the essays deal with the meaning of the Second Amendment, and with why ordinary folks should be allowed to carry a gun for protection. Schulman persuasively shows that such laws--rather than turning a state into "the wild west"--actually enhance the safety of everyone--including people who don't choose to carry a gun. Schulman's writing style is clear, and fun to read. The straight-forward writing and the short chapters make Stopping Power is a good first book for people who want to learn more about the gun issue. Stopping Power is also an excellent choice for your friends who are anti-gun, but who have enough intellectual curiousity to want to check out the argument in favor of gun ownership. By the time they're finished with Stopping Power, they may well have decided to switch sides in the gun control struggle. Review by Dave Kopel, Independence Institute, http://i2i.org.

Download this book!

Free Ebooks Download


Introduction to Electromagnetics with Matlab, Prelimenary Edition



Introduction to Electromagnetics with Matlab, Prelimenary Edition
Karl E. Lonngren, Sava V. Savov | 2005-01-01 00:00:00 | 1891121308 | 689 | Electrical Engineering
Building upon the reader's basic understanding of electromagnetics obtained in an introductory course in physics, this book stresses its importance in a modern electrical and computer engineering curriculum. The concepts of static fields, time varying fields, wave propagation, transmission lines, and radiation are described. Most importantly, the text emphasizes the use of MATLAB, which is now widely available and has frequently been used by most students in previous courses, for the calculation and visualization of the electromagnetic field characteristics in these areas.
Download this book!

Free Ebooks Download

Isochronous Systems



Isochronous Systems
Francesco Calogero | 2008-04-15 00:00:00 | Oxford University Press, USA | 256 | Astronomy
A dynamical system is called isochronous if it features in its phase space an open, fully-dimensional region where all its solutions are periodic in all its degrees of freedom with the same, fixed period. Recently a simple transformation has been introduced, applicable to quite a large class of dynamical systems, that yields autonomous systems which are isochronous. This justifies the notion that isochronous systems are not rare.

In this book the procedure to manufacture isochronous systems is reviewed, and many examples of such systems are provided. Examples include many-body problems characterized by Newtonian equations of motion in spaces of one or more dimensions, Hamiltonian systems, and also nonlinear evolution equations (PDEs).

The book shall be of interest to students and researchers working on dynamical systems, including integrable and nonintegrable models, with a finite or infinite number of degrees of freedom. It might be used as a basic textbook, or as backup material for an undergraduate or graduate course.

Download this book!

Free Ebooks Download

Programming the Cell Processor: For Games, Graphics, and Computation



Programming the Cell Processor: For Games, Graphics, and Computation
| 2008-10-24 00:00:00 | | 0 | Programming


Make the Most of IBM?s Breakthrough Cell Processor in Any Gaming, Graphics, or Scientific Application

 

IBM?s Cell processor delivers truly stunning computational power: enough to satisfy even the most demanding gamers and graphics developers. That?s why Sony chose the Cell to drive its breakthrough PlayStation 3 and why Cell processors are at the heart of today?s most powerful supercomputers. But many developers have struggled to create high-performance Cell applications: the practical, coherent information they need simply hasn?t existed.

 

Programming the Cell Processor solves that problem once and for all. Whether you?re a game developer, graphics programmer, or engineer, Matthew Scarpino shows you how to create applications that leverage all the Cell?s extraordinary power. Scarpino covers everything from the Cell?s advanced architecture to its powerful tools and libraries, presenting realistic code examples that help you gain an increasingly deep and intuitive understanding of Cell development.

 

Scarpino illuminates each of the Cell?s most important technical innovations, introduces the commands needed to access its power, and walks you through the entire development process, including compiling, linking, debugging, and simulating code. He also offers start-to-finish case studies for three especially important Cell applications: games, graphics, and scientific computing. The Cell platform offers unprecedented potential, and this book will help you make the most of it.

 

Mastering the Cell SDK, including the GCC-based buildchain, ppu-gdb/spu-gdb debuggers, IBM Full System Simulator, and Cell IDE Understanding the Cell?s central processing core, the PowerPC Processor Unit (PPU): structure, programming libraries, and AltiVec instructions Programming the Synergistic Processor Unit (SPU): vector processing, communication, caching, assembler coding, and more Leveraging SDK vector and matrix libraries, including the Large Matrix Library, BLAS Library, FFT libraries, Multiprecision Library, and Monte Carlo API Coding basic 2D graphics using the Linux frame buffer Building 3D graphics with the new Gallium OpenGL library  Constructing 3D games with Ogre3D and packaging them using Collada digital content interchange Optimizing the performance of your Cell applications Developing on standard PCs and transferring code to Cell systems such as the PlayStation 3

 

Foreword xv

Preface xvii

Chapter 1: Introducing the Cell Processor 1

Part I: The Software Development Tools 13

Chapter 2: The Cell Software Development Kit (SDK) 15

Chapter 3: Building Applications for the Cell Processor 35

Chapter 4: Debugging and Simulating Applications 53

Chapter 5: The Cell SDK Integrated Development Environment 83

Part II: The PowerPC Processor Element (PPE) 97

Chapter 6: Introducing the PowerPC Processor Unit (PPU) 99

Chapter 7: The SPE Runtime Management Library (libspe) 125

Chapter 8: SIMD Programming on the PPU, Part 1: Vector Libraries and Functions 153

Chapter 9: SIMD Programming on the PPU, Part 2: Methods and Algorithms 195

Part III: The Synergistic Processor Element (SPE) 217

Chapter 10: Introducing the Synergistic Processor Unit (SPU) 219

Chapter 11: SIMD Programming on the SPU 239

Chapter 12: SPU Communication, Part 1: Direct Memory Access (DMA) 285

Chapter 13: SPU Communication, Part 2: Events, Signals, and Mailboxes 317

Chapter 14: Advanced SPU Topics: Overlays, Software Caching, and SPU Isolation 345

Chapter 15: SPU Assembly Language 367

Part IV: Mathematics and Computation 409

Chapter 16: Vectors and Matrices 411

Chapter 17: The Fast Fourier Transform (FFT) 439

Chapter 18: Multiprecision Processing and Monte Carlo Methods 463

Part V: Graphics and Games 489

Chapter 19: Programming the Frame Buffer: Linux and the PlayStation 3 491

Chapter 20: OpenGL on the Cell: Gallium and Mesa 503

Chapter 21: Building Games with Ogre3D 529

Chapter 22: Packaging Graphics with COLLADA 559

Epilogue 581

Part VI: Appendices 583

Appendix A: Understanding ELF Files 585

Appendix B: Updating the PS3 Add-On Packages and Installing a New Linux Kernel 609

Appendix C: The Accelerated Library Framework (ALF) 617

Appendix D: SPU Instruction Set Reference 649

Appendix E: A Brief Introduction to Tcl 661

Index 669

 



Download this book!

Free Ebooks Download

Good Americans: Italian and Jewish Immigrants During the First World War



Good Americans: Italian and Jewish Immigrants During the First World War
Christopher M. Sterba | 2003-03-27 00:00:00 | Oxford University Press, USA | 288 | 20th Century
Among the Americans who joined the ranks of the Doughboys fighting World War I were thousands of America's newest residents. Good Americans examines the contributions of Italian and Jewish immigrants, both on the homefront and overseas, in the Great War. While residing in strong, insular communities, both groups faced a barrage of demands to participate in a conflict that had been raging in their home countries for nearly three years. Italians and Jews ""did their bit"" in relief, recruitment, conservation, and war bond campaigns, while immigrants and second-generation ethnic soldiers fought on the Western front. Within a year of the Armistice, they found themselves redefined as foreigners and perceived as a major threat to American life, rather than remembered as participants in its defense. Wartime experiences, Christopher Sterba argues, served to deeply politicize first and second generation immigrants, greatly accelerating their transformation from relatively powerless newcomers to a major political force in the United States during the New Deal and beyond.

Download this book!

Free Ebooks Download