CodeCraft
Programming is only partly about the science of computation. These posts are about the Craft of writing quality, maintainable code.
- Review of The Art of Readable Code
September 03, 2015 01:50 PM
- Secure Development: Threat Models
September 01, 2015 07:55 AM
- BPGB: (Dis-)Integration Branches
August 25, 2015 07:46 AM
- Review of Release It!
August 13, 2015 02:40 PM
- LCDC: Rising Tide
August 11, 2015 06:04 PM
- LCDC: Different Audiences Have Different Needs
August 02, 2015 09:00 PM
- LCDC: Business Logic
July 29, 2015 08:12 AM
- LCDC: Developer Specialization
July 02, 2015 08:10 AM
- LCDC: Library Code
June 24, 2015 08:25 AM
- LCDC: Fundamental Knowledge
June 19, 2015 08:25 AM
- The Myth of Code Anyone Can Read
June 18, 2015 08:40 AM
- BPGB: Readable Code
May 22, 2015 08:54 AM
- BPGB: YAGNI Overdone
April 30, 2015 08:05 AM
- BPGB: The Witch Hunt
February 28, 2015 10:25 PM
- BPGB: Feature Branch Fail
February 14, 2015 12:27 PM
- Git for the Solo Programmer
February 02, 2015 08:20 AM
- Design Principle: Just in Time Decisions
January 15, 2015 08:16 AM
- BPGB: Don't Optimize Prematurely
January 13, 2015 08:58 AM
- BPGB: Frost-Bitten Features
January 07, 2015 08:45 AM
- Some Thoughts on Refactoring
November 28, 2014 08:10 AM
- The Most Important Result of Writing Code
November 14, 2014 10:12 PM
- BPGP: How Best Practices Go Bad
October 14, 2014 10:40 AM
- BPGB: Pattern Mania
October 01, 2014 03:00 PM
- BPGB: Unnecessarily DRY
September 26, 2014 07:07 AM
- BPGB: A Tale of Two Lengths
September 22, 2014 07:48 AM
- Best Practices Gone Bad
September 19, 2014 05:40 PM
- Novice Example: Public Key Access
September 18, 2014 03:25 PM
- Novice Example: Remote File Copy, Better Problem Breakdown
January 19, 2014 11:28 AM
- Novice Example: Copy Files, Describing the Problem
January 15, 2014 03:04 PM
- Novice Programmers: Your First Skill
November 04, 2013 02:10 PM
- Troubleshooting Questions
August 16, 2013 04:15 PM
- Coding Style: Terse vs Verbose, Conclusion
July 28, 2013 12:46 PM
- Coding Style: Terse vs Verbose
July 17, 2013 11:15 PM
- Sturgeon's Revelation of Code
July 04, 2013 10:22 PM
- Write for Your Audience
June 28, 2013 01:26 PM
- Code Comment Guidelines
June 21, 2013 01:01 PM
- Thoughts on Code Comments
June 21, 2013 08:20 AM
- Don't Lose Sight of the Basics
August 21, 2011 09:57 PM
- Which Programming Languages are Write-Only?
April 04, 2010 12:09 AM
- The Interactive Debugger vs. Print Statements
March 29, 2010 07:15 PM
- All the Cool Kids are Going to git, But...
June 27, 2009 01:13 PM
- SVG Sparklines in Perl
April 25, 2009 07:48 PM
- Chronistic Coupling, Communications
March 14, 2009 11:29 PM
- Serialized Objects and Chronistic Coupling
February 08, 2009 10:10 PM
- Ease of Development as a Quality Metric
November 02, 2008 10:02 PM
- Review of The Productive Programmer
August 27, 2008 09:59 PM
- Regular Expressions as a Problem
July 01, 2008 09:20 PM
- False Lazy Initialization
May 31, 2008 09:35 PM
- Review of Beautiful Code
April 29, 2008 09:32 PM
- Abstraction as Compression
April 26, 2008 12:39 PM
- Sharp Tools vs. Frameworks
March 09, 2008 11:27 AM
- Some Thoughts About Generating Random Numbers
December 16, 2007 07:41 PM
- The Show Me Response
December 09, 2007 07:01 PM
- Debugging Without a Debugger, Part II
December 01, 2007 03:19 PM
- Debugging Without a Debugger
November 25, 2007 10:57 AM
- Review of Software Configuration Management Patterns
November 12, 2007 10:09 PM
- The IP Goose, revisited.
November 10, 2007 01:36 AM
- Thinking About Object Lifetime
September 05, 2007 08:13 PM
- Programmers and Reading
July 17, 2007 06:53 AM
- Misleading error checking examples
July 16, 2007 11:45 PM
- Diets, Analogies, and Agile Programming
June 03, 2007 11:28 AM
- Review of Practical Subversion, second edition
January 15, 2007 07:01 AM
- Another take on Design Patterns
November 04, 2006 09:54 PM
- The Concept of Technical Debt
September 23, 2006 12:36 PM
- Programming for Other Programmers
August 31, 2006 10:12 PM
- Review of Software Estimation
August 11, 2006 09:32 PM
- Misunderstanding XML
August 03, 2006 07:12 AM
- Operator Overloading and Naming
July 15, 2006 11:43 PM
- The Importance of the Correct Notation
June 25, 2006 05:03 PM
- Notation vs. Paradigm
June 17, 2006 02:40 PM
- Libraries vs. DSLs
May 22, 2006 10:07 PM
- We can't do that.
April 25, 2006 09:49 PM
- Domain Specific Languages, a Renewed Interest
March 25, 2006 11:40 PM
- Review of Perl Best Practices
January 29, 2006 01:59 PM
- Accuracy and Precision
January 08, 2006 07:50 PM
- Diff Debugging
December 28, 2005 03:47 PM
- Maintenance Programmer vs. Original Programmer
November 07, 2005 09:01 PM
- More Human Multitasking
August 17, 2005 03:40 PM
- Another View of Human Multitasking
July 28, 2005 07:03 AM
- Review of Effective C++, Third Edition
July 10, 2005 10:38 PM
- Joel on Exceptions
May 30, 2005 04:00 PM
- Joel on Wrong-Looking Code
May 23, 2005 07:02 AM
- The Importance of Programming Play
May 17, 2005 10:51 PM
- Origin of The One, Right Place
December 12, 2004 05:22 PM
- "All you have to do is..."
October 29, 2004 11:21 PM
- The One, Right Place
September 19, 2004 10:44 PM
- Coding Standards
September 07, 2004 11:08 PM
- "Good Enough" Revisited
September 07, 2004 10:47 PM
- The Forgotten Engineering Principle
August 26, 2004 07:25 PM
- Review of Compiler Design in C
July 06, 2004 10:29 PM
- Troubleshooting and Optimization
June 04, 2004 03:34 PM
- On Creative Class Names
May 31, 2004 04:03 PM
- The Fallacy of the One, True Way of Programming
May 26, 2004 10:38 PM
- Flow and Miller's Magic Number
May 12, 2004 10:25 PM
- Idiomatic Programming
May 01, 2004 11:45 PM
- Refactoring, Factoring, and Algebra
April 28, 2004 05:49 PM
- More Programming Practice
April 25, 2004 02:01 PM
- More Thoughts on Mastering Programming
April 22, 2004 06:43 AM
- Programming Practice
April 21, 2004 10:26 PM
- Miller's Magic Number
April 04, 2004 05:49 PM
- Version Control and Test Driven Development
March 30, 2004 09:16 PM
- Bad Names and Good Bad Names
March 10, 2004 09:32 PM
- Review of Modern C++ Design
March 07, 2004 01:17 PM
- The Law of Unintended Consequences
March 03, 2004 09:53 PM
- Paradigms Found
February 22, 2004 10:10 PM
- Paradigms Lost
February 17, 2004 06:44 PM
- On Names, again
February 16, 2004 09:58 PM
- Object Death
February 11, 2004 05:49 PM
- The Forgotten OO Principle
February 07, 2004 12:16 PM
- More Debugging Information
February 01, 2004 10:15 AM
- XML-Serialized Objects and Coupling
January 31, 2004 11:32 AM
- More Thoughts About Debugging
January 30, 2004 10:59 PM
- More on Magic Constants
January 20, 2004 09:10 PM
- Magic Constants are bad
January 18, 2004 03:45 PM
- Unit tests that should fail
January 16, 2004 12:58 PM
- The Smite Class
January 14, 2004 08:16 PM
- What is a programming idiom?
January 14, 2004 08:08 PM
- Paradigms limit possible solutions
January 14, 2004 08:05 PM
- True Names
January 14, 2004 08:01 PM
- Basic troubleshooting rules
January 14, 2004 07:58 PM