- Author: Andrei Sorin
- Format: Online PDF
- Price: free (print edition available on Amazon)
Addressing general readers as well as software practitioners, “Software and Mind” discusses the fallacies of the mechanistic ideology and the degradation of minds caused by these fallacies. Mechanism holds that every aspect of the world can be represented as a neat hierarchical structure of entities. But, while useful in fields like mathematics and manufacturing, this idea is generally worthless, because most aspects of the world are too complex to be reduced to simple structures. Our software-related affairs, in particular, cannot be represented in this fashion. And yet, all programming theories and development systems, and all software applications, attempt to reduce real-world problems to neat structures of data, operations, and features. Ultimately, by restricting ourselves to mechanistic software, we impoverish all aspects of our life that depend on software.
- Belief and Software
- Mechanism and Mechanistic Delusions
- The Mind
- Language and Software
- Language as Weapon
- Software as Weapon
- Software Engineering
- From Mechanism to Totalitarianism
Read: Software and Mind: The Mechanistic Myth and Its Consequences
Buy print edition
- Author: hacknot.info
- Format: PDF
- Price: free
This book contains 46 essays, each of which was originally published on the former HackNot site between July 2003 and October 2006.
- The A to Z of Programmer Predilections
- The Hazards of Being Quality Guy
- A Dozen Ways to Sustain Irrational Technology Decisions
- My Kingdom for a Door
- Interview with the Sociopath
- The Art of Flame War
- Testers: Are They Vegetable or Mineral?
- Corporate Pimps: Dealing With Technical Recruiters
- Developers are from Mars, Programmers are from Venus
- To The Management
- Great Mistakes in Technical Leadership
- The Architecture Group
- The Mismeasure of Man
- Meeting Driven Development
- Extreme Deprogramming
- New Methodologies or New Age Methodologies?
- Rhetorical AntiPatterns in XP
- The Deflowering of a Pair Programming Virgin
- XP and ESP: The Truth is Out There!
- Thought Leaders and Thought Followers
- Dude, Where’s my Spacecraft?
- User is a Four Letter Word
- The Folly of Emergent Design
- The Top Ten Elements of Good Software Design
- Oral Documentation: Not Worth the Paper it’s Written On
- FUDD: Fear, Uncertainty, Doubt and Design Documentation
- Get Your Filthy Tags Out of My Javadoc, Eugene
- Naming Classes: Do it Once and Do it Right
- In Praise of Code Reviews
- Web Accessibility for the Apathetic
- SWT: So What?
- Debugging 101
- Spare a Thought for the Next Guy
- Six Legacy Code AntiPatterns
- The Skeptical Software Development Manifesto
- Basic Critical Thinking for Software Developers
- Anecdotal Evidence and Other Fairy Tales
- Function Points: Numerology for Software Developers
- Programming and the Scientific Method
- From Tulip Mania to Dot Com Mania
- The Crooked Timber of Software Development
- From James Dean to J2EE: The Genesis of Cool
- IEEE Software Endorses Plagiarism
- Early Adopters or Trend Surfers?
- Reuse is Dead. Long Live Reuse
- All Aboard the Gravy Train
- Author: P. Bourque, R. Dupuis, A. Abran, J. W. Moore, and L. L. Tripp
- Format: PDF, online HTML
- Price: free
The software engineering body of knowledge is an all-inclusive term that describes the sum of knowledge within the profession of software engineering. Since it is usually not possible to put the full body of knowledge of even an emerging discipline, such as software engineering, into a single document, there is a need for a Guide to the Software Engineering Body of Knowledge. This Guide will seek to identify and describe that subset of the body of knowledge that is generally accepted, even though software engineers must be knowledgeable not only in software engineering, but also, of course, in other related disciplines.
- Introduction to the Guide
- Software Requirements
- Software Design
- Software Construction
- Software Testing
- Software Maintenance
- Software Configuration Management
- Software Engineering Management
- Software Engineering Process
- Software Engineering Tools and Methods
- Software Quality
- Related Disciplines of Software Engineering
- Author: IBM
- Format: PDF
- Price: free
A searchable list of the most recently published IBM Redbooks.
IBM Redbooks are developed and published by the IBM International Technical Support Organization, ITSO. The ITSO develops and delivers skills, technical know-how, and materials to IBM technical professionals, Business Partners, clients, and the marketplace in general.
The ITSO works with IBM Divisions and Business Partners in the process of developing IBM Redbooks, Redpapers, Technotes, workshops, and other materials. The ITSO is part of the IBM Global Content Services organization within IBM Sales & Distribution.
The ITSO’s value-add information products address product, platform, and solution perspectives. They explore integration, implementation, and operation of realistic client scenarios that include PeopleSoft, Linux, Windows, SAP, Oracle, and others.
IBM Redbooks are the ITSO’s core product. They typically provide positioning and value guidance, installation and implementation experiences, typical solution scenarios, and step-by-step “how-to” guidelines. They often include sample code and other support materials that are also available as downloads.
- Author: Joel Spolsky
- Format: online HTML, (print edition available for purchase at amazon.com)
- Price: free (print edition $19.77)
User interface design is straightforward, easy, and most of all fun. There is no reason to be afraid. It is all about making people happy by providing them with what they expect. The rules are simple, and all you have to do is follow them. This book will explain what those rules are, so you can design user interfaces that work and behave as expected and cause less frustration to the user.
- Controlling Your Environment Makes You Happy
- Figuring Out What They Expected
- Affordances and Metaphors
- Consistency and Other Hobgoblins
- Designing for People Who Have Better Things To Do With Their Lives
- Designing for People Who Have Better Things To Do With Their Lives, Part Two
- Designing for People Who Have Better Things To Do With Their Lives, Part Three
- The Process of Designing a Product
Print edition contains 7 new chapters not found in the online edition.
- Author: Alan & Colston
- Format: online HTML (formatted for easier printing)
- Price: free
This book is an eight day beginner level course, non language specific, delivered two days a week for four weeks. The goal is to put the fun into programming while you are learning and to help the reader either become a better programmer, understand what less experienced programmers are struggling with, or communicate more effectively with other experienced programmers.
- Thinking about Thinking
- Thinking about Programming
- The Programmer at Work
- Customs and Practices
- Design Principles
- Prudence and Safety
- Some Weird Stuff…
Visit: The programmer’s Stone
- Author: Eric C. R. Hehner
- Edition: 2007-5-30
- Format: PDF, PS (lecture visuals in PDF, only)
- Language: English, Chinese
- Price: free
This book is a beginners level non language specific introduction to programming. All technical terms used are explained. Each new term is underlined. There are no abbreviations, acronyms, or other obscurities of language to confuse you. No previous knowledge or experience is assumed.
- Basic Theories
- Basic Data Structures
- Function Theory
- Program Theory
- Programming Language
- Recursive Definition
- Theory Design and Implementation
Solutions to exercises are available to course instructors.