Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Saturday, December 31, 2011

.NET Architecture and Development Book Recommendations for 2012



UPDATE: The 2013 recommended reading list is here.

Another year has gone by. Happy New Year everyone. It is time to update my book recommendation blog.  There have been a ton of books come out this year both good and bad.

Be sure to check out the Shiny Turds book section which lists books that do not Cut the Mustard *-Do not Buy-* section. It is the last in the list.  I have added books to most sections and deleted some of the older ones that do not have much value in today's market.

These are all books we use, or plan to use when they are released in the very near future.  We have reviewed a lot of them here on this blog and on Amazon.



Software Process Engineering


Product Line Engineering


Software Architecture


SOA: Service Oriented Architecture


Component Development


Coding Guidelines


Frameworks


Patterns


OOAD


Brownfield Development


Scalability


Security


.NET 4.0 and VSTS 2010


SharePoint


.NET 3.5 and VSTS 2008


ASP.NET, AJAX, MVC, and Silverlight


SQL Server and T-SQL


Shiny Turds Books that do not Cut the Mustard *-Do not Buy-*

posted by tadanderson at 9:30 PM 0 comments

Wednesday, December 28, 2011

Decision Management Systems: A Practical Guide to Using Business Rules and Predictive Analytics Book Review

There are not too many systems being created today that I would consider more than interfaces to a data structure. Meaning most systems today rely on people to provide the intelligence behind them. The systems themselves are viewed as a necessary evil by the people who use them. I find this to be especially true in organizations with a long history. Their attitude is they were built by people, and people will continue to be their most valuable asset.

The author of this book challenges us to take our systems to the new level of existence. One where they are responsive partners in the company along with the people who use them. Responding in real-time to customers and users of the system. Decision Management Systems are intended to be active participants in optimizing your business.

The decisions focused on in the book are strategic, tactical, and operational. The decisions characteristics are they should be repeatable, non-trivial, measurable business impact, and a candidate for automation.

One of the things I really like about this book is that the author does a great job of providing real-world easy to understand examples that show you how the theory being explained can be applied.

The first part of the book builds the case for decision management systems. The second part of the book covers building decision management systems, and the last part of the book discusses the enablers for decision management systems.

Part one shows us what type of impact decision management systems can have on our businesses, and the characteristics of decision management systems. It gives a ton of real-world examples.

Part two covers discovering and modeling decisions, designing and implementing decision services, and monitoring and improving decisions.

Part three cover the different decision management system enablers which includes people, process, and technology enablers. One of the things I liked in this section is the author introduced the Agile Business Rule Development (ABRD). The ABRD is a practice to implement business application using business rule management system and rule engine technology.

Another thing I really liked is that the author has an awesome web site that provides additional material. It includes some nice white papers and webinars. Check out the material their for a preview of what you'll find in the book.

The author's writing style makes these a really easy cover to cover read. The book is very practical and realistic. It is the way systems should be thought about.

Over all if you are in IT, I highly recommend reading this book.

Decision Management Systems: A Practical Guide to Using Business Rules and Predictive Analytics

posted by tadanderson at 4:57 PM 0 comments

Tuesday, December 27, 2011

Model-Based Development: Applications Book Review

This book has been one of the most enjoyable reads I have had in a long time. The introduction and the first chapter was a walk down memory lane. It was nice coverage of how we got to where we are today in the software development world.

Each chapter goes into a deep explanation of the topic being covered. There are three parts in the book. I list them below with the chapters in each.

Part I: The Roots of Object-Oriented Development- Historical Perspective, Object Technology, Generalization, Inheritance, Genericity, and Polymorphism, MBD Road Map, Modeling Invariants, and Application Partitioning.

Part II: The Static Model- Classes, Class Responsibilities, Associations, Referential and Knowledge Integrity, Generalization Redux, and Identifying Knowledge.

Part III: The Dynamic Model- The Finite State Machine, States, Transitions, Events, and Actions, Developing State Models, and Abstract Action Languages.

This book is great for the beginning programmer and the experienced one. If you are new to object oriented programming, this book will take you through the history that forms its foundation giving you a complete understanding of the current state of modern object oriented programming. If you are a veteran, you will enjoy the perspective given to the different topics. They will help will help you articulate object oriented topics to your stakeholders.

The coverage is deep on all the topics. The author uses examples and always gives an indepth explanation as to why something is done, not just how.

When I first saw this book my initial reaction was, "Who cares, another science fiction book about magical tools that generate code for you". This book is not about code generation at all. It is about the principles and the disciplines it takes to create models that are detailed enough to generate code. Most of the book concentrates on analysis level models.

