jump to navigation

Windows Live Mesh – Tech Preview June 19, 2008

Posted by balajinjl in Live Mesh.
Tags: ,
add a comment

Windows Live Mesh is Microsoft’s new ‘In the Cloud’ service. It currently provides the following services

  • Connects your devices to the cloud and remotely controls them from any of the connected devices. Devices are PCs and Mobile phones. Currently only PCs are supported.
  • Creates a ‘Desktop’ in the cloud. Meaning you can store files on a remote share
  • News – not sure about this yet.

This service is by invitation only. Once you are approved, you need to download and install the Live Mesh software. Installation is breeze, just a few clicks and you are done. You can connect to the cloud in two ways. Via browser and using Live Mesh client installed on your machine.

Connect devices and remotely control them

  • You can add a device by clicking the + sign. Once added, you will get an icon assigned for that device. You can notice that I have added my Work and Home laptop to the cloud.

 

  • By clicking on the device and ‘Connect’ button, you can remotely connect to the device.
  • The remote computer gets a pop up “Requesting permission’ to connect. By default permission is granted to connect to the device.

 

  • Once connected the screen exactly looks like ‘Windows Remote Desktop Connection’ screen. You can click the ↗ icon and expand the screen to cover the entire desktop.
  • To disconnect the remote desktop just close the window by clicking the x in top right corner.

I love this than any other remote control programs in the market. Connection is fast, seamless and works across corporate firewalls. If you are used to ‘Remote Desktop Connection’ in Windows, you will be at home with this. Best part is cut & paste works across the remote desktops.

Desktop in the cloud (Shared folders)

  • When you click the ‘Desktop’ button on the top, you get the Cloud desktop.
  • Currently it lets you to create folders and store documents in them.

 

 

When you install Live Mesh, it installs a notification window in the bottom right notification area. Clicking the Live Mesh icon pops up a window as show below.

You can also use this to remotely connect to your device or desktop.

So far I like the remote desktop feature and having fun with it.

More later,
-Balaji NJL

Customizing Access Denied Page in MOSS 2007 June 18, 2008

Posted by balajinjl in MOSS 2007.
Tags:
6 comments

Sometimes you get a requirement to customize the default ‘Access denied page’ in MOSS 2007. For beginners, don’t confuse this page with IIS 401 ‘Access denied’ page. They are completely different. Request for customizing access denied page generally means, having the same look and feel of the rest of the site. In my experience this is easier said then done.

After researching I found the following options available on the net

