Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

make absolute links relative

  • Loading branch information...
commit e50d0f8af95b239fd0d96d4a49d152fdda5c16a2 1 parent 3a7be29
@unclebob authored
View
2  uncle-bob/_posts/2011-11-22-Clean-Architecture.textile
@@ -5,7 +5,7 @@ tags: ["Architecture"]
---
In the weeks since I started talking about the need to clean up our architecture, I've noticed a surprising resistance to the idea. Apparently the notion that it's a good idea to hide the framework, UI, or database from the application code is not universally accepted.
-I first blogged about this topic "here":http://blog.8thlight.com/uncle-bob/2011/09/30/Screaming-Architecture.html, I did some short video blogs "here":http://cleancoder.posterous.com/retarded-architecture, "here":http://cleancoder.posterous.com/architecture-deference, and I did a whole cleancoders.com "episode":http://www.cleancoders.com/codecast/clean-code-episode-7/show on the topic. I've also done several keynotes on the topic, the slides for which are "here":http://dl.dropbox.com/u/4730299/Architecture%20the%20lost%20years.key, and a video recording of which is "here":http://mchenry.softwarecraftsmanship.org/the-a-word-a-discussion-about-architecture.
+I first blogged about this topic "here":{% post_url 2011-09-30-Screaming-Architecture %}, I did a whole cleancoders.com "episode":http://www.cleancoders.com/codecast/clean-code-episode-7/show on the topic. I've also done several keynotes on the topic, the slides for which are "here":http://dl.dropbox.com/u/4730299/Architecture%20the%20lost%20years.key, and a video recording of which is "here":http://mchenry.softwarecraftsmanship.org/the-a-word-a-discussion-about-architecture.
One somewhat dissenting view, written by _The Frustrated Architect_ in his _coding {the} architecture_ blog is "here":http://www.codingthearchitecture.com/2011/11/06/the_delivery_mechanism_is_an_annoying_detail.html. He shows a picture, which I'll repeat:
!http://www.codingthearchitecture.com/images/the-delivery-mechanism-is-an-annoying-detail-5.png!
View
2  uncle-bob/_posts/2012-08-13-the-clean-architecture.textile
@@ -8,7 +8,7 @@ tags: ["Architecture", "Craftsmanship"]
Over the last several years we've seen a whole range of ideas regarding the architecture of systems. These include:
* "Hexagonal Architecture":http://alistair.cockburn.us/Hexagonal+architecture (a.k.a. Ports and Adapters) by Alistair Cockburn and adopted by Steve Freeman, and Nat Pryce in their wonderful book "Growing Object Oriented Software":http://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627
* "Onion Architecture":http://jeffreypalermo.com/blog/the-onion-architecture-part-1/ by Jeffrey Palermo
-* "Screaming Architecture":http://blog.8thlight.com/uncle-bob/2011/09/30/Screaming-Architecture.html from a blog of mine last year
+* "Screaming Architecture":{% post_url 2011-09-30-Screaming-Architecture %} from a blog of mine last year
* "DCI":http://www.amazon.com/Lean-Architecture-Agile-Software-Development/dp/0470684208/ from James Coplien, and Trygve Reenskaug.
* "BCE":http://www.amazon.com/Object-Oriented-Software-Engineering-Approach/dp/0201544350 by Ivar Jacobson from his book _Object Oriented Software Engineering: A Use-Case Driven Approach_
View
2  uncle-bob/_posts/2013-03-06-ThePragmaticsOfTDD.markdown
@@ -3,7 +3,7 @@ layout: post
title: The Pragmatics of TDD
tags: ["Craftsmanship", "Testing"]
---
-So my last blog: [The Startup Trap](http://blog.8thlight.com/uncle-bob/2013/03/05/TheStartUpTrap.html) raised quite a ruckus. Amidst the various shouts of agreement and support, there was also a group who vehemently disagreed. I'm not going to summarize all their disagreements here, since I've already used up my quota of curse words for the month. But one of those disagreements struck me as something I should address.
+So my last blog: [The Startup Trap]({% post_url 2013-03-05-TheStartUpTrap %}) raised quite a ruckus. Amidst the various shouts of agreement and support, there was also a group who vehemently disagreed. I'm not going to summarize all their disagreements here, since I've already used up my quota of curse words for the month. But one of those disagreements struck me as something I should address.
It's the old argument of pragmatism vs. dogmatism. In essence, the complaint was that I was being too dogmatic. That TDD might be great in some cases, but in others it might have too high a cost. So you have to be pragmatic and choose wisely.
View
2  uncle-bob/_posts/2013-03-11-TheFrenziedPanicOfRushing.markdown
@@ -3,7 +3,7 @@ layout: post
title: The Frenzied Panic of Rushing
tags: ["Craftsmanship", "Testing"]
---
-Last week I wrote a blog entitled [The Startup Trap](http://blog.8thlight.com/uncle-bob/2013/03/05/TheStartUpTrap.html) in which I lamented the unfortunate tendency of developers in a startup to cast their disciplines aside in order to maintain the "high" generated by the illusion that effort is speed. I specifically mentioned TDD as one of those disciplines that startup developers sometimes eschew.
+Last week I wrote a blog entitled [The Startup Trap]({% post_url 2013-03-05-TheStartUpTrap %}) in which I lamented the unfortunate tendency of developers in a startup to cast their disciplines aside in order to maintain the "high" generated by the illusion that effort is speed. I specifically mentioned TDD as one of those disciplines that startup developers sometimes eschew.
The response in support of the blog was gratifying. The response in denial (Yes, that's the right word) of the blog was expected; though I was somewhat surprised by the vehemence and amplitude of the various pejoratives, barbs, insults, and other ad hominem statements. I suppose that people who are addicted to a "high" do not take kindly to those who challenge their ability to justify and maintain that "high".
View
2  uncle-bob/_posts/2013-05-27-FibTPP.html
@@ -13,7 +13,7 @@
</div>
<div class='post_body'>
<p>
- Guilherme Silveira wrote a lovely <a href="http://blog.caelumobjects.com/2011/01/13/evolving-software-and-improving-algorithms/">blog</a> exploring the <a href="http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html">Transformation Priority Premise</a> using the Fibonacci sequence. He posed a suite of tests similar to these:
+ Guilherme Silveira wrote a lovely <a href="http://blog.caelumobjects.com/2011/01/13/evolving-software-and-improving-algorithms/">blog</a> exploring the <a href="{% post_url 2013-05-27-TheTransformationPriorityPremise %}">Transformation Priority Premise</a> using the Fibonacci sequence. He posed a suite of tests similar to these:
</p>
<div class="CodeRay">
<div class="code">
View
2  uncle-bob/_posts/2013-05-27-FlashTpp.html
@@ -14,7 +14,7 @@
</div>
<div class='post_body'>
<p>
- I read a nice <a href="http://madcoderspeak.blogspot.com/2011/02/flash-cards-kata-and-transformation.html">blog</a> today exploring the <a href="http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html">Transformation Priority Premise</a> using the flash card kata. The author did it in both lisp and C#. Let’s try it in Java.
+ I read a nice <a href="http://madcoderspeak.blogspot.com/2011/02/flash-cards-kata-and-transformation.html">blog</a> today exploring the <a href="{% post_url 2013-05-27-TheTransformationPriorityPremise %}">Transformation Priority Premise</a> using the flash card kata. The author did it in both lisp and C#. Let’s try it in Java.
</p>
<p>
The flash card kata is pretty straightforward. Given a set of questions and answers, ask the user each question and solicit an answer. If the answer is correct, say so and count it. If the answer is wrong show the correct answer and count the error. At the end, print the number of right and wrong answers.
View
2  uncle-bob/_posts/2013-05-27-TransformationPriorityAndSorting.html
@@ -5,7 +5,7 @@
---
<div><span class='post_time'>January 1 2011</span></div>
<div>
- In this post we explore the <a href="http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html">Transformation Priority Premise</a> in the context of building a sort algorithm.
+ In this post we explore the <a href="{% post_url 2013-05-27-TheTransformationPriorityPremise %}">Transformation Priority Premise</a> in the context of building a sort algorithm.
<p/><p/>
We also explore comic books as a pedagogical tool.
</div>
View
2  uncle-bob/_posts/2013-11-25-Novices-Coda.markdown
@@ -3,7 +3,7 @@ layout: post
title: Novices. A Coda
tags: ["Craftsmanship"]
---
-There has been some confusion about my recent post: [Hordes of Novices](http://blog.8thlight.com/uncle-bob/2013/11/19/HoardsOfNovices.html). Many people who aspire to become craftsmen took the article to mean that I don't want new people to enter the craft. Nothing could be farther from the truth. We do, in fact, need a growing stream of newcomers entering our craft. Some folks who run code academies or boot camps took the article to mean that I didn't think those schools were useful. Again, nothing could be farther from the truth. We need a growing and effective supply of accessible software education.
+There has been some confusion about my recent post: [Hordes of Novices]({% post_url 2013-11-19-HoardsOfNovices %}). Many people who aspire to become craftsmen took the article to mean that I don't want new people to enter the craft. Nothing could be farther from the truth. We do, in fact, need a growing stream of newcomers entering our craft. Some folks who run code academies or boot camps took the article to mean that I didn't think those schools were useful. Again, nothing could be farther from the truth. We need a growing and effective supply of accessible software education.
What we _don't_ need is to throw masses of newly trained novices into mission critical projects without careful supervision, monitoring, and continuing education. What we _don't_ need is to expect novices to behave like professionals. What we _don't_ need is to continue in the absurd belief that a degree in computer science, or the completion of a boot camp, is sufficient to produce a professional software developer.
View
2  uncle-bob/_posts/2014-02-23-OhForemanWhereArtThou.markdown
@@ -3,7 +3,7 @@ layout: post
title: "Oh Foreman, Where art Thou?"
tags: ["Craftsmanship"]
---
-The response to my previous blog: [Where's the Foreman](http://blog.8thlight.com/uncle-bob/2014/02/21/WhereIsTheForeman.html) has been mixed. While the vast majority of folks seemed to agree; there was a vocal minority of people, whom I respect, who were quite negative. The thing that most of these people hated the most was my insistence that the foreman be the only person with commit rights.
+The response to my previous blog: [Where's the Foreman]({% post_url 2014-02-21-WhereIsTheForeman %}) has been mixed. While the vast majority of folks seemed to agree; there was a vocal minority of people, whom I respect, who were quite negative. The thing that most of these people hated the most was my insistence that the foreman be the only person with commit rights.
The complaints were all based on the notion of _team_ vs. _foreman_. Those who disagreed with my blog seem to feel that a software team is based on egalitarian rules, where all are peers, and none has authority over others. Nearly all of these people call themselves _coaches_; which is odd because, of all the roles in a team, the role of _coach_ is the _least_ egalitarian. The coach is _special_.
View
2  uncle-bob/_posts/2014-02-27-TheTrustSpectrum.markdown
@@ -3,7 +3,7 @@ layout: post
title: "A Spectrum of Trust"
tags: ["Craftsmanship"]
---
-The response to my two previous blogs: [Where's the Foreman](http://blog.8thlight.com/uncle-bob/2014/02/21/WhereIsTheForeman.html) and [Oh Foreman Where Art Thou](http://blog.8thlight.com/uncle-bob/2014/02/23/OhForemanWhereArtThou.html) continues to be mixed; and has gotten quite loud. That's a good thing; because we need to have this discussion.
+The response to my two previous blogs: [Where's the Foreman]({% post_url 2014-02-21-WhereIsTheForeman %}) and [Oh Foreman Where Art Thou]({% post_url 2014-02-23-OhForemanWhereArtThou %}) continues to be mixed; and has gotten quite loud. That's a good thing; because we need to have this discussion.
###The Perfect Agile Team
View
2  uncle-bob/_posts/2014-04-30-When-tdd-does-not-work.markdown
@@ -3,7 +3,7 @@ layout: post
title: "When TDD doesn't work."
tags: ["Craftsmanship"]
---
-Over the years many people have complained about the so-called "religiosity" of some of the proponents of Test Driven Development. The [recent brouhaha](http://blog.8thlight.com/uncle-bob/2014/04/25/MonogamousTDD.html) over TDD has, once again, brought these complaints to the fore. So I thought it would be a good idea to talk about when TDD does not work.
+Over the years many people have complained about the so-called "religiosity" of some of the proponents of Test Driven Development. The [recent brouhaha]({% post_url 2014-04-25-MonogamousTDD %}) over TDD has, once again, brought these complaints to the fore. So I thought it would be a good idea to talk about when TDD does not work.
I have often compared TDD to double-entry bookkeeping. The act of stating every bit of logic twice, once in a test, and once in the production code, is very similar to the accounting practice of entering every transaction twice, once on the asset side, and once on the liability side. The running of the tests is very similar to the creation of the balance sheet. If the balance of assets and liabilities isn't zero, somebody made a mistake somewhere.
Please sign in to comment.
Something went wrong with that request. Please try again.