It is also not a book on how models map to code. You don't see code in this book.

I wish I could point out some favorite parts of this book, but I can't. The entire book is excellent. The level of detail the author goes into explaining the ins and outs of object oriented topics is really amazing.

If you are a programmer, or want to be one, of any language, you must read this book. There is not another one like it out there.

Model-Based Development: Applications

posted by tadanderson at 10:16 AM 0 comments

Tuesday, December 20, 2011

Sams Teach Yourself Java in 24 Hours (Covering Java 7 and Android) (6th Edition) Book Review

If you want a well rounded introduction to JAVA 7, look no further. This book touches on all the things you would expect in an introduction to a programming language.

The book is broken down into six parts and a set of appendices. I have listed the chapters by part below.

Part I: Getting Started- Becoming a Programmer, Writing Your First Program, Vacationing in Java, and Understanding How Java Programs Work.

Part II: Learning the Basics of Programming- Storing and Changing Information in a Program, Using Strings to Communicate, Using Conditional Tests to Make Decisions, and Repeating an Action with Loops.

Part III: Working with Information in New Ways- Storing Information with Arrays, Creating Your First Object, Describing What Your Object is Like, and Making the Most of Existing Objects.

Part IV: Programming a Graphical User Interface- Building a Simple User Interface, Laying Out a User Interface, Responding to User Input, and Building a Complex User Interface.

Part V: Moving into Advanced Topics- Creating Interactive Web Programs, Handling Errors in a Program, Creating a Threaded Program, and Reading and Writing Files.

Part VI: Writing Internet Applications- Reading and Writing XML Data, Creating Web Services with JAX-WS, Creating Java2D Graphics with Xrender, and Writing Android Apps.

Appendixes- Using the NetBeans Integrated Development Environment, Where to Go from Here: Java Resources, and This Book's Website.

The downloadable code is very well organized and usable. The author's website also contains links to the JDK 7.0 and NetBeans 7.0.

I really like that the author chose to use NetBeans. I don't get to use that editor much, but I really like it.

The book only has one chapter on Android, but it includes a nice appendix on how to set up the Android development environment. They are enough to get you started.

One of the things I liked about this book is that it is in color. I wish all books were printed in color these days.

The author's writing style made this not only an easy read, but a fun one. I really enjoyed picking it up and blasting through a chapter over lunch for the past few months.

Over all, if you are looing to get into Java programming, this book is a great place to start.


Sams Teach Yourself Java in 24 Hours (Covering Java 7 and Android) (6th Edition)

posted by tadanderson at 9:41 AM 0 comments

Friday, December 16, 2011

SharePoint 2010 Development with Silverlight Book Review

I have done a lot of SharePoint custom development and I see Silverlight as the answer to the horrible web part programming model Microsoft has made available in SharePoint. I have yet to see anyone write SharePoint web parts that aren't spaghetti code. Every major web part implementation I have seen has been a big ball of mud, and I have seen a lot. I moved to Silverlight for web parts as soon as I could. It is a great programming model.

Microsoft continues to play the top secret game with regards to Silverlight so rumors of lack of browser support in the next year or two are being allowed to flourish. I am not willing to tell customers they should spend a year or two investing in Silverlight just so they can start over when they finally start reaching maturity. So for now, because of Silverlight, SharePoint custom development is off my future list of recommendations as well.

So then, why read and recommend this book? The current enterprise I am working in uses Silverlight for web part development. There is no plan to change that. If for some reason I end up in another enterprise that wants custom web parts developed and they want me to do it, it will be in Silverlight or nothing. Although it appears Microsoft has abandoned Silverlight, until they offer something along the same lines for SharePoint web part development I am sticking with Silverlight.

Because of that, I decided to purchase this book. I am now really glad I did. It is a great book.

The book is broken down into three parts. I have listed them and the chapters they contain below.

Part 1 Getting Started - Getting Started with SharePoint and Silverlight, Introduction to SharePoint Development, and Introduction to Silverlight Development.

Part 2 SharePoint and Silverlight Development - A First Look at Silverlight in SharePoint, Web Part Development, Expression Blend, Data Binding, and Sample Data, Accessing SharePoint Using the HTML Bridge, Accessing SharePoint Data with the Client Object Model, Accessing SharePoint Data with WCF Data Services, Accessing SharePoint with Web Services, and Accessing External Data.

Part 3 Building Solutions - Windows Phone 7 SharePoint Applications, Creating Silverlight Navigation, SharePoint and Silverlight in the Cloud, and Creating a Silverlight Field Control.

The author has a really nice writing style which makes the book an easy cover to cover read. It will also make a nice reference.

