Last Thursday (6/23/2011) I had the privilege of delivering my new talk, “CQRS: Crack for Architecture Addicts or an Idea Whose Time Has Come?” to the Philadelphia-area ALT.NET user group. This was my first delivery of this new talk in my repertoire and overall I think it was pretty well received (at least based on the feedback from attendees that night). For whatever reason, Philly ALT.NET has become a sort of a test-bed for some of my new talks – about 18 months ago the Philly ALT.NET group was venue in which I first delivered my “Domain Driven Design Implementation Patterns in .NET” talk in its single-session format (prior to that I had only delivered it as two separate talks, the first talk all theory and concepts and the second talk almost all code).
Perhaps there’s something about Philly ALT.NET that makes me want to experiment with new content…or maybe its just that I can high-tail it out of there to drive back to NYC afterwards so if a new talk is a complete failure I can safely head for the hills and avoid the mob of pitchfork-wielding developers demanding my head on a pike if my talk sucks
.
All kidding aside, I’m not really certain just exactly why I seem to have a history of testing new content on Philly ALT.NET, but in a sense they benefit from my willingness to experiment with them.
Man, Can I Talk for A Looooong Time!
Since this was a completely new talk for me, I’d not really had any past experience with how long it would take to deliver this content. But one thing that I did know for certain was that with 50+ slides there was no way it was going to fit into an hour . I’d rehearsed the delivery of the content (both the slides and the code walk-through) beforehand and came up with about 2 hours for the talk. When you folded in Q+A both during and after the content, it ended up taking about 2.5-3 hours to deliver the talk.
This is (of course) significantly longer than most (all?) user group presentations and it almost entirely rules it out as a talk that could ever be delivered at any event with a pre-defined time-slot (i.e., CodeCamps, etc.) unless 2 back-to-back session slots were allocated for it but if you’re in the mood for what is basically almost a half-day seminar on CQRS, then this talk might be for you!
This is in fact the very same problem with the aforementioned Domain Driven Design Implementation Patterns in .NET talk – its just infeasible to try to fit it into anything shorter than about 2.5 hours. To the credit of most of the attendees, nearly all of them stuck with me until the bitter end (9:30pm or so!) so I’m not quite ready to conclude that the talk is too long, just that its longer than a ‘typical’ talk. I suppose that after sitting through my 3-hour Domain Driven Design Implementation Patterns in .NET talk and now this one, Philly ALT.NET attendees are probably starting to understand that asking me to come speak means surrendering about 3 hours of your life to learning about new things . I’m probably starting to be known down in that area as “the 3-hour talk guy”, but I suppose that so long as that’s also “the 3-hour valuable content guy”, I think I can live with the reputation. Fortunately, the comments I received from attendees seem to imply that they got a lot of value out of the talk and weren’t disappointed by losing three hours of their lives, so I’m thinking that on balance this talk was a success.
Beta Presentation: Room For Improvement
I began the talk by telling the room that this presentation is still very much a work-in-progress. Of course, I like to think that every time I deliver a talk I learn about something else that can be tweaked to improve the next delivery of the same content, but in the case of this being the first delivery, things were much more in flux than for a talk I may have given multiple times prior. Overall, the feedback was very positive, but there were also some comments that pointed out areas for improvement.
One comment that I took to heart was that the content is too front-loaded with slides and back-loaded with code. Anyone who has seen most of my talks knows that I usually prefer to flip back and forth between slides and code during the entirety of my presentation rather than the often more common approach of “all slides up front followed by all code at the end”. I find its more engaging (and effective!) for the audience to see slides that introduce a concept and then flip to explore code that demonstrates the concept in practice before returning to the slides to introduce the next concept.
With this talk, I abandoned that tried-and-true approach of intermingling code with slides and went with all-slides-up-front followed by all-code-at-the-end. My reasoning for this was that I felt strongly that there were enough new concepts to introduce with CQRS that it would be important to lay a solid foundation of understanding them in their entirety before trying to fully grok parts of a code sample. I still feel this to be a challenge with explaining CQRS to audiences, but I’m not convinced that solving it as I did here by massively front-loading the presentation with slides is really the right answer.
As developers, we are probably hard-wired to want to see code ASAP and I think that too many concepts introduced before we see this code probably risks losing our interest and our focus (though I give the Philly ALT.NET audience big props for sticking it out with me as we plugged through the 50+ slides up front!). I definitely need to rethink a way to have a sample with small subsets of the code that we can explore to reinforce each of the concepts as they are explained rather than trying to ramp up on all the concepts and then exploring a comprehensive sample that demonstrates all of the concepts at once. Its pretty clear to me that my present choice of ‘CQRS Sample App’ probably isn’t the right choice to show people individual discrete CQRS concepts one at a time so this is an area where I feel I probably need to rethink things a bit in re: what I use as my sample as we move through the slides.
Live and learn – the Agile tenet of Continuous Introspection and Improvement is alive and well in this process!
Slides, Code, and other References
For those interested in the slides from this talk, they can be downloaded here.
The links in the final reference slide (which also include the code sample(s) used in the talk) are reproduced here for convenience:
Central Hub for All Things CQRS: http://www.cqrsinfo.com
Udi Dahan’s on CQRS (et. al.): http://www.udidahan.com/2009/12/09/clarified-cqrs/
Simple CQRS Sample Application: https://github.com/gregoryyoung/m-r
Comprehensive CQRS Sample Application: https://github.com/MarkNijhof/Fohjin
Jonathan Oliver’s Post on his Event Store project: http://blog.jonathanoliver.com/2010/07/cqrs-event-store/
Rinat Abdulluin on Getting Started with CQRS: http://abdullin.com/cqrs/
Greg Young on Testing Your Domain Using Events (video): http://skillsmatter.com/podcast/design-architecture/talk-from-greg-young
As mentioned, if you attended this talk and have constructive feedback to offer, I’d be very appreciative if you visited http://spkr8.com/t/7876 and provided a rating, comments, or both!
And if you’re going to be in the area, I am scheduled to (re)deliver this same presentation several times:
- New York City Domain Driven Design User Group July 6th, 2011
- Central New Jersey .NET User Group on September 8th, 2011 (not listed on their site yet, but stay tuned as the date approaches for the RSVPs to open up)
I’d love to see you there at one of these events if you’re interested in the content but missed the Philly ALT.NET meeting (but bring a comfortable chair since it’s a 2+ hour talk!)
Nice to see you alive and kicking :)…… and posting again.
There is also a pretty good blog from Mark Nijhof about CQRS at http://cre8ivethought.com/blog/2010
ps: still waiting patiently for the rest of DDD videos, guess there’s going be some CQRS in them as well 😀
@Valdimar:
Thanks — after a bit of a hiatus from blogging, I’ve decided to return to it again with the conclusion that even if blogging is indeed dying I’m at least not going to contribute to its death 🙂
Thanks for reminding me of Mark’s blog; his CQRS ‘sample’ was actually referenced in the links in my post (and his github page points to his blog, of course), but I probably should have listed it explicitly all the same!
Thanks again~!
Century to a kind of destruction:
Thank you for an effectively written conversation post as well as anticipating continue collaborating with this expert assignment was excellent would certainly refer any person to utilize you all when it comes to assiting with job it was great yet had some misunderstanding as well as not clear for the tutor yet I attempted. and also obtained programming tricks somehow great marks
Very Nice This is a good place for contributing niche helpful tips. Your vast amount of knowledge is extremely solid gold and will advance me in my spare time. I saved this post and will returning for more posts. I came upon the info that I had already looked everywhere and just couldn’t find. What a perfect web-site. On my days off I am continually fascinated metal roofers flagstaff.
Greetings dear friends. My mates and I super excited we came across the shares here. Ive been crawling the net for this info for years and I will be telling my colleagues to swing by. The other night I was toggling through the internet trying to locate the answers to my revolving questions. Now I am entrusted to take things higher in whatever method I can. We are getting all spaced out on the revelations we are observing. Moreover, I just had to thank you from the bottom of my heart for such excellent assistance. This has boosted me out of a tough situation. Many superb knowings are gaining momentum my world. Its really a special place to make new friends. You may value that I am looking into. If you have time, take a look my newly created website:water removal orange county around FULLERTON CA
Ciao to all. My friends and I are excited to have found this site. Ive been going through my library for this info since last weekend and I will be imploring my membership base to swing on by. The other night I was blazing through the google searches trying to discover the right solution to my staggering questions. Now I am inspired to take more responsibility in whatever method I can. We are getting all jazzed out on the signs we are observing. Moreover, I just hoped to thank you while I could for such open sourcing. This has pushed me out of an old rut. Many spiritual creations are shaping around my world. Its really a special community to make new engagements. I will share also that I am researching. If you have time, visit my newly created spot:orange county restoration services near HAWAIIAN GARDENS CA
Wedding event pictures and also the film turn out to be a lasting memory for the husband and wife along with the guests. A ideally taken marriage image houses glamor, style and is literally essential for the couple. Because it’s a really significant day for two people, they might desire to record these recollections and by making a video of the wedding event would be the simplest way to treasure all opportunities. As a marriage planner it really is important to make sure that the professional photographer while the videographer hired would be the best.
Nowadays the majority of the young couples render a lot more significance to your wedding party video recording or perhaps the special day video as this video can be delivered back house to those family relations who have been struggling to be present before the wedding. Unique system has managed to get a possibility to not only initiate a wedding video but also to make it a wedding film at an acceptable cost. It really is typical these situations that a lot of of the young couples prefer movie videography of their weddings.
Wedding photography may be the photos of actions relating to wedding arrangements. One of the most essential aspect of a wedding could be the picture taking. The wedding photography is exactly what is that remains anytime everything else is missing
Event ornaments have become even more enhanced with all the improvement in time and the involvement of wedding event and even cruise directors. Theme sourced wedding ceremony adornments has supplied a lift to ingenuity in wedding event concepts. The decoration style a adviser selects should be able to create the most appropriate feeling for the wedding broadcasting along with make your relatives safe. The necessity of adornments shouldn’t be unnoticed. They could produce an environment to the wedding event event that may enhance the elegance of the ceremony, exhibit the wedding couple, and promote the romance of this function.
First and foremost, as a professional photographer, make certain you has integrity in what you do. It may you should be strive to you, however it is a once-in-a-lifetime night for some one – you’ve been hired to do a job, don’t chaos that up. This is basically the no. 1 reason why I definitely will never ever photograph wedding parties getting considerate does not produce that something extra although at the same time, taking risks can be a mix up just in case you miss out the opportunity. And I would not desire to fall short on either count for the client.
As a public, are schooled: understand what you desire in terms of form, accessible, and just how much it must roughly price begin to see the efforts of numerous someone and obtain quotes before you make a decision. inquire a photographer friend for an opinion if in skepticism. The most informed you are, the greater a product you are likely to access. if you’d like to completely learn more info on it topic explore your karate website : Richmond Wedding Photographer
The necessity of Water and Black mold minimization together with Drywall Repair in Laguna Beach
Water damage and mold and bacteria expansion may have serious consequences for house owners in Aliso Viejo, CA. From damaging the dwelling of the house to which affects the health insurance and well-being of this residents, it is very important to deal with these problems promptly. Suitable water and fungal extenuation through drywall repair is important in preventing water damage and promising the endurance of the house.
Water damage and mold may be brought on by a number of origins, particularly leakages, floods, furthermore lake intrusion. Neglecting water damage and mold can result in pricey repair work and badly impact the overall worth of the home. Approaching water damage and leaking quick is important in fighting extra destruction as well as guarding the house from potential water damage and mold.
Among the best how to prevent water damage is through sealing downstairs room and tiny places. This can help to avoid water damage from affecting the inspiration and structure of the property. In addition, suitable routine maintenance of plumbing infrastructure and HEATING AND AIR CONDITIONING systems can help prevent water damage and mold and make certain the longevity of the property. Waterproofing roof coverings, house windows, and doors can also be critical in preventing water damage and mold and defending the house from expected water damage and mold.
Black mold emergence may be brought on by many different factors, incorporating dampness and water damage and mold. Comprehending the role of humidity in mold growth is vital in avoiding mold. Humidness level should really be directed to avoid mold growth and also to protect the health insurance and well-being for the residents.
Pro water damage and mold and mold testing is essential in establishing the extent and reason for the destruction and building a removal plan. An expert water damage and mold and mold evaluating service can help identify potential resources of water damage and mold and recommend methods to prevent further damage.
Investing in water damage and mold and mold mitigation is vital in protecting the safety and health of residents, preserving the worth of the property and avoiding costly repairs. Proper water and mold mitigation with drywall repair will help prevent water damage and mold and mold growth, ensuring the longevity and worth of the house.
Proper drainage can be crucial in preventing water damage and mold and protecting the house from possible flooding. Ensuring proper drainage will help prevent water damage and mold from which affects the building blocks and structure of the property. Proper loft space ventilation system can be needed in combating water damage and mold and sustaining the strength of the house.
Installation of water leak sensing systems can offer early notification of water damage and avoid overpriced repairs. These systems can detect perhaps the smallest leaks, delivering homeowners because of the chance to handle the matter right away.
In closing, right water and mildew and mold mitigation with drywall repair is important in preventing water damage and mold and mold development in California homes. From sealing basements and other areas to installing in water leak detection systems, house owners may take proactive steps to guard their homes from probable damage. By taking care of water damage and mold and mold punctually, homeowners can protect their own health and well-being, preserve the worthiness of the house, and prevent high-priced fixes.
If you wish to find out more info on this specific subject click on our business: drywall contractors orange county around MISSION HILLS CA