Monday, September 20, 2010

Introducing BlogoRadio!

My brother Clif writes a music blog called The Dadada Music Blog where he compiles a series of mixes called Blogophilia, which is a mix of new music from a wide variety of artists ranging from up-and-comers to well established acts. I suggested that it would be cool to have an option to play the content on-line for people like me who don't want to take the time to download the content and load it into a local media player. So I put together the BlogoRadio app using Silverlight 4. Enjoy!


Tuesday, September 14, 2010

Using WCF Services with Silverlight in a Cross Domain Way


One of the useful features available for developingSilverlight applications is its ability to interact with server side datathrough the use of a conduit such as Windows Communication Foundation (WCF)services. Visual studio enablesapplication developers to easily connect to a service using “Project->Add ServiceReference”, then providing the address for the service. The various operations and data structuresmade public by that service are then exposed in the solution and can be viewedusing the object browser. When accessingthe service from a different domain, as in trying to access the service fromwithin a development running on the local machine and the service is notrunning on localhost, there is the potential for your Silverlight applicationto throw an exception if the server hosting your service has not explicitlyenabled a cross-domain access policy. Ifthis happens, the application exception may look something like this:

An error occurred while trying to make a request to URI 'http://kenwatts.net/Service.svc'. This could be due to attempting toaccess a service in a cross-domain way without a proper cross-domain policy inplace, or a policy that is unsuitable for SOAP services. You may need tocontact the owner of the service to publish a cross-domain policy file and toensure it allows SOAP-related HTTP headers to be sent. This error may also becaused by using internal types in the web service proxy without using theInternalsVisibleToAttribute attribute. Please see the inner exception for moredetails.

In order to get around this issue, a file named “clientaccesspolicy.xml”needs to be added to the root of the server where the service is running. This file can have the following contents toenable services from any subdirectory:

<?xml version="1.0"encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-fromhttp-request-headers="*">
<domain uri="*" />
</allow-from>
<grant-to>
<resourcepath="/" include-subpaths="true" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>

It’s important to point out that this file needs to belocated in the root of the server where the service is hosted. So if the Silverlight application is tryingto access this service:

http://www.mydomain.com/MyWcfService/MyWcfService.svc

Then the file “clientaccesspolicy.xml” needs to be locatedhere:

http://www.mydomain.com/clientaccesspolicy.xml

By enabling the cross-domain policy in this way, developerscan avoid this cross-domain exception when deploying a Silverlight applicationon a server that is different from the server hosting the data providingservice.

For more information about cross-domain access policiesrelated to Silverlight and WCF, check these links:

http://msdn.microsoft.com/en-us/library/cc645032

http://blogs.msdn.com/b/carlosfigueira/archive/2008/03/07/enabling-cross-domain-calls-for-silverlight-apps-on-self-hosted-web-services.aspx

http://forums.silverlight.net/forums/t/43293.aspx

Monday, January 25, 2010

PC Surveilance Software: How to spy on your computer using free software

There may be certain cases where one may want to limit the type of activity that takes place on their PC for a variety of reasons. Many solutions, both free and for a cost, exist for these kinds of problem. One approach may be to limit the websites that can be accessed on the network by using an alternative Domain Name Server like opendns.org. Also, limiting administrative privileges to only users that can be trusted with them is a good way to prevent your PC from being infected by malicious software. But such solutions are not perfect and do not always guarantee that your PC will be safe from any undesired behavior.

Async Monitor is a free utility that can be used to monitor activity on your PC asynchronously from any web browser. It's a low-overhead utility meaning it does not use very much of the system's resources when it is running. It also runs in the background, so it won't be seen by users of the PC when it's running.

How it works

Async Monitor can be downloaded for free here:

http://asm.pixelhat.com/

Sign up for a free account using your e-mail address. An account is required in order to use the software since your account will be used to upload screen captures to the web. After downloading and installing AsycMonitor, you will need to set it up by providing the e-mail address and password that was used to create your free on-line account. From this point, AsyncMonitor will run in the background, and it will automatically upload screen grabs to the web whenever anything on the screen changes. You can then log-in to your account at asm.pixelhat.com from any web browser on any other PC or web-enabled device and view images of what programs are being run on your PC.

In summary, Async Monitor offers a free solution to monitor activity on your PC in almost real-time. It could be a handy utility for security minded people.