The Chicago Architects Group will be holding its next meeting on May 28th. Please come and join us and get involved in our architect community.
Register
Presenter: Sean Blanton
Topic: Trends in Continuous Integration and Software Delivery
Location: Microsoft - Downers Grove
3025 Highland Pkwy
Suite 300
Downers Grove, IL 60515-5506
Time: 6:00 - Doors open at 5:30
This is a topic that we have been discussing around the water cooler lately. And then this morning I found a blog entry which covered the same subject and I figured I would pile on.
As architects we have to keep up with as much as possible. The means reading incessantly. With tomes that reach into the high hundreds of pages and articles and blogs spitting out new material daily this is a major challenge. This is doubly true for me since I never developed speed reading skills.
I really like Garry’s suggestions. They aren’t anything new, but reminders always help.
This is a subject I am just starting to understand. I talked with Dave Bost the other day at the February CAG meeting about Azure. This morning the subject came up again as I was listening to the Thirsty Developer podcast. These got me thinking about where does cloud computing fit in?
As I understand it the difference between ASP model and Azure is that an ASP is hosting their application for you to use and what Azure offers hosting your application. Now this differs again from normal hosting companies since with Azure you are purchasing application resources instead of server resources. I believe that as a term “Cloud Computing” can actually cover all of these scenarios.
Where I see this as an opportunity is for smaller companies who can’t afford a staff to manage a set of servers. I am sure that large companies will also leverage this technology, but proportionally this type of expense is a larger part of a small companies expenses. Spend your money on developing applications that allow you to run your business, not on maintaining a server farm and all that goes with it.
Of course all this is just initial thoughts based on very little information. What I do think it deserves is a closer look.
The Chicago Architects Group will be holding its next meeting on February 26th. Please come and join us and get involved in our architect community.
Register
Presenter: Paddy Srinivasan
Topic: Cloud Computing
Location: Microsoft - Downers Grove
3025 Highland Pkwy
Suite 300
Downers Grove, IL 60515-5506
Time: 6:00 - Doors open at 5:30
Angela Binkowski covered Visual Studio 2010 focusing on the architecture tools at the most recent CAG meeting. This was a great evening with a lot of lively discussion. This would have been a great event for people who don’t think that Microsoft listens. As Angela was doing here presentation she was taking notes to bring back to the product team.
Some of the highlights that I found interesting included:
- The Layer Diagram is a component or context diagram of sorts. The nice thing about this document, beyond the fact that we actually have one now, is that you can use it to validate that an application follows the general architecture.
- Being able to generate diagrams that will show namespace dependencies and create sequence diagrams looks like it will be a real treasure when you are investigating applications that you have to maintain but are not familiar with.
I encourage you to follow this blog and the Chicago Architect Group website for updates on upcoming meetings. Come join our growing community.
I was listening to an episode of .NET Rocks in which Ted Neward spent some time discussing the direction that languages are going. This was predominantly a discussion of the DSL concepts, but the interview got me thinking about languages and how we design the internal structure of applications.
One of the main things that struck me was that something about objects has never felt quite natural. I have never found a decomposition technique that I was satisfied with. Looking at objects as nouns in your domain was an easy way to start. The problem was defining where operations lived. Some naturally belong within an object and others landed in a gray area. So you start creating objects that are data transfer objects which are operated on by objects that are method containers. When you do this you find that you are really just doing procedural development in an object environment.
Coincidentally Scott Hanselman had a show on SOLID with Uncle Bob (Robert C. Martin) around the same time as the .NET Rocks show. Below are the principles that make up SOLID.
- Single Responsibility Principle
- Open Closed Principle
- Liskov Substitution Principle
- Dependency Inversion Principle
- Interface Segregation Principle
Note: Uncle Bob noted that he came up with the acronym before someone else suggested calling it SOLID.
These are the type of principles that I both admire and they drive me nuts. On one hand you have a “duh” moment when you are told to limit the number of reasons that an object should change to one. On the other hand, the lazy developer inside you says “that is going to take a lot of typing” as you create ever larger numbers of objects.
Ted indicated that we thought that objects were the way god thinks about the world and this was the end-all-be-all. In reality we find that some parts of software should be simpler or even abstracted further. This is why we are coming up with more scripting languages as well as DSLs with code generation. If a concept calls for a lot of detail but is one logical unit that can be reused then abstract it to a higher level. Don’t right it repeatedly at its lowest level.
One of the best questions brought up was “what do you want from a language”? This is a great question which of course brings up more questions. Where do you draw the line between language and design. Ted commented that languages are designed to reduce complexities so that we can attack greater complexities. This is another one of those “duh” moments, but if we don’t keep this in mind we will often use the wrong tool for the job at hand.
The key is to use tools and techniques where they make sense. Dogmatic use of a single technology or design approach is an invitation to disaster. Fill your tool box with hammers, chisels, screw drivers and anything else you can acquire so that you aren’t using a butter knife to carve a wooden figure. Learn as many languages and software packages as you can find time to. Don’t worry like most people do about forgetting what you leaned. It will come back to you when you go to use it again.
In the end the best tool you can ever have is knowledge and experience. Evaluate what you have learned after each project and leverage that for the next. Never stop looking for a better mouse trap, but if a simple spring trap will work use it.
The Chicago Architects Group is kicking off a new year with it’s first meeting of the year on January 29th. Please come and join us and get involved in our architect community.
Register
Presenter: Angela Binkowski
Topic: Visual Studio Team Systems 2010: Architect Edition Tools Preview
Location: Illinois Technology Assocation
200 S. Wacker Dr., Suite 1500
Room A
Chicago, IL 60606
Time: 5:30 - Doors open at 5:15
Years ago I used to spend a fair amount of time playing computer games. The problem is that I found it to be quite a time suck.
Fast forward to this Christmas and my children got a Wii as a present. I never thought that a game could increase quality time with your kids. I found that it gives me an opportunity to interact with them on a more relaxed basis than just helping them with their homework. Multi-player video games are the board games of the 21st century. Who needs Candy Land when you have Playground and can race slot cars with the kids. I know it isn’t quite the same, but I will take it.
If you have followed my blog for a while you know that there were a number of graphic issues I had to begin with. In a change of event I am noticing lately that there are features of the Windows Explorer that are coming in handy.
The first thing was the rating system for images. Many times I have heard the Lightroom experience described and its star rating system. From the day I started using Vista I noticed that it had similar capabilities, but it wasn’t clear how to use it beyond a single file. Honestly, I didn’t think it was that useful and didn’t spend the time to dig deeper.
Last week I had a large number of images I wanted to process and I was having a hard time narrowing down the keepers. It occurred to me that if I could rate the images and sort them by rating this could help me to review the similar images that were distributed randomly across the group of files. It made for a good tracking and workflow tool.
Today I started working with tags more, based on what I learned with the ratings. As my number of images have been growing I am finding it harder to locate images that I want to show people while discussing a topic. Slowly I am finding there are helpful surprises all over Vista. Time to go explore more.
Technorati Tags:
photography,
vista
Larry Clarkin of The Thirsty Developer podcast is one of the leaders of the Chicago Architects Group and makes the Microsoft office available for some of our meetings. As we were setting up for last week’s meeting Larry was recording an episode of The Thirsty Developer. There were a few things about the situation that surprised me.
The first thing was that I always imagined a large box for recording and head sets and everything hooked up to a computer. The whole setup was barely noticable except for that large professional microphones. You can actually see how simple the setup is on the most recent episode’s page.
The second surprise was how much distraction Larry could put up with and still keep on track with the interview. We were moving in and out of the room as people showed up and were setting up the food and drinks for the evening. We carried on conversations just outside the room and they never missed a beat. Then again I’m sure when Larry and Dave are recording in a bar or at a conference they have a lot more to deal with.
In all it was interesting to see just how these shows come together. I now have a new appreciation for people that do podcasts that I spend so much time listening to.
Please join us for the upcoming Chicago Architects Group meeting. The discussions during the meetings are usually lively and great for exchanging ideas. Please register at the link at the end of the information below. Hope to see you there.
Chicago Architects Group - Thurs, November 20th
Microsoft Corporation
3025 Highland Pkwy.
Suite 300
Downers Grove, Il 60515
Presentation :
Presentation at 6:00pm, doors open at 5:30pm
The Business Process Workflow Model, a case study
by Howard Edidin
Register Here
I was listening to The Thirsty Developer podcast as I was driving into work this morning and was introduced to an interesting note taking technique called Sketchnotes. It is interesting in that instead of writing notes as you listen to a talk you more or less doodle. Being a rather visual person myself this has an appeal. During the discussion I got the impression that this is based on the concept that a picture was worth a thousand words. Perhaps it would be more accurate to say that a word is the picture that is worth a thousand word. Too cliché? Oh well. Give the episode a listen and check out Mike Rohde’s blog. Tools like these could really help as our jobs require us to remember more and more information.
Why do we strive to write the most elegant and compact code? I was working on a piece of code recently that the most straight forward way to write it would be dozens of if statements with redundant lines of code. This bugged me so much that I actually spent an hour looking for a framework method to simplify the code. Of course this search blinded me from the quick solution of writing a simple helper function.
So why does this bug most of us? I believe that it is the mark of good developers, analysts and architects to strive to find the best solutions. This is art. You can’t just settle for painting a picture. The end product needs to make a statement.
My experience also emphasizes a balance that you need to keep in mind. That is the balance between doing things “right” and getting things done. Some times you have to work on getting things done and then come back and clean it up. To my view this is a good argument for refactoring.
Don’t give up on creating elegant code and be sure to pass on what you learn to the next generation developers.
Last night was the fifth meeting of the Chicago Architects Group at the Illinois Technical Association in downtown Chicago. Eduardo Goncalves of Daugherty Business Solutions lead a lively discussion on the 7 Habits of Highly Effective Architects.

Some of the highlights included discussions about the finding business champions, keeping up with technology and evaluating trade-offs when a project is under the gun. Stay tuned for details of the up-coming November presentation.