Tuesday, November 24, 2009

Airbus A380 - Singapore to Melbourne

Following are some nice views I captured of the Airbus A380 I flew from Singapore Changi airport to Melbourne Tullamarine airport.

Amazing Planes

If you are interested in planes like me you may enjoy the video series at YouTube on mega structures.
Following will be on Airbus A380 which is the worlds biggest aircraft.
http://www.youtube.com/watch?v=-Wr7moZuGOw&feature=related

This one is on the Boeing 747 which was an engineering marvel on 1970.
http://www.youtube.com/watch?v=sKb5ZghQSK0

Tuesday, November 17, 2009

Improving SharePoint Look and Feel

If you are thinking whether we can improve the look and feel of the SharePoint site a perfect example is the Glu Mobile site. If you visit them at http://www.glu.com you will hardly believe that it is done by SharePoint. But the truth is it is SharePoint.
If you would like to know how they did it read the following 3 articles discussing on its design and development.
http://blogs.msdn.com/sharepoint/archive/2007/06/14/moss-has-got-game-glu-mobile-s-website-www-glu-com-how-we-did-it-part-1-of-3.aspx
http://blogs.msdn.com/sharepoint/archive/2007/06/14/moss-has-got-game-glu-mobile-s-website-www-glu-com-how-we-did-it-part-2-of-3.aspx
http://blogs.msdn.com/sharepoint/archive/2007/06/14/moss-has-got-game-glu-mobile-s-website-www-glu-com-how-we-did-it-part-3-of-3.aspx

SharePoint Mobile Development

If you need to create a mobile view for a SharePoint site you will soon realise that the default mobile site created by SharePoint will not take you anywhere.
With its plain look and limited features you will not be able to do anything with the default view, so to give some thing valuable to your customer you need to do some development on the default mobile site.
To get more information on getting this done visit Microsoft.
http://msdn.microsoft.com/en-us/library/ms464268.aspx

Enabling Mobile View in a SharePoint Site

Microsoft SharePoint Server has a facility to render the site content into mobile devices as well.
In default this feature will be turned off. To enable mobile access execute the following command.

STSADM.EXE -o activatefeature -name mobilityredirect -url http://ms-sharepoint-site01/m

This will create a site under the given URL without any fancy items. It will be a plain site with only basic HTML. Whenever a mobile browser tries to access the site it will be redirected to the new mobile site.
You will be able to access the mobile sites using the URL.
http://ms-sharepoint-site01/_layouts/mobile/default.aspx
or
http://ms-sharepoint-site01/m

Friday, November 13, 2009

iPhone / iPod Worm

There is a worm spreading on iPhones/iPods which are using the default password "alpine" for SSH.
SSH is a software which allows you to connect to your device and make changes to the file system. SSH is required by some software.
This worm is created by an Australian hacker and it will search for iPhones or iPod touches in reach of the affected iPhone or touch (It will search on available networks such as mobile, wireless, etc). If it finds a device which has the default password of SSH, set to alpine it will get installed into the device, change the home screen background image and will do the same again using that device.
  • Good thing is it will not cause any harm to your device but will just change the background of the home page.
  • Bad thing is the source code of the worm is out and many other varieties of worms might appear soon. Some might be dangerous.
As a security measure change your SSH password today. You will be able to change your password using the Mobile Terminal package. Mobile Terminal can be found in Cydia under Sections. If you need help follow the link.
http://cydia.saurik.com/password.html

Wednesday, November 11, 2009

Backup a SharePoint Site

There are two methods to take a backup of a SharePoint site.
1.) Using SharePoint Central Administration
To take a site backup follow the steps below.
a. Go to the SharePoint Central Administration site by clicking,
Start -> All Programs -> Administrative Tools -> SharePoint Central Administration
b. Click on Operations.
c. Click on Perform a backup under Backup and Restore.
d. Select the site or the farm to backup the entire SharePoint farm.
e. Click on the Continue to Backup Options button on the top of the list.
f. Select the type and the location of the backup and click Ok.

2.) Using the STSADM tool.

Even though Microsoft had provided a UI method to backup a SharePoint site the best way to get it done is by the STSADM tool. If you are unfamiliar with STSADM refer the following post http://arjunachith.blogspot.com/2009/11/stsadm.html.

You will be able to use the following command to get a backup of a site using STSADM.

STSADM.EXE -o backup -url http://MySharePoint:10000/ -filename E:\Folder_Name\SiteBackup.bkp -overwrite

o - Mentions that the backup is an operation.

url - URL for the site collection that you need to backup.

filename - Path to the backup file, even a network path such as \\Machine_Name\Folder_Name\File_Name.ext can be provided.

overwrite - Will overwrite an existing back file if found in the backup location.

Instead of giving the path in the filename you can use the directory parameter to mention the location as well it is shown below.

STSADM.EXE -o backup -url http://MySharePoint:10000/ -directory E:\Folder_Name -filename SiteBackup.bkp -overwrite

directory - Location for the backup, even a network path such as \\Machine_Name\Folder_Name can be provided.

filename -The name of the backup file.

The status will be shown in the command prompt.

If you would like to know the full set of available parameters for the backup operation visit the Microsoft at http://technet.microsoft.com/en-us/library/cc263441.aspx.

Google prOgramming language - GO

Google had released a new programming language named GO.
Their one goal behind this is to increase the developer productivity and efficiency by giving them a faster compiler.
As Google says this is even capable to be used in developing system software and it is powerful than C but not than C++.
Read more on this at http://mashable.com/2009/11/10/go-google-language/.
Get Going at http://golang.org/.

Wednesday, November 04, 2009

STSADM

STSADM is a command line tool which we can use to perform administrative tasks on SharePoint Server, this is very powerful since it provides features that are not available in the Central Administration site.
You will be able to find this executable at,
%COMMONPROGRAMFILES%\microsoft shared\web server extensions\12\
For example - C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN


To learn more visit the following TechNet link.
http://technet.microsoft.com/en-us/library/cc261956.aspx
Following link will have the list of operations and properties.
http://technet.microsoft.com/en-us/library/cc263384.aspx

STSADM Error

Recently I faced a curios error while using the STSADM.exe command line tool.
If anyone of you are not knowing wht STSADM is please refer my earlier post with links to get more information.
However powerful STSADM is, while using it suddenly Windows might tell you that STSADM is not a valid Win32 application.
If you check the file you will also notice that the Windows icon of that exe is disappeared and also the file size is 0.
The good thing is that you will be able to get the file from another SharePoint installation and replace, then everything will start working normally.

Tuesday, November 03, 2009

Flight Simulation

After some pause I again started my flight simulation activities.
To celebrate I thought to put some nice screen captures I made on one of my flights.

Saturday, October 31, 2009

WSUS

Recently I had to install and configure WSUS (Windows Server Update Services) on our company.
I feel this is a very handy way to distribute the software updates through out the company.
In configuring it the following articles was helpful to me so thought to share them with you.
This is the main Microsoft site for WSUS,
This is the main TechNet site for WSUS,
Following pages show how to configure clients,

Monday, October 05, 2009

Editing NTFS Drive Contents on Mac OS

In Mac OS if you mount a disk formatted in NTFS file system, you will be able to view the contents and even to copy contents from that disk (Read) but you will not be able to save, delete or paste (Edit) anything.
To enable editing in the disk you will be needing to install the NTFS driver.
If you are searching for a driver, download NTFS-3G Stable Read/Write Driver from NTFS-3G.

Wednesday, September 30, 2009

How to Hard Reset i-mate JASJAM

Different phone has different key combinations to perform a hard (factory) reset.
In i-mate JASJAM you need to press the 2 soft keys together while pressing the reset whole.
Then it will show options, letting you proceed or cancel the reset. Remember hard resetting will wipe all the applications and data in your device, so remember to backup everything before performing a hard reset.

Wednesday, September 23, 2009

Distributing BlackBerry Applications Over Internet

BlackBerry applications that you develop can be distributed over the internet quite easily when you know what you need to do. In this method users need to browse to the web URL and click on it so the BlackBerry will download and install the file automatically.

Step 1 - Prepare the Files
When you compile the source code of the application you will be getting a .cod file.
Check the file size of it, if the cod file is less than 55KBs then you can use it without doing anything more.
If that is larger than you need to do the following trick to make the application distributable over the internet.
  • Change the extension of the cod file to zip.
  • Unzip the zip file.

You will now see a set of cod files with names like App-1.cod, App-2.cod, App-3.cod, etc.

Step 2 - Prepare the Server
To make BlackBerry devices correctly identify and download the files you need to add or update the Multipurpose Internet Mail Extension (MIME) types in your web server. The required MIME types are as follows.
File Name Extension - MIME Type
cod - application/vnd.rim.cod
jad - text/vnd.sun.j2me.app-descriptor
jar - application/java-archive

If you need more details on how to set MIME types in different web servers please contact me, I will try to provide you with more details.

Now place the cod files we prepared in Step1 in the server.

Thursday, September 17, 2009

BlackBerry Network Diagnostic Tool

Latest BlackBerry smart phones are supporting many different network transports to enable reliable data communication between third-party applications and the Internet.

BlackBerry have provided a good tool named "Network Diagnostic Tool" which is essentially a role model that answers all these questions and is a functional diagnostic tool for testing a URL over various transports supported by the BlackBerry solutions, as well as for displaying the values of many network attributes during the test period.
You will be able to download it freely from BlackBerry knowledge base.
If you need to know more about the available transports and more in depth details on the network diagnostic tool, better visit the Article Number: DB-00684 at the BlackBerry knowledge base.

Setting APN Automatically

If you tried to create a BlackBerry application which uses internet through Direct TCP transport and needed to release it to a set of users who are using different mobile networks you may have had the problem of how you can release the application in a way that users don't have to make any setting changes to make your application get connected. The complexity here happens because different service providers (mobile networks) are using different settings (for example APN).
After some searching on the net I found one way to achieve this is by identifying the mobile network and then setting the connection properties appropriately.
The steps involved is as follows.

Step 1
Identify the network the phone is currently in.
If you need help on this go to this URL.

Step 2
Get the APN settings for your network.
The way here is to have a file with all the settings of different wireless service providers you intend to run your application on, and then compare the value returned from Step 1 and get to the particular APN.
I suggest you to keep a XML or text file with the following details of the service provider,
  • Country Name
  • MCC
  • Carrier Name
  • MNC
  • TCPAPN
  • TCPAPNUserName
  • TCPAPNPassword
  • WAPAPN
  • WAPIP
  • WAPPort
  • WAPUserName
  • WAPPassword
  • WAPSourceIP
  • WAPSourcePort
  • IsEnableWTLS
Step 3
Add the APN to the connection.
If you need help on this go to this URL.

Determining the Network

In the BlackBerry project that I am in now we are having the requirement to detect the mobile network the phone is currently in.
Basically in BlackBerry mobile network is uniquely identified by the Mobile Country Code (MCC) and the Mobile Network Code (MNC).
To get these details from your code what you have to do is to call

RadioInfo.getMCC()
and
RadioInfo.getMNC()

These will return the codes in decimal.
You can find a full list of MNC codes of the mobile phone operators and a list of country codes by following the following URLSs to Wikipedia.
http://en.wikipedia.org/wiki/Mobile_Network_Code
http://en.wikipedia.org/wiki/Mobile_Country_Code

If you need to access the BlackBerry knowledge base article describing the above process you can follow the following link.
http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/1467358/How_To_-_Determine_the_MCC_and_MNC_of_the_current_network.html?nodeid=1467359&vernum=0

Sunday, September 13, 2009

Setting APN

APN or Access Point Name is a setting which needs to be set on the mobile when we need to get connected to internet using the phone.

APN changes from one mobile service provider to the other. For example Dialog will have http://www.dialogsl.com/ Rogers will have internet.com set as their APN.

But letting users set the APN manually is always not the preferred way. Recently we developed an application for BlackBerry which the user needed to get to the internet without he manually setting the APN. The application was supposed to be delivered through BlackBerry App World so manually setting APN was not an option. In a case like this what you have to do is set the APN programmatically into the connection.

String URL = “www.SomeServer.com”;
StringBuffer bfURL;
bfURL = new StringBuffer ();
bfURL.append (URL);
bfURL.append ("
;deviceside=true ;apn=internet.com");
bfURL.append ("
;tunnelauthusername=UserName;tunnelauthpassword=Password");
String FinalURL = bfURL.toString ();

In the above code I have set the Rogers APN in to this connection.

If you need more details on the parameters used or need to know about the other parameters you are eligible to use such as WapGatewayIP, WapGatewayPort, WapGatewayAPN, etc visit the following link to view full details of the connector class.

http://www.blackberry.com/developers/docs/4.2api/javax/microedition/io/Connector.html

Tuesday, September 08, 2009

Benz Show 2009

Recently I managed a project which targeted iPhone and SharePoint server. This was a project for Dimo who are the dealers for Mercedes Benz in Sri Lanka. Total software services were provided by IronOne Technologies.

When we finalized the technologies I thought that this project will be an interesting one.
But the real interesting part was on the day when I saw all the Benz models present on the day. Even though I have seen international car shows before this, this is the first time I have seen this much of cars of the same manufacturer on the same place live.
You will agree after you see the photos.

Sunday, September 06, 2009

SharePoint Content Placeholders

I found the following image describing the content placeholders in Windows SharePoint Services (WSS) 3.0 master page.
I think I got this from Microsoft. Thanks Microsoft.

Hope it helps to you.

Friday, September 04, 2009

iPhone / iPod Not Shown in iTunes

Is your iPhone or iPod not getting detected by iTunes?
If yes here is the way to get your device back to the iTunes.
iTunes is using two background services (Apple Mobile Device Service and iPod Service) while it is running. These services will be watching your USB ports and if an iPhone or iPod is connected they will detect those.
If your device is not getting detected first thing you need to do is to check the service statuses. It is always good to stop and restart the services using the Services in your machine.
To check the statuses first making sure iTunes is closed and your device is disconnected from USB ports then go to Start -> Control Panel -> Administrative Tools -> Services.
There you will find Apple Mobile Device Service and iPod Service.
Right click on each service and Restart (Better to Stop and Start) them.
Then start iTunes and connect your iPhone or iPod and the device will get detected again in iTunes.
If this fails you need to restart your machine and check again and if that also fails better try reinstalling iTunes with the latest version from Apple.

Friday, August 21, 2009

Missing Textbox in BlackBerry Application

Recently in one of my BlackBerry projects my development team faced a peculiar error.
We were targeting the device BlackBerry 8900 Curve for the project.
The device we purchased was having OS version 4.6.1.114 and our application was functioning properly on that.
But when we sent the application to our client suddenly he was complaining that one textbox was missing completely. Only difference was that the client was using a BlackBerry 8900 Curve having the OS version 4.6.1.250.
Following are the view at the two ends.
At our device.
At the customer site.

To find out the issue we had to even upgrade the BlackBerry OS and we found that in the new OS version the HorizontalFieldManager is having its default width wrong. So our textbox was hidden. We corrected it by the following change, making the sub layout always have a width that we prefer.

hfmtxtPassword = new HorizontalFieldManager() {

protected void paint(net.rim.device.api.ui.Graphics graphics) {

graphics.setBackgroundColor(Color.WHITE);

graphics.clear();

super.paint(graphics);

}

protected void sublayout(int maxWidth, int maxHeight) {

super.sublayout(278, maxHeight);

}

};