The downloadable code is very well organized and usable except for the Chapter 2 folder. That folder is missing some of the examples.

One of the things I like about this book is how current it is. The author provides Silverlight 5 examples as well as Silverlight 4 examples. He makes a point to cover several new features including debugging data binding, binding data to style setters, implicit data templates, and using the browser control.

Another thing I like is that the author makes use of Expression Blend. If you are developing with XAML, Blend needs to be part of the toolkit you master.

The book also shows you how to get started with Bing Maps, Azure, SketchFlow, and Windows Phone. Overall I found the book to be just down right cool.

I have been developing Silverlight web parts for a while now. There has not been very much information published that shows you how to get the most out of the tools and features available. That is until now. This book will take you to the next level of using SharePoint and Silverlight together. I can say that it did that for me.

All in all I highly recommend this book to Silverlight and SharePoint developers and architects. It is a must have!!!


SharePoint 2010 Development with Silverlight

posted by tadanderson at 4:53 PM 0 comments

Wednesday, December 14, 2011

Essential Windows Phone 7.5: Application Development with Silverlight Book Review

This book this book starts with a great introduction to the windows phones. It introduces Metro design language, hardware specifications, input patterns, the application lifecycle, out of the box services, live tiles, and the marketplace. By the time you are done with the introduction you have a solid understanding of the windows phone context.

The book continues with ten more chapters. They include Writing Your First Phone Application, XAML Overview, Controls, Designing for the Phone, Developing for the Phone, Phone Integration, Databases and Storage, Multitasking, Services, and The Marketplace.

The author has a really nice writing style which makes the book an easy cover to cover read. It will also make a nice reference.

There are a bunch of tables, screenshots, and diagrams that really help explain the topic at hand. The author does not go overboard with them like some books I have seen that use them for filler.

One of the things I like about the book is that the author does a great job of switching between Visual Studio and Expression Blend at appropriate time. Not too many authors do that and I wish it was done more often. If you are developing with XAML, Blend needs to be part of the toolkit you master.

Another thing I like is the author shows you us how to take advantage of built in features like the camera, email, making a call, media player, and search.

The book also covers the Silverlight for Windows Phone Toolkit controls including AutoCompleteBox, ContextMenu, DatePicker, TimePicker, ListPicker, LongListSelector, PerformanceProgressBar, ToggleSwitch, ExpanderView, PhoneTextBox, and WrapPanel.

In chapter 7 the book covers all the integration tasks that are included with Windows Phone 7.1. It covers all the Launchers and all the Choosers.

The downloadable code is very well organized and usable.

All in all if you are considering Windows 7.5 development you owe it to yourself to get this book, digest it, and then keep it by your side.

Essential Windows Phone 7.5: Application Development with Silverlight

posted by tadanderson at 6:24 PM 0 comments

Sunday, December 11, 2011

Microsoft SharePoint 2010 Power User Cookbook Book Review

This book is great for the SharePoint end user. I kind of think of it like the top 70 FAQs about SharePoint found all in one place.

Although this book is a little out of context for the books I usually read about SharePoint, I was looking for a book to recommend to the user's of the SharePoint 2010 environments I working. I am currently upgrading a 2007 environment to 2010, so the users are going to need a good reference for common tasks. This book fits the bill.

The book is broken down into different topics by chapter. The chapters are listed below.
Chapter 1: Getting Started—SharePoint Essentials
Chapter 2: Working Together—Using SharePoint to Collaborate
Chapter 3: SharePoint as the Data Hub—Storing and Integrating Data
Chapter 4: SharePoint Document Management Deep Dive
Chapter 5: Getting the Message Out—Using SharePoint to Communicate
Chapter 6: Where's My Stuff?—Finding Things with SharePoint
Chapter 7: Gaining Insights—Using SharePoint for Business Intelligence
Chapter 8: Automating Business Processes—Recipes for Electronic Forms and Workflows
Appendix: Joining the Dots—Creating Composite Applications

The individual topics are far too many to list but to give you an idea of what the chapters look like I have listed two of them below.

Chapter 2: Working Together—Using SharePoint to Collaborate
◦Introduction
◦Creating a Team Site
◦Adding users to a Team Site
◦Adding a new page to a Team Site
◦Adding a link to the Top link bar of a Team Site
◦Adding a slide library to share PowerPoint slides
◦Adding a slide to a presentation from a SharePoint slide library
◦Creating and tracking a discussion item
◦Managing a Team Site Calendar with Outlook 2010
◦Creating a task and assigning it to another user
◦Using the datasheet to bulk-edit tasks in a task list
◦Managing a SharePoint task list in Outlook 2010
◦Creating a SharePoint contact list and connecting it to Outlook 2010

Chapter 4: SharePoint Document Management Deep Dive
◦Introduction
◦Uploading an existing document to a document library
◦Uploading multiple documents to a document library
◦Creating a new document in your My Site
◦E-mailing a link to a document in SharePoint
◦Downloading a copy of a document
◦Creating an alert on a document to be notified when it is updated
◦Requiring users to check out a document before they can edit it
◦Enabling versioning on a document library
◦Publishing a major version of a document
◦Restoring a previous version of a document
◦Enabling content approval on a document library
◦Take SharePoint documents offline using Outlook 2010
◦Co-authoring an important document
◦Use content types to store different types of document in the same document library

Each topic begins with a Getting Ready section that tells you which SharePoint version the task can be done on. It then has a How to do it section that explains how to accomplish the task at hand. This section not only contains written instructions but also usually includes detailed screenshots.

Then there is a How it works section that explains how the steps taken work behind the scenes. There is then a There's more section and a See also sections that provide more information about the topic and other resources to read.

The book does a really good job of combining the right amount of written instructions, screenshots, and background on each topic. Some books go way overboard with screenshots, or do not provide enough of them. This book has just the right amount.

The author's writing style makes for an easy read. They do a good job of making the topics understandable.

All in all I highly recommend this book to SharePoint end users. 

You can get it on Amazon here, or read more about it on the Packt site here.

Microsoft SharePoint 2010 Power User Cookbook

posted by tadanderson at 2:21 PM 0 comments

Friday, December 09, 2011

Data Integration Blueprint and Modeling: Techniques for a Scalable and Sustainable Architecture Book Review

Data integration is a complex, detailed, sometimes excruciating boring activity, which is not an activity for the light at heart.

This book does a great job of digging into the details of the data transformations. It is not just a high level look at data integration, it gets into the weeds.

The book is broken down into three parts. I have listed them and the chapters they contain below.

Part 1 Overview of Data Integration - Types of Data Integration, An Architecture for Data Integration, A Design Technique: Data Integration Modeling, and Case Study: Customer Loan Data Warehouse Project.

Part 2 The Data Integration Systems Development Life Cycle - Data Integration Analysis , Data Integration Analysis Case Study, Data Integration Logical Design, Data Integration Logical Design Case Study, Data Integration Physical Design, Data Integration Physical Design Case Study, Data Integration Development Cycle, and Data Integration Development Cycle Case Study.

Part 3 Data Integration with Other Information Management Disciplines - Data Integration and Data Governance, Metadata, and Data Quality.

It also includes four appendices - Exercise Answers, Data Integration Guiding Principles, Glossary, Case Study Models.

The thing I like most about this book is the way the authors follow each new topic chapter with a case study chapter. They introduce the theory and best practices and then they bring that to life through a real world case study.

Another thing I like about the book is that it is down to earth and very realistic. I have recently been on a MDM project. There are a lot misleading resources out there. The same can be said for data integration. The theme of the misleading resources is, "Buy this tool, install it, and push the magic button, and watch the fairy dust do its magic." Tools are important, but they are only a small piece of the puzzle. Without the proper process and governance in place the tools are worthless. This book does a great job of covering the importance of data governance.

Another key is upper management support. Projects like these and MDM don't get done without upper management backing. Thinking that you can build it and they will come is just a path to self destruction.

The book also acknowledges and addresses the key difficulties with data integration projects. One I always dread is reverse engineering source systems. They are never documented and if they are the documentation is out of date. You must go from person to person and suck the information out of their heads.

Subject matters experts not only need to be identified, but they need to be given the time to help the project. This is always a problem, but with out upper management's support, it becomes impossible. The experts are usually the only source for all the maintenance issues going on.

The book has a ton of diagrams and tables that help with understanding the topic at hand. The authors do a great job of using them to visually get their points across. The book is also loaded with great real world example diagrams and data represented in tables that make the process they are covering easier to understand. It's like getting to go through a data integration project.

All in all I highly recommend this book to anyone in IT. Data integration is part of all IT projects. Managers, architects, DBAs, CIOs, developers, testers, and business users would all benefit from reading this book.

Data Integration Blueprint and Modeling: Techniques for a Scalable and Sustainable Architecture

posted by tadanderson at 4:20 PM 0 comments

Silverlight 5 was Killed Last Year and then Released Today

Woo Hoo... or who cares? I'll download it, play with it, but none of my customers will use it until Microsoft starts talking about its future.

Check out Microsoft moved my cheese again and I don't really care to find it. for all my thoughts on Microsoft.

posted by tadanderson at 2:47 PM 0 comments

Wednesday, December 07, 2011

The CERT Oracle Secure Coding Standard for Java Book Review

I really like the CERT books. This one is no different, however, it is not one to read from cover to cover, at least not for me. It contains a catalog of rules for programming secure java code. What I have been doing is using it to look up rules about topics found in other resources that I have been using to learn the java environment.

Although the book contains a great index, there is an online version of this book which is really nice. It contains a really sweet search. I have been using that a lot to find the topics I am interested in, marking them in the book, and then reading about them in the book. The online version of the book contains all the code samples found in the book.

The is a nice introduction that you will want to completely read. It gives a really nice overview of java programming security issues and introduces the concepts that can make it safer. The concepts in this chapter introduce the chapters that contain the details rules.

After the introduction the book contains the following chapters. Input Validation and Data Sanitization, Declarations and Initialization, Expressions, Numeric Types and Operations, Object Orientation, Methods, Exceptional Behavior, Visibility and Atomicity, Locking, Thread APIs, Thread Pools, Thread-Safety Miscellaneous, Input Output, Serialization, Platform Security, Runtime Environment, and Miscellaneous.

There are a ton of nice code samples which show the commonly implemented noncompliant solutions and then the compliant solutions. I mentioned above they are all available online.

Although there is a free online version, I am not one to read e-books or anything on the computer I don't have to. I am on it way too much to want to read on it when I don't have to.

I find the author's writing style makes the book an easy read. It is also in a very nice format. Each chapter starts with a list of the rules it covers and a risk assessment summary. They then cover the rules and end with related guidelines and bibliography.

The thing I like most about the book is that although it makes it clear that it does not cover Design and Architecture, Content, Coding style, Tools, and Controversial Rules, I still believe all these areas will improve if you use the advice found in book.

All in all I highly recommend this book to every java programmer.

The CERT Oracle Secure Coding Standard for Java (SEI Series in Software Engineering)

posted by tadanderson at 4:11 PM 0 comments

Monday, December 05, 2011

Software Architecture: A Comprehensive Framework and Guide for Practitioners Book Review

This book is truly a holistic view of software architecture.

This book structures the book around an Architecture Orientation Framework. The framework is based on open question words. A chapter has been dedicate to each. The framework provides a nice common vocabulary that makes team communication easier.

The chapters of the book include Architectures and Architecture Disciplines (WHAT), Architecture Perspectives (WHERE)' Architecture Requirements (WHY), Architecture Means (WITH WHAT), Organizations and Individuals (WHO), and Architecture Method (HOW).

Each chapter is laid out in the same logical format. They start with a nice concept map that puts the elements of the chapter into a nice contextual overview. They continue with the body of the chapter and end with a summary and a nice further reading section. Chapter 8 is unique in that it has a ton of really nice checklists to help you assess the various requirements of an architecture.

There are a ton of topics covered in this book. Some of them are Zachman Framework, Reference Model for Open Distributed Processing, 4+1 View Model, Open Group Architecture Framework, Requirements Characteristics and Types, Organizational Requirements, System Requirements, Qualities and Constraints, Requirements in the Context of Architecture, Loose Coupling, High Cohesion, Separation of Concerns, Abstraction, Modularity, Traceability, Procedural Approaches, Object Orientation, Component Orientation, Model-Driven Software Development, Aspect Orientation, Tactics, Styles, Patterns, Layered Architectures, Dataflow Architectures, Repositories, n-Tier Architecture, Rich Client versus Thin Client, Peer-To-Peer, XML and Other X Standards, Databases and Persistence of Business Objects, Architecture and Development Processes, Architecture Method, and Maintaining the Architecture.

Software Architecture is necessary for building complex software applications. All software has an architecture. You can either plan that architecture, or just let it happen. The later delivers chaos and legacy software every time. I have seen a lot of teams out there in denial. They deliver software that is over budget, well past promised dates, and so buggy more team members are required to maintain it than were needed to build it.

This book can help you get a clear understanding of what software architecture is all about. It can help you move past the emerging architecture mess and onto a planned one. One that has the right amount of supporting documentation that keeps the software from being legacy software the day it is delivered.

One thing I like about this book is that it is not a reinvention of the wheel. The authors do a great job of incorporating industry best practices that have withstood the test of time, as well as included all the newer elements of software architecture that have come about in recent years.

I have 15 years of software architecture experience and have read tons of other books on the subject. This one will stay near me on all my gigs. It not only makes a good cover to cover read, it also works great as a reference.

All in all I highly recommend this book to any software architect. The book is good for all levels of experience.

Software Architecture: A Comprehensive Framework and Guide for Practitioners

posted by tadanderson at 9:24 AM 1 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger