Tuesday, September 25, 2007

Breakpoints are Not Working in Visual Studio - .NET Compact Framework (.NET CF)

Recently I had the issue while debugging a smart device application. All my breakpoints stop functioning. But if I ran the application in the device emulator the breakpoints are working fine.
So it was occurring only when I debug in an actual device (In my case Pocket PC).

After some trying I found that the problem is in the .NET CF which was installed in the Pocket PC.
To fix the thing,
1. Stop all the applications running in the Pocket PC (Do a soft restart or use the Runnning Programs tab in the System -> Memory).
2. Un install the .NET CF from the Pocket PC and soft reset the Pocket PC again.
3. Install the .NET CF in to the Pocket PC. (Also note that you can make the Visual Studio install the .NET CF by starting an application from Visual Studio.)
4. Connect the Pocket PC to the computer using Active Sync and try debugging. In most cases now the breakpoints should work.

If this did not fix the issue you will have to cold reset the Pocket PC and also I would instruct you to reinstall the SDKs (Windows Mobile 5/6 Pocket PC SDKs) if you have any installed.

Wednesday, September 12, 2007

Airbus A300
Airbus has delivered its last A300 to FedEx on 12th July 2007. This marks the closure of Airbus’ first production line and brings to a close a very special chapter of the company’s history.

To read more details and watch the first A300 being made pay a visit to Airbus.
http://www.airbus.com/en/corporate/people/company_evolution/a300/index.html
http://www.airbus.com/store/mm_repository/videos/att00010264/media_object_image_teaserA300_Airbus.swf

Monday, September 10, 2007

Accessing Windows XP Machines

Have you noted that when you try to access a Windows XP machine, in the Connect To window (Login screen) the User name field is disabled?
Earlier versions of Windows did not had this disabled so we were able to logon as any valid user by typing the account name and the password. But in Wondows XP this was disabled by a security policy.

This policy will also restrict the machine's ability of sharing files, per user sharing will not be possible.
Want to change it? Ok proceed by openning the Local Security Policy Settings window through Start -> Control Panel -> Administrative Tools -> Local Security Policy.
Now go to Network Access section and find out Net access : Sharing and security model for local accounts.
Then open the properties page of that by double clicking or right clicking and clicking on properties.

Did you note that the default is, Guest only - local users authenticate as Guest change this to Classic - local users authenticate as themselves.
Then press Ok to apply the setting and close all the opened windows.

Now from some other machine try to access your machine. See the difference. Now you can type any user name and the appropriate password and log in.

Also if you now go to folder properties you will see that the Sharing tab is having different content than earlier and also you will see a new tab named Security. You can use these tabs to set per user security and access rights.

For people who would like to know more, following is the explanation for the setting Net access : Sharing and security model for local accounts given by Microsoft.



Network access: Sharing and security model for local accounts
This security setting determines how network logons using local accounts are authenticated. If this setting is set to Classic, network logons that use local account credentials authenticate by using those credentials. If this setting is set to Guest only, network logons that use local accounts are automatically mapped to the Guest account.

The Classic model allows fine control over access to resources. By using the Classic model, you can grant different types of access to different users for the same resource. By using the Guest only model, you can have all users treated equally. All users authenticate as Guest, and they all receive the same level of access to a given resource, which can be either Read Only or Modify.

There are two models available:

  • Classic: Local users authenticate as themselves.
  • Guest only: Local users authenticate as Guest.

Default:Guest only on Windows XP Professional. Classic on the Windows Server 2003 family and Windows XP Professional computers joined to a domain.

Important:With the Guest only model, any user who can access your computer over the network (including anonymous Internet users) can access your shared resources. You must use the Internet Connection Firewall (ICF) or other similar device to protect your computer from unauthorized access. Similarly, with the Classic model, local accounts must be password protected; otherwise, those user accounts can be used by anyone to access shared system resources.
This setting only affects computers running Windows XP Professional which are not joined to a domain.This policy will have no impact on computers running Windows 2000.

Notes:This setting does not affect interactive logons that are performed remotely by using such services as Telnet or Terminal Services.When the computer is not joined to a domain, this setting also modifies the Sharing and Security tabs in the Windows Explorer to correspond to the sharing and security model that is being used.

The Car of the Future - M 200G

Have you seen the car of the future? Even though people call this a car this is more towards a personal helicopter. The M 200G is manufactured by Moller International located in Davis, California, USA. This is capable of vertical take-off and landing.

Read more at BBC.
http://news.bbc.co.uk/1/hi/business/6970031.stm

In the future there won't be necessary to us to wait in long traffic ques. But what will happen if all the people buys this car?

I think it will increase the Air Traffic :-).
Windows Vista Service Pack 1

Microsoft is going to release Service Pack 1 (SP1) for Windows Vista. It will have the updates that Microsoft had released up to now and also some reliability and performance improvements addressing the issues they have found.

The beta version is planned to be available in few weeks time from today (2007-September-09).

Thursday, August 30, 2007

Importing Yahoo contacts to Outlook
This was actually a doubt that I had in my mind after I had accidently deleted my contact list by synchronizing in wrong way. This is possible and the method is as follows.
1. Open your Yahoo Mail and click on the Options -> Mail Options on the top right corner of the page.2. Select Contacts Options from the left pane.
3. Click on Import/Export under Management column.
4. Go down to Export section and press on the button named Export Now which is infront of Microsoft Outlook and save the file to your hard disk when it prompts.
5. Open Outlook and click on File -> Import and Export..., then select Import from another program or file option and click next.
6. Select Comma Separated Values (Windows) from the list and click next.
7. Browse for the file that you saved in Step 4 then select what to do if it finds duplicate items and click next.

8. Select the Contacts item from the list and click next.
9. If you want to map the contact fields manually you can do so by clicking on Map Custom Fields..., most of the time this is not required.
10. To do the import click Finish.
WOW you have successfully imported Yahoo contacts to Outlook.

Wednesday, August 22, 2007

Changing Manufacturer Icon in System Properties

Changing Manufacturer Icon in System Properties
Recently a friend of mine did ask me how to change the manufacturer icon and supported by text in System Properties. Even though, I have changed the Boot Screens and Welcome screen languages when I was at my earlier employer I forgot how to achieve this. :-)

Then after some trying I found the way and thought it is better to blog it.

1. You have to create an icon to be shown as the manufacturer logo. Also remember that even though how large your image, System Properties will only show 180x114 pixels.
  • The point is that the image you create should be 180x114 pixels to be shown as a whole.
  • The image name should be OEMLogo.bmp.
2. Create an ini file to hold the Manufacturer, Model and Support Information.
Open notepad and create a file in the following structure.

[General]
Manufacturer= Arjuna
Model= My Model

[Support Information]
line1= Tele xxx - xxxxxx
line2= Fax ### - ######
line3= EMail ME@MyCompany.Com
line4= What ever you want

When saving you have to save this file as OEMInfo.ini.

3. Ok, since now files are ready, you have to copy them to system32 folder inside windows installation folder. The default location would be C:\WINDOWS\system32.

Job well done !, now if you go on to System Properties you will see the image that you have just created with the information that you have just saved in the notepad.

Thursday, August 16, 2007

Query Shortcuts in SQL Server 2005

There is a nice feature which I did not come accross until recently. That is Query Shortcuts. This can be very helpful when executing regularly used queries.

For example consider SELECT * statement that we use.

When ever we need to get the full record set of a table we are writing SELECT * FROM tblTable. So if we have 10 tables we need to write the same SELECT * FROM part 10 times or we may need to copy and paste that. Also mosstly, as developers we are using this statement for temporary purposes to just see what is there inside the table later we will delete the queries. In such cases the query shortcuts come in handy.


But to use them you have to set them up.
1. Open SQL Server Management Studio (SQL SMS) and go to Tools -> Options..., this will bring up the Options page.
2. In that, expand the Environment category and click on the Keyboard.
3. Now select a key combination which is easy for you to use (I selected Ctrl + 3.). Then in front of the key combination under Stored Procedure type SELECT * FROM and press ok.

Setup is done, now we'll use it.
4. Now open a new Query Window in SQL SMS. Then drag a table from the Object Explorer.
5. While the table name is selected, press the key combination (My case it is Ctrl + 3.).


See what happened?

It will run the SELECT * FROM tblTable query even though the query window is just having the table name.
Not only SELECT * FROM you can run what ever queries by using this method. But a limitation which I see is that we cannot create our own key combinations (I prefer assigning Ctrl + S or Ctrl + Space for SELECT * FROM rather than Ctrl + 3.).
I think this is useful to many developers to improve their productivity.

Wednesday, August 15, 2007

Nice Windows Shortcut

Do you know that you can use both sides of the title bar to close an application in Windows?
Obviously in the right side you have the Close button which you can left click to close the application.
What about the left side? Yes If you double click on the left side then also application will close.
  • Windows XP and earlier
In the left corner of the title bar there will be a small icon , if you double click on this that will trigger the same action of application exit.
  • Windows Vista
In vista there will be no icons, but if you click on the left corner that will still trigger the application exit.


  • Office 2007
The new Office version will have a big circle on its top left corner . If you double click on or near this again the application exit will be triggered.
Wireless Electricity

Did you get to know that people are trying to send electricity wireless. Even though this is still at testing I think when this succeeds lot of people will enjoy true wirelessness. Since nowadays even we have wireless devices we need a cable when charging them. This will remove that disadvantage.

Read more at,
http://gizmodo.com/gadgets/notag/mit-dudes-develop-mind+boggling-wireless-electricity-267238.php.

Tuesday, August 14, 2007

Intel Core 2 Quad Processors





Intel has released Intel Core 2 Quad Processors, these are capable of handling 4 threads simultaneously.
Read and experience more at Intel.

http://www.intel.com/products/processor/core2quad/index.htm
http://www.intel.com/products/processor/core2quad/demo/demo.html

All recent processors.
http://www.intel.com/performance/desktop/dighome/index.htm

Monday, August 13, 2007

Debugging Web Services

I tried debugging some Web Methods (WM) in a Web Service (WS) using Microsoft Visual Studio 2005 and noted the following things.

When your WM having simple parameters (Integers, Strings) if you run your project internet explorer will open up with text boxes to enter your parameters. After entering there will be a button named Invoke to invoke the WM. That will invoke your WM with the parameters you have provided.

But the thing is if your WM is accepting complex types as parameters (Objects, Datasets, Tables {Even though it is not recomended to supply complex objects like datasets to WMs there may be scenarios that it will save lot of development time of yours.}) then you will not see either textboxes or an Invoke button. As a result you will not be able to debug the WM.

Do not worry because I found the way to debug.

First you have to publish your WS to Internet Information Services (IIS). To make things simple for you Visual Studio will do the publishing for you. Before that make sure that your IIS is running by typing http://localhost/ in your web browser.

Then right click on your WS project in the Solution Explorer and click on Publish.... This will open up the Publish Web form to you. In that enter the target location as shown. Remember to change the IP address used to your IP address or you can put your machine name or localhost instead using IP address.



Click on Publish. This will create a virtual folder inside IIS and your compiled WS will be copied in to the virtual folder. Now your WS is hosted. In some cases you may have to give permission to the WS. If you needs then open IIS Manager by typing 'InetMgr' in the run windows. Browse to your newly created virtual folder, right click on the folder and click on properties.



In WebService properties window check if 'Script Source Access' check box is checked, if not then check that and click Apply and click Ok.

Now we have published the WS, we'll setup debugging.

Right click the WS in the Solution Explorer and click Properties. In the project properties page click on the Web tab. In that as the default, WS will be set to run on a virtual server comming with Visual Studio. We have to change this because we are not been able to debug on virtual server. To do this select the radio button 'Use IIS Web Server' and set the project URL to the same location you entered in the Publish Web screen.



Now close the WS properties screen and press F5 or Debug -> Start Debugging. This will start the Internet explorer and will load your web service. Keep that as it is and put some breakpoints in the WS code.

Then use the web service. I did use the WS from a PDA application. When ever the call is made the web service will break at the breakpoints you have put then you will be able to debug as usual (using the windows as such Immediate, Watch, etc)

Conclusion
In Visual Studio normally it will start the WS in its virtual server. We have to point that to IIS to make it debuggable. That can be done by setting Web properties in the WS properties.