1.    If you want to just change the content of the access denied page then modify the resources text in resources pages (http://blogs.msdn.com/sridhara/archive/2007/04/14/customizing-placeholder-values-in-moss-2007.aspx) . This won’t help our scenario. We want to customize the entire page and it should have same look and feel of the rest of the site.

2.    Change the ‘Access denied page’ completely as mentioned here (http://blogs.tamtam.nl/mart/CustomizingTheLayoutsFiles.aspx). But this is not MS recommended scenario as future updates may replace the access denied page. Microsoft published a workaround for this (http://support.microsoft.com/kb/944105) but again doesn’t look very clean.  

3.    Create a HTTP module as mentioned here  (http://blogs.msdn.com/bgeoffro/archive/2007/11/12/branding-a-moss-corporate-intranet-portal-part-3-layouts-pages.aspx) . This one is too tedious.

Unfortunately, Microsoft doesn’t recommend changing this page because these are system pages and any future updates may overwrite these changes. So I choose the workaround as suggested by Microsoft and created a backup of the ‘Layouts’ folder. Then

  1. Backed up ‘accessdenied.aspx’ page as ‘accessdenied_original.aspx’
  2. Created a new ‘accessdenied.aspx’ page
  3. We cannot inherit this page from existing default.master page because master page is not in the file system and the security context for master page is different from access denied page. So there is no other option than copying the entire master page code into the new ‘accessdenied.aspx’ page.
  4. We need to then physically delete master page controls in the access denied page. Go through the code and delete all the asp:ContentPlaceHolder code.
  5. In Visual Studio switch between design view and code view and remove all the control errors
  6. Add the required content in the accessdenied.aspx page
  7. Save the page and now browse to the new accessdenied.aspx page directly (http://<yoursitename>/_Layouts/AccessDenied.aspx)
  8. Everything looks good? – Good! You think you are done with access denied page. No not yet.

For some reason re-login feature (“Sign in as Different user”) is implemented via access denied page. Click on your name in the top right corner and select ‘Sign in as different user’. You will get access denied page. Strange but it is true!! No idea why it is done this way (other than someone took a shortcut approach).

So now, you need to implement the ‘Sign in as different user’ login in your new accessdenied.aspx page. This can be done in two ways

  • You can choose to implement the entire logic including the javascript and other controls in the new accessdenied.aspx page
  • Or redirect users to ‘accessdenied_original.aspx’ based on the value in querystring for ‘loginasanotheruser’.

I choose the later approach in my implementation. We tested different scenarios and everything looks good so far.

HTH,
-Balaji NJL

BizTalk 2006 Interview questions January 22, 2007

Posted by balajinjl in BizTalk 2006.
Tags:
5 comments

For the last couple of weeks I was interviewing candidates for BizTalk developers and architects. I did select a few but unfortunately I was not able to find candidates with core understanding of BizTalk.

Some of the questions I would generally ask BizTalk architects

  1. Have you ever used BizTalk server in a scenario other than in a typical messaging environment?
  2. How will you create an Error handling framework in BizTalk?
  3. What are the draw-backs of BizTalk?
  4. What is the future direction of BizTalk?
  5. Why do we need convoy?
  6. How to resubmit a suspended message? What is possible and what is not possible?
  7. What is the difference between Windows Workflow and BizTalk server? Explain the scenarios
  8. What is the need to create MSMQT by BizTalk team when MSMQ is already available?
  9. Explain the Pub-sub model of BizTalk ?
  10. Architect a solution that would receive 100 messages of 50 – 100 MB in size and process them in 3 mins?
  11. How to deploy BizTalk in a highly available scenario?
  12. How to deploy BizTalk in a multicomputer scenario. Assume there would be DMZ and Corpnet?

Some of the questions I would generally ask BizTalk developers

  1. What is a targetNamespace? Why do we need it?
  2. What is a MessageType?
  3. What is correlation? Why do we need it?
  4. What is the difference between MSMQ and MSMQT? Why do we need MSMQT?
  5. What are the security groups created by BizTalk?
  6. What is the difference between distinguished fields and Property fields? Give an example with usage scenarios for each.
  7. How to debug an Orchestration?
  8. In the Orchestration what is the difference between Exception and Compensation? Give an example of its usage scenario.
  9. Can we do messaging in BizTalk without Orchestration? If yes how?
  10. What is a Convoy? Why do we need it? Give usage scenario for each Convoy.
  11. Explain the Publisher – Subscriber model of BizTalk
  12. What is a Message Box?
  13. What is BAM?
  14. What is BAS?
  15. What are adapters? What do we need it?
  16. What are the different ways BizTalk can be integrated with SAP?
  17. In a BizTalk project how to consume an external web service?

All the best for your interviews,

-Balaji NJL

How to create an affordable RAID server using Windows XP January 4, 2007

Posted by balajinjl in How to, RAID, Windows XP tips.
add a comment

Just a week before holidays, my Windows 2000 fileserver with 300 GB internal HD crashed. I had my Music, Photos, Videos and Movies on this server. I was kicking myself for not taking a backup. But as we all know scheduling a regular backup is a big pain unless you have big money to throw on tape backups. So I decided to build a simple fileserver with RAID this time.

First I need to do is recover data from crashed HD. I booted using Knoppix and luckily it recognized the crashed HD. I started SSH server in Knoppix and using SCP I remotely copied all data onto an external HD. Then I tried to recover this crashed HD by reformatting but no luck.

Now to create a simple RAID server

  1. I bought two 500 GB internal SATA drives from Newegg for $150 each.
  2. Then I bought a SIIG SATA – PCI 4 channel RAID controller from local FRYs for $70. I couldn’t find 2 channel RAID controller. I think it costs around $40. Make sure the controller card supports 500 GB disks. BTW this controller card comes with the 4 SATA cables and 2 Y power cables.
  3. Dusted off an old Pentium II machine from my garage. This particular SIIG card works only with Pentium chips not with Celeron.

Steps to create the RAID server

  1. Install the SIIG RAID controller in the free PCI slot.
  2. Connect the Y power cables to the SATA drive
  3. Connect the SATA data cables to the controller and the SATA HD.
  4. Power up the computer.
  5. While in boot screen press ctrl S or F4 to get into RAID setup options.
  6. Select the type of RAID you want to setup. I want to setup RAID 1. So I selected RAID 1. Then follow the instructions.
  7. I wanted to start fresh so installed Windows XP on this machine. SIIG controller card only supports Windows 98, Windows 2000 and Windows XP. It doesn’t support Windows 2003 or LinuxL. So I choose Windows XP.
  8. I installed Windows XP on the HD that was originally on the machine. (not on SATA disks)
  9. After Windows XP installation is complete, install the drivers for the SIIG controller from the SIIG CD. You can use ‘Add new hardware’ wizard if windows do not prompt for the driver automatically.
  10. Install SIIG GUI from the CD.
  11. Open the Disk Manager (Computer Management – Disk Management). You would notice two disk drives instead of three. One of which would be the original HD with NTFS partition and status as healthy. Other one would be the 500 GB RAID disk unformatted drive.
  12. Right click the 500 GB unformatted disk and format it. (You may want to divide this disk into multiple drives as per your need)
  13. To make sure everything works fine – reboot the machine. (Optional)

Voila !!, you have got a 500 GB RAID server running on Windows XP.

In future, if one disk crashes, SIIG GUI will let you know. Replace the crashed disk with a new one. During boot process select RAID setup, select rebuild option and it should do the rest. (I haven’t tried this yet).

HTH and have fun,
Balaji NJL

My first post using Office 2007 and Windows Vista January 3, 2007

Posted by balajinjl in Office 2007, Windows Vista.
add a comment

Hi All,

During holidays I installed Vista and Office 2007 on my Toshiba Tecra M3. Some of the things you need to be aware before installing Vista and Office 2007.

  1. Don’t install on lower-end hardware. My recommendation is 2 GB RAM and 2 Gig Proc.
  2. In order to install Vista on Toshiba, you need to upgrade your BIOS. Check Toshiba’s web site and download the corresponding BIOS for your laptop model. It is generally an iso file. Create a boot CD and boot using this CD. Upgrade your BIOS.
  3. Don’t try to upgrade your BIOS from Windows. I had issues with that.
  4. Back-up your files (Vista also saves a copy for you)
    1. My documents
    2. Application Data
    3. Local Settings
    4. Book marks, favorites etc
    5. And any other important files
  5. Install Vista and follow the prompts.
  6. Configure Windows Experience Index via Control panel – Performance and Information Tools.

My first impression of Windows Vista

  • It has a nice glossy look, heavily borrowed from Apple.
  • Out of the box support for Least-privilege User Account (LUA). Finally Windows got a LUA that really works. I think now Windows is on par with Linux / Unix in terms of LUA.
  • I can see lot of improvements in terms of system lock down. This is really good. Some people complain about multiple prompts but I don’t see this as an issue. If you are doing administrative tasks the OS should double check who you are and that’s a good thing.
  • All the user files are under [installdrive]\users. IMO correct way to organize the user files.

Net-net

High marks for making it secure out of the box. Good work.

My first impression of Office 2007

  • It looks cool.
  • Saves documents as PDF. I was using PDFCreator earlier.
  • Supports Blogs !!!
  • Ribbon menu bar – I am not impressed. IMO its bulky. You have to relearn the locations of all the menu options again. I will create a cheat sheet for menu options and its new location.     (I will continue to update the following table)

     

Office 2003 Options

Office 2007 locations

Document Properties

Office button – Prepare – properties

Help

I couldn’t find it in the menu. I used F1 key.

(Found it. It’s a small ‘?’ tucked on right-hand side corner. I was expecting it as a text dropdown in the menu bar)

Find & Replace

I couldn’t find it. I am using ctrl – H

 

Things I would like to do

  • Reduce the icon size in the ribbon. I don’t like big icons.
  • Option to switch back to old menu. Like in Windows Start menu you can switch to ‘Classic’ menu.

I would be happy if someone could let me know how to do this.

HTH,
Balaji NJL

How to change .Net provider during runtime July 24, 2006

Posted by balajinjl in .NET 2.0, ASP.net 2.0.
4 comments

On my recent project, I had a requirement to validate one set of users against one provider and second set of users against a different provider. The scenario was something like this. In the log-in screen user would select which state they are from. Based on this information, I need to either validate against SQL provider or Oracle provider. In my case SQL was default provider and I need to change Oracle provider during runtime for validating second set of users.

The following code shows how this can be done.
First include both the providers in web.config and designate one of them as defaultProvider.

<membership defaultProvider=”SQLProvider”>
<providers >
<clear/>
<add connectionStringName=”SQLConnectionString” name=”OracleProvider” type=”System.Web.Security.OracleMembershipProvider”/>
<add connectionStringName=”OracleConnectionString ” name=” SQLProvider” type=”System.Web.Security.SqlMembershipProvider”/>
</providers>
</membership>


Then in the code, we can access second provider via Provider collection on the Membership object.

Membership.Provider[“OracleProvider”].ValidateUser(“UserName”,”Password”);

This way we can swap between Oracle and SQL providers as required.

HTH,
-Balaji NJL

How to avoid being tracked while surfing online? July 24, 2006

Posted by balajinjl in Privacy, Security.
add a comment

We all know that online surfing habits are being tracked. Whenever you visit a site, the site places a cookie and the user is identified by this cookie on their computer. So in order to avoid being tracked, most of the security paranoid people will ask you to turn off cookies. The unfortunate side effect of this is that you won’t be able to log-on to majority of the sites because their log-in authentication is based on the cookies.

This results in catch-22 situation. To find solution to this problem, we need to understand how tracking is done. For majority of the sites, tracking of users is done by third party companies like adtmt, google analytics etc. Trust me no company wants to build their own tracking and reporting mechanism. (Been there, done that and it’s a big pain).

So how does this work. Let’s take an example, www.somecompany.com is the website and trackingcompany.com is the tracking company. When one visits a website i.e. http://www.somecompany.com/ , web pages of somecompany.com contains a link to a gif image and / or a javascript file residing on trackingcompany.com servers. When the browser loads the webpage on the client (your desktop), it also loads the gif image and/or the javascript file from the trackingcompany’s servers. At this point tracking company places a cookie on your computer. One of the attributes of the cookie is domain name and in this case it will be trackingcompany.com. In addition to this somecompany.com will also place a cookie for session management and/or for authentication. The domain name attribute for the second cookie will be somecompany.com. The user visited http://www.somecompany.com/ and got minimum two cookies. One from the trackingcompany and other from somecompany. Tracking company cookies are called third party cookies and one can easily block third party cookies. No third party software to be installed. Its just a simple configuration in your browser and it will do the trick.

In IE, Go to Tools, Internet options, Privacy, Advanced.

Check ‘Override automatic cookie handling’, Under ‘First-party cookies’ click ‘Accept’, Under ‘Third-party cookies’ click ‘Block’, Click ‘Ok’ and ‘Ok’ to accept changes.

IE settings

In FF, Go to Tools, Options, Privacy, Cookies, check ‘Allow sites to set cookies’, Check ‘for originating sites only’

Firefox Settings

That’s it. You have blocked majority of tracking companies. Clear your browser cache and cookies and start surfing.

Be safe,
-Balaji NJL

Annoying sounds in Windows XP July 24, 2006

Posted by balajinjl in Windows XP tips.
add a comment

One of the things I hate in Windows XP is the annoying sound it makes when you click a link or when you are close to another laptop. The later one really irritates me when I am in a meeting. If you are like me then you can do the following to get rid of it.

You need to use ‘Sound and Audio Device properties’. Start – Run – mmsys.cpl brings up sound and audio properties. Select the ‘Sounds’ tab and in ‘Program events’ scroll down to ‘Start navigation’. In the ‘Sounds’ dropdown list select ‘(None)’. This will remove the annoying click sound when you click a link. To remove the IR connect and disconnect sound, set ‘Device in range’ and ‘Device out of range’ sounds to ‘(None)’. That will do the trick.

Enjoy peaceful coding,
-Balaji NJL