Club of Amsterdam Journal, November 2005, Issue 57

The Top 10 Elements of Good Software Design

Much is spoken of “good design” in the software world. It is what we all aim for when we start a project, and what we hope we still have when we walk away from the project. But how do we assess the “goodness” of a given design? Can we agree on what constitutes a good design, and if we can neither assess nor agree on the desirable qualities of a design, what hope have we of producing such a design?

You know you’ve achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away
Antoine de Saint-Exupery

Much is spoken of “good design” in the software world. It is what we all aim for when we start a project, and what we hope we still have when we walk away from the project. But how do we assess the “goodness” of a given design? Can we agree on what constitutes a good design, and if we can neither assess nor agree on the desirable qualities of a design, what hope have we of producing such a design?

It seems that many software developers feel that they can recognize a good design when they see or produce one, but have difficulty articulating the characteristics that design will have when completed. I asked three former colleagues – Tedious Soporific, Sparky and WillaWonga – for their “Top 10 Elements of Good Software Design”. I combined these with my own ideas, then filtered and sorted them based upon personal preference and the prevailing wind direction, to produce the list you see below. A big thanks to the guys for taking the time to write up their ideas.

Below, for your edification and discussion, is our collective notion of theTop 10 Elements of Good Software Design, from least to most significant. That is, we believe that a good software design …

10. Considers the Sophistication of the Team that Will Implement It

9. Uniformly Distributes Responsibility and Intelligence

8. Is Expressed in a Precise Design Language

7. Selects Appropriate Implementation Mechanisms

6. Is Robustly Documented

5. Eliminates Duplication

4. Is Internally Consistent and Unsurprising

3. Exhibits Maximum Cohesion and Minimum Coupling

2. Is as Simple as Current and Foreseeable Constraints will Allow

1. Provides the Necessary Functionality

full article

News about the future of Software Architecture

Architecting Industry Standards for Service Orientation
by Josh Lee, Microsoft Corporation

Many messages that flow among businesses are formatted to specific industry standards. As we move toward Web services and service orientation the payloads can add value to the messaging infrastructure in a flexible, interoperable, composable way.

“If we can assume that service orientation is going to be a core part of our architectural palette for years to come, then we have to find a way to build and incorporate industry standards into that architecture. Granular construction of service messaging and tight correlation among service signature, metadata, and schema instance provide instant benefits when constructing a flexible and high-performance, standards-based Web service. The key to interoperability is in the ability to process the incoming and outgoing messages effectively. Clear type definition and composition from a comprehensive data dictionary gives architects the ability to compose nearly any message in their service-oriented architecture. Since they are based in the industry standards, those messages will be compliant.

Standards purists will harangue me with epithets, but the fact remains that in order to remove application silos through messaging interoperability you must use fast and flexible standards-based payloads in a service-oriented environment. This can only happen as service providers and schema architects are able to assemble multipurpose standards-based schemas. You can accomplish this through more flexible schema composition and importation methods. With these methods, the future of industry standard messaging and Web service architecture become closely aligned.”

Developing Secure Software
by Noopur Davis, Software Engineering Institute

Most security vulnerabilities result from defects that are unintentionally introduced in the software during design and development. Therefore, to significantly reduce software vulnerabilities, the overall defect content of software must be reduced. Defect reduction is a pre-requisite for secure software development, but it is not enough. Security must also be deeply integrated into the full software development life cycle (SDLC).

Conclusion
Since common software defects are a leading cause of vulnerabilities, the overall defect content of software must be reduced. Next, security must be systematically addressed throughout the software development life cycle. There must be a shift in attitude from “bolting security on” after the fact, to “building security in” as the product is being developed. This requires that good software engineering practices are followed while the software is being developed, including multiple defect removal activities.

News about the future

Artcoustic
Danish Loudspeaker company Artcoustic is recognized worldwide for high performance and aesthetic beauty. The majority of speakers in the product line are thin- as slim as 67mm – and hang on the wall like picture frames. They have effectively erased the distinction between a loudspeaker and furnishing, yet remain true to their intended purpose:

MoCo Loco

MoCo Loco is a web magazine featuring modern contempo- rary design news and views.

Currently reporting from 100% Design Tokyo.

Next Event: Wednesday, November 30, 16:30-19:15

the future of Software Architecture

Wednesday, November 30, 2005
Registration: 16:00-16:30, Conference: 16:30-19:15
Where: Syntens, De Ruyterkade 5, 1013 AA Amsterdam

With
Maarten Boasson
, Professor, Chair, Industrial Complex Computer Systems, University of Amsterdam: Do we want to keep software architecture alive?

Maarten Visser
, Performance, Productivity and Integration Evangelist, BPMi Business Systems: The future of web communities

Bert Oosterhof
, Corporate Senior Architect and Director of Technology EMEA, Informatica Europe: Software architecture adjustments for a changing business

