Spring Time Resolution.

May 1st, 2008

Well its spring time, the ground is turning from white to brown and eventually to green. Everything seems to be coming alive so I had better follow suit. I think its time for a spring time resolution.

I am going to commit to a photo challenge for the month on May. This challenge comes from Trevor and his inspirational blog PhotoChallenge.org. He has been running challenges since December and I have been following them with a regretful attitude since I never actually participate. But that is going to change this month.

May’s challenge is shooting a new object each week. The spin on this is that you need to take more than one photo of the object throughout the week which should get you to think about how to change things up for each photo.

The first weeks object is Beverage this should be a fun and simple one to start with. Also I am going to cheat a bit since I have a picture I took a while ago of a Pint of Alexander Keith’s (see it here and here). I am just going to tag it with the photo challenge tags and start the rest of the week with taking different shots of beer. What a great subject and gives me an excuse to drink take photo’s of beer.

Hope you enjoy the pics should be a fun time.

New blog for my RSS feed

March 28th, 2008

I love how the internet just let you stumble onto new and great things. Be it the latest “Funniest Home Video” on youtube or another great blog writer. Just today I was going through my rss feeds and Max Pool had a quick little post on a new blogger he has been reading.

Now Max’s article isn’t much more than “I like his posts here are a few of my favs“. Short simple and piqued my interest.

So I went over to Jurgan Appelo’s blog and took a look at the arctiles and low and behold I think I agree with Max. Jurgan you have some great posts and I am going to add you to my feeds that I use to help better myself as a developer and aspiring Project Manager.

I could make a few posts on what I have taken away from each of the articles I have read on his blog but I don’t really have the time so here is a recap of the posts I read:

Plus I think if I read these posts again in a few months even I would get something different from them.

Thanks Max and Jurgen

I ran into a little issue with trying to update a UI from a working thread. I was working on refactoring some code which I took from .Net 1.1 and upgraded it to .Net 2.0 as well as refactoring some of my earlier work. Code that I now look at at slap myself trying to figure out why I had put all the business logic directly into the UI class. Dumb me. But that is all part of the learning process and I don’t know anyone that writes code they are satisfied with when looking back on it a few days, months or years down the road.

Alright, enough of a side track back to the threading issue. Basically in the .Net 1.1 land you had to declare a a delegate and then create a instance of that delegate and then use that instance in your thread to do the actual updating. It can get quite messy. At least from my perspective. Here is a small example:

     public class UI
     {
        public delegate void UpdateProgressBarDelegate(int percent);
        public UpdateProgressBarDelegate updateProgress;

        public UI()
       {
           updateProgress = new UpdateProgressBarDelegate(incrementProgressbar);
       }
    }

Now in a function somewhere on the working thread you would have this:

     private class doingTheUpdate(int percent)
     {
         mainUI = updateProgress.Invoke(new object() { percent });
     }

With .Net 2.0 it gets a bit simplified and you can use the EventHandler class to create an event and you don’t have to declare the delegate and then create an instance. Below is an example:

    public class MyUI
    {
       public event EventHandler UpdateProgressEvent;

       public void InvokeUpdateEvent(int percent)
       {
          InvokeUpdateEvent(UpdateProgressEvent, percent)
       }

       [MethodImpl(MethodImplOptions.NoInlining)]
       private void InvokeUpdateEvent(EventHandler handler, int percent)
       {
          if( handler != null )
          {
             MyEventArgs e = new MyEventArgs(percent);
             handler.BeginInvoke(this, e, null, null);
          }
       }
   }

Now doesn’t that seem a bit more concise. I admit I am doing some other things there to help make this thread safe and I got most of this from Dave Brook’s at Aliens ate my GUI. So I will try to summarize what it is doing.
First where it looks like I am declaring the method InvokeUpdateEvent twice, once as public and once as private, I am. The reason this is done is because you can get a race condition if you just check for null and then call the event. A way to fix this potential race conditions Dave explains it very well so I won’t try.

“One counter measure is to make a copy of the delegate. Delegates are immutable so by copying it to a temporary variable you keep a copy of the original state of the delegate, irrespective of any thread context switches. Making any change to the state of the delegate creates a new one on the heap and updates the reference to which the delegate point.”

As well on the private InvokeUpdateEvent declaration there is a attribute added. This is added because the JIT compiler might optimize the code above and basically get you back to the state before where the race condition can occur. So the [MethodImpl(MethodImplOptions.NoInlining)] attribute is used to tell the JIT not to optimize this function.

The only other item in there is MyEventArgs class. This would just be a class that inherits from the EventArgs class and adds any info that needs to be sent with the event. In this example it was just the percent to update a progressbar.

Hope this helps. I know it helped me.

 Edit:

Well I have jumped the gun a bit on this one and it looks like I needed to add one more thing to this to make it work on threads. when I call the event in the last function I still will need a BeginInvoke to make sure that it is run on the correct thread or else I get a cross threaded exception thrown. I have edited the code above to reflect this.

Also if you have any suggestions to improve this please post a comment. I am not perfect even though I tell myself I am.

GDoc’s as blogging tool

March 13th, 2008

This morning while trolling through my RSS feeds I found this dandy article on how Google has added a great feature to their Google Docs arsenal. On the Publish tab you can now setup up your blog settings and have a one click publish directly from Google docs.Right now I am writing this blog post inside Google Docs and since I went through the quick setup I was able to post this document directly to my blog. I have been looking for a tool to help kick start my blogging and it seems I have found it. I have been using the Docs and Spreadsheets features (haven’t found a need for Presentations yet) for a while now and this is a great addition. Not only do I have a backup of all the wonderful articles I create but I have a one stop shop for all my docs, blog articles or not.

Previously I was using the demo version of BlogJet. BlogJet is a great tool but I couldn’t justify spending £29.95 (or about $60 CDN) on a blogging tool even with all its features. I am more into the free solutions for blogging since it is not an income generator but a tool for me to place my random thoughts and interests online to share and to archive.

Using Google Docs as my blogging tool will be good but there are a bunch of feature that I will be missing. The first will be the selecting a category for the article. It seems that Google has allowed for the Docs tagging system as a way to map to the categories on your blog.

“To automatically categorize your blog posts, just tag your documents with a category name you already use on your blog site.”

This will limit you on categorizing you posts to ones already generated on the blog. So I guess you better have all your categories setup before hand. I am not sure if I add the category after the article is publish, if it will automatically be placed in there or if I would have to republish the article from Google Docs or manually place the article in the category. I guess some testing is in order.

Another feature that I would like to see is for Google to add the ability to actually tag the articles as well. I am using a self hosted Wordpress install as my blog engine and with it I can tag each article with key words that help search the site to find similar article. It would be great if on the publish tab I could add a bunch of tags and have them posted with my article.

Probably not the last feature but the last feature for this article, I would like to see a way to postpone publishing. Some sort of method to be able to have a few articles in the queue and have them posted when I specify. This would be something like the feature in PixelPost, which I use for my photoblog. I can upload a bunch of photo’s to and for each one specify the date and time on when to publish them. For this though I guess on the publish tab there would be a “publish now” button and a “publish later” button that has a date and time entry field associated with it. When the date and time come up the article gets automatically published.

I will continue to use Google Docs for now and see where it takes me and how useful it is. This might not be powerful enough for everyone but I think it should suffice for me.

Update: 

Well it looks like the Title is not working for Wordpress, as I had to manually add the title on this entry.
As well there categorizing did not work either. I have my docs in a folder called “blog” and subfolders for each category and it posted the entry under uncategorized (the default category).
As an FYI folders are Google’s tags.

I have always likes the skylines of cities. I know its a bit cheesy and that the a city skyline is a bit cliche as a photo but I think they can be beautiful and intriguing at times. You can add so many elements to a evening or mornign shot of a skyline like colorful clouds, the moon, planes, etc. For me though I think a good skyline shot consists of great light and sky color and the brilliance of all the buildings and thier lights.

In my home town of Calgary I have always been on the lookout for good locations to view the downtown cores skyline from different angles and vantage points. I have tried to find a few resources online that could give me clues on where to go to check out downtown Calgary and get some stunning photo’s but there wasn’t much out there. So I have done some scouting on my own and am sharing the results with you. Each point will include a link to google map’s with the location pin pointed on and a photo I have taken from there (if available).

I also stumbled upon this blog entry from photographer Thomas Hawk about 10 Places for photography in San Francisco in my RSS feeds today as well. It seems like I am not the only one that wants to share the beauty of their home town. The photo’s of Thomas are a lot better than mine but at least it gives me ideas and a goal to strive to when creating my own shots.

So here is the first of many locations. I will be adding to this collection of articles about where to photograph the great city of Calgary.

Ramsay :
There is a small lookout at the top of a hill just west of 5th St SW that has a great view from the city. It is a small location at the east end of Earl Grey Park with a park bench that is south of downtown and gives a great northern view. Map Here.

24-01-2008-4

Camera Repair Part 2

February 14th, 2008

Good old government agencies, I wonder what would happen to most buisnesses if they were run the same way that Canada Post is. Nothing seems to ever go right when I send packages through them and it seems most people have issues with sending packages. Is this an industry standard for mail/package companies?

I sent out my camera Express Post on Jan 30th after work. So I assumed that the package would get processed and then sent out by the latest Monday Feb 4 and then the repair shop should get my camera by Friday, I even gave then a extra day or two since Express Post is 2–3 days.

After tracking my package I see that it is out for delivery in Mississauga on Feb 4th. Sweet they are early even better. Over the next 3 days the status is still the same. So I email the repair contact I have to see if they have recieved my camera yet. After a few back and forths they tell me they still haven’t received it. There goes all my excitement about the efficiency of Canada Post.

After the next weekend I get an email from the repair company saying that they contacted Canada Post and the package is on its way and it should be there in a day or two. Again, monday … not delivered, tuesday … not delivered. Finally on wednesday I get an email saying they have received the package.

An Express Post 2–3 day package ended up taking almost 2 weeks. What an effeicent and well oiled machine Canada Post is. Now if this was any other company I would gbe able to phone up and complain and get my money back or some sore of sorry but with Canada Post it seems I have to start a Delayed Package inquiry. So off I go and do this, I actually did this on friday 6 days before the package was delivered.

I get a response back from my online submission of this inquiry and it says that someone will contact me within 5 business days about this. Oh great more waiting, just what I like. Are they hoping that I go away and forget about how inept they are. I am sure this works for most people. They get frustrated and just forget about this annoying problem.

As of today I still haven’t had a response back from Canada Post so I guess I wait. If I don’t hear something by monday I am going to get a bit more aggressive about this.

Now the wait to see how long it is going to take for my camera to be repaired and returned.

Seperation Anxiety

February 1st, 2008

At the beginning of 2008 I had some lofty goals, not really New Years resolutions just goal, to get increase my photography knowledge and to practice the techniques I read about a lot more. So I had started the year determined to participate in the 365 day photo challenge. I joined a couple of the Flickr groups to help keep me motivated, as well as subscribed to a few photo challenge sites. Well needless to say I lasted about 10 days into the 365 Day challenge. During this time I was struggling to take quality shots and I found myself just taking photo’s without any preparation or thought before hand. Now I know that not all shots need to be prepared but I was becoming a bit disheartened with my quality so I decided to stop the challenge. I am not giving up my photography I am just refocusing my goals. I have decided, instead of just taking random photo’s and posting them up I will be instead focusing more on the techniques and theories of good photography.

At the moment I am in the middle of reading Learning to See Creatively: Design, Color & Composition in Photography (Updated Edition). The book has been helping me discover some of the composition concepts of photography that I may not have known about or that I needed a more detail on. So I am going to be focusing on each of the techniques for a short period of time to help improve.

Now that all being said, I have some bad news. My camera (Canon Rebel XTi) has been placed on the IR (injured reserve) list. The other day I was about to go out to my friends birthday dinner at a local sea food restaurant called Catch. I was thinking that I probably wouldn’t want to carry around my 24-70mm lens since it is pretty heavy. So I switched and attached my 50mm f1.8 lens. Lighter, smaller and still very quick for the low light situations I would be in. After I had attached the lens I decided to take it off and make sure the optics were clean before I headed out. Much to my surprise the 50mm lens was stuck. I couldn’t turn it more than 1/4 of the way. I tried with a bit of pressure and still nothing. So I kept applying a bit more force. Eventually the lens POPPED off with a crack, and at that moment I knew something had happened.

I looked at my 50mm lens and the mounting system had broken. Now the lens isn’t completely destroyed it was just a chunk of plastic missing from the mounting system and it was twisted out of place a bit. I was a bit miffed and worried I would have to replace the lens. Calmly I rotated the mounting system back to the right alignment and carefully tried it back on my camera. everything seemed great. The lens mounted and unmounted fine. The optics seemed to be aligned and clear still but then I tried to take a shot. Oh the horror!!

The auto focus wasn’t working. I checked to make sure the lens was selected to auto focus. It was. I took the lens off and reattached it and still no auto focus. I then tried my 24-70 lens to see if that one worked, it didn’t. That is when I took the lens off and looked at the camera body. Much to my chagrin, I noticed that one of the dip pins used to connect the auto focus feature to the lens was not popping back out. It was stuck down ant therefore would not make contact with the lens and therefore the auto focus wasn’t working. After a few choice words mumbled under my breath I calmed down and knew it wasn’t the worst thing in the world. I had bought extended coverage on my camera when I bought it. Phew!

Over the next couple of days I started the claim process and everything is going to be fine but I am shipping my camera to Ontario to get repaired. Yesterday I posted the package with my camera in it and now I am without it for about a week.

What do I do, how do I cope? I guess I am just going to have to find other things to do with my time. Maybe work on this blog and site, maybe read a bit more about photography, maybe catch up on some of the post processing and thin out my older photos (I have a lot that need to be deleted). Or as the girlfriend would like, pay more attention to her :)

Here’s to hoping my camera is back soon all injuries healed and ready for a few good workouts.

Hello world!

January 14th, 2008

Yes the “Hello World” post. Hi everyone out there, this will be the place where I blog about photography. My take on photography, tutorials (most likely links to others), experiences, etc. I am going to make a semi regular post or at least try.