| Small Memory Software: Patterns for systems with limited memory | |
| Free online book "Small Memory Software: Patterns for systems with limited memory" by James Noble. Once upon a time computer memory was one of the most expensive commodities on earth, and large amounts of human ingenuity were spent trying to simulate supernova explosions with nothing more than a future Nobel prize winner and a vast array of vacuum tubes. Nowadays many people have enough computer memory to simulate the destruction of most of the galaxy in any one of their hand-held phones, digital diaries, or microwave ovens. But at least two things have remained constant throughout the history of computing. Software design remains hard (Gamma et al. 1995), and its functionality still expands to fill the memory available (Potter 1948). This book addresses both these issues. Patterns have proved a successful format to capture knowledge about software design; these patterns in particular tackle memory requirements. | |
| 31 Days of Refactoring | |
| You can download this free eBook, "31 Days of Refactoring: Useful refactoring techniques you have to know" written by Sean Chambers and Simone Chiaretta. Refactoring is an integral part of continually improving your code while it moves forward through time. Without refactoring you accrue technical debt, forget what portions of code do and create code that is resistant to any form of testing. It is an easy concept to get started with and opens the door to much better practices such as unit testing, shared code ownership and more reliable, bug-free code in general. | |
| The Practice of Parallel Programming | |
| Get "The Practice of Parallel Programming", written by Sergey Babkin in plain text format for free. This book provides an advanced guide to the issues of the parallel and multithreaded programming. It goes beyond the high-level design of the applications, into the details that are often overlooked but vital to make the programs work. The content is oriented towards the programming of the operating systems, servers and business applications. | |
| Introduction to Software development | |
| Free eBook "Introduction to Software development" from Free Technology Academy. This ebook is designed for IT specialists and developers that are starting their way in the free software development universe. Free Software is developed with specific collaboration technics and tools that engage and enable world-wide communities. Professionals need to handle different programming technics, languages and develop specific workgroup skills. The programming languages used in this book are C, C++ or Java. | |
|
||||