and our Moderator Karel van der Poel, CEO & Co-founder, Mirror42

Cockpit in an acoustic wall

 Cockpit in an acoustic wall
by Kas Oosterhuisthe brief was to combine an acoustic barrier with an industrial building · we decided to design with a speed of 120 km/h to streamline the concept by looking at our design in a telescopic perspective · we have studied the splines of cars, powerboats and jetplanes which are streamlined to diminish drag · along the A2 highway the acoustic barrier and the industrial buildings themselves do not move but they are placed aside a continuous stream of cars passing by · the stream of cars flows at a speed of 120 km/h along the acoustic barrier · as a consequence we decided that the proportions of the built volumes immersed in the acoustic dike should be boldly stretched along the length of the dike · the building, as a body fused with the solid mass of earth of the dike, is experienced as a streamlined cockpit · animation studies indicate that a cockpit described by one powerful spline on top of the acoustic barrier provokes the strongest impact · the cockpit functions as a 3d logo for other industrial facilities hidden behind the acoustic barrier · the most striking design principle is the use of long continuous lines · supple splines which do not have an explicit beginning and not an abrupt end · reaching the actual volume of the cockpit the lines divide into a top and a bottom line · between these smoothly curved lines the cockpit building is inserted with the precision of a plastic surgeon · the overall impact must be confirmed by a strong detail: an extra barrier at the top of the body of the acoustic barrier – shaped as a standard guard-rail – cuts into the top of the cockpit and sinks gradually into a deep gutter · the main design rule determines that the length of the cockpit has to measure at least 10 times its height · this rule guarantees that the cockpit keeps its smooth appearance when passed by at a speed of 120 km/h

Recommended Book

Patterns of Enterprise Application Architecture
by Martin Fowler

Noted software engineering expert, Martin Fowler, turns his attention to enterprise application development. He helps professionals understand the complex–yet critical–aspects of architecture. Enables the reader to make proper choices when faced with a difficult design decision.

GlobalSourcingNOW

GlobalSourcingNOW is a FREE daily and weekly newsletter providing the latest updates on the global offshoring and outsourcing industry. GlobalSourcingNOW is hosted by Evalueserve, a leading provider of expert knowledge services. Industries such as Information Technology, Human Resource Management, Finance & Insurance, Knowledge Management, Customer Relationship Management, Biotechnology, Engineering, and Research & Development are extensively researched and covered by GlobalSourcingNOW. GlobalSourcingNOW newsletters reach over 22,000 subscribers across 40 countries. For further details on this, please refer to this link:
http://www.globalsourcingnow.com

Finding Spiritual Courage: Risking the Unfamiliar to Have the Future We Want

Finding Spiritual Courage: Risking the Unfamiliar to Have the Future We Want
by John Renesch

In life we have seen dramatic rescues and individual acts of heroism, people risking physical harm or even their lives in the face of terrible threats.

Courage is required when there is fear of harmful consequences that are likely to result from one’s action, be it charging an enemy machine gun in wartime or cliff climbing without safety lines in civilian life. Risking one’s personal safety for the welfare of the platoon or jumping into ice cold water to save a drowning flight attendant are definitely courageous acts with real physical danger facing the hero.

Trust is a huge component in taking courageous action. If one is risking real danger, one trusts they will be successful despite the fear they are feeling. In some cases, the action comes instinctively, seemingly without forethought, but fear is there as soon as they think about the situation, even if it is after the event!

The world will always require people to put themselves at physical risk for the sake of their fellow citizens, like firefighters and police officers. Another kind of courage is being called for in these times of exponential rates of change and the enormous impact which technology adds to the changes we experience. This kind of courage is not necessarily physical, although it could have longer-term physical implications. The kind of courage we are presently lacking is to risk embarrassment, lost social status or peer approval.

Thoreau said it long ago: “Dissent without action is consent.” Like the teenager who hesitates to go against the group even though he or she knows they are doing something wrong or members of a mob who get caught up in mass hysteria and turn their backs on normal civilized constraints, too many of us are simply “going along” with the crowd. Not enough of us are questioning the wisdom of our silent condoning, the legitimacy we are lending to the way things are going.

Breaking the silence, ending the “going along,” requires spiritual courage, the courage to stand tall for your conscience, your sense of right and wrong, the wisdom you may possess that others appear to be lacking. This kind of courage allows one to risk the unfamiliar, the unknown and the untried when there’s an implied promise of a better future for others once the stand is taken.

Systems remain dysfunctional because the people in them refuse to challenge the status quo, refuse to take the risk, preferring the familiar even if it is uncomfortable or painful. The dysfunction is maintained because people prefer the known and familiar to the unknown or unfamiliar, even when it holds promise for a better alternative! This is crazy! It shows how attached we can become to the familiar, the known, the reality in which we’ve learned to survive.

You’ve heard it said that people hate to change. This is a very commonly-held belief. Yet we persist in trying to change others – whether it is our spouses, a relative, partners or co-workers. Eventually, wiser more mature people learn the only person they can change is themselves. Wiser souls focus inward. They work to change their own beliefs, to think and act differently, thereby changing the systems in which they work and live. When they change, their systems change.

This commitment to change oneself, to think and act differently, requires a rare brand of mature courage that is sorely needed today. Technology has accelerated both the speed at which change is occurring as well as the degree of impact these changes have on the world. We no longer live in a cause-effect world where we can remain isolated in our actions and misdeeds, only affecting a few people around us. We have made our world into a massive array of complex and interacting systems, adding our own complexity to what Mother Nature had already given us.

There are no simple solutions to society’s challenges any more. Those days are past. Like Einstein told us almost a century ago, our consciousness must evolve to match the complexity of our world. The way we think has to grow exponentially to keep pace with what we think about. Pairing outmoded thinking with exponentially increasing technology eventually will lead us to disaster. Like the toaster repairmen trying to repair satellites in outer space, or children driving 300 mph racing cars or cooks overseeing nuclear reactors, we’re over our heads and lagging far behind in our abilities to resolve our challenges.

Perhaps it is time to take a stand for our evolving humanity, like the Roman slave Spartacus, and declare that we are more than machines, more than “naked apes” and more than digitized humanoids. Let us openly embrace our human spirit and allow ourselves to transcend the conditions we have created rather than remain subject to them, to claim mastery over the systems we’ve created rather than remaining slaves to them. Like Spartacus, let us emancipate ourselves and proclaim our full humanity.

Einstein also told us that we are still an infantile society. We human beings are hardly fully-evolved. Let us call for more spiritual courage, an increased willingness to break out of our skin of familiarity or the petty limitations of what we expect from our consciousness and allow ourselves to dream bigger about how we think, what we do and what we expect for our future. Let us break out of the mold of guesswork or prediction about how things may be in the future and, instead, take a wiser more mature stand for what we want. Then, let us do everything in our power to bring about that future.
John Renesch is a veteran businessman-turned-futurist and an international keynote speaker. He has created over a dozen books, including his most recent, Getting to the Better Future: A Matter of Conscious Choosing. He publishes a free monthly Internet periodical available from his website, www.Renesch.com. John will be speak at the  Summit for the Future 2006 in the “Values and Spirituality” session.

Club of Amsterdam Agenda

NEW: Our Season Events are Wednesdays 16:30!
16:00-16:30 Registration
16:30-17:45 Part I: Presentations
17:45-18:15 Break: Drinks and evtl. live music
18:15-19:15 Part II: Discussion
Club of Amsterdam Season Events 2005/2006
 
 
.Nov 30the future of Software Architecture
Where:  Syntens, De Ruyterkade 5, 1013 AA Amsterdam [Building of the Chamber of Commerce]
.Jan 25the future of Futurist Tools
.Mar 1the future of Electronic Identity
.Mar 29the future of Governance
.Apr 26
the future of Drugs & Pharma
.May 31the future of Reputation Management
.Jun 28the future of Journalism / Ethics in Journalism


Seminar ‘New Dimensions’

The 12th of December Media Plaza will organize the seminar ‘New dimensions’, the future of software engineering. During this free seminar several breakthrough projects will be presented that will have huge impact on the software engineering scene over the next few years. Open standards and open source software will impact business models, at the seminar we will present a project called Unlock Closed Software. Also agents based decision making processes will be presented, and the vision of Professor van Vliet on the future of software engineering. New Dimensions of software engineering, where will we go the next few years?

Club of Amsterdam Open Business Club

 Club of Amsterdam Open Business Club

Are you interested in networking, sharing visions, ideas about your future, the future of your industry, society, discussing issues, which are relevant for yourself as well as for the ‘global’ community? The future starts now – join our online platform – and it’s for free 

Share This Post
Have your say!
00

Customer Reviews

5
0%
4
0%
3
0%
2
0%
1
0%
0
100%
    Showing 1 review
  1. I’m amazed, I must say. Rarely do I encounter a blog that’s equally educative and amusing, and without a doubt, you’ve hit the nail on the head. The issue is an issue that not enough folks are speaking intelligently about. I’m very happy that I found this in my hunt for something relating to this.
    0

    0

    You have already voted!

    Reply
  2. Enjoyed every bit of your blog.Really thank you! Keep writing.
    0

    0

    You have already voted!

    Reply
  3. Great, thanks for sharing this blog article.Much thanks again. Fantastic.
    0

    0

    You have already voted!

    Reply
  4. A round of applause for your article. Want more.
    0

    0

    You have already voted!

    Reply
  5. Great, thanks for sharing this article.Really thank you! Much obliged.
    0

    0

    You have already voted!

    Reply
  6. When I originally left a comment I seem to have clicked on the -Notify me when new comments are added- checkbox and from now on whenever a comment is added I receive 4 emails with the same comment. Is there a means you can remove me from that service? Kudos.
    0

    0

    You have already voted!

    Reply
  7. Very good blog.Much thanks again. Really Cool.
    0

    0

    You have already voted!

    Reply
  8. Great article.Really looking forward to read more. Want more.
    0

    0

    You have already voted!

    Reply
  9. Really enjoyed this article post.Much thanks again. Fantastic.
    0

    0

    You have already voted!

    Reply
  10. Everything is very open with a clear clarification of the challenges. It was truly informative. Your site is useful. Thank you for sharing.
    0

    0

    You have already voted!

    Reply
  11. After I initially left a comment I appear to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I recieve four emails with the same comment. Is there an easy method you can remove me from that service? Thanks a lot.
    0

    0

    You have already voted!

    Reply
  12. Fantastic blog article.Thanks Again. Really Cool.
    0

    0

    You have already voted!

    Reply
  13. Great post. I’m dealing with some of these issues as well..
    0

    0

    You have already voted!

    Reply
  14. Really enjoyed this post. Much obliged.
    0

    0

    You have already voted!

    Reply
  15. Im obliged for the blog post.Much thanks again. Cool.
    0

    0

    You have already voted!

    Reply
  16. Good post. I learn something new and challenging on blogs I stumbleupon every day. It will always be helpful to read through articles from other authors and practice a little something from other sites.
    0

    0

    You have already voted!

    Reply
  17. Great post.Really thank you! Keep writing.
    0

    0

    You have already voted!

    Reply
  18. Im obliged for the blog post. Great.
    0

    0

    You have already voted!

    Reply
  19. Thanks for sharing, this is a fantastic blog.Much thanks again. Will read on…
    0

    0

    You have already voted!

    Reply
  20. Really appreciate you sharing this post.Really looking forward to read more. Much obliged.
    0

    0

    You have already voted!

    Reply
  21. A big thank you for your blog post.Really thank you! Want more.
    0

    0

    You have already voted!

    Reply
  22. Thanks-a-mundo for the post.Much thanks again. Will read on…
    0

    0

    You have already voted!

    Reply
  23. Wow Thanks for this content i find it hard to track down decent info out there when it comes to this material appreciate for the write-up website
    0

    0

    You have already voted!

    Reply
  24. Very neat article post.Really looking forward to read more. Cool.
    0

    0

    You have already voted!

    Reply
  25. Very good blog post.Really thank you! Awesome.
    0

    0

    You have already voted!

    Reply
  26. Thanks-a-mundo for the post.Thanks Again. Much obliged.
    0

    0

    You have already voted!

    Reply
  27. I truly appreciate this blog article.Really thank you!
    0

    0

    You have already voted!

    Reply
  28. Thanks for sharing, this is a fantastic article post.Thanks Again. Really Cool.
    0

    0

    You have already voted!

    Reply
  29. I want to to thank you for this very good read!! I definitely loved every little bit of it. I have you saved as a favorite to check out new stuff you post…
    0

    0

    You have already voted!

    Reply
  30. Wow Thanks for this review i find it hard to realize excellent content out there when it comes to this blog posts thank for the blog post site
    0

    0

    You have already voted!

    Reply
  31. Major thankies for the article.Really looking forward to read more. Really Great.
    0

    0

    You have already voted!

    Reply
  32. Muchos Gracias for your article post.Thanks Again. Cool.
    0

    0

    You have already voted!

    Reply
  33. I am so grateful for your post.Really looking forward to read more. Really Great.
    0

    0

    You have already voted!

    Reply
  34. I really like and appreciate your blog.Much thanks again. Much obliged.
    0

    0

    You have already voted!

    Reply
  35. Great blog article.Really looking forward to read more. Awesome.
    0

    0

    You have already voted!

    Reply
  36. Thanks a lot for the blog post.Much thanks again. Awesome.
    0

    0

    You have already voted!

    Reply
  37. Very good article.Really thank you!
    0

    0

    You have already voted!

    Reply
  38. Looking forward to reading more. Great article post. Cool.
    0

    0

    You have already voted!

    Reply
  39. Looking forward to reading more. Great blog article.Thanks Again. Really Great.
    0

    0

    You have already voted!

    Reply
  40. Say, you got a nice post.Really looking forward to read more. Awesome.
    0

    0

    You have already voted!

    Reply
  41. Wow, great article.Thanks Again. Great.
    0

    0

    You have already voted!

    Reply
  42. I cannot thank you enough for the article.Thanks Again. Will read on…
    0

    0

    You have already voted!

    Reply
  43. A round of applause for your post.Thanks Again. Really Great.
    0

    0

    You have already voted!

    Reply
  44. I truly appreciate this post.Thanks Again. Awesome.
    0

    0

    You have already voted!

    Reply
  45. Major thankies for the blog post.Really looking forward to read more. Will read on…
    0

    0

    You have already voted!

    Reply
  46. I really like and appreciate your article post.Much thanks again.
    0

    0

    You have already voted!

    Reply
  47. I think this is a real great post.Really thank you! Great.
    0

    0

    You have already voted!

    Reply
  48. Thanks so much for the article.Really thank you! Really Cool.
    0

    0

    You have already voted!

    Reply
  49. Wow, great blog post.
    0

    0

    You have already voted!

    Reply
  50. I am so grateful for your blog.Much thanks again. Keep writing.
    0

    0

    You have already voted!

    Reply
  51. I value the blog article.Much thanks again. Much obliged.
    0

    0

    You have already voted!

    Reply
  52. Hey, thanks for the post. Cool.
    0

    0

    You have already voted!

    Reply
  53. Enjoyed every bit of your post.Thanks Again. Want more.
    0

    0

    You have already voted!

    Reply
  54. Thank you for your blog article.Really thank you! Cool.
    0

    0

    You have already voted!

    Reply
  55. Really informative article.Thanks Again. Awesome.
    0

    0

    You have already voted!

    Reply
  56. Thanks-a-mundo for the blog post.Really looking forward to read more. Really Great.
    0

    0

    You have already voted!

    Reply
  57. Very good post.Really looking forward to read more. Want more.
    0

    0

    You have already voted!

    Reply
  58. You’re so awesome! I do not think I’ve truly read through something like this before. So nice to discover somebody with some original thoughts on this issue. Really.. thanks for starting this up. This website is something that is needed on the web, someone with a bit of originality.
    0

    0

    You have already voted!

    Reply
  59. Great post.Really thank you! Awesome.
    0

    0

    You have already voted!

    Reply
  60. Really appreciate you sharing this article post.Really looking forward to read more. Really Great.
    0

    0

    You have already voted!

    Reply
  61. A round of applause for your blog.Really looking forward to read more. Much obliged.
    0

    0

    You have already voted!

    Reply
  62. Thank you ever so for you blog article.Thanks Again. Really Cool.
    0

    0

    You have already voted!

    Reply
  63. Im obliged for the article.Really thank you! Fantastic.
    0

    0

    You have already voted!

    Reply
  64. I really enjoy the blog article.Really thank you! Much obliged.
    0

    0

    You have already voted!

    Reply
  65. Great, thanks for sharing this blog post.Really thank you! Want more.
    0

    0

    You have already voted!

    Reply
  66. Awesome blog article. Want more.
    0

    0

    You have already voted!

    Reply
  67. I truly appreciate this blog post.Really looking forward to read more. Will read on…
    0

    0

    You have already voted!

    Reply
  68. I think this is a real great article.Much thanks again. Really Cool.
    0

    0

    You have already voted!

    Reply
  69. A round of applause for your blog post.Really looking forward to read more. Want more.
    0

    0

    You have already voted!

    Reply
  70. Thanks a lot for the blog article. Great.
    0

    0

    You have already voted!

    Reply
  71. Thanks a lot for the article.Really thank you! Great.
    0

    0

    You have already voted!

    Reply
  72. A big thank you for your article post.Really thank you! Keep writing.
    0

    0

    You have already voted!

    Reply
  73. Thanks-a-mundo for the post. Keep writing.
    0

    0

    You have already voted!

    Reply
  74. I truly appreciate this article.Thanks Again. Really Great.
    0

    0

    You have already voted!

    Reply
  75. This is one awesome article.Really thank you! Much obliged.
    0

    0

    You have already voted!

    Reply
  76. Appreciate you sharing, great article.Thanks Again. Keep writing.
    0

    0

    You have already voted!

    Reply
  77. wow, awesome post.Thanks Again. Awesome.
    0

    0

    You have already voted!

    Reply
  78. Thanks-a-mundo for the article.Really looking forward to read more. Cool.
    0

    0

    You have already voted!

    Reply
  79. I appreciate you sharing this article post.Much thanks again. Fantastic.
    0

    0

    You have already voted!

    Reply
  80. Really informative blog post.Really looking forward to read more. Awesome.
    0

    0

    You have already voted!

    Reply
  81. Wow, great article post.Much thanks again. Cool.
    0

    0

    You have already voted!

    Reply
  82. Having read this I believed it was really enlightening. I appreciate you finding the time and effort to put this information together. I once again find myself spending a significant amount of time both reading and commenting. But so what, it was still worth it.
    0

    0

    You have already voted!

    Reply
  83. Thanks so much for the article.Thanks Again. Keep writing.
    0

    0

    You have already voted!

    Reply
  84. I truly love your blog.. Great colors & theme. Did you develop this web site yourself? Please reply back as I’m trying to create my own site and would love to know where you got this from or exactly what the theme is called. Thanks.
    0

    0

    You have already voted!

    Reply
  85. Everyone loves it when people get together and share opinions. Great website, continue the good work!
    0

    0

    You have already voted!

    Reply
  86. First off I want to say fantastic blog! I had a quick question which I’d like to ask if
    you do not mind. I was interested to find out how you center yourself and clear your head before
    writing. I have had a tough time clearing my thoughts in getting my thoughts out
    there. I truly do take pleasure in writing however it just seems like the first 10 to 15 minutes are generally wasted
    simply just trying to figure out how to begin. Any suggestions or
    tips? Thank you!
    0

    0

    You have already voted!

    Reply
  87. I absolutely love your site.. Great colors & theme.
    Did you build this amazing site yourself? Please reply back as I’m planning
    to create my own website and would like to know where you got this
    from or what the theme is called. Thank you!
    0

    0

    You have already voted!

    Reply
  88. Im thankful for the blog post.Really looking forward to read more. Awesome.
    0

    0

    You have already voted!

    Reply
  89. Thanks a lot for the blog post.Really looking forward to read more. Great.
    0

    0

    You have already voted!

    Reply
  90. Im obliged for the blog.Really looking forward to read more. Cool.
    0

    0

    You have already voted!

    Reply
  91. Major thankies for the blog post.Really looking forward to read more. Will read on…
    0

    0

    You have already voted!

    Reply
  92. This is one awesome blog post.Really looking forward to read more. Want more.
    0

    0

    You have already voted!

    Reply
  93. Looking forward to reading more. Great article. Much obliged.
    0

    0

    You have already voted!

    Reply
  94. Looking forward to reading more. Great blog.Much thanks again. Fantastic.
    0

    0

    You have already voted!

    Reply
  95. This is one awesome blog article.Thanks Again. Fantastic.
    0

    0

    You have already voted!

    Reply
  96. Very informative article post.Really looking forward to read more. Want more.
    0

    0

    You have already voted!

    Reply
  97. Thanks-a-mundo for the blog.Really thank you!
    0

    0

    You have already voted!

    Reply
  98. Appreciate you sharing, great blog article. Awesome.
    0

    0

    You have already voted!

    Reply
  99. I loved your article.Much thanks again.
    0

    0

    You have already voted!

    Reply
  100. Wow, great article post.Thanks Again. Cool.
    0

    0

    You have already voted!

    Reply
  101. Major thanks for the article post.Thanks Again.
    0

    0

    You have already voted!

    Reply
  102. You’ve made some really good points there. I checked on the net for more information about the issue and found most individuals will go along with your views on this website.
    0

    0

    You have already voted!

    Reply
  103. What’s up friends, its impressive post on the
    topic of educationand completely defined, keep it up all
    the time.
    0

    0

    You have already voted!

    Reply
  104. Hey! Someone in my Myspace group shared this website with us so I came to give it a look.
    I’m definitely enjoying the information. I’m book-marking and will be tweeting this to my followers!

    Terrific blog and great design and style.

    0

    0

    You have already voted!

    Reply
  105. wow, awesome blog post.Much thanks again. Awesome.
    0

    0

    You have already voted!

    Reply
  106. Appreciate you sharing, great blog post.Much thanks again. Great.
    0

    0

    You have already voted!

    Reply
  107. I loved your article. Fantastic.
    0

    0

    You have already voted!

    Reply
  108. wow, awesome blog.Thanks Again. Keep writing.
    0

    0

    You have already voted!

    Reply
  109. Really informative post.Really looking forward to read more. Really Great.
    0

    0

    You have already voted!

    Reply
  110. Very good blog article.Really thank you! Cool.
    0

    0

    You have already voted!

    Reply
  111. Really enjoyed this blog article.Really looking forward to read more. Want more.
    0

    0

    You have already voted!

    Reply
  112. Im grateful for the blog article.Thanks Again. Keep writing.
    0

    0

    You have already voted!

    Reply
  113. Appreciate you sharing, great blog.Really thank you! Fantastic.
    0

    0

    You have already voted!

    Reply
  114. I loved your blog post. Awesome.
    0

    0

    You have already voted!

    Reply
  115. I really liked your article. Really Great.
    0

    0

    You have already voted!

    Reply
  116. Say, you got a nice blog.Much thanks again. Awesome.
    0

    0

    You have already voted!

    Reply
  117. Appreciate you sharing, great article.Thanks Again. Great.
    0

    0

    You have already voted!

    Reply
  118. I really liked your blog post.Really looking forward to read more. Keep writing.
    0

    0

    You have already voted!

    Reply
  119. Very informative article post.Really looking forward to read more. Awesome.
    0

    0

    You have already voted!

    Reply
  120. wow, awesome article post.Really thank you! Will read on…
    0

    0

    You have already voted!

    Reply
  121. Thanks-a-mundo for the post.Really thank you! Cool.
    0

    0

    You have already voted!

    Reply
  122. Pretty! This has been a really wonderful article. Thanks for supplying this information.
    0

    0

    You have already voted!

    Reply
  123. Thank you for your blog article.Really thank you! Fantastic.
    0

    0

    You have already voted!

    Reply
  124. Way cool! Some very valid points! I appreciate you penning this write-up and the rest of the site is very good.
    0

    0

    You have already voted!

    Reply
  125. Enjoyed every bit of your article. Really Great.
    0

    0

    You have already voted!

    Reply
  126. Thanks so much for the blog article. Really Great.
    0

    0

    You have already voted!

    Reply
  127. I appreciate you sharing this blog article.Really thank you! Will read on…
    0

    0

    You have already voted!

    Reply
  128. I really liked your blog.Much thanks again. Want more.
    0

    0

    You have already voted!

    Reply
  129. Thanks so much for the blog.Much thanks again. Fantastic.
    0

    0

    You have already voted!

    Reply
  130. Say, you got a nice article. Really Great.
    0

    0

    You have already voted!

    Reply
  131. I really enjoy the article.Thanks Again.
    0

    0

    You have already voted!

    Reply
  132. This is one awesome blog.Much thanks again. Cool.
    0

    0

    You have already voted!

    Reply
  133. Very informative blog post.Really looking forward to read more. Really Cool.
    0

    0

    You have already voted!

    Reply
  134. Very good article.Much thanks again. Awesome.
    0

    0

    You have already voted!

    Reply
  135. Major thanks for the blog post.Really thank you! Want more.
    0

    0

    You have already voted!

    Reply
  136. Thanks-a-mundo for the article post.Much thanks again. Great.
    0

    0

    You have already voted!

    Reply
  137. Say, you got a nice post.Much thanks again. Great.
    0

    0

    You have already voted!

    Reply
  138. Very neat post. Keep writing.
    0

    0

    You have already voted!

    Reply
  139. I cannot thank you enough for the blog article.Really looking forward to read more. Great.
    0

    0

    You have already voted!

    Reply
  140. I am so grateful for your blog.Really looking forward to read more. Fantastic.
    0

    0

    You have already voted!

    Reply
  141. I appreciate you sharing this blog post.Much thanks again. Really Cool.
    0

    0

    You have already voted!

    Reply
  142. A round of applause for your blog article.Much thanks again.
    0

    0

    You have already voted!

    Reply
  143. Thank you ever so for you article.Thanks Again. Will read on…
    0

    0

    You have already voted!

    Reply
  144. I think this is a real great article.Thanks Again. Awesome.
    0

    0

    You have already voted!

    Reply
  145. Wow, great post. Awesome.
    0

    0

    You have already voted!

    Reply
  146. A big thank you for your article post. Great.
    0

    0

    You have already voted!

    Reply
  147. Major thanks for the blog.Thanks Again. Really Great.
    0

    0

    You have already voted!

    Reply
  148. Looking forward to reading more. Great blog article. Really Cool.
    0

    0

    You have already voted!

    Reply
  149. I am so grateful for your blog post. Much obliged.
    0

    0

    You have already voted!

    Reply
  150. I cannot thank you enough for the article post.Thanks Again. Really Cool.
    0

    0

    You have already voted!

    Reply
  151. I really liked your article.Thanks Again. Really Cool.
    0

    0

    You have already voted!

    Reply
  152. Major thankies for the post.Much thanks again. Will read on…
    0

    0

    You have already voted!

    Reply
  153. I loved your post.Really thank you! Cool.
    0

    0

    You have already voted!

    Reply
  154. wow, awesome blog.Really thank you! Awesome.
    0

    0

    You have already voted!

    Reply
  155. This is one awesome blog post.Thanks Again. Will read on…
    0

    0

    You have already voted!

    Reply
  156. Thanks again for the article. Cool.
    0

    0

    You have already voted!

    Reply
  157. Major thankies for the article post.Really looking forward to read more. Fantastic.
    0

    0

    You have already voted!

    Reply
  158. Enjoyed every bit of your article.Really looking forward to read more. Cool.
    0

    0

    You have already voted!

    Reply
  159. I cannot thank you enough for the blog post.Thanks Again. Really Cool.
    0

    0

    You have already voted!

    Reply
  160. Im obliged for the article.Really thank you! Awesome.
    0

    0

    You have already voted!

    Reply
  161. Very neat blog. Will read on…
    0

    0

    You have already voted!

    Reply
  162. Thanks so much for the post.Really looking forward to read more. Much obliged.
    0

    0

    You have already voted!

    Reply
  163. A big thank you for your blog post.Really looking forward to read more. Keep writing.
    0

    0

    You have already voted!

    Reply
  164. A big thank you for your article post.Really thank you! Great.
    0

    0

    You have already voted!

    Reply
  165. Great, thanks for sharing this blog post.Really looking forward to read more. Great.
    0

    0

    You have already voted!

    Reply
  166. Enjoyed every bit of your blog article.Really thank you! Fantastic.
    0

    0

    You have already voted!

    Reply
  167. I really like and appreciate your blog article.Much thanks again. Fantastic.
    0

    0

    You have already voted!

    Reply
  168. Hey, thanks for the blog.Really looking forward to read more. Cool.
    0

    0

    You have already voted!

    Reply
  169. I cannot thank you enough for the blog post.Thanks Again. Fantastic.
    0

    0

    You have already voted!

    Reply
  170. Looking forward to reading more. Great blog post.Much thanks again. Really Cool.
    0

    0

    You have already voted!

    Reply
  171. Appreciate you sharing, great blog.Thanks Again. Cool.
    0

    0

    You have already voted!

    Reply
  172. Thanks-a-mundo for the blog.Thanks Again. Keep writing.
    0

    0

    You have already voted!

    Reply
  173. I really liked your article post. Fantastic.
    0

    0

    You have already voted!

    Reply
  174. Really informative article post.Really thank you! Really Cool.
    0

    0

    You have already voted!

    Reply
  175. Very good article.Really looking forward to read more. Fantastic.
    0

    0

    You have already voted!

    Reply
  176. Your style is so unique in comparison to other folks I’ve read stuff from. I appreciate you for posting when you’ve got the opportunity, Guess I will just bookmark this blog.
    0

    0

    You have already voted!

    Reply
  177. Muchos Gracias for your article.Thanks Again. Really Cool.
    0

    0

    You have already voted!

    Reply
  178. I really like and appreciate your blog.Much thanks again. Really Cool.
    0

    0

    You have already voted!

    Reply
  179. Major thankies for the blog article.Much thanks again.
    0

    0

    You have already voted!

    Reply
  180. A big thank you for your article.Really thank you! Great.
    0

    0

    You have already voted!

    Reply
  181. Thank you for your post.Really looking forward to read more. Much obliged.
    0

    0

    You have already voted!

    Reply
  182. It’s nearly impossible to find knowledgeable people about this subject, but you sound like you know what you’re talking about! Thanks
    0

    0

    You have already voted!

    Reply
  183. This is one awesome blog. Cool.
    0

    0

    You have already voted!

    Reply
  184. Thanks-a-mundo for the blog article.Thanks Again. Want more.
    0

    0

    You have already voted!

    Reply
  185. Great blog article.
    0

    0

    You have already voted!

    Reply
  186. I really liked your article post.Thanks Again. Keep writing.
    0

    0

    You have already voted!

    Reply
  187. I think this is a real great post. Keep writing.
    0

    0

    You have already voted!

    Reply
  188. Awesome post.Really thank you! Really Cool.
    0

    0

    You have already voted!

    Reply
  189. Today, I went to the beachfront with my children. I found
    a sea shell and gave it to my 4 year old daughter and said
    “You can hear the ocean if you put this to your ear.”
    She placed the shell to her ear and screamed. There was a hermit crab inside and it
    pinched her ear. She never wants to go back! LoL I know this is totally off topic but I
    had to tell someone!
    0

    0

    You have already voted!

    Reply
  190. Have you ever considered creating an ebook or guest authoring on other
    websites? I have a blog based upon on the same ideas you discuss
    and would really like to have you share some stories/information. I know my viewers would value your work.
    If you are even remotely interested, feel free to shoot me an email.
    0

    0

    You have already voted!

    Reply
  191. Wow Thanks for this posting i find it hard to locate good ideas out there when it comes to this topic thank for the guide website
    0

    0

    You have already voted!

    Reply
  192. Say, you got a nice blog article. Fantastic.
    0

    0

    You have already voted!

    Reply
  193. A round of applause for your blog. Will read on…
    0

    0

    You have already voted!

    Reply
  194. Muchos Gracias for your blog post. Great.
    0

    0

    You have already voted!

    Reply
  195. Thanks for sharing, this is a fantastic blog post.Really looking forward to read more. Want more.
    0

    0

    You have already voted!

    Reply
  196. I am so grateful for your blog article.Really thank you! Cool.
    0

    0

    You have already voted!

    Reply
  197. link:Wow Thanks for this content i find it hard to find awesome advice out there when it comes to this subject matter thank for the guide site
    0

    0

    You have already voted!

    Reply
  198. There is certainly a lot to know about this issue. I really like all the points you have made.
    0

    0

    You have already voted!

    Reply
  199. I would like to thank you for the efforts you’ve put in penning this site. I really hope to view the same high-grade blog posts by you later on as well. In fact, your creative writing abilities has encouraged me to get my own blog now 😉
    0

    0

    You have already voted!

    Reply
  200. You’re so awesome! I don’t think I’ve truly read a single thing like this before. So good to discover somebody with some genuine thoughts on this subject. Really.. thanks for starting this up. This web site is one thing that is required on the web, someone with some originality.
    0

    0

    You have already voted!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Thanks for submitting your comment!