Quick Start: Git for personal use
SVN client over SSH to remote Unix server from Windows
Quick Start Grinder - Part V
Quick Start Grinder - Part IV
Quick Start Grinder - Part III
« Akram the great
» Duplicate CDs with CDRDAO
Bill Venners interviews two pragmatic programmers in Artima.com. A series of ten installments that are definitely worth reading if you are a programmer.
Andy Hunt and Dave Thomas are the Pragmatic Programmers, recognized internationally as experts in the development of high-quality software. Their best-selling book of software best practices, The Pragmatic Programmer: From Journeyman to Master (Addison-Wesley, 1999), is filled with practical advice on a wide range of software development issues. They also authored Programming Ruby: A Pragmatic Programmer’s Guide (Addison-Wesley, 2000), and helped to write the now famous Agile Manifesto.
- In Part I. Don’t Live with Broken Windows, they discuss the importance of software craftsmanship and the importance of staying on top of the small problems in your projects.
- In Part II. Orthogonality and the DRY Principle, they discuss the importance of keeping your system orthogonal, and the real meaning the DRY, or Don’t Repeat Yourself, principle.
- In Part III. Good Enough Software, they discuss the myth of bug-free software, the importance of specifying level of quality as a system requirement, and the need for every team member to inject quality throughout the development cycle.
- In Part IV. Abstraction and Detail, they discuss an approach to design in which details are pulled out of the code and stored as metadata.
- In Part V. Building Adaptable Systems, they discuss reversible design decisions, the cost of change curve, going beyond the requirements, and making systems configurable.
- In Part VI. Programming Close to the Domain, they discuss the benefit of programming in a language close to the business domain.
- In Part VII. Programming is Gardening, not Engineering, they discuss a gardening metaphor for software development, the reasons coding is not mechanical, and the stratification of development jobs.
- In Part VIII. Tracer Bullets and Prototypes, they discuss the importance of getting feedback during development by firing tracer bullets and building prototypes.
- In Part IX. Programming Defensively, they discuss the importance of programming defensively against your own and other’s mistakes, of crashing near the cause, and understanding the proper use assertions.
- In Part X. Plain Text and XML, Dave Thomas and Andy Hunt discuss the value of storing persistent data in plain text and the ways they feel XML is being misused.
I'd disagree about part ten, though, in that it just covers the usual "XML sucks" arguments that focus on the narrow-minded "XML is a text document I edit in Notepad" viewpoint and consequently don't bring anything to the table.
XML certainly brings lot of *scope* for interoperability and light-weight parsers. That, is a good thing. However, I can't quite bring myself to program in any tag based ML - hurts my palm way too much. I've been using Yaml to generate XML.
OT, I would like to thank you Paul for OutlookExplorer.py (http://www.boddie.org.uk/python/downloads/OutlookExplorer.py) - it helped me quite a lot to do some automation.