A Pragmatic Philosophy Intro think about big picture context lets you know how good software needs to be you work with people so communicate! The cat ate my source code Don’t be afraid to admit ignorance or error Must actively agree to responsibility but will be held accountable Should nota agree if impossible or extremely… Continue reading The Pragmatic Programmer
Author: yujinjc
What We Actually Know About Software Development, and Why We Believe It’s True
Notes from talk have high standards when evaluating new methodologies / look for citations 10-100x developer study based on a small number of developers in the 60’s newer study looked at ~50 and each person for less than 1 hour Lutz Prechelt has done many studies here Study has shown errors correlated to lines of… Continue reading What We Actually Know About Software Development, and Why We Believe It’s True
Hammock Driven Development
Notes from talk fixing at design stage is much cheaper than at development stage most important thing is solving the problem must understand the problem to solve it so ask questions restate the problem similar problems have been solved look at those solutions critically evaluate trade offs can only store about 5-9 things in your… Continue reading Hammock Driven Development
Design Patterns in Ruby
Building Better Programs with Patterns people develop solutions for common problems in all domains GOF popularized idea of prepackaged solutions and defined 23 patterns Separate things that change from things that don’t change is given ideally changes are local and don’t require updates everywhere Program to an interface not an implementation polymorphism decouples code is… Continue reading Design Patterns in Ruby
Think OS: A Brief Introduction to Operating Systems
Compilation Compiled and interpreted languages programs translated into machine code and executed by hardware interpreted code is read and executed by a software interpreter some languages can be both or hybrids (java/jvm) static types in static, you know what type each variable is in dynamic language, don’t know until program is running static language don’t… Continue reading Think OS: A Brief Introduction to Operating Systems
Shoe Dog
Excerpt from end of book. God, how I wish I could relive the whole thing. Short of that, I’d like to share the experience, the ups and downs, so that some young man or woman, somewhere, going through the same trials and ordeals, might be inspired or comforted. Or warned. Some young entrepreneur, maybe, some… Continue reading Shoe Dog
Apprenticeship Patterns
Introduction Apprenticeships is inward and focusing on learning to learn Journeyman focus on connections between practitioners and disseminate information Masters acquire, use and share superior skills Emptying the Cup First Language: use one someone who can help you knows. join community. White Belt: Set previous knowledge aside when approaching new situations. Try different programming paradigms… Continue reading Apprenticeship Patterns
Code Complete – Checklists
Requirements Specific Functional Requirements Are all the inputs to the system specified, including their source, accuracy, range of values, and frequency? Are all the outputs from the system specified, including their destination, accuracy, range of values, frequency, and format? Are all output formats specified for Web pages, reports, and so on? Are all the external hardware and… Continue reading Code Complete – Checklists
Code Complete
Welcome to Software Construction Software development or construction includes: Problem definition Requirements development Construction planning Software architecture or high-level design Detailed design Coding and debugging Unit testing Integration testing Integration System Testing Corrective Maintenance Construction focuses on coding and debugging, but also includes detailed design, unit testing, integration testing, and other activities Areas not included… Continue reading Code Complete
Code: The Hidden Language of Hardware and Software
Best Friends Friends can use flashlights to communicate (i.e. morse code) In book, code means system for transferring info among people and machines All facets of communication (audio, visual, etc) corresponds to some kind of code Codes and Combinations Easier to send than receive because harder to map dots and dashes than letters Could group… Continue reading Code: The Hidden Language of Hardware and Software
