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.

Saturday, November 13, 2010

My experience with the cloud.

In an effort to catch up on a backlog of podcasts, I came across episode 318 of the javaposse podcast. The hosts discuss their experiences with cloud computing.


I have recently the chance to work with Amazon Simple Storage Service (Amazon S3). My experiences so far:

  • Easy to set up. Just have your credit card and you are ready to go.
  • Easy integration. I used the Amazon S3 SOAP API (the java sdk) and found no issues with the integration in my existing infrastructure.

Some gotchas I came across:

  • The Amazon Web console had required port 843;however I recently learnt that this is no longer a requirement
  • Amazon Web Services Identity and Access Management (IAM) allows you to create user identities and assign credentials to users under a singe Amazon Web Services account.IAM is in beta and can only be accessed by an API. There are plans to incorporate IAM within the web console.

Saturday, October 23, 2010

Google’s Privacy Dashboard

 

It was with interest that I came across Google’s privacy Dashboard. When you log in you will see all the  information that Google has for you.

With the recent privacy issues  making the headlines  recently, it is good to know what data you have out on the web.

Sunday, October 3, 2010

New name for twitter client

As you may have known Twitter clients are now required to use the  oAuth authentication protocol. To acquire a consumer key and consumer secret key you need to register your twitter client/application at http://twitter.com/oauth_clients/new.

What I have discovered is that you will be presented with a error message if you register an application with ‘Twitter’ in its title. So it is off to find a name for that twitter application.

Saturday, July 31, 2010

No car equals using LTC Web watch

My car had to be at the mechanic for a couple of days which meant I had to take the bus to work.
It had been a while since I took the London Transit;however I got the opportunity to use the LTC Web watch monitor which provides real time location of the LTC buses. I must say I found the Web watch monitor very useful and very accurate.

Another result of not having my car was that I was able to catch up on my reading. In the spirit of London's City Council passing the Open data initiative I had the opportunity to read the following interesting articles:

Real Web 2.0: Linking Open Data
Linked Data
How to publish linked data on the web

Friday, July 23, 2010

Open data comes to town (London,Ontario)

On July 21st 2010 The London Board of Control voted in favor of opening parks and recreation data. This is seen as the first step in the support of an open data initiative in London. What this means is that machine readable data will be made available to be used for web and mobile applications.

I imagine getting an e-mail alert a day before my garbage pickup. Many mornings I have got up to see the back of the garbage truck to realize that I did not put out my garbage. The potential for applications are huge. With data also comes the use of predictive analysis for you data mining geeks. Other Canadian cities like Toronto and Vancouver have embraced open data.

One current example of open data application is the website eatsure.ca website which displays health unit restaurant inspection information onto a clickable map. I look forward to more applications in the future.

For more information on open data you can check out this wikipedia's entry . Also, check out Tim Berners-Lee's TED conference on examples of using open data.

Saturday, July 17, 2010

List of open source packages

I came across this list of free and open source software packages from wikipedia. It is quite a comprehensive list that has categories such as Science, Theology,Networking and Games.
Before purchasing a software I will definitely take a look at this list. Two software I currently use from this list are RSS Bandit and KeePass.
RSS Bandit I tried it after my previous RSS reader crashed too many times. RSS bandit is written in .NET and it syncs my Google Reader Account
KeePass I find useful to store and encrypt my passwords. You have the option to install on your PC or have it on a flash drive.

Due to the economic climate of 2008, some companies started to look to open source in a effort to reduce IT cost. Why not you ?

Wednesday, June 16, 2010

I still do not have a smart phone

In one of my earlier posts I had mentioned that I still own a compaq ipaq;however after no more software support (especially for new dates for daylight savings time) it was time to move on and say good bye.

Enter my ipod touch. Still no smart phone;however I can make skype-to-skype calls once I have wifi access. I am currently enjoying my ipod touch, especially the World Cup 2010 apps.

Will I be getting a smart phone ? Who knows, as ubiquitous computing becomming more and more pervasive chances are I will. It took me many years to move away from my compaq ipaq, so only time will how ubiqutous computing will evolve.

Sunday, April 25, 2010

My first Google sites wiki

As part of my Organization Behavior course I had to work with a group to write a paper. This was an online course and my group consisted of 4 individuals. Since this course was a purely online, the team had to work together virtually.

One of the first challenges we met was how to share the document. It was suggested to use a wiki. I took the challenge and because of the tight deadline use the Google sites wiki.

I found the Google sites wiki very user friendly and very customizable. The on-line help was very descriptive of how to make your own changes to the wiki.

I had only two issues with the wiki: (1)I did not observe the ability to execute a ‘diff’ on two versions of the same document. Hence you could not compare version 1 and version 2 of the document to see what the changes were. (2) It appears you need a Google account to be a member of the wiki authorized to make changes. My fellow team members did not have Google accounts, so I had to create a Google account for the entire team.

Overall I like to Google sites wiki. Hopefully the Google sites team can address the two issues

Friday, March 19, 2010

Mix 10 slides

So mix 10 videos/slides are available at http://live.visitmix.com/Videos.

Time to download my videos with my python script.

Friday, February 19, 2010

My script for downloading PDC09 presentations

So Microsoft PDC for 2009 was sometime ago. On the site are videos of presentations which are available for download. Having short-listed the presentations that interested me (and it turned out to be all of them), I decided to download the videos and view them at a later date. I had two choices:
1. For each link, right click and chose “Save Target As”
or
2. Find some script to download all videos.

My decision was to find some script to download all the videos. Microsoft does provide a script via a batch file. You need to install cRUL; however my personal decision is to move away from batch files. I could not find any other script online so I decided to create one my self.
Leverage my python skills I created the following script.


import os
import getopt

class DownloadFiles:
def init(self):

self.dic_downloaded_files = {}
self.fname = ""

def download_files(self):
for line in open(self.fname):

linesplit = line.split()
wgetCommand = "wget" + " " + "--output-document=" + linesplit[0]+ ".wmv" + " " + linesplit[1]
os.system(wgetCommand)

def run(self,argv):
self.init()
if "-f" in argv:
self.fname = argv[1]
print "file name : " + self.fname
else:
print "No file in command line"
sys.exit(2)


self.download_files()


if __name__ == "__main__":
DownloadFiles().run(sys.argv[1:])


This script uses the GNU wget.This script parses a text file containing
1. The name of the file when it has been downloaded to disk(linespilt[0]). On the pdc website the name of videos have the name like “CL11”. I want a descriptive name so I can know what this video will be presenting.
2. the url of the video I want to download (linesplit[1]) and the name of the file

The following is a sample a line in the text file
AdvanceWPFApplicationPerformanceTuningandAnalysis http//ecn.channel9.msdn.com/o9/pdc09/wmvhigh/CL11.wmv

This was a script I wrote in about 30 minutes, and I am sure there are some errors somewhere;however I was able to run the script and get all the files. Also I realized I needed extra space on my hard drive.

Friday, January 29, 2010

Getting things done – The IT professional/geek edition


  • The December issue of Information week
  • Design Principles
  • Intel Parallel Studio evaluation CD
  • ”Core Java volume 1 fundamentals”;
  • ”Web Application Architecture Guide”

These are just a few of the stuff on my desk,and represents what I try to do as
it relates to growing my knowledge to information technology. I am sure I am not alone.
As IT professionals/geeks we are bound to keep our skills up the date else we find ourself in the Smithsonian. We keep our skills up to date by learning a new language or framework or working on projects outside our 9-5 job. I would see all this stuff
on my desk and wonder where to start. I realized that I needed a process/framework for getting things done as it relates to learning and keeping my skills update.

It was recently I was introduced to David's Allen Getting Things Done, and I must say that I wished I had found it earlier. Before reading this book, I would say to myself that I wanted to learn a new programing language or a new framework;however after I read this book I learned that I needed to say what are the next actions/steps to take to learn that new programming language.

Monster.com recently posted an article about 50 books every geek should read.I was pleasantly surprise to see that Getting Things Done had made that list.I totally agree that this a book every geek should read and highly recommend it.




As you can see from the diagram, the Getting Things Done (GTD) process is a recursive one.
You process each of the the stuff you have collected in your “in-basket”.
For me it is all those IT related magazines,programming books,white papers,etc,etc.
GTD makes you ask yourself two questions
  1. What is this stuff in my in basket
  2. Is it actionable ?

The answer to the second question puts you on your path to productivity. Your answer can result in:
  • Stuff you do not need – hence you trash it or file it for some reference
  • The creation of a plan (to learn a new programming language)
  • The next actions you need to take( This could be buying that ruby book as part of your plan to learn ruby)
GTD does not have to apply to learning and keeping up your IT skills. It can be applied to your to your home and work life as well.

So to all you geeks/IT professionals, go and get things done!

Saturday, January 2, 2010

Season's greetings from openSUSE


I installed openSUSE 11.2 and I must say I find it a candidate for the Linux desktop. One observation , and it started happen close to Christmas, was this screen (see photo) during the booting of openSUSE. (Taking a photography class is now on my to do list)

The boot screen looks like a postcard from the north pole. The tux Linux penguins were all decked out for the Christmas holidays.

I guess it is openSUSE's way of saying "Merry Christmas and all the best for 2010"

What oath/code of ethic do you follow?

On November 13 2009, two programmers who worked for Bernie Madoff were arrested. They were charged with criminal conspiracy and accused of producing false documents and trading records. This arrest has shown that that IT professionals can also be arrested if the company they work for was involved in illegal activities.

Doctors are bound by the Hippocratic oath; however what oath/code of ethics do we as IT professionals follow.A portion of the short version of the Preamble for the Association for Computer Machinery's Software Engineering Code of Ethics and Professional Practice reads:

Software engineers shall commit themselves to
making the analysis,specification, design,
development,testing and maintenance of software
a beneficial and respected profession. In
accordance with their commitment to the
health, safety and welfare of the
public, software engineers shall adhere...
A portion of the The Canada's Association of Information Technology Professionals code of ethics reads:
All CIPS members (including students) agree to
abide by the Code of Ethics and its ethical
principles/imperatives:
Protecting the Public Interest
and Maintaining Integrity;
These two codes of ethics both refer to protecting the public. If the Bernie Madoff programmers had follow one of these code of ethics we may not have had one the biggest ponzi schemes in recent times. We as IT professionals are committed to our company to ensure that the company's strategic goals are met;however we must be aware of deliverable we produce will not cause harm to the public or violate ethical boundaries. We may fear job loss if we protest in the light of illegal activities;however isn't it more fearful living in prison cell ?

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.