
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

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 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 30 | the future of Software Architecture Where: Syntens, De Ruyterkade 5, 1013 AA Amsterdam [Building of the Chamber of Commerce] |
.Jan 25 | the future of Futurist Tools |
.Mar 1 | the future of Electronic Identity |
.Mar 29 | the future of Governance |
.Apr 26 | the future of Drugs & Pharma |
.May 31 | the future of Reputation Management |
.Jun 28 | the 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 … |

Thanks so much for the blog article.Much thanks again. Much obliged.
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.
Enjoyed every bit of your blog.Really thank you! Keep writing.
Great, thanks for sharing this blog article.Much thanks again. Fantastic.
A round of applause for your article. Want more.
Great, thanks for sharing this article.Really thank you! Much obliged.
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.
Very good blog.Much thanks again. Really Cool.
Great article.Really looking forward to read more. Want more.
Really enjoyed this article post.Much thanks again. Fantastic.
Everything is very open with a clear clarification of the challenges. It was truly informative. Your site is useful. Thank you for sharing.
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.
Fantastic blog article.Thanks Again. Really Cool.
Great post. I’m dealing with some of these issues as well..
Really enjoyed this post. Much obliged.
Im obliged for the blog post.Much thanks again. Cool.
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.
Great post.Really thank you! Keep writing.
Im obliged for the blog post. Great.
Thanks for sharing, this is a fantastic blog.Much thanks again. Will read on…
Really appreciate you sharing this post.Really looking forward to read more. Much obliged.
A big thank you for your blog post.Really thank you! Want more.
Thanks-a-mundo for the post.Much thanks again. Will read on…
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
Very neat article post.Really looking forward to read more. Cool.
Very good blog post.Really thank you! Awesome.
Thanks-a-mundo for the post.Thanks Again. Much obliged.
I truly appreciate this blog article.Really thank you!
Thanks for sharing, this is a fantastic article post.Thanks Again. Really Cool.
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…
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
Major thankies for the article.Really looking forward to read more. Really Great.
Muchos Gracias for your article post.Thanks Again. Cool.
I am so grateful for your post.Really looking forward to read more. Really Great.
I really like and appreciate your blog.Much thanks again. Much obliged.
Great blog article.Really looking forward to read more. Awesome.
Thanks a lot for the blog post.Much thanks again. Awesome.
Very good article.Really thank you!
Looking forward to reading more. Great article post. Cool.
Looking forward to reading more. Great blog article.Thanks Again. Really Great.
Say, you got a nice post.Really looking forward to read more. Awesome.
Wow, great article.Thanks Again. Great.
I cannot thank you enough for the article.Thanks Again. Will read on…
A round of applause for your post.Thanks Again. Really Great.
I truly appreciate this post.Thanks Again. Awesome.
Major thankies for the blog post.Really looking forward to read more. Will read on…
I really like and appreciate your article post.Much thanks again.
I think this is a real great post.Really thank you! Great.
Thanks so much for the article.Really thank you! Really Cool.
Wow, great blog post.
I am so grateful for your blog.Much thanks again. Keep writing.
I value the blog article.Much thanks again. Much obliged.
Hey, thanks for the post. Cool.
Enjoyed every bit of your post.Thanks Again. Want more.
Thank you for your blog article.Really thank you! Cool.
Really informative article.Thanks Again. Awesome.
Thanks-a-mundo for the blog post.Really looking forward to read more. Really Great.
Very good post.Really looking forward to read more. Want more.
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.
Great post.Really thank you! Awesome.
Really appreciate you sharing this article post.Really looking forward to read more. Really Great.
A round of applause for your blog.Really looking forward to read more. Much obliged.
Thank you ever so for you blog article.Thanks Again. Really Cool.
Im obliged for the article.Really thank you! Fantastic.
I really enjoy the blog article.Really thank you! Much obliged.
Great, thanks for sharing this blog post.Really thank you! Want more.
Awesome blog article. Want more.
I truly appreciate this blog post.Really looking forward to read more. Will read on…
I think this is a real great article.Much thanks again. Really Cool.
A round of applause for your blog post.Really looking forward to read more. Want more.
Thanks a lot for the blog article. Great.
Thanks a lot for the article.Really thank you! Great.
A big thank you for your article post.Really thank you! Keep writing.
Thanks-a-mundo for the post. Keep writing.
I truly appreciate this article.Thanks Again. Really Great.
This is one awesome article.Really thank you! Much obliged.
Appreciate you sharing, great article.Thanks Again. Keep writing.
wow, awesome post.Thanks Again. Awesome.
Thanks-a-mundo for the article.Really looking forward to read more. Cool.
I appreciate you sharing this article post.Much thanks again. Fantastic.
Really informative blog post.Really looking forward to read more. Awesome.
Wow, great article post.Much thanks again. Cool.
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.
Thanks so much for the article.Thanks Again. Keep writing.
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.
Everyone loves it when people get together and share opinions. Great website, continue the good work!
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!
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!
Im thankful for the blog post.Really looking forward to read more. Awesome.
Thanks a lot for the blog post.Really looking forward to read more. Great.
Im obliged for the blog.Really looking forward to read more. Cool.
Major thankies for the blog post.Really looking forward to read more. Will read on…
This is one awesome blog post.Really looking forward to read more. Want more.
Looking forward to reading more. Great article. Much obliged.
Looking forward to reading more. Great blog.Much thanks again. Fantastic.
This is one awesome blog article.Thanks Again. Fantastic.
Very informative article post.Really looking forward to read more. Want more.
Thanks-a-mundo for the blog.Really thank you!
Appreciate you sharing, great blog article. Awesome.
I loved your article.Much thanks again.
Wow, great article post.Thanks Again. Cool.
Major thanks for the article post.Thanks Again.
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.
What’s up friends, its impressive post on the
topic of educationand completely defined, keep it up all
the time.
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.
wow, awesome blog post.Much thanks again. Awesome.
Appreciate you sharing, great blog post.Much thanks again. Great.
I loved your article. Fantastic.
wow, awesome blog.Thanks Again. Keep writing.
Really informative post.Really looking forward to read more. Really Great.
Very good blog article.Really thank you! Cool.
Really enjoyed this blog article.Really looking forward to read more. Want more.
Im grateful for the blog article.Thanks Again. Keep writing.
Appreciate you sharing, great blog.Really thank you! Fantastic.
I loved your blog post. Awesome.
I really liked your article. Really Great.
Say, you got a nice blog.Much thanks again. Awesome.
Appreciate you sharing, great article.Thanks Again. Great.
I really liked your blog post.Really looking forward to read more. Keep writing.
Very informative article post.Really looking forward to read more. Awesome.
wow, awesome article post.Really thank you! Will read on…
Thanks-a-mundo for the post.Really thank you! Cool.
Pretty! This has been a really wonderful article. Thanks for supplying this information.
Thank you for your blog article.Really thank you! Fantastic.
Way cool! Some very valid points! I appreciate you penning this write-up and the rest of the site is very good.
Enjoyed every bit of your article. Really Great.
Thanks so much for the blog article. Really Great.
I appreciate you sharing this blog article.Really thank you! Will read on…
I really liked your blog.Much thanks again. Want more.
Thanks so much for the blog.Much thanks again. Fantastic.
Say, you got a nice article. Really Great.
I really enjoy the article.Thanks Again.
This is one awesome blog.Much thanks again. Cool.
Very informative blog post.Really looking forward to read more. Really Cool.
Very good article.Much thanks again. Awesome.
Major thanks for the blog post.Really thank you! Want more.
Thanks-a-mundo for the article post.Much thanks again. Great.
Say, you got a nice post.Much thanks again. Great.
Very neat post. Keep writing.
I cannot thank you enough for the blog article.Really looking forward to read more. Great.
I am so grateful for your blog.Really looking forward to read more. Fantastic.
I appreciate you sharing this blog post.Much thanks again. Really Cool.
A round of applause for your blog article.Much thanks again.
Thank you ever so for you article.Thanks Again. Will read on…
I think this is a real great article.Thanks Again. Awesome.
Wow, great post. Awesome.
A big thank you for your article post. Great.
Major thanks for the blog.Thanks Again. Really Great.
Looking forward to reading more. Great blog article. Really Cool.
I am so grateful for your blog post. Much obliged.
I cannot thank you enough for the article post.Thanks Again. Really Cool.
I really liked your article.Thanks Again. Really Cool.
Major thankies for the post.Much thanks again. Will read on…
I loved your post.Really thank you! Cool.
wow, awesome blog.Really thank you! Awesome.
This is one awesome blog post.Thanks Again. Will read on…
Thanks again for the article. Cool.
Major thankies for the article post.Really looking forward to read more. Fantastic.
Enjoyed every bit of your article.Really looking forward to read more. Cool.
I cannot thank you enough for the blog post.Thanks Again. Really Cool.
Im obliged for the article.Really thank you! Awesome.
Very neat blog. Will read on…
Thanks so much for the post.Really looking forward to read more. Much obliged.
A big thank you for your blog post.Really looking forward to read more. Keep writing.
A big thank you for your article post.Really thank you! Great.
Great, thanks for sharing this blog post.Really looking forward to read more. Great.
Enjoyed every bit of your blog article.Really thank you! Fantastic.
I really like and appreciate your blog article.Much thanks again. Fantastic.
Hey, thanks for the blog.Really looking forward to read more. Cool.
I cannot thank you enough for the blog post.Thanks Again. Fantastic.
Looking forward to reading more. Great blog post.Much thanks again. Really Cool.
Appreciate you sharing, great blog.Thanks Again. Cool.
Thanks-a-mundo for the blog.Thanks Again. Keep writing.
I really liked your article post. Fantastic.
Really informative article post.Really thank you! Really Cool.
Very good article.Really looking forward to read more. Fantastic.
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.
Muchos Gracias for your article.Thanks Again. Really Cool.
I really like and appreciate your blog.Much thanks again. Really Cool.
Major thankies for the blog article.Much thanks again.
A big thank you for your article.Really thank you! Great.
Thank you for your post.Really looking forward to read more. Much obliged.
It’s nearly impossible to find knowledgeable people about this subject, but you sound like you know what you’re talking about! Thanks
This is one awesome blog. Cool.
Thanks-a-mundo for the blog article.Thanks Again. Want more.
Great blog article.
I really liked your article post.Thanks Again. Keep writing.
I think this is a real great post. Keep writing.
Awesome post.Really thank you! Really Cool.
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!
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.
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
Say, you got a nice blog article. Fantastic.
A round of applause for your blog. Will read on…
Muchos Gracias for your blog post. Great.
Thanks for sharing, this is a fantastic blog post.Really looking forward to read more. Want more.
I am so grateful for your blog article.Really thank you! Cool.
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
There is certainly a lot to know about this issue. I really like all the points you have made.
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 😉