BUTUNCLEBOB.COM
MOVED | 
MOVED | 
MOVED | 
MOVED | 
MOVED | 
MOVED | 
The new site can be viewed here.
The OLD Object Mentor blog site.
Powered by FitNesse
 
Uncle Bob  | 
 
James Grenning  | 
 
Bob Koss  | 
 
Michael Feathers  | 
||||
 
David Chelimsky  | 
 
Tim Ottinger  | 
 
Dean Wampler  | 
|||||
| 20 Dec 2006 | Uncle Bob | New Blog Site | We have a new blog site. http://blog.objectmentor.com | 
| 20 Dec 2006 | Uncle Bob | Java Dates | The horrible state of Dates in the Java standard library. | 
| 5 Dec 2006 | Uncle Bob | Sketch Fighter | If you own a Mac, you need to get this game. | 
| 26 Oct 2006 | Uncle Bob | Abstract Factory by Daniel T | Another "story" about Abstract Factory. | 
| 20 Oct 2006 | Uncle Bob | The Hungarian Abhorrence Principle | Denoting data type in variable names implies a design flaw. | 
| 18 Oct 2006 | Uncle Bob | Rubarian Notation | Egad! I am tempted to denote type in my ruby variable names! | 
| 18 Oct 2006 | Uncle Bob | Craftsman 49 | Abstract Factory | 
| 15 Oct 2006 | Uncle Bob | P2M2: Pair Programming Maturity Model | Pairing is useful, but... | 
| 09 Oct 2006 | Michael Feathers | The Morality of Error Checking | Can there be a one-size-fits all policy for error recovery? | 
| 07 Oct 2006 | Tim Ottinger | Estimating Patterns | Tom D's wisdom for estimators is recommended | 
| 29 Sep 2006 | Uncle Bob | Craftsman Column | All the "Crafstman" columns, including some that never made it to print. | 
| 28 Sep 2006 | Dean Wampler | Which Takes More Discipline, XP or Waterfall? | Is XP an excuse for undiscplined hacking or is does it require more discipline than waterfall methods? | 
| 27 Sep 2006 | Tim Ottinger | Collateral Effort | Dealing with the sense of waste | 
| 27 Sep 2006 | Tim Ottinger | Don't refactor everything | Refactor all your code? Not so! | 
| 26 Sep 2006 | Tim Ottinger | Sooner, not Faster | Is agile development about going faster? I don't think so. | 
| 25 Sep 2006 | James Grenning | Over a Half Million Embedded Developers Behind On Their Learning | Well not all of them | 
| 22 Sep 2006 | Tim Ottinger | Optimizing Away Estimates | Goals, Estimates, Commitments | 
| 21 Sep 2006 | Dean Wampler | Contract4J5 v0.6.0 Released | A new release of my open-source Design by Contract tool for Java that is implemented using AspectJ | 
| 15 Sep 2006 | David Chelimsky | Quality Ensurance | Thought for the day | 
| 13 Sep 2006 | Tim Ottinger | More work or Less Work | Doing less early means doing more later | 
| 09 Sep 2006 | Tim Ottinger | Agile is More Work | Is agile development more work for the programmer? | 
| 7 Sep 2006 | Dean Wampler | Should You Ever Override Concrete Methods? | There are several anti-patterns associated with overriding concrete methods, so don't do it! | 
| 6 Sep 2006 | Uncle Bob | Safe Computations | Math in a computer is not the same as math on paper. | 
| 6 Sep 2006 | Michael Feathers | Designing Away Preconditions | Preconditions aren't a given, sometimes they can be eliminated. | 
| 6 Sep 2006 | Tim Ottinger | Frameworks | Frameworks are for the impatient | 
| 5 Sep 2006 | Uncle Bob | Convex Hull Timing | More on the preformance of computational geometry." | 
| 4 Sep 2006 | Uncle Bob | Joel on Ruby | Joel says: "No! Don't do it!" | 
| 2 Sep 2006 | Uncle Bob | The Yes and No Game | A fun game to play with preschoolers, with a twist. | 
| 1 Sep 2006 | Uncle Bob | Untested Code is the Dark Matter of Software | Another response to Cedric | 
| 1 Sep 2006 | Uncle Bob | The Danger of Mock Objects | A response to Cedric | 
| 31 Aug 2006 | Uncle Bob | Making Messes in Ruby | It's easy! | 
| 30 Aug 2006 | Uncle Bob | Refactoring Paralysis | I wish I had a refactoring tool in Ruby! | 
| 29 Aug 2006 | Tim Ottinger | How Many Feathers? | How many feathers can you carry? | 
| 28 Aug 2006 | Uncle Bob | Comparing the Speed of Java, C++, and Ruby | A simple benchmark with some surprises | 
| 26 Aug 2006 | Uncle Bob | Stardust | An astronomy lecture, and a best man's toast. | 
| 25 Aug 2006 | Uncle Bob | The Perverse Nature of Performance Tuning | It never works exactly the way you think. | 
| 25 Aug 2006 | Tim Ottinger | Addicted to Expensive Tools? | Do we drown in cool tools? | 
| 25 Aug 2006 | Tim Ottinger | Vertical Space Revisited | Increase your density for clarity's sake | 
| 22 Aug 2006 | Michael Feathers | Liskov Substitution in Dynamic Languages | What is the analog of LSP in Ruby, Python, and Smalltalk? | 
| 18 Aug 2006 | Uncle Bob | SRP in Ruby | The Single Responsibility Principle in Ruby | 
| 18 Aug 2006 | Tim Ottinger | What is it with vertical space | Save a mouse, delete a blank line | 
| 17 Aug 2006 | Uncle Bob | Ruby Combinations | An issue with making Ruby code clean. | 
| 16 Aug 2006 | Tim Ottinger | Refactor It Ugly | Choose to be ugly for a little while | 
| 15 Aug 2006 | Tim Ottinger | Start Tight | Avoid regrets with a harsh start | 
| 14 Aug 2006 | Uncle Bob | Common Decency | Washroom Etiquette | 
| 14 Aug 2006 | Dean Wampler | More on Rails and Ruby vs. Java and .NET | More Thoughts on Why Rails is Important | 
| 13 Aug 2006 | Uncle Bob | Rails | I've just started reading the (beta) Agile Web Development in Railsß | 
| 04 Aug 2006 | Dean Wampler | Extracting Usage Documentation From Tests | Our tests document how to use our code. Why don't our documentation tools extract this information? | 
| 04 Aug 2006 | Tim Ottinger | You are so not alone | Really not so different after all | 
| 2 Aug 2006 | Uncle Bob | Green Wrist Band | Get your own! | 
| 31 Jul 2006 | David Chelimsky | Development Time Dependency | What do you call that other kind of dependency? | 
| 20 Jul 2006 | David Chelimsky | Spec Organization | The effects of thinking of specs as, well... specs | 
| 20 Jul 2006 | Dean Wampler | Model-Driven Development: One Curmudgeon's View | In which our intrepid mentor bloviates on the role, if any, of MDD | 
| 14 Jul 2006 | Tim Ottinger | Arguing with myself | What goes around comes around | 
| 14 Jul 2006 | David Chelimsky | The Occasional Reminder | Do you remember why you started practicing TDD and refactoring? | 
| 09 Jul 2006 | David Chelimsky | It Takes Two | Exposing data is one offense, but the real violation is grabbing it | 
| 29 Jun 2006 | Tim Ottinger | Class Is Not A BASIC Program | What's wrong with these classes? | 
| 29 Jun 2006 | Tim Ottinger | Classes Don't Encapsulate | Classes don't encapsulate like they used to | 
| 27 Jun 2006 | Tim Ottinger | Tests are a language | Could we build a trellis for growing our language? | 
| 27 Jun 2006 | Tim Ottinger | Apologizing for Code | A comment is really an apology | 
| 24 Jun 2006 | Tim Ottinger | The Quiet Bullpen | Listen for the sound of software | 
| 14 Jun 2006 | Michael Feathers | Vise | A tool which aids refactoring in Java | 
| 12 Jun 2006 | Uncle Bob | Agile People Still Don't Get It | Response to Cedric's rant. | 
| 10 Jun 2006 | Uncle Bob | Taking Care | An attitude of development. | 
| 10 Jun 2006 | Michael Feathers | The Reluctant Global Variable | An example of "Just Create One" with an interface. | 
| 8 Jun 2006 | Uncle Bob | Mac Book Pro Comic | More on a sweet machine. | 
| 4 June 2006 | David Chelimsky | Single Responsibility Principle Applied to Methods | |
| 3 June 2006 | David Chelimsky | Single Responsibility Principle is about Implementation | |
| 30 May 2006 | Michael Feathers | Refactoring Needs More Than Tests | The other precondition for refactoring | 
| 27 May 2006 | Michael Feathers | The Golden Rule of API Design | Do unto others as.. | 
| 24 May 2006 | Paul Pagel | Over Mocking | mock me once shame on you, mock me twice... | 
| 20 May 2006 | Uncle Bob | Mac Book Pro | A sweet machine. | 
| 20 May 2006 | Michael Feathers | Concepts That Don't Like To Be Named | How clear does a concept need to be to warrant a function? | 
| 18 May, 2006 | David Chelimsky | Singular Responsibility | |
| 16 May 2006 | Michael Feathers | It's Time To Deprecate Final | It's the bane of testing. | 
| 11 May 2006 | Michael Feathers | Changing Notions of Design | Toward a new norm. | 
| 7 May 2006 | Michael Feathers | Dealing with the Lame Duck Code Base | What makes code worth your care? | 
| 3 May 2006 | Micah Martin | Smalltalk Bowling | My first Smalltalk program... the Bowling game. | 
| 17 Apr 2006 | Micah Martin | Paper Bullet | Some development teams have more fun than others | 
| 11 Apr 2006 | Tim Ottinger | The Cheesiest Thing That Might Work | Elegance can wait for the green bar. | 
| 11 Apr 2006 | Tim Ottinger | Where do Your Tests Come From | What are you going to do next, and why? | 
| 10 Apr 2006 | Tim Ottinger | Removing Redundancy Badly | How not to refactor your code (TDD pathology #3) | 
| 8 Apr 2006 | Uncle Bob | Wading through Code | Get your hip-boots on. | 
| 27 Mar 2006 | Michael Feathers | Technologists Drive | Who drives technology change? | 
| 26 Mar 2006 | David Chelimsky | Using multiple fixtures | Using test fixtures as they were inititially intended | 
| 24 Mar 2006 | David Chelimsky | Bowling without prefactoring | Avoiding the temptation of up front design when you're not really up front | 
| 23 Mar 2006 | Uncle Bob | New Java Enums are Cool | I have found the new Java Enums to be more than just curiosities. | 
| 20 Mar 2006 | Uncle Bob | Architecture is a secondary effect. | Architecture is important to keeping a system flexible, changeable, malleable. But it's a secondary effect. | 
| 17 Mar 2006 | Paul Pagel | Prefactoring | ...going off the rails on the pattern train | 
| 16 Mar 2006 | Tim Ottinger | Testing Hypothetically | Testing as if it were possible | 
| 3 Mar 2006 | David Chelimsky | Bowling with rSpec | The classic bowling game exercise with a twist | 
| 25 Feb 2006 | Tim Ottinger | Harder than it sounds | It all sounds so simple | 
| 22 Feb 2006 | Tim Ottinger | Maintain an Even Strain | Spreading the pain like it was peanut butter | 
| 15 Feb 2006 | Uncle Bob | Clean Code: Args. | An article about professionalism, craftsmanship, and refactoring. | 
| 15 Feb 2006 | Micah Martin | Beware The Freebie | Watch out for stories that developers give you for free | 
| 14 Feb, 2006 | David Chelimsky | We've Got Stories Bigger Than Your Iteration | How do you measure points across teams? | 
| 10 Feb 2006 | Tim Ottinger | Everything In Its Place | Test Contaminated? | 
| 10 Feb, 2006 | David Chelimsky | Keeping Infection in Check | In every other context besides software, infection is bad. Why is test-infection any different? | 
| 5 Feb, 2006 | David Chelimsky | Testing Abstract Classes | Comparing strategies to test common behavior | 
| 2 Feb, 2006 | David Chelimsky | Discovering Reuse | Reuse is best discovered, not planned | 
| 1 Feb, 2006 | David Chelimsky | Fostering Credibility in Customer Tests | Make sure your customer tests tell the truth | 
| 31 Jan 2006 | Tim Ottinger | Reckless Refactoring | Recklessly refactoring considered harmful | 
| 30 Jan, 2006 | David Chelimsky | Mock Observations | Observations re: Hand Mocks vs Tool-Generated Mocks | 
| 25 Jan 2006 | Michael Feathers | Component-based Fixtures for FIT | Attempting a new fixture structuring mechanism | 
| 24 Jan 2006 | Michael Feathers | Programming On Your Own | Is collective code ownership bad for beginners? | 
| 20 Jan 2006 | Paul Pagel | Sentential Testing | where do we bind our language? | 
| 19 Jan 2006 | Tim Ottinger | TDD Bumper Shots | Testing the hard way - TDD Pathology 2 | 
| 14 Jan 2006 | Michael Feathers | Library Code versus Application Code | Do we treat these types of code differently? Should we? | 
| 13 Jan 2006 | Tim Ottinger | Software Super Powers | Would you like a cape with that? | 
| 11 Jan 2006 | Bob Koss | Deja Vu - Inheritance Bytes | The Adapter Pattern saves the day again | 
| 9 Jan 2006 | Tim Ottinger | Mother May I? | If we are playing this game, we are doing this backward - TDD Pathology 1 | 
| 7 Jan 2006 | Uncle Bob | Agile means you never have so meet your deadlines. | A common myth | 
| 6 Jan 2006 | Tim Ottinger | Naive Tests Don't Help | You've got to know the territory | 
| 5 Jan 2006 | Paul Pagel | Fresh Testing | Keeping tests honest | 
| 5 Jan 2006 | Tim Ottinger | Closing In on Test-Driven | Getting Closer to TDD | 
| 4 Jan 2006 | Tim Ottinger | Stable API | Is the API stable like the native type list? | 
| 02 Jan 2006 | Michael Feathers | An Object Is A Choice | ..and a chance to choose wisely. | 
| 30 Dec 2005 | Michael Feathers | My Recent Reads | The limit as reading list approaches infinity... | 
| 30 Dec 2005 | Uncle Bob | On Documentation | Documenation is not evil, and is not anathema to Agile. | 
| 29 Dec 2005 | Tim Ottinger | Reasons to Stay Wrong | Do tests create stability you don't want? | 
| 28 Dec 2005 | Tim Ottinger | Debuggers? Yes | A debugger is a handy tool after all | 
| 28 Dec 2005 | Tim Ottinger | Learn Dynamically | Dynamic languages are more learnable than static languages. | 
| 28 Dec, 2005 | David Chelimsky | Dependency Injection Is Only Mostly Good | Injecting dependency on factories is just Service Locator in disguise | 
| December 27, 2005 | Tim Ottinger | Not Yet Test-Driven | Maybe I don't get it. | 
| 11 Dec, 2005 | David Chelimsky | Boundaries of Coding for Testability | Are tests and code under test the same? Do the same principles apply? | 
| 4 Dec, 2005 | Michael Feathers | Moving Toward Another Design Principle | Layers layers layers. | 
| 2 Dec, 2005 | David Chelimsky | Why Limit Fit | FIT is for customers and xUnit for programmers, right? Well, why limit ourselves? | 
| 1 Dec 2005 | Uncle Bob | John Vlissides | Obituary | 
| 17 Nov 2005 | Uncle Bob | MSTDD | Microsoft's notion of TDD. | 
| 10 Nov 2005 | Michael Feathers | Is Programming Too Easy? | Heresy? You decide. | 
| 8 Nov 2005 | Uncle Bob | Bounded Wildcards | More on the wonderfully twisted subtype relationships of generics. | 
| 5 Nov 2005 | Uncle Bob | Is a list of circles a list of shapes? | Of the wonderfully twisted subtype relationships of lists. | 
| 31 Oct 2005 | Micah Martin | PreludeToTheMockOff | Pre-Mockoff ramble | 
| 30 Oct, 2005 | David Chelimsky | Stop Mocking Me | an experiment in hand coding mocks vs mock tools like NMock and Rhino | 
| 26 Oct 2005 | Uncle Bob | Does Visual Studio Rot the Mind? | A truly wonderful article (talk) by Charles Petzold | 
| 25 Oct 2005 | Uncle Bob | Extract Class | A pleasant combination of refactorings using IntelliJ[?] (and Eclipse?) | 
| 23 Oct 2005 | Bob Koss | Refrigerator Code | Be proud of your code | 
| 19 Oct 2005 | Uncle Bob | Analysis vs. Design | The difference between "what" and "how". | 
| 17 Oct 2005 | Michael Feathers | Things Happening At OOPSLA | Day 1 of the three ring circus | 
| 10 Oct 2005 | Uncle Bob | Frackin' Variable Naming Contest | Please help me figure out what the name of this variable should be. | 
| 7 Oct 2005 | Uncle Bob | The Bastard Child | Are unit tests the bastard child? How well do we treat them? | 
| 6 Oct 2005 | Uncle Bob | The Three Rules of TDD | Test Driven Development is driven by three simple rules. | 
| 5 Oct 2005 | Michael Feathers | Honest Code | Think code can't lie? Think again. | 
| 5 Oct 2005 | Uncle Bob | The Sensitivity Problem | Software is very sensitive to error. Others have solved this problem. | 
| 28 Sept, 2005 | David Chelimsky | Improvised Software - Version II - Iteration II | stories are to the coder as the song is to the improvisor | 
| 20 Sept, 2005 | Michael Feathers | Reviving Beauty | It's okay to love good code. | 
| 16 Sept, 2005 | David Chelimsky | Manage dependencies, not aesthetics | Our sense of smell is an important tool, but it sometimes can lead us down the wrong path | 
| 7 Sept, 2005 | David Chelimsky | Improvised Software - Version II - Iteration I | Agile development is still like improvised music | 
| 5 Sep 2005 | Uncle Bob | Palm Life Drive Premature? | Elegant, cute, not ready for prime time. | 
| 31 Aug 2005 | Michael Feathers | Working Clean | Every craft has it's obsessions. Let's borrow some. | 
| 30 Aug 2005 | Uncle Bob | Pronouncing Binary | How to pronounce binary numbers. | 
| 29 Aug 2005 | Micah Martin | ICarumba | On the .NET interface naming convention. | 
| 27 Aug 2005 | Uncle Bob | Joel on XP (Again) | Oh, Joel! | 
| 26 August 2005 | Bob Koss | Using the Adapter Pattern to Decouple Legacy VB Code | Adding tests to existing VB code | 
| 23 August 2005 | Michael Feathers | Do You Have Iteration Slop? | So, how long is your iteration, really? | 
| 25 July 2005 | Uncle Bob | The Agile Test | A set of questions I asked during my Agile 2005 Keynote. | 
| 29 Jun 2005 | Michael Feathers | Refactoring Against the Red Bar | Red bar bad? Not so fast. | 
| 24 Jun 2005 | Uncle Bob | The Prime Factors Kata | Another Kata exploring a simple algorithm with rich implications. | 
| 23 Jun 2005 | Uncle Bob | The Bowling Game Kata | A complete Kata worked out in tiny little steps. | 
| 20 Jun 2005 | Uncle Bob | The Coding Dojo | A programming metaphor from the domain of martial arts. | 
| 15 June 2005 | Micah Martin | Software Apprenticeship | A few comments on the topic | 
| 15 June 2005 | Micah Martin | Jack and Jill | A silly fictional story relating to software craftsmanship | 
| 15 Jun 2005 | James Grenning | My 2 cents on C++ Coding Standards | A simple C++ coding standard | 
| 11 May 2005 | Uncle Bob | Principles of OOD | Eleven principles of object oriented design. | 
| 10 May 2005 | Uncle Bob | Empirical vs. Analytical Analysis | A simple example showing the interplay between empirical and analytical analysis | 
| 30 Apr 2005 | Uncle Bob | Visitor vs. instanceof | When should you use Visitor, Acyclic Visitor, and instanceof | 
| 27 Apr 2005 | James Grenning | CppTestTools Memory Leak Detector | Example of the memory leak detector built into CppTestTools | 
| 24 Apr 2005 | James Grenning | Success is an Option Too | Software development problems are not new. Agile addresses critical success factors identified by Standish Group Chaos Report | 
| 18 Apr 2005 | James Grenning | The Problem of Managing Variations In C | How a mess is created in C | 
| 11 April, 2005 | David Chelimsky | Improvised Software - Iteration One | Agile development is like improvised music | 
| 8 April, 2005 | David Chelimsky | Fair Housing for Business Rules | Business rules are implemented in the code, but they are expressed in the tests. | 
| 06 Apr, 2005 | Michael Feathers | Inside the Design Mind | Learning about how the industry views design | 
| 31 Mar, 2005 | Michael Feathers | Before Clarity | Good code is clear and understandable, so we should always attempt to keep code as clear as possible. Or should we? | 
| 29 Mar, 2005 | David Chelimsky | Object Views | Interfaces are to implementation classes like database views are to database tables | 
| 26 Mar 2005 | Uncle Bob | Conformance To Plan | Why is conformance to plan such a big deal? Especially since we almost never do. | 
| 18 Mar 2005 | Uncle Bob | Joel and Eckel On XP | How can two such credible people come away with two such different views? | 
| 14 Mar 2005 | James Grenning | The Advantage of Not Having Hardware Yet | Anticipated hardware is replaced by abstractions, creating a design that can stand the test of time | 
| 25 Feb 2005 | James Grenning | TDD and Memory Leaks | Prevent leaks with TDD | 
| 24 Feb 2005 | James Grenning | They Are All Priority 1 | How can a product manager deliver Ten Priority 1 Features | 
| 14 Mar, 2005 | Micah Martin | Building a City | Building software is like ... | 
| 11 Mar, 2005 | David Chelimsky | Duplication in tests | Why it's OK to test the same code in customer tests and unit tests. | 
| 13 Mar 2005 | Uncle Bob | Brain Surgery Guides | A Metaphor for Acceptance Tests. | 
| 3 Mar 2005 | Uncle Bob | Just 10 Minutes without a Test | I lapsed for ten minutes. I paid the price. | 
| 24 Feb 2005 | Uncle Bob | Vehement Mediocrity | Why do junior developers always argue that quality takes time? | 
| 22 Feb 2005 | James Grenning | Transforming Idea | Ah! Ha! Experience of how objects can save embedded developers from reinventing the wheel | 
| 21 Feb 2005 | Uncle Bob | The Next Big Thing | The next big thing that will capture the industry's attention | 
| 7 Feb 2005 | Uncle Bob | Incremental Architecture | Making long term sweeping changes to architecture incrementally. | 
| 8 Jan 2005 | Uncle Bob | Stable Dependencies Fixture | Yet another fixture to complement the JDepend suite of FitNesse fixtures. | 
| 5 Jan 2005 | Micah Martin | Buffer To The Rescue | An adventure enabling large file uploads in FitNesse | 
| 5 Jan 2005 | Uncle Bob | Module Metrics Fixture | A new fixture to complement the Module Dependencies Fixture in my previous blog | 
| 31 Dec, 2004 | David Chelimsky | FitNesse And Hibernate | How to test a Hibernate driven app using FitNesse | 
| 23 Dec 2004 | Uncle Bob | JDepend Fixture | A free Christmas gift for Java programmers. | 
| 16 Dec 2004 | Young Bob | Continuous Integration | The more often you do it, the easier it gets. | 
| 7 Dec 2004 | Uncle Bob | Outlook. Ugh. | Who ARE these people? | 
| 3 Dec 2004 | Micah Martin | Wiki Vandalism | butunclebob.com gets vandalized | 
| 29 Nov 2004 | Micah Martin | Delegates vs Command Pattern | An exploration of .NET's delegates | 
| 26 Nov 2004 | Michael Feathers | Mulling Null | Sally and Ramon compare notes before meeting Aiden for the first time as Development Manager | 
| 24 Nov 2004 | Michael Feathers | Sally's Exploration | Sally looks at some cases for 'Pass Null' | 
| 23 Nov 2004 | Michael Feathers | Ramon Walks home | Ramon thinks about his day and politics at work | 
| 22 Nov 2004 | Michael Feathers | The New Guy | Sally and Ramon test some code and discover something new about the new guy | 
| 22 Nov 2004 | Uncle Bob | Home Computer of the Future | Is this a fraud? | 
| 17 Nov 2004 | Micah Martin | Apples and Tigers | Comments on Apple's Tiger Tech Talk | 
| 9 Nov 2004 | Uncle Bob | Singleton vs. Just Create One | The case against rampant use of the Singleton pattern | 
| 23 Sep 2004 | Uncle Bob | The Web: Welcome to the 70's | Feeling sorry for myself. | 
| 31 Aug 2004 | Uncle Bob | A Wonderful Race Condition | A cool discussion about an obscure technical detail. | 
| 31 Aug 2004 | Uncle Bob | Speed Kills | Another Tortoise and Hare rant. | 
| 21 Aug 2004 | Uncle Bob | Skepticism Leads to Understanding | A rant about something or other. | 
| 5 Aug 2004 | Uncle Bob | I use Visitor all the time | A defense of the poor Visitor pattern. | 
Add Child Page to FrontPage
  





