My blog has moved!

You will be automatically redirected to the new address. If that does not occur, visit
http://www.kdmcgregor.wordpress.com
and update your bookmarks.

Tuesday, October 27, 2009

Entering the Gang of Four

I finally got the chance to start reading the the Gang of Four Designs Patterns book. This book was written in 1995 and I can see where it is still relevant today.
It was interesting to see reference about the MVC pattern which is so dominant to day. What was interesting was that MVC emerged for work with the smalltalk language. Today we see it in ASP.NET MVC,Monorail,and the spring framework.
The book uses C++ to show examples of the 23 patterns. The java programmers can read the book Head First Design Patterns to see examples using the java language.

Wednesday, October 7, 2009

Software Architect 2009 conference - part II

The Software Architect 2009 conference has ended, and there are some some interesting slides available on the conference's site. Mark you most of these presentations focus on Microsoft technology.

Slides can be found at http://www.software-architect.co.uk/slides/

Saturday, September 26, 2009

Software Architecture 2009 Conference

The Software Architecture 2009 conference will be held in London from September 29th to October 1st 2009. It is described as the technical conference for software architects.
Last year's conference had some interesting sessions like

Wednesday, August 5, 2009

Mirroring Cato and Socrates


Oratory skills, as I have discovered, is one of the many skills required by a Systems Architect. In my quest to mirror Cato or Socrates, I was introduced to local Toastmasters Club.

Toastmasters gives one the opportunity to improve one's public speaking skills. One of my favorite portions of my weekly Toastmasters meeting is what is called 'Table topics". In "Table Topics", you are given the opportunity to practice your "off the cuff" speaking skills. This I have observed is an excellent skill for a Systems Architect.


I am on a Communication Competency track in my local Toastmasters club. When I complete 10 speeches, I will receive my Communication Competency certificate. Ironically my second speech was about blogging.

I am now trying to figure out my next speech. Maybe something technical- Cloud Computing, SOA, etc; however because of my fellow Toastmasters are from a diverse background, my next speech may have to be less technical.

Sunday, July 19, 2009

I do not have a smart phone


Although being a self-proclaimed geek/techie, one item I do not have in my geek/techie arsenal is a smart phone. That is right, I do not have an iPhone, a Palm Pre or any of the Blackberry variants. What I do have is my old trusty Compaq Ipaq Pocket PC (m0del 3850). Although is does not bring me closer to pervasive computing, it does serve its purpose.

My Ipaq holds my contact information, my appointments and my tasks. When it comes to my appointments, an alarm reminds me of an upcoming meeting 15 minutes before the the meeting starts. I can be reminded of when tasks need to bee completed

I usually find applications http://www.downloads.com/. If I do want to browse the web, I can insert a wireless card in the Pocket PC's expansion slot. The battery lasts me up to one week.

Overall, I have no complaint about my Pocket PC. I am in no hurry to get a smart phone. I will just observe and see which smart phone reign supreme.

Wednesday, July 15, 2009

Self-Tuned Remote Execution for Pervasive Computing

When I was doing my Master of Science degree at the University of Western Ontario,one of my presentations I did was called Self-Tuned Remote Execution for Pervasive Computing. This presentation was based on a paper,of the same name, written by Jason Flinn,Dushyanth Narayanan, and M.Satyanarayanan.

In this paper the discussion about pervasive computing concentrated on mobile devices "off-loading" execution of resource-intensive processes onto a remote server. The mobile devices would discover execution servers over a wireless network.
In addition, the paper introduced us to Spectra. Spectra would self-tune the mobile device. Specifically determine how much resources will be required to execute an application on the mobile device. For example, it could determine how much battery power to execute such application.It would be interesting to see if these new smart phones optimize the usage of resources. My subsequent blogs will discuss what I have researched.

Here is the presentation I did:



Monday, June 29, 2009

The practical architect

As I continue my role as a Systems Architect, I still yearn to type some C#,VB.NET and Java code;however as an Architect you sometime do not get the time to code.
I have discovered that this yearning to code is actually a good thing and to help on the way I have discovered the coding the architecture blog. This blog is devoted to the architect who wants to be hands on.
So my fellow architects, go and get your hands dirty.

Monday, May 4, 2009

Barebones PC

It has been a long time since I blogged. The start of spring has brought me outdoors and a to do list that has been hibernating this winter.

I just recently re-installed windows on my very old Laptop (IBM ThinkPad R31), and was about to install my necessary software like MS Office;however with the emergence of Cloud computing and SAAS I questioned the need to install additional software.

Can I just install the bare bones windows and still be productive ?

To be on the safe side, I installed my anti virus software and firewall software. Can't be too safe with cornflicker lurking in the shadows of the Internet. Firefox is my browser of choice, so that is installed. I am still in the process of running my windows updates, probably another three days before that is completed.

When I get the chance I do some programming, as such I have subversion running on my Linux box. As such I have installed TortiseSvn to access subversion.

So no other software has been installed. My plan to get around the of MS Office is to use either Zoho or Google Apps. As I proceed I shall see if I can live withought other software installation.

Thursday, January 22, 2009

cloud computing links

Here are some links to Cloud Computing resources

Wednesday, January 14, 2009

Open source license primer

With all those open source licenses out there I thought I would present an explanation of the most popular licenses: GPL, LGPL, BSD, MIT License, and Apache Licenses.

  • GPL (GNU General Public License) : Issued by the Free Software Foundation, it imposes the restriction that all code that uses GPL-licensed components has to be also licensed through the GPL. Its key motivator is to redistribute any improved code back to the community, so everybody can benefit from the improvements.
  • LGPL (GNU Lesser General Public License) : Also issued by the Free Software Foundation, it requires the redistribution of the original code together with all the new code that uses it. It can be used by non-GPL components. This means that you can use the component in your proprietary software, but the rest of your software does not have to be redistributed under the same license. However, your proprietary source code needs to be distributed also.
  • BSD (Berkley Software Distribution) License :Takes a different approach from the GPL, it only requires the acknowledgment of the original authors of the software, and thus can be easily integrated into proprietary software. Code licenses through BSD can be redistributed through the GPL without getting permission from the original authors.
  • MIT (Massachusetts Institute of Technology) License : Also called the X License or the X11 License, it is a non-copyleft, free software license that allows reuse as proprietary software. In its simplest form it grants unlimited rights under one condition: that “The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.”
  • Apache License: Apache Software Foundation authored many widely used products and projects. The Apache license is very non-restrictive, and allows using licensed software freely as long as the user redistributes the terms of the original license. It does not mandate the redistribution of their code.