To include the content from one page into another you may use the !include widget
Usage:
!include PageName
For example if you wanted to all the content from .FrontPage to be displayed here you would simply type:
!include .FrontPage
As a result you will see .FrontPage below:
This will hunt up the parent change until UtilityPage is found, and then it's child MyUtility will be included.
Usage:
!include PageName
For example if you wanted to all the content from .FrontPage to be displayed here you would simply type:
!include .FrontPage
As a result you will see .FrontPage below:
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. |
Parameters: | |
-seamless | causes the included page to be rendered without an enclosing box. |
-c | causes the included page to be collapsed. |
Watch out for !include cycles
Don't include a page that already includes the page that you are including from. ;-)Including Test snippets
It is often useful to include portions of test tables into your tests. You do this to bring in common setup data or common test sequences (possibly modified with variables). A convenient way to do this is to use the Backwards Search notation as follows:!include <UtilityPage.MyUtility
This will hunt up the parent change until UtilityPage is found, and then it's child MyUtility will be included.
Add Child Page to MarkupPageInclude