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 ?