Method for retrieving movie posters

A couple of weeks ago I released an online TV guide for Danish viewers called ifjernsyn.dk. The goal was to make a very simple overview that could easily be accessed from a mobile phone and customized by any visitor without any login. The purpose was to always know what’s on the air right now and what programs will shortly follow – and of course to keep it simple.

Since the release, some people have asked me about how I did some of the things and one of the most frequently asked questions was how to find movie posters for all the movies. Apparently, people are interested in finding movie posters for their own pet projects involving their own media collection or even a media center plug-in.

The code

With only the name of a movie, the code will search the Yahoo image search API and return a thumbnail of the poster. The API returns an XML document with both the thumbnail and the full image, so to get the full image you should just change the XPath navigation.

private const string LINK =“http://search.yahooapis.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query={0} movie&results=1”;

 

public static string FindMoviePoster(string title)

{

  string url = string.Format(LINK, HttpUtility.UrlEncode(title));

 

  XPathDocument xd = new XPathDocument(url);

  XPathNavigator navigator = xd.CreateNavigator();

  navigator.MoveToFollowing(XPathNodeType.Element);

  navigator.MoveToFirstChild();

  navigator.MoveToFirstChild();

 

  do

  {

    if (navigator.LocalName == “Thumbnail”)

    {

      navigator.MoveToFirstChild();

      return navigator.Value;

    }

  } while (navigator.MoveToNext());

 

  return null;

}

The implementation

To use the method above in your own web page, simply pass a movie title to the method and the image URL is returned. It could look like this:

string posterUrl = FindMoviePoster(“independance day”);;

if (!string.IsNullOrEmpty(posterUrl))

{

  imgPoster.ImageUrl = posterUrl;

}

The reason to use the Yahoo API is because it provides the thumbnails as well as the full image.

Backup Strategy

How may time does it take to lose import files or photos held on your computer before you put in place a backup strategy to protect your files.

I thought I’d share my personal backup strategy, as I don’t just reply on one process, in fact I have three sync/backup methods

 

 

Windows Live Mesh

This just has to be the best sync application around, so easy to configure, all you need is a Windows Live Signin and download a small local application and then just select which folders you want to sync.

Once you have sync’ed your folders they are available online or anyother machine you have installed Live Mesh application on to.

With a built in Remote Desktop application allow you to connect to your pc when you are away from home, this is a god send if you forgot something you left on you machine, or you just need to access one of your applications when you are away from your computer.

Currently Live Mesh is in Beta, I think this is due to the fact that it is running on Microsofts Cloud which is not full live yet.

The other draw back is it currenly only supports up to 5GB of storage, so you need to pick and choose what you want to sync, but for most users this is more than enough storage space.

Carbonite

This is an online backup storage application, unlike other backup applications it just works and does not get in the way of your working.  With unlimitted online storage it is perfect for high end users such as myself.  Only limitatation is a maximum file size of 2GB, which is not normal an issue.

External Hard Drive (Allway Sync)

With external hard drive so cheap this is a must have, and so easy to setup just purchase, it arrives in the post, plug it i, format and you are away.  The final step is to find an application that will sync to the external hard drive.  I choose Allway Sync, free download, a little techincal in setting up and getting going, would have been nice if this application had a noddy setup and looked at what and how your machine was configured and prompted you with a possible suggestion for sync.  But it’s free and it works.

 

So there you have it, three places where I keep all my files, and two places for my music, photos and videos

Other Alternatives

Online Storage Services Review 

The Online Storage Gang

Images and Icons

So many places have so many different ideas on what and how things should look, as a developer it is just a cause of accepting what they supply.  But from time to time, more often then not, the customer asks to see what you have produced, and even though you may have spent hours or even days getting the code to work correctly, the plain and simple fact is that it look and feels really bad.

Come on we are developers not designers.

So in order to help us developers out it would be good to have a set of images or library images you can look up and use when you needed them?

Well I came across Tango Desktop Project today, which helps the open source community to ensuring that people like me have access to the right images, even though they might change on the final release, but at least it will get you going and just make your application look great.

Tango Desktop Project

SubSonic Autogenerate Database scripts

First of you are going to need to download and install SubSonic

Once installed just follow the steps below

Within Visual Studio

External tools

Title “SubSonic DAL”

command   sonic.exe

arguments  generate /out App_Code\Generated

Initial directory   $(ProjectDir)

 

Prompt for arguments

use output window

 

scripting Schema and Data

You can script out your schema and data (and then version it in your favorite source control system) using SubCommander. Simply use the command “version” and tell SubCommander where to put the data:

  sonic.exe version /out Scripts

This will output a script file (.sql) to the local scripts directory of your project

 

 

Generate a Version of the Database and Data

Title   Subsonic DB

Command   Sonic.exe

Arguments   version /out App_Code\DB

Initial directory   $(ProjectDir)

 

 

 

Updated Windows Azure SDKs

Updates to the Azure platform, must spend some time on this soon

Greetings from the Azure Services Platform Team,

We are excited to announce that we have released an update to the Windows® Azure™ SDK and Windows Azure Tools for Microsoft Visual Studio®. These latest releases are available here:

What’s new in Windows Azure SDK

  • Support for developing Managed Full Trust applications. It also provides support for Native Code via PInvokes and spawning native processes.
  • Support for developing FastCGI applications, including support for rewrite rules via URL Rewrite Module.
  • Improved support for the integration of development storage with Visual Studio, including enhanced performance and support for SQL Server (only local instance).

What’s new in Windows Azure Tools for Microsoft Visual Studio

  • Combined installer includes the Windows Azure SDK
  • Addressed top customer bugs
  • Native Code Debugging
  • Update Notification of future releases
  • FastCGI template

We will continue to release updates to Windows Azure and its tools based on your feedback. Please visit http://go.microsoft.com/fwlink/?LinkId=130231 to share your Windows Azure experiences.

Thank you for your continued interest.

Sincerely,
Azure Services Platform Team

MVC has been released

Finally Microsoft have released MVC…

 

ASP.NET MVC 1.0 provides a new Model-View-Controller (MVC) framework on top of the existing ASP.NET 3.5 runtime. This means that developers can take advantage of the MVC design patterns to create their Web Applications which includes the ability to achieve and maintain a clear separation of concerns (the UI or view from the business and application logic and backend data), as well as facilitate test driven development (TDD). The ASP.NET MVC framework defines a specific pattern to the Web Application folder structure and provides a controller base-class to handle and process requests for “actions”. Developers can take advantage of the specific Visual Studio 2008 MVC templates within this release to create their Web applications, which includes the ability to select a specific Unit Test structure to accompany their Web Application development.

The MVC framework is fully extensible at all points, allowing developers to create sophisticated structures that meet their needs, including for example Dependency Injection (DI) techniques, new view rendering engines or specialized controllers.

As the ASP.NET MVC framework is built on ASP.NET 3.5, developers can take advantage of many existing ASP.NET 3.5 features, such as localization, authorization, Profile etc.

If you have not already done so, check out Steve Sanderson‘s book on MVC