2010-03-15
在国观,看见了不少人对比中国和印度软件贴子,发觉大部分都不是IT人经历的人写的,错误百出。所以来写一篇 一个IT人来谈中国与印度软件, 为什么不说 一个IT人来谈中国与印度软件的差距呢? 这样的说法就是根本性的错误,中国软件和印度软件只有差别,要衡量差距,那是关公战秦琼,无从衡量。
我本人就是从事IT行业的,从业10年。刚开始做ERP两三年,后来从事个人认为是技术和业务要求都是非常高的行业:
投资管理与证券交易软件。
天涯股民多,很多人认为证券交易软件就是通达信、大智慧、核新、同花顺,手机炒股,网上交易,电话交易等等,只能算说对了一半,这些都只能算证券交易的外围,所有这些交易方式都连接到证券公司的交易核心程序,最后申报到交易所,我从事的就是 这核心的开发,会和股民用到的所有系统有接口。
接下来开始谈正文:
一。首先谈盗版
虽然个人是从事IT行业的,盗版是IT人员最后成为IT民工的重要原因之一,但个人觉得到目前为止盗版对中国的发展还是利大于弊,说到软件盗版,中国人都盗版什么呢?
1。操作系统 windows ,
2. 办公软件 oa系统 ,office,Notes,图象处理PS等
3. 数据库 主要是中小型的数据库(sql server,免费MySql),但大型的oracle等,都是大企业用的,能用的起当然就不缺钱,别人自然能抓到你在用,能找你收钱。
4。开发工具 c, delphi, .net ,java 我们这些开发软件的公司基本上都没有怎么花钱买开发工具。
5。企业级商用中间件 (Weblogic ,websphere,Tuxedo)等
6。其他的通用性应用软件,譬如杀毒,网络安全
7.个人电脑所使用的软件几乎全是盗版或者免费(免费居多)
windows,office,影声播放,
QQ、邮箱、支付宝、淘宝、阿里旺旺、飞信、百度、迅雷、PPS、PPlive、CNTV、360、、翻译软件、通行情软件、
8。中国最大的盗版行业是 游戏,电影
中国的网民从看电影和玩游戏角度来说,是世界上最幸福的,
我可以肯定的说,中国很多网民看过的美国电影数量都超过不少美国人。。远超其他国家的人
中国网民庞大,会有一部分人将世界上的优秀的影片引入到到这个体系(世界上最大的局域网)中来
由于中国的视频共享网站,其供应商都是中国本土的,
外国只有叫嚷的份,说到处理侵权,实际上能作的事情很少。
不要小看了盗版的作用,它让中国以比较低的成本融入了信息化社会,开阔了视野,这也是为什么中国人对外国人的了解 远胜于外国人对中国人的了解。
二。金山公司不是中国软件业的代表
大家看清楚了,中国人盗版的行业基本上都是外国的垄断的行业,
中国人奉行的原则是: 能用假就不用真的,能用盗版的就不用正版的,还有就是没有市场的东西不做, 目前中国人做的软件是什么行业呢,中国人只做不会被轻易盗版的行业。
国产软件被盗用的主要是在
通用性应用软件,譬如杀毒,网络安全,媒体播放
代表作:金山词霸,影音风暴,瑞星,天网之类.
很多人就把金山公司当作了中国软件业的代表,说中国软件的代表是金山词霸和wps,实际大错特错。
三。中国软件业特点
中国的二三产业规模,产值数倍于印度,同时各行各业的信息化程度远高于印度。 中国的这么多行业,几乎每个行业都有自己的行业软件,这些软件是无法盗版,因为和业务相联系的,脱离了业务,
换了一个行业,代码就成了一堆垃圾,所以没有人会去盗版,
1。你每天做工交车,地铁,其收费,控制系统(控制系统里面有部分是外国的程序,是和硬件结合的)
2。每天买东西,吃饭 收银系统
3。医院, 医院管理系统
4,证券交易系统 ,这个不用说了
5。中国最为发达的制造业,从进货-销售-财务-库存,这个链条,都是中国人开发的软件来管理的
6。你每天都是在上网,估计没有一个中国网站是外国人来编写程序建立起来的吧,就象天涯。。
7.还有一块,就是象华为一样,软硬结合,主要是嵌入式开发,
8。。。
看清楚了吗? 中国人就是做的这些东西,做来是给自己用的,而印度人是做软件来给外国人用的。 还有一点,这些软件盗版有用吗? 比如你盗版了一个证券交易软件,有证券公司敢用的你软件吗? 所有这些软件除了业务上面的关联,还有一个就是后续需求变更,升级服务,不是一锤子买卖。
四。印度软件的特点
可以和印度软件业相比较的是,中国的低端制造业务,譬如衣服,鞋子,玩具,箱包。 已经做到了高度的市场化,分工合理化,中国形成了领带,纽扣,拉链。。。等各种门类齐全, 零件生产流水线,产量大,生产成本低。
对应到印度软件,就是其流程清晰,管理严格。从需求分析-系统设计-功能设计-开发-测试,环环相扣, 每一个环节的流程监督和质量控制都做到位。
同时印度的软件公司更象软件工厂,几千上万人的软件公司不在少数。一年产值几亿几十亿美圆。
五。形成中国和印度软件特征的原因
中国和印度软件只有差别,没有办法比较差距。
因为两者是完全不同的模式
有一句话是很适用的,经济基础决定上层建筑
印度软件的项目来源:外包
特点:需求明确,功能明确,时间进度要求明确。
客户素质:高,管理规范
中国软件的项目来源:内需,遍地开花。
客户素质:参差不齐,管理不规范
特点:需求,功能,时间进度好象都可以随时在变
在中国,软件公司当然是属于弱势一方,客户就是上帝,有了这样的客户,你还寄希望于软件公司管理能规范吗?
从软件工程的角度来说:
项目失败的原因多是 1。需求分析不到位,设计偏差
2。进度控制不力,未按时完成
3。软件质量不稳定,无法上线等等
在中国,一个软件项目失败最多的原因却是
需求不可控。
你无法阻止客户不断提需求,变更需求,变更流程。
在这样的情况下面。如果你能够把这一点控制的稍微好一点,
项目成功可能性就比较大。
而在中国,怎么达到需求可以控制呢
1。大软件企业,处于行业垄断
2。贿赂客户公司领导
3。行业自身特点形成的需求约束
4。最后才是和客户沟通。
一般小软件公司做大项目,基本没有好事,最后的结果多半是自己被客户无限制变更的需求压的喘不过气,最后客户也丧失信心了,项目被终止。
六。中国和印度两种模式的后果
1。中国人把软件做成了劳动密集型产业,遍地开花,印度人把它做成了技术密集型企业, 在中国,IT行业的人都成了IT民工,尽管印度的人均GDP低于中国,但IT人员的 收入远高于中国。 另外一方面,中国的软件产值早已经超过了印度,在世界上面居于美国,欧盟,日本之后。
2。中国的软件企业成了血汗工厂,为中国各行各业信息化铺路了。
一个最简单的例子,一个几十人的工厂,是不会大型的软件企业为其开发软件的, 这个工厂也买不起这样的软件,而在中国,很多软件企业只有几个人,就会这样的小工厂服务, 他们没有任何规范的软件工程流程,所见即所得,赚到一点算一点。其他任何行业中,只要能 利用到软件,可以提供商机的都有人来涉足。譬如小区监控,家庭智能控制等等。
另一方面大软件公司提供的软件同样非常便宜,因为盗版的缘故,中国人忽略了软件的价值, 导致中国的软件价格普通很低,按照个人的衡量,中国软件公司的开发出来的软件 应该按照美圆来计算,
在中国,一个大型的软件只值100万元,而在印度,它也至少值100万美圆。。 在外国,一个企业软硬件的投入至少应该是1:2左右,在中国人们只知道硬件是需要花钱,认为软件是非常容易的开发的,不需要花钱。
3。中国有非常完整的行业软件供应商,并且在各自行业形成了初步垄断 证券,保险,银行,医疗,财务,交通,服装。。。还有很多形形色色的ERP。 在这些行业,都有一些出色的软件公司,规模中等,所做的产品符合该行业的业务需求, 在这些行业,竞争力非常强,外国软件基本没有空间。 在这些行业里面,我们几乎不 把微软,IBM当作竞争对手。微软,IBM做的东西一样会被客户换掉。
4.IT人员出路渺茫,最后都被迫转型,IT行业成为了年轻人的行业.很多的IT人员从软件公司 流动了其服务的客户企业中,结果变成了在中国,最资深,最有经验的IT人员基本都在客户公司里面 吃老本过日子。
当然中国的好的企业大多有自己开发团队,这些东西本身并不计算入中国的软件产值。
七 发展前景
1。印度软件外包遇到了和中国制造业出口相同的局面,就是外来订单减少,用工成本增加。 印度的IT人员成本是高于中国的,随着IT人员工资的逐步增加,利润减少,出现了发展困境。
中国还说产业升级,而印度连软件内需都不大,如何升级?
2。中国的软件业将高速发展,但IT人需要好自为之。
前景一片大好,软件应用无孔不入,但IT人的生存环境却不会好转,需要找准自己的方向, 软件企业的血汗工厂特点将会更加明显。 在中国,很多城市都在借鉴印度的外包模式,希望从国际外包市场上面分一杯羹, 我觉得这是方向性的错误,中国学印度模式没有任何优势,只有死路一条。
从事IT的人,要在中国的环境中生存,不要在外包企业中呆的时间过长,那样的话,将无法适应 中国残酷的环境,因为外包企业本身也不是能够提供你一份长久稳定的工作。
2010-02-27
2010-02-25
2010-02-24
process command line arguments in WSH script
Microsoft® Windows® 2000 Scripting Guide
http://technet.microsoft.com/en-us/library/ee156618.aspx
How to pass arguments with VBScript
This sample script shows how to process command line arguments using Windows Scripting Host. The example below would be used such that you would save this code off into args.vbs file. Open a command line .
Type in args.vbs argument1 argument2 etc... just put spaces between your arguments.
Set ArgObj = WScript.Arguments
sArgCount = ArgObj.Count
For x = 0 to sArgCount - 1
msgbox ArgObj(x)
Next
set ArgObj = Nothing
Test script that shows how many arguments you've typed
Option Explicit
Dim vArg, aArgs(), iCount, args
If WScript.Arguments.Count = 0 Then
WScript.Echo "No Arguments Supplied"
WScript.Quit
Else
args = WScript.Arguments.Count
WScript.Echo "You entered " & args & " Arguments:"
ReDim aArgs(wscript.Arguments.Count - 1)
For iCount = 0 To WScript.Arguments.Count - 1
aArgs(iCount) = WScript.Arguments(iCount)
WScript.Echo aArgs(iCount)
Next
End If
Save above codes to args.vbs and run it like below:
csript args.vbs arg1 agr2 agr3
Advance arguments passing skills
http://ezinearticles.com/?VBScript---Pass-DOS-Like-Arguments-to-Your-Script-for-Flexibility-and-Control&id=542008
This article shows you how to make DOS like switches with your VBScript
dir /ad /b
doublespace /mount c:
Further reading:
http://ist.marshall.edu/ist334/wsh_arguments.html
http://www.keyongtech.com/5463227-regular-expression-to-detect-repeating
2010-02-21
Active mode FTP VS passive mode FTP
FTP is a TCP based service exclusively. There is no UDP component to FTP.
There are two ways to communication with FTP and that is: active and passive.
FTP is an unusual service in that it utilizes two ports, a 'data' port and a 'command' port (also known as the control port). Traditionally these are port 21 for the command port and port 20 for the data port. The confusion begins however, when we find that depending on the mode, the data port is not always on port 20.
How does Active FTP work?
In active mode FTP the client connects from a random unprivileged port (poer number > 1023) to the FTP server's command port, port 21. Then, the client starts listening to port N+1 and sends the FTP command PORT N+1 to the FTP server. The server will then connect back to the client's specified data port from its local data port, which is port 20.
Firewall on Active FTP - what ports should be opened on server and client side?
On server port 20 and port 21 must be opened on the client (home user) ports higher than 1023 must be opened for successfull ftp connection and transfer of files.
How does Passive FTP work?
In passive mode FTP the client initiates both connections to the server, solving the problem of firewalls filtering the incoming data port connection to the client from the server.
When opening an FTP connection, the client opens two random unprivileged ports locally (port number > 1023 and port number+1). The first port contacts the server on port 21, but instead of then issuing a PORT command and allowing the server to connect back to its data port, the client will issue the PASV command.
The result of this is that the server then opens a random unprivileged port (P > 1023) and sends the PORT P command back to the client. The client then initiates the connection from port (port number+1) to port (port number) on the server to transfer data.
The passive FTP protocol is very good because a lot of connections on internet are over ADSL, cable... and clients use routers to connect to the internet. Routers usualy filter data so active ftp protocol can not be used. This problem is solved with active file transfer protocol.
Firewall on Passive FTP - what ports should be opened on server and client side?
On server port 21 and ports (port number > 1023) must be opened. On client side no change is needed.
How To Configure PassivePortRange In IIS
http://support.microsoft.com/kb/555022
Configuring FTP Site Properties (IIS 6.0)
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/0d2a9b2e-b697-4bb3-8a61-0fad73a1fa08.mspx?mfr=true
port triggering VS port forwarding
http://www.dslreports.com/forum/remark,14446487
FTP has nothing to do with port triggering and everything to do with a statically forwarded port. Its the algorithm in the router that handles the random upper level ports that are used by the server software. Initial negotiation is done by a user outside on the WAN who can access the server because port 21 is forwarded (an open door if you will). Then the software authenticates the user (name/password, however you have set it up) and then starts to manage the request, which means opening up data ports for the actual transfer, the router handles all of this properly so that the outgoing is sent to the originator etc....)
Port triggering is different in that its designed to allow dynamic port forwarding An outgoing request by a user ON THE LAN, tells the router (by means of the port being used on the outgoing request) to open or forward a port or range of ports for a limited period of time, so that incoming traffic on different ports (those opened) can get through the router NAT and to the sender.
In order to use the same service on a different LAN computer, you have to manually replace the LAN computer's IP address in the forwarding port with another LAN computer's IP address.
Trigger port forwarding solves this problem by allowing computers on the LAN to dynamically take turns using the service. The router records the IP address of a LAN computer that sends traffic to the WAN to request a service with a specific port number and protocol (a "trigger" port). When the router's WAN port receives a response with a specific port number and protocol ("incoming" port or port range as designated by the end user), the router forwards the traffic to the LAN IP address of the computer that sent the request. After that computer's connection for that service closes, another computer on the LAN can use the service in the same manner. This way you do not need to configure a new IP address each time you want a different LAN computer to use the application.
For example:
Jane requests a file from the Real Audio server (port 7070).
Port 7070 is a "trigger" port and causes the router to record Jane's computer IP address.The router associates Jane's computer IP address with the "incoming" port range of 6970-7170 because that what has been set up in the port triggering menu!!
The Real Audio server responds to Janes request and uses the expected port or ports ranging between 6970-7170.The ZyWALL forwards the traffic to Jane's computer IP address.Only Jane can connect to the Real Audio server until the connection is closed or times out. The router times out depending on the brand in use, both UDP and TCP. Should be configurable or at least known.
Port forwarding (static) is the process of opening a door in the router, by the user, so that an outside person/entity can access a PC or server behind the router.The door is always open and requires no action by the users on the LAN.
Port triggering is based on an OUTGOING request by a user on the LAN. It allows dynamic port forwarding to temporarily occur, so that the user can access services (REAL AUDIO) or gaming etc..... It assists the users behind the PC. A method of sharing a port or port forwarding range.
FTP algorithm is port negotiation between the FTP software and the router. Initial communication is done by an outside (WAN side) PC/user, using the open door/port 21. A standard port forwarding case.The FTP program then selects random ports and communicates that with the WAN side user. The router firmware detects which ports are being used and ensures that traffic from the WAN user reaches the FTP server, on the high numbered ports.This traffic is normally uploading by the WAN User and thus the ports need to be open so that the return packets (Ack) which communicate progress of the upload can reach the FTP server. The other traffic would be in the case of downloading data to the server by the WAN side user.
It is not triggering of a set range of identified ports, its a negotiation of randomly assigned ports between the router and FTP software.
2010-02-18
command line to check remote session and kill
qwinsta /server:servername
rwinsta sessionname [session id] /server:servername
2010-02-11
2010-02-05
Troubleshooting Program Deployment By Using Verbose Logging
When a program that is deployed through Group Policy is not installed correctly on a client computer, a log file can be generated that records the steps of the Group Policy Application Deployment component leading up to the unsuccessful installation. This information, in conjunction with logging from the Windows Installer service, can be very helpful in determining the cause of the problem.
To enable verbose logging of Application Deployment operations, add the following registry value on the client computer. Delete this value after troubleshooting to avoid performance degradation:
Key: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics
Note that the you may need to create the Diagnostics key.
Value: AppMgmtDebugLevel
Type: REG_DWORD
Data: 4b
The logging file is named Appmgmt.log and is located in the %SystemRoot%\Debug\Usermode folder on the client computer.
http://support.microsoft.com/kb/246509/EN-US
2010-02-04
Microsoft FTP site
ftp://ftp.microsoft.com
2010-02-03
How to delete and recreate the user profile on the local computer (Vista)
1. restart the computer and logon with an administrator account.
2. Rename (or delete) the existing user profile folder: "c:\users\xxxxx"
3.Open Registry Editor (regedit.exe)
4. First, export to backup the registry key: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
5. Then, expand the ProfileList and delete the key which the Data of ProfileImagePath is “C:\users\xxxxxx”
6. Log off and try to logon with the problematic account.
2010-01-29
Failed to open EXE files in Vista
• The EXE file opens in Notepad.
• EXE file opens in some other installed programs.
• Windows displays "Open With" dialog box to choose the program.
• Windows shows error message, "Windows cannot find .exe file. Make sure you typed the name correctly".
Solution:
1. Open a DOS prompt window:
Press CTRL+ALT+DEL keys and open "Task Manager". Hold down the "CTRL" key and click on "New Task" button and it'll open a Command Prompt window.
If your login account doesn’t have admin right, then you need to do this by opening a new DOS window with “runas” command from the DOS window:
runas /user:DomainXXXXX\AdminAccountYYYYY cmd
it will open another DOS window with your admin account.
From the new DOS window, use “regedit” to open the registry editor.
2. Go to “HKEY_CLASSES_ROOT\.exe”. In the right-side pane, change the value of “Default” key to "exefile"
3. Go to “HKEY_CLASSES_ROOT\exefile\shell\open\command”. In the right-side pane, change the value of “Default” key to: "%1" %*
4. Exit Registry Editor and reboot.
2010-01-25
Acess denied error with psexec
Scenario one:
You ran the below command logged in with your Domain\UserName onto localmachineA
psexec \\remoteserverA -i c:\windows\system32\cmd /k dir \\remoteserverB\share
Scenario two:
Firstly you ran the below commdn to open a "cmd" command prompt from remote machine:
psexec \\remoteserverA CMD
After that, you ran "net view \\remoteserverB" and you got access denied.
The reason behind this is that by logging in implicitly you will loose the network resources on \\target that you would have if you had logged on explicitly.
What is "implicit login" and what is "explicit login"?
There is an important difference between using implicit versus explicit logon:
"psexec \\target some_command" uses implicit logon to \\target.
I.e. the user logged in locally will be used to logon to \\target. But logging in implicitly he will loose the network resources on \\target that he would have if he had logged on explicitly.
As -e was not specified his environment will be that of the ".default" user on \\target. Check e.g. the variable %userprofile%.
"psexec \\target -u user - p passw some_command" uses explicit logon to \\target.
psexec is told to explicitly identify as user "user" on \\target (even if he is the same user "user" logged in locally). So network resources assigned to user "user" on \\target may be available.
As -e was not specified his environment will be that of the ".default" user on \\target. Check e.g. the variable %userprofile%.
psexec \\target -u user -p passw -e some_command uses explicit logon to \\target and loads the environment of user "user".
Same as above plus:
As -e was specified the environment on \\target will be that of user "user", not the one of user ".default".
NOTE:
Starting with psexec v1.80 the default behaviour changed! The default now is to load the correct user environment. Specifying -e will keep psexec from loading the user's environment and use the .default environment instead.
To find out more details:
http://forum.sysinternals.com/forum_posts.asp?TID=5072&PN=1
Useful psexec command
PsExec is part of a growing kit of Sysinternals command-line tools that aid in the adminstration of local and remote systems named PsTools.
Utilities like Telnet and remote control programs like Symantec's PC Anywhere let you execute programs on remote systems, but they can be a pain to set up and require that you install client software on the remote systems that you wish to access. PsExec is a light-weight telnet-replacement that lets you execute processes on other systems, complete with full interactivity for console applications, without having to manually install client software. PsExec's most powerful uses include launching interactive command-prompts on remote systems and remote-enabling tools like IpConfig that otherwise do not have the ability to show information about remote systems.
1.Download psexec:
http://technet.microsoft.com/en-au/sysinternals/bb897553.aspx
2.Usage:
Usage: psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-
FAQ: Common PSTools Issues
http://forum.sysinternals.com/forum_posts.asp?TID=15920
3. Examples:
The following command launches an interactive command prompt on \\marklap:
psexec \\marklap cmd
This command executes IpConfig on the remote system with the /all switch, and displays the resulting output locally:
psexec \\marklap ipconfig /all
2010-01-23
iPhone jailbreak steps
1.1.backup iphone:
http://support.apple.com/kb/HT1766
Right-click (or Control-click) the iPhone or iPod touch in iTunes under Devices and choose Back Up.
1.2.download iphone 3.1.2 firmware
http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw
1.3. download blackra1n
http://www.blackra1n.com/
2.start the break:
from your computer, double click the saved blackra1n
then clicke on "make it rain"
it will show “entering recovery mode...”
then you will see " your jailbreak is done once the device reboots. ....", click "ok" and reboot iphone.
I got below problem at this step:
frome itune you see below error message:
itune has detected an iphone in recovery mode, you must restore this iphone before it can be used with itunes
click on restore from itune, after a while iphone reboots.
(turn off blackrain window before doing so)
I got a white blank screen on iphone and itune says " preparing iphone for restore...."
then itune said: the iphone "iphone" could not be restored. an unkonw error occurred (13)
I figured out this was because a network issue in my home network, after fixed the network and tried it again, the restore worked fine.
BTW, the restore did ask for firmware package location and it extracted it by itself.
then itune shows " restoreing iphone firmware......."
After a while and a auto reboot, everything is ok.
Now I can get into iphone as usual, but I found everything is factory setting and all data lost.
I need to resotre from my data backup.Went to itune, click restore backup and choose the right
backup name, few minutes later everything done.
3. install cydia
Once blackra1n is installed properly that means jailbreak done.
click "balckra1n" from iphone, and then choose to install cydia. make sure you have network connected with your computer.
Note, my iphone was unlocked by the vendor before jailbreak.
references:
http://zone.it.sohu.com/forums/thread-3626476-1-1.html
http://zone.it.sohu.com/forums/thread-3626476-1-1.html
(both are very detailed and very good, but in Chinese only)
http://hi.baidu.com/%BA%D3%EB%E0%D3%E3/blog/item/88b4ba03d957f17c3812bb6f.html
English ones:
http://www.iphonedownloadblog.com/2009/10/11/jailbreak-iphone-blackra1n-tutorial/
http://macx.cn/a/a605i1180449.htm
Install tomtom map instruction:
Step 1 : Have an iPhone. Make sure you have OS 3.0
Step 2: Jailbreak iPhone - Follow exact instructions here:
http://www.iphonedownloadblog.com/2009/10/11/jailbreak-iphone-blackra1n-tutorial/
Step 3: Enter Cydia on the iPhone, go to manage, go to sources, click edit (top right), click add (top left) and type : http://cydia.hackulo.us/ (see screenshot) . Ignore Cydia’s silly warnings
Step 4: click search (bottom right), type in ‘installous’. The only result you should get is ‘Installous’(see screenshot). Click this and press ‘install’ (top right)
Step 5: click search again, type in ‘appsync’. The only result you should get is ‘AppSync’(see screenshot). Click this and press install
Step 6: Exit Cydia, and click the new installous icon. Click settings (bottom right). Change ‘Install Method’ to dirty. Toggle ‘iTunes Sync’ to On
Step 7: Download the tomtom app here:
http://thepiratebay.org/torrent/5061144/TomTom_Australia_for_iPhone
Step 8: Drag the app you just downloaded into iTunes
Step 9: Plug your iphone into your computer, it should now sync the app. this can take up to 40 minutes
Step 10: Unplug iPhone and run the tomtom app!
How to Use Skype over 3G on iPhone
Skype over 3G is disable by most of the carriers hence Skype by default requires WiFi in order to make calls.
this article shows you how to fix that so you can have some nice Skype over 3G action!
How to Use Skype Over 3G on your iPhone
Requirements: Jailbreaking, VoIPover3G, OpenSSH or DiskAid, and Mobile Substrate
Note: You do not need to install Intelliscreen to ensure your modified VoIPover3G.plist file works. The latest MobileSubstrate makes sure that VoIPover3G is enabled and working properly. Previously, you needed to install Intelliscreen as a workaround, but no more.
1. Jailbreak
2. Open Cydia. Search for and install VoIPover3G. This enables you to truck apps that "require" WiFi to also work over your 3G data connection
3. While in Cydia install OpenSSH which will allow you to transfer files from/to the iPhone.
4. Install the latest Mobile Substrate.
5. After all these apps are installed, you should reboot your iPhone.
6. Next, connect your iPhone to your home WiFi network and get the IP address the iPhone was assigned. Click on Settings>WiFi>circuluar blue arrow
7. Pick either DiskAir (option a) or OpenSSH (option b) to modify the iPhone file. (on your pc)
a) DiskAid instructions: (a tool for PCs and Macs which enables to use your iPhone or iPod Touch as external Disk.)
1) Download & install DiskAid
2) Connect iPhone to PC or Mac using USB cable.
3) Drag the /Library/MobileSubstrate/DynamicLibraries/VoIPover3G.plist file to your PC or Mac
4) goto Step 8)
b) OpenSSH (more advanced, but techies love SSH/SCP.
1) Download a SSH/SCP program. For PC users I recommend WinSCP.
2) In WinSCP, make sure to select "SFTP" and enter in this info:
- Server: your iPhone's IP address
- Username: root
- Password: alpine
- Port: 22
3) Click on "Connect", which might take a few seconds to connect to your iPhone.
4) Navigate to: /Library/MobileSubstrate/DynamicLibraries
5) Continue to next step (8.)
8. From your PC, double-click VoIPover3G.plist which will open the file.
9. You will likely see the following text within "VoIPover3G.plist"or something very similar:
Filter = {Bundles = ("com.Fringland.Fring", "com.apple.AppStore", "com.audiofile.Interstate", "com.apple.MobileStore");};
Append "com.skype.skype" to the text (with a comma) which will then look like this:
Filter = {Bundles = ("com.Fringland.Fring", "com.apple.AppStore", "com.audiofile.Interstate", "com.apple.MobileStore", "com.skype.skype");};
10. Now save the modified file. If using WinSCP, it will automatically upload back to your iPhone. If using DiskAid, just drag-and-drop the file back onto the iPhone overwriting the old one.
11. Uninstall the Skype app & reboot your iPhone.
12. Reinstall the Skype app from the Apple App Store
And now you will be able to make Skype over 3G calls. Enjoy!
From your iphone, make a call test to ensure skype over 3g is working. Previously you will get a message saying call over 3g is not available and you need to use wifi to make call. Now the message disappeared!
I should point out that MobileSubstrate along with VoIPover3G.plist enables you to install appstore apps larger than 10mb over the 3g and you can use other Voice over IP apps such as Fring over 3G. It even allows ustream to work over 3G - another app restricted to WiFi only. Good stuff!
2010-01-18
Find and/or Delete Duplicate Rows from SQL server
Group the rows by CustName, Pincode. Rows having similar CustName and Pincode will have more than one rows in the grouping. So locate them using HAVING COUNT(*) > 1. If duplicate values are encountered, return the maximum ID for each duplicate row. Using the outer query, delete any ID returned by subquery.
1.SQL Server 2005 Solution:
-- Find Duplicate Rows
SELECT MAX(ID) as ID, CustName, Pincode FROM #Customers
GROUP BY CustName, Pincode
HAVING COUNT(*) > 1
-- Delete Duplicate Rows
DELETE FROM #Customers
WHERE ID IN
( SELECT MAX(ID) FROM #Customers
GROUP BY CustName, Pincode
HAVING COUNT(*) > 1)
2.-- Find Duplicate Rows
SELECT MAX(ID) as ID, CustName, Pincode FROM #Customers
GROUP BY CustName, Pincode
HAVING COUNT(*) > 1
-- Delete Duplicate Rows
DELETE FROM #Customers
WHERE ID IN
( SELECT MAX(ID) FROM #Customers
GROUP BY CustName, Pincode
HAVING COUNT(*) > 1)
Check out the full article:
http://code.msdn.microsoft.com/SQLExamples/Wiki/View.aspx?title=DuplicateRows
2010-01-13
Microsoft Outlook Autocomplete cache file
Outlook 2003 and Outlook 2007 has a feature called Email Address Auto Complete. As you type in an email address into the "TO:" or "CC:" or "BCC:" field outlook will display a list of matching email addresses from the outlook auto-complete cache.
When you move from one PC to another this will be lost as the Auto complete list is saved locally in your Computer.
Location of AutoComplete file.
The AutoComplete file of Outlook is always saved as the profile name of Outlook with .NK2 extension. Depends on which windows version you are using, it can be located from different folder.
XP/w2k
drive:\Documents and Settings\user name\Application Data\Microsoft\Outlook.
(%APPDATA%\Microsoft\Outlook)
Vista/Windows7
drive:\Users\username\AppData\Roaming\Microsoft\Outlook
(%USERPROFILE%\AppData\Roaming\Microsoft\Signatures)
Note: you must have "show hidden files" enabled from windows explorer as the NK2 file is hidden.
How to backup and restore the autocomplet file.
When you migrate to a new machine, or reinstall the system, you need to backup the nk2 file so as to get your existing autocomplete list back.
Just simplely backup nk2 file and then copy it to the same location on the new system.
How to re-use the autocomplete file in another outlook profile:
If you are creating a new profile in outlook and want to use a previous autocomplete file for that profile, you can do it by renaming the .nk2 file to the new profile name.
How to delete an autocomplete entry.
Perhaps you just sent an email and you found out you made a typo….. Unfortunately that typo will remain in you cache until you delete it.
To delete the typo one:
Type the email address you wish to clear from the cache until outlook displays it, then press the down arrow key to select the email address and press the delete button.
2010-01-08
The locale IDs for CJK language IMEs
The locale IDs for CJK language IMEs are quite complicated and the M$ list is far from complete.
The IMEs (Input Method Editors) are methods using a sequence of keys on the keyboard to type to input a character. They do not necessarily represent different written languages. Thus Phonetic and ChangJie are two different IMEs to input the same Chinese Traditional text.
To classify ChT/ChS under Taiwan, HK, PRC etc is also far from satisfactory. Broadly speaking, PRC uses ChS (0804). HK commonly follows what is available under Taiwan (ChT, 0404) rather than what is available under HK.
This is what I have discovered: it tells you what code stands for which IME.
ChT = Chinese (Traditional)
ChS = Chinese (Simplified)
0411:00000411 Japanese
0411:E0010411 Japanese Input System MS-IME 2002
0412:E0010412 Korean IME 2000
0412:00000412 Korean
0404:00000404 ChT US Keyboard
0804:00000804 ChS US Keyboard
0404:E0010404 ChT Phonetic
0804:E0010804 ChS QuanPin
0404:E0020404 ChT ChangJie
0804:E0020804 ChS ShuangPin
0404:E0030404 ChT Quick
0804:E0030804 ChS ZhengMa
0404:E0040404 ChT Big5
0404:E0050404 ChT Array
0804:E0050804 ChS NeiMa
0404:E0060404 ChT DaYi
0404:E0070404 ChT Unicode
0404:e0080404 ChT Microsoft New Phonetic
0404:e0090404 ChT Microsoft New ChangJie
0804:E00E0804 ChS Microsoft PinYin
0404:E01F0404 ChT Alphanumeric
2010-01-07
Windows locale identifier constants and strings
A table of supported locales, what version of Windows each locale was introduced in, the hexadecimal locale identifier value (such as 0x0409 for US English), the locale name and abbreviation (such as en-US for US English).
http://msdn2.microsoft.com/en-us/library/ms776260.aspx
FAQs of Locales and Languages
http://msdn.microsoft.com/en-us/goglobal/bb688174.aspx
1. What is a locale?
In the Windows operating systems, a locale is a set of user preference information related to the user's language, environment and/or cultural conventions. This information is represented as a list of values used to determine the correct input language, keyboard layout, sorting order, and the formats used for numbers, dates, currencies and time. In order for a particular locale to be available for selection, the appropriate language group must be installed.
Windows 2000 and Windows XP includes support for 126 and 136 different locales, respectively, ensuring that users around the world can configure their systems to use the correct formats for their own language and region.
Locale support in Windows is provided through a number of different locale settings: the user locale, input locales, and the system locale. Taken together, these settings offer users a great deal of flexibility when setting up a machine.
2. What is a language group?
A language group is a set of all the keyboard layouts, IMEs, fonts (TrueType or bitmap), font links, language packs (LPKs) and codepage translation tables needed by the system to support the given group of languages. The list of installed language groups thus controls which user, input, and system locales that can be selected by a user.
Installation of a language group on Windows 2000 copies (but does not activate) the necessary keyboard files, Input Method Editors (IMEs), TrueType font files, bitmap font files, and National Language Support (.nls) files to the system. Adding a language group also adds registry values for Font Linking and installs scripting engines for Complex Script languages (Arabic, Hebrew, Indic, and Thai).
3 How many language groups are there?
There are 17 language groups including the Western Europe and United States language group, which always installs as the default for Windows 2000 and cannot be removed. The 17 groups are:
Arabic; Armenian; Baltic; Central Europe; Cyrillic; Georgian; Greek; Hebrew; Indic; Japanese; Korean; Simplified Chinese; Thai; Traditional Chinese; Turkish; Vietnamese; and Western Europe and United States.
Any number and combination of language groups can be installed on any Windows 2000 version.
4. How can I add language groups in Windows 2000?
On the Start menu, click Settings, and then click Control Panel.
In the Language settings for the system list box, check the language groups you want, and then click OK.
Additional files will be copied to your machine. You may need to provide the Windows 2000 CD or the network share name.
After reboot, support for new languages will become available.
5. What is a language collection?
In Windows XP, Microsoft has consolidated the 17 language groups to 3 collections that contain 3 or more language groups. This is done to simplify installation, and improve user experience when working with multiple languages.
For more information about Language Collections, see New Locale and Language Features in Windows XP.
http://msdn.microsoft.com/en-us/goglobal/bb964663.aspx
6. How can I add a language collection in Windows XP?
On the Start menu, click Control Panel.
Click Regional and Language Options, and then click the Languages tab.
Under Supplemental language support, check the language collection(s) you want, and then click OK.
Additional files will be copied to your machine. You may need to provide the Windows XP CD or the network share name.
After reboot, support for new languages will become available.
7. Which language groups support which locales?
See Locale IDs, Input Locales, and Language Collections for Windows XP and Windows Server 2003.
http://msdn.microsoft.com/en-us/goglobal/bb895996.aspx
8. What is the User Locale?
The user locale, implemented in Windows 9x, Windows NT 4.x, Windows 2000, and Windows XP, is a per-user setting that determines the formats used by default to display dates, times, currency, and numbers, and the sorting order of text. A user locale is specified for each and every account created on a computer.
Although available user locales are often listed as a language (sometimes in combination with a country), a user locale is NOT a language setting, and has nothing to do with input languages, keyboard layouts, codepages or user interface languages. The Hebrew user locale, for example, only contains data related to the standard regional settings of Israel, not to the Hebrew language.
Note, however, that changing the user locale will change the language used to display the names of days and months. If the long date format is used to display "November 25, 1998," the language used in the "November" string is dependent on the selected user locale.
Changing the user locale has an immediate effect (a reboot is not required), and all running processes are notified of the change via a WININI change message.
An English user using English Windows 2000 works in Rome, Italy. The user selects Italian (Italy) as the user locale, because he wants to use the formatting standards for Italy in his day-to-day work.
9. What is the Default User Locale?
The default user locale is the user locale setting applied by default to each new account created on a machine. Note that an account's user locale can be changed after the account has been created.
10. What are Input Locales?
Input locales, implemented in Windows 95/98, Windows NT 4.x, Windows 2000, and Windows XP, are pairings of an input language with an input method (which might be a particular keyboard layout, an Input Method Editor, or speech-to-text converter, for example). Specifically, an input locale describes the language being entered, and how it is being entered.
Input locales are added on a per-user basis. For each account it is possible to install multiple input locales and switch between them when entering text, allowing for the composition of multilanguage documents.
Adding or removing input locales has an immediate effect (a reboot is not required). Note that only those input locales for which appropriate language groups have been installed will be available to choose from.
An Arabic user using Arabic Windows 2000 wants to type an e-mail message in a mixture of Arabic and Russian. The user already has an Arabic input locale, and installs a second input locale for the Russian language (with an Arabic keyboard layout). When entering text, the user is able to switch between the Arabic input locale and the Russian input locale.
Click here for information about adding an input locale.
11. What is the System Locale?
The system locale (sometimes referred to as the system default locale), determines which ANSI, OEM and MAC codepages and associated bitmap font files are used as defaults for the system. These codepages and fonts enable non-Unicode applications to run as they would on a system localized to the language of the system locale.
These codepages and fonts are used by non-Unicode applications to emulate operation on a system localized to the language selected as the system locale. Note that only non-Unicode applications are affected by this setting.
The system locale is implemented in Windows 95/98, Windows NT 4.x, Windows 2000, and Windows XP. (Under Windows 95/98, the system locale is fixed based on the language version and cannot be changed. Under Windows NT 4.x, the system locale is pre-selected by the language version, but can later be modified in the Regional Settings Control Panel.)
Windows 2000 supports system locales for any supported locale on all language versions. As the name "system locale" implies, this is a system-wide setting that affects all users, and therefore requires administrator privileges to change.
Changing the system locale requires a reboot. Note that only those system locales for which appropriate language groups have been installed will be available to choose from.
Examples of system locale usage:
A German user wants to run a non-Unicode Japanese application that was designed for Japanese Windows 95. The user has to select Japanese as the system locale to do this. Note: Non-Unicode German applications will not run flawlessly anymore. German umlauts will not be displayed correctly.
The same German user wants to type Japanese text in a non-Unicode German application. The user selects Japanese as the system locale. Note: Non-Unicode German applications will not run flawlessly anymore. German umlauts will not be displayed correctly.
An Arabic user wants to type Arabic, French, and English in a non-Unicode Arabic application. The user should choose one of the Arabic system locales.
12. Which of the Windows 2000 locales do not have codepages?
These seven locales do not have codepages, and are supported in Windows 2000 solely through Unicode:
Armenian (Armenia)
Georgian (Georgia)
Hindi (India)
Tamil (India)
Marathi (India)
Sanskrit (India)
Konkani (India)
13. Which of the Windows XP locales do not have codepage support?
In addition to the seven locales from the previous question, the following six additional locales are solely supported in Windows XP through Unicode:
Divehi (Maldives)
Gujarati (India)
Kannada (India)
Punjabi (Gurmukhi - India)
Syriac (Syria)
Telugu (India)
2010-01-05
2010-01-03
Some free online anti virus tools
http://housecall.antivirus.com
http://www.pcpitstop.com/antivirus/default.asp
http://www.pandasoftware.com/activescan/com/activescan_principal.htm
Also try these free programs to rid your system of spyware, trojans, and other malware:
http://www.superantispyware.com/
SuperAntiSpyware
http://www.download.com/Malwarebytes-Anti-Malware/3000-8022_4-0804572.html?tag=nl.e415
Malwarebytes' Anti-Malware 1.30
2009-11-06
Troubleshooting Software Distribution Using Custom Error Codes
http://technet.microsoft.com/en-us/library/bb735865.aspx
2009-09-20
Usering OpenID as login ID
brothertu.blogspot.com
2. To allow OpenID users to post comments on your blog (for blogger only):
http://www.google.com/support/blogger/bin/answer.py?hl=en&answer=83064
Go to Settings->Comments tab and select "Registered Users" or "Anyone" for the "Who Can Comment" option
Reference reading:
Blogger Becomes an OpenID Provider
http://googlesystem.blogspot.com/2008/01/blogger-becomes-openid-provider.html
Federated Login for Google Account Users
http://code.google.com/intl/zh-CN/apis/accounts/docs/OpenID.html
OpenID 登陆的代码,支持Google 、Yahoo 、Windows Live ID,带演示
http://wangblog.org/2009/05/openid-google-yahoo-windows-live-id.html
Windows Live ID当作OpenID使用
http://wangblog.org/2009/04/windows-live-idopenid.html
Google的OpenID
http://wangblog.org/2009/04/googleopenid.html
2009-09-16
some good stuff for iphone
http://www.everythingicafe.com/forum/iphone-modifications/mywi-released-turn-your-iphone-into-a-wifi-hotspot-51017.html
Stereo bluetooth earphone for iphone 3G/3GS
http://modmyi.com/forums/accessory-review/517681-motorola-s9-hd-a2dp-how-good.html
http://answers.yahoo.com/question/index?qid=20090705190555AAeMqWj
2009-09-06
RSOP.MSC error: 64 help string specified more than once
Got following errors when ran rsop.msc on a XP machine:
1. The latest versions of the adm files below are not available
2. The following error occurred in c:\windows\inf\aer_1044.amd on line 189:
error 64 help string specified more than once
The file can not be loaded.
Resolution:
Actually that's a bug: 574387 - DTS: Installation of .NET Framework causes Multi Language
Administrative Templates to display in RSOP console, you can call Microsoft to check it..
Also, you can follow steps below to resolve your issue:
Since there is no country specific version of .Net Framework 2.0 it
install the adm files for all of the languages supported. In order to only see the
results for US English remove the following adm files.
Search for the files with .adm extension, you may get the result as below.
AER_1025.ADM
AER_1028.ADM
AER_1029.ADM
AER_1030.ADM
AER_1031.ADM
AER_1032.ADM
AER_1035.ADM
AER_1036.ADM
AER_1037.ADM
AER_1038.ADM
AER_1040.ADM
AER_1041.ADM
AER_1042.ADM
AER_1043.ADM
AER_1044.ADM
AER_1045.ADM
AER_1046.ADM
AER_1049.ADM
AER_1053.ADM
AER_1055.ADM
AER_2052.ADM
AER_2070.ADM
AER_3076.ADM
AER_3082.ADM
The only AER_*.adm that needs to be there is AER_1033.adm. The 1033 designation is
the US country code.
So only keep AER_1033.adm file and delete rest of the files, close and reopen
RSOP.
additional information:
Have a look at %windir%\debug\usermode\userenv.log for more info.
If there's not enough info. in that log, enable verbose logging by settingthe following registry value to 30002 (Hex).
HKLM\ Software\ Microsoft\ Windows NT\ CurrentVersion\ Winlogon\UserEnvDebugLevel
Reference reading:
http://www.experts-exchange.com/Software/Server_Software/File_Servers/Active_Directory/Q_23762177.html
http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/2003_Server/Q_22628560.html
2009-09-04
How can a VPN user get the group policy remotely
When connecting office network from home via VPN, the user is not getting group policy applied on his home machine even it's a member of office domain.
Scenarios:
Remote VPN (PPTP, L2TP)
If the tunnel is not available at the time of logon the GP will not be applied. i.e. if it is a VPN connection that you are establishing after the remote user logs on to the PC then it is not possible to apply group policies, unless cached from a previous connection, on the LAN.
In order for the client to get the Group Policy, Winlogon has to get invoked for the logon request and this only happens with the "Logon with Dial-Up Networking". You must use windows VPN client in this case.
Site to site VPN:
If it is a site to site VPN connection there should be no problem, though certain policy settings need to be applied from group policy to enable slow link over VPN.
http://technet.microsoft.com/en-us/library/cc759191(WS.10).aspx
2009-09-03
Detecting Visual Studio 2008 Service Pack 1
http://blogs.msdn.com/heaths/archive/2009/05/29/detecting-visual-studio-2008-service-pack-1.aspx
Detecting Visual Studio 2005 Service Pack 1
http://blogs.msdn.com/heaths/archive/2006/12/17/detecting-visual-studio-2005-service-pack-1.aspx
windows user cannot access sql server problem
We are running SQL Server 2005 on a Windows 2008 server and I have a situation where some of my users are unable to connect to the SQL Server unless they are a member of the sysadmin group.
Any attempts by these users to login result in a login failed,
Error: 18456, Severity: 14, State: 11
Which indicates that it is a valid user who does not have access to this SQL Server.
Solution 1:
Add user to local admin group, then use "run as administrator" to start SQL management studio. Use can access sql server database.
solution 2:
Enabling the TSQL TCP endpoint for the 'public' role fixed the problem.SQL management studio -> server properties-> permission->public->enable "connectSQL"
Reference reading
Users are unable to connect to SQL Server 2005 unless they are in the sysadmin group
http://social.msdn.microsoft.com/Forums/en-US/sqlsecurity/thread/309236fa-d86d-4294-a156-729e2c28b63f
Understanding "login failed" (Error 18456) error messages in SQL Server 2005
http://blogs.msdn.com/sql_protocols/archive/2006/02/21/536201.aspx
Troubleshooting: Login Failed for User 'x'
http://msdn.microsoft.com/en-us/library/ms366351.aspx
2009-09-02
windows DNS problem and troubleshooting
no dns servers have the dns records for this dc registered
failed to enumerate dcs by using the browser
cannot find a primary authoritative dns server
redir and browser test failed
netbt name test failed, at least one of your netbt names is not registered properly
10 DNS Errors That Will Kill Your Network
http://rcpmag.com/Articles/2004/05/01/10-DNS-Errors-That-Will-Kill-Your-Network.aspx?Page=1
DNS FAILURE
http://rcpmag.com/Articles/2004/05/01/10-DNS-Errors-That-Will-Kill-Your-Network.aspx?Page=2
http://www.chicagotech.net/dnstroubleshooting.htm#How to ensure that DNS is registering the Active Directory DNS records
netbt name test failed
http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/2003_Server/Q_24281337.html
Going to provide you with a few links about DNS also for you to check out.
http://www.petri.co.il/dns.htm
http://www.petri.co.il/how_to_install_active_directory_on_windows_2003.htm
http://www.microsoft.com/technet/network/support/trblshoot/dnstshot.mspx
http://support.microsoft.com/kb/291382
Some are just the basics, but regardless if those basics are not setup correctly there are going to be problems for sure.
http://www.tomshardware.com/forum/195864-46-cannot-find-primary-authoritative-server-single
http://www.experts-exchange.com/Networking/Windows_Networking/Q_21577682.html
2009-09-01
backupexec "server paused" problem
When i was trying to do something like backup, inventoty, import etc, the job just pending there and the job status shows " server pause"at the device staus, everything looks o.k.
Solution:
To remove the "server paused" simply do the following:
1. Select "Devices" tab in Backup Exec
2. Right-click on the server name and select "Paused" to "un-pause" the server.
Everything should now be back to "normal".
2009-08-27
"Set Network Location" dialog issue in vista
by Steven Bink
http://bink.nu/news/disable-the-set-network-location-dialog-in-windows-vista.aspx
Problem:
In vista, the system presents the "Set Network Location" dialog requesting to categorize the newly connected network as one of the following:
• Private
• Work
• Public
"Public" is the only option that can be chosen without using administrative rights on the system.
When an admin does not want this dialog to pop when one of his mobile computers is connected to non-trusted network, there is no option in Group Policy to stop the dialog from occurring.
Solutions 1:
The user has the option to disable the dialog from the UI:
• Right Click the network icon in the system tray
• Click Turn off/on notification of new networks
Solutions 2:
This is not the ideal option for the average admin. So this can be arranged from the registry:
On a per user basis
Set the value "Show" (REG_DWORD) to 0 in
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Network\NwCategoryWizard
At the system level
Create a new Registry key (without any value) NewNetworkWindowOff in HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff
reference reading:
Clean Up the Vista Networks
http://blogs.msdn.com/knom/archive/2007/03/27/clean-up-the-vista-networks.aspx
Network Location Types in Windows Vistaby The Cable Guy
http://technet.microsoft.com/en-au/library/bb878110.aspx
New Networking Features in Windows Server 2008 and Windows Vista
http://technet.microsoft.com/en-us/library/bb726965.aspx
Network Location Settings in Windows Vista
2009-08-24
MDT 2008 settings detail
http://osman-shener-en.blogspot.com/2008/10/mdt-properties.html
http://msdn.microsoft.com/en-us/library/aa738790.aspx
http://technet.microsoft.com/en-us/library/cc766503(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc772783(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc772783(WS.10).aspx
http://ronni-pedersen.spaces.live.com/blog/cns!CF8D2BCE64196A5D!542.entry
http://social.technet.microsoft.com/Forums/en-US/configmgrosd/thread/9af61b5c-6407-44b9-87c4-a4044a94729c
http://blogs.ethz.ch/jlaville/2008/03/24/vista-and-windows-2008-deployment-with-wds-waik-and-mdt-litetouch-part-iv/
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032382718&EventCategory=3&culture=en-US&CountryCode=US
Deploying Vista -Mitch Tulloch series
Mitch Tulloch
Part 1-31
Deploying Vista - Part 1: Understanding the Windows AIK
Deploying Vista - Part 2: Understanding Windows Setup and the Windows Imaging File Format
Deploying Vista - Part 3: Understanding Configuration Passes
Deploying Vista - Part 4: Understanding Deployment Scenarios
Deploying Vista - Part 5: Using Sysprep
Deploying Vista - Part 6: Using Windows SIM
Deploying Vista - Part 7: Creating a Minimal Answer File
Deploying Vista - Part 8: Unattended Install from DVD Method
Deploying Vista - Part 9: Automating the Machine OOBE
Deploying Vista - Part 10: Understanding the Windows Preinstallation Environment
Deploying Vista - Part 11: Working with Windows PE
Deploying Vista - Part 12: Understanding Image-Based Deployment
Deploying Vista - Part 13: Performing Image-Based Deployment
Deploying Vista - Part 14: Understanding Windows Deployment Services
Deploying Vista - Part 15: Implementing Windows Deployment Services
Deploying Vista - Part 16: Configuring Windows Deployment Services
Deploying Vista - Part 17: Working With the Windows DS Image Store
Deploying Vista - Part 18: Managing Windows Deployment Services
Deploying Vista - Part 19: Managing Windows Deployment Services (Continued)
Deploying Vista - Part 20: Working With Discover Images
Deploying Vista - Part 21: Working With Capture Images
Deploying Vista - Part 22: Deploying Images using Windows Deployment Services
Deploying Vista - Part 23: Unattended Image Deployment Using Windows Deployment Services
Deploying Vista - Part 24: Understanding Microsoft Deployment Toolkit
Deploying Vista - Part 25: Preparing Microsoft Deployment Toolkit for Deploying Vista
Deploying Vista - Part 26: Deploying Vista Using Microsoft Deployment Toolkit
Deploying Vista - Part 27: Automating a Light Touch Installation
Deploying Vista - Part 28: Configuring Distribution Shares
Deploying Vista - Part 29: Configuring Distribution Shares (Continued)
Deploying Vista - Part 30: Configuring Deployment Points
Deploying Vista - Part 31: Configuring Task Sequences
70-635 MCTS Microsoft Deployment Toolkit 2008, Desktop Deployment
http://www.myitforum.com/myITWiki/70-635.ashx
Deploy Visual Studio 2008 via AD and GPO
Deploy Visual Studio 2008 Professional 9.x package
http://www.appdeploy.com/packages/detail.asp?id=1410
Microsoft Visual Studio 2008Administrator Deployment Readme
http://download.microsoft.com/download/4/9/0/490EADD1-19C0-47F9-9748-E901C926F925/adminreadme2008.htm
MS forum support for VS2008:
http://social.msdn.microsoft.com/forums/en-US/category/visualstudio/
VS2008 sp1 readme
http://go.microsoft.com/fwlink/?LinkID=119522
VS 2008 Service Pack 1 - Docs and Installation
http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2008/05/18/10418.aspx
VS2008 SP1 Beta fails to add "new item - ADO.NET Entity Data Model" Item Template
http://social.msdn.microsoft.com/forums/en-US/vs2008sp1beta/thread/de81a1f4-a31f-428a-bbd2-a286cdffb29a/
http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/2003_Server/Q_21089219.html
How can I change the font in a chm file
You can decompile, modify, and recompile HTML Help (.chm) files with
Microsoft's HTML Help Workshop, which is available from here:
http://msdn.microsoft.com/library/en...pDownloads.asp
The decompilation process does not usually give you the project (.hhp)
file, which is needed in order to recompile the help file. Of the
available decompilers, the only one that is capable of regenerating the
..hhp file is KeyTools, available from here:
http://www.keyworks.net/keytools.htm
But... one important thing to note is that the decompile/recompile
process isn't a "round-trip" process. Certain features that the help
author added to the original help file can't be recovered when you
decompile it, so these may no longer work after you've recompiled. This
is especially true in the area of context-sensitive (F1) help, which
may be broken in the recompiled version of the file.
HTML Help files are inextricably bound up with IE because they use IE
as their "layout engine"; in effect, the topic pane of the help viewer
is an embedded IE window. However, if you modify the cascading style
sheets (.css) to which the help topics are linked so that they use
absolute rather than relative values, changes to the IE font settings
won't affect the display of help content. For example, you might
specify the style properties for
elements like this:
p { font-size: 10pt; }
rather than like this:
p { font-size: 90%; } or p { font-size: medium; }
When you decompile a HTML Help file, you'll usually find one or more
..css files among the output.
For what it's worth, I think that the amount of time and effort
required to modify more than a couple of help files greatly outweighs
any benefit you might derive from doing so. In other words, it's
something that you might try once and then give up on...
Answer 2
The chm font is changeable. It all depends on how the fonts are specified in the stylesheet of
the chm file. If you use fixed sizes in pix or mm (and you shouldn't), then
yes, the size can't be changed by the user. But if you specify it as
''size:small;" and everything else as relative, then it's changeable. Just
like any website.
Also, when you create your chm file, the chm compiler has a setting to add a
font size button on the menu. See for instance this file I created long ago:
http://www.gdargaud.net/Zips/Css.chm
Add font button to chm file:
Method 1
Just to add that, although Microsoft's HTML Help documentation and Help Workshop tool don't make any mention of it, it is possible to add a Font button to the toolbar of the HTML Help viewer. However, the technique requires you to edit the window settings in your HTML Help project (.hhp) file in a text editor, so I don't suppose that it will fit in very well with your H&M workflow.
See this article for details:
http://frogleg.mvps.org/helptechnologies/htmlhelp/hhtips.html#addfontbtnchm
Method 2
Alternatively, you can open the .hhp file in FAR and add the button there.
Reference reading:
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.helpauthoring&tid=98fb48f7-df3a-49b5-9695-fe02cc98c6b9&cat=en_US_40611250-1604-443c-8787-ea86cc64ae4e&lang=en&cr=US&sloc=&p=1
http://helpman.it-authoring.com/viewtopic.php?t=7841&highlight=&sid=18cf2089d07798e12186fd448bcffcc6
2009-08-19
Allow users to log on to domain controller remotely
A windows 2003 server has recently been upgraded to domain controller.User used to be able to RDC to it now failed with error:
"To log on to this remote computer,you must be granted the allow log on trhough terminal services right.By default, members of the remote desktop users group have this right. If you are not a member of the remote desktop users group that has this right, or if the remote desktop users group does not have this right, you must be granted this right manually."
To troubleshoot this issue:
1. make sure Remote desktop is enabled on the server
2. make sure Remoet desktop users group has right to log on through terminal services.start > run > gpedit.msc > computer config > windows settings > local policies > user rights assign > allow log on through terminal services > make sure Remote Desktop users group is listed .
3. Make sure you have configured permissions for the remote desktop user group in the terminal services configuration (right click RDP-tcp, properties > permissions > add user access to the group)
The reason that caused this issue is quite simple:
By default, only Administrators are allowed log on to the DC. If you wish to allow other users to log on to this DC with TS, you will need to change the security settings in GP after AD has been installed.
When you promote A Windows 2003 server to Domain Controller, you may receive this message: “Terminal Services is installed in this computer. Installing AD on this PC will change security policy on this PC so that only Administrators will be able to log on to the PC... If you wish to allow other users to log on to this PC with TS, you will need to changethe security settings in GP after AD has been installed”
For this kind of issue, basicall you want to try one or more of the following settings:
1. Assign the user to The Allow log on through Terminal Services right using local policy (gpedit.msc).
2. Assign permission to use TS Configuration. Go to that, select the properties of RDP-Tcp.
3. The Allow logon to terminal server check box under user properties.
4. Assign the user to Access this computer from network.
5. Assign the user to Allow log on locally.
Reference reading:http://www.chicagotech.net/RemoteAccess/ts15.htm
2009-08-18
Access Denied error when trying to open a folder in Vista
Although these look like folders, they are actually what is known as a junction. Junctions behave like shortcuts, but look just like regular folders.
Their purpose is to silently redirect programs that access them to their Windows Vista equivalent.
Since junctions aren't really folders, it is not possible to access them, and any attempt to do so will give you an "Access Denied" error.
Here is a list of all of the folders that have been moved in Windows Vista, along with their new location:
2009-08-17
The computer must be trusted for delegation and the current user account must be configured to allow delegation
When running a SQL application you got error:
The requested operation cannot be completed. The computer must be trusted for delegation and the current user account must be configured to allow delegation. System.Security.Cryptography.CryptographicException: The requested operation cannot be completed. The computer must be trusted for delegation and the current user account must be configured to allow delegation.
Solution:
In the Active Directory Users and Computers snap-in, enable the SQL Server service account to be trusted for delegation.
http://technet2.microsoft.com/WindowsServer/en/library/bef202b0-c8e9-4999-9af7-f56b991a4fd41033.mspx?mfr=true
Reference reading:
How do I configure accounts so that they are trusted for delegation in a Windows Server 2003 Enterprise Edition environment?
http://windowsitpro.com/article/articleid/79498/jsi-tip-7359-how-do-i-configure-accounts-so-that-they-are-trusted-for-delegation-in-a-windows-server-2003-enterprise-edition-environment.html
2009-08-12
Some Nokia E65 resources
http://www.gadgetsmanual.com/nokia-e65-user-guide-pdf.html
How to check Nokia E65 firmware:
type: *#0000#
It will show the firmware information:
2.0633.65.01
03-10-07
RM-208
How to reset E65 to factory setting
http://discussions.europe.nokia.com/discussions/board/message?message.uid=378406#
type *#7370#
You will be prompted: Reset all original phone settings?
press "Yes"
then it will ask for lock code, type: 12345
this will reset to factory settings.
How to fix cannot open gallery Problem?
my nokia e65 phone got very slow it takes couple of min to open the gallery files and other files too, in top of the phone there is one icon is always present like arrow, wen we send mssg it appears,n it indicate us, same like that, i formated my cell using *#7370#but is still slow
Solution:
check if your memory card that u have inserted is of how many GB, if more than 1GB reduce it to 1GB, sometiimes phones cannot take up so much high memory.
2009-08-06
Writing Terminal Service Based Scripts
part 1:
http://www.msterminalservices.org/articles/Writing-Terminal-Service-Based-Scripts-Part1.html
Writing Terminal Service Based Scripts (Part 2)
Writing Terminal Service Based Scripts (Part 3)
Writing Terminal Service Based Scripts (Part 4)
Writing Terminal Service Based Scripts (Part 5)
Writing Terminal Service Based Scripts (Part 6)
Writing Terminal Service Based Scripts (Part 7)
Writing Terminal Service Based Scripts (Part 8)
Writing Terminal Service Based Scripts (Part 9)
Writing Terminal Service Based Scripts (Part 10)
Writing Terminal Service Based Scripts (Part 11)
Writing Terminal Service Based Scripts (Part 12)
Writing Terminal Service Based Scripts (Part 13)
Writing Terminal Service Based Scripts (Part 14)
2009-08-05
Exchange/outlook message: Delivery to the following recipients has been delayed.
http://support.microsoft.com/kb/329636
2. Ensure Exchange SMTP virtual server is configured properly
Open your Exchange System Manager Console
Go to Administrative Group ==> Domain ==> Servers ==> Server ==> Protocol ==> SMTP
Right click on "Default SMTP Virtual Server"
STOP service
wait for couple of seconds
START service
3.Ensure local DNS is configured properly
It can be that the exchange server could not find any DNS servers.
Please edit the SMTP protocol in delivery - advanced - configure external DNS servers with your dns server of the ISP.
If after this all the messages should get out, then the problem is with your local dns server.
3.Test target mail server
Usually, this indicates a problem on their end. Perhaps the mailbox is full or their mail server is down. However, if you are able to send mail to those addresses from other accounts (Hotmail, Yahoo, etc.), but not your Exchange server account, then there could be other issues.
I am assuming that your mail server is Microsoft Exchange.
Common causes include:
- The recipient's mailbox is full. Usually, though, you would get a different error message.
- The address is invalid.
- Your mail server is on a blacklist. This can happen if you have an open relay, or if you are using dial-up (many sites block mail coming directly from known dial-up IP addresses). There are other ways to be added to public blacklists.
- Their mail server is on a blacklist. Exchange does not include the feature to check against blacklists, but there are third-party add-ons which can do this, such as antivirus and antispam software.
- A firewall is blocking access to their mail server. This could be your firewall or theirs.
- There are other routing problems between your server and their server.
Try the following.
- Open a command prompt.
- Type "NSLOOKUP" and press enter.
- Type "SET TYPE=MX" and press enter.
- Type in the domain name of the address that is giving you problems. For instance, if you are trying to send to BillGates@microsoft.com, you would type "microsoft.com" and press enter.
- A list should appear. This is a list of the mail servers (DNS MX records) that are assigned to that computer.
- Look for the server name with the lowest preference number. If they are all the same preference, just use one. In our example, it is maila.microsoft.com.
- Type "exit" and press enter to quit NSLOOKUP.
- Try to ping the address.
- If successful, try to connect to the mail server manually:
- Type "telnet maila.microsoft.com 25" and press enter, substituting the appropriate server name.
- You should see a server banner message (see example).
<<<>>>
- Type "HELO" and press enter (you might not see what you type. This is normal).
- Type "mail from:
- Type "rcpt to:
- Type "data" and press enter.
- Type "Subject: Test message" and press enter TWICE.
- Type a short message. When you are done, press enter, type a period, and press enter again to end the message.
- Type "quit" and press enter to exit.
NOTE: If everything works, then the message will be sent to the address.Keep an eye out for any error messages during this process.Your session should look like the following:
---------------------------------
C:\>nslookup
Default Server: somednsserver.whatever.zzz
Address: 192.168.0.5> set type=mx
>microsoft.com
>Server: somednsserver.whatever.zzz
Address: 192.168.0.5microsoft.com MX preference = 10, mail exchanger = maila.microsoft.com
microsoft.com MX preference = 10, mail exchanger = mailb.microsoft.com
microsoft.com MX preference = 10, mail exchanger = mailc.microsoft.com
maila.microsoft.com internet address = 131.107.3.125
maila.microsoft.com internet address = 131.107.3.124
mailb.microsoft.com internet address = 131.107.3.122
mailb.microsoft.com internet address = 131.107.3.123
mailc.microsoft.com internet address = 131.107.3.121
mailc.microsoft.com internet address = 131.107.3.126
>exit
C:\>ping maila.microsoft.com
Pinging maila.microsoft.com [131.107.3.125] with 32 bytes of data:
Reply from 131.107.3.125: bytes=32 time=91ms TTL=50
Reply from 131.107.3.125: bytes=32 time=87ms TTL=50
Reply from 131.107.3.125: bytes=32 time=88ms TTL=50
Reply from 131.107.3.125: bytes=32 time=87ms TTL=50
Ping statistics for 131.107.3.125:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 87ms, Maximum = 91ms, Average = 88ms
C:\>telnet maila.microsoft.com 25
220 inet-imc-01.redmond.corp.microsoft.com Microsoft.com ESMTP Server Tue, 18 May 2004 14:57:17 -0700helo
250 nasmail02.psi.premier-system.com Hello [192.168.0.24]
mail from:testing@bogus.zzz
250 2.1.0 testing@bogus.zzz....Sender OK
rcpt to:billgates@microsoft.com
250 2.1.5 billgates@microsoft.com
Data
354 Start mail input; end with
Subject: Test messageThis is a test.250 2.6.0
mail for delivery
quit
221 2.0.0 maila.microsoft.com Service closing transmission channel
Connection to host lost.
C:\>
---------------------------------
http://www.experts-exchange.com/Software/Server_Software/Email_Servers/Exchange/Q_23890828.html
mx record check tool
http://mxtoolbox.com/index.aspx
MXlookup
diagnostics
blacklists
ABOUT MX LOOKUP
This test will list MX records for a domain in priority order. The MX lookup is done directly against the domain's authoritative name server, so changes to MX Records should show up instantly. You can click Diagnostics, which will connect to the mail server, verify reverse DNS records, perform a simple Open Relay check and measure response time performance. You may also check each MX record (IP Address) against 147 DNS based blacklists. (Commonly called RBLs, DNSBLs)
2009-08-04
tools to simulate slow network bandwidth
Traffic Shaper XPhttp://bandwidthcontroller.com/trafficShaperXp.html
If you do not mind configuring a Linux box I have found NIST Net (http://snad.ncsl.nist.gov/itg/nistnet/) to be a great free solution to my network emulation requirements.
My work uses this tool, and it seems quite good: http://www.dallaway.com/sloppy/
Best of luck.
TMnetSim Network Simulator version 2.4 32-bit (600KB)PC Platform software to simulate a bad WAN on a PC. Newer version than in ToolCrib, also does Packet Capture.http://www.tmurgent.com/download/TMnetsim32_02040000.zip
http://www.linuxfoundation.org/en/Net:NetemOn Linux, see netem: the kernel already contains support for traffic shaping, and can simulate high latency, low bandwidth, packet losses, and all sort of other adverse conditions, even on a loopback device (so you don't need a real, physical network to test across).
2009-08-03
the OSI model wiki
The OSI Model
7. Application Layer
NNTP · SIP · SSI · DNS · FTP · Gopher ·
HTTP · NFS · NTP · SMPP · SMTP ·
SNMP · Telnet (more)
6. Presentation Layer
MIME · XDR · SSL · TLS
5. Session Layer
Named Pipes · NetBIOS · SAP
4. Transport Layer
TCP · UDP · PPTP · L2TP · SCTP
3. Network Layer
IP · ICMP · IPsec · IGMP
2. Data Link Layer
ARP · CSLIP · SLIP · Frame Relay
· ITU-T G.hn DLL
1. Physical Layer
RS-232 · V.35 · V.34 · I.430 · I.431 ·
T1 · E1 · 802.3 Ethernet
· 10BASE-T · 100BASE-TX
· POTS · SONET · DSL
· 802.11a/b/g/n PHY · ITU-T G.hn PHY
iPhone battery tips
iPhone 3G and iPhone 3GS cannot be charged with a FireWire power adapter or FireWire-based car charger. Make sure your computer is on while charging iPhone via USB. If iPhone is connected to a computer that’s turned off or is in sleep or standby mode, the iPhone battery may drain.
Maximum Battery Life
iPhone 3GS offers up to 5 hours of talk time on 3G, 12 hours of talk time on 2G, 5 hours of Internet use on 3G, 9 hours of Internet use on Wi-Fi, 10 hours of video playback, or 30 hours of audio playback on a full charge at original capacity. In addition, iPhone features up to 300 hours of standby time.
Charge Cycles
A properly maintained iPhone battery is designed to retain up to 80% of its original capacity at 400 full charge and discharge cycles. You may choose to replace your battery when it no longer holds sufficient charge to meet your needs.
Let It Breathe
Charging your iPhone while in certain carrying cases may generate excess heat, which can affect battery capacity. If you notice that your iPhone gets hot when you charge it, take it out of its case first.
Optimize Your Settings
Depending on how they are configured, a few features may decrease your iPhone battery life. For example, the frequency with which you retrieve email and the number of email accounts you auto-check can both affect battery life. The tips below apply to an iPhone running iPhone 3.0 or later software and may help extend your battery life.
§ Minimize use of location services: Applications that actively use location services such as Maps may reduce battery life. To disable location services, go to Settings > General > Location Services or use location services only when needed.
§ Turn off push notifications: Some applications from the App Store use the Apple Push Notification Service to alert you of new data. Those applications that extensively rely on push notifications (such as instant messaging applications) may impact battery life. To disable push notifications, go to Settings > Notifications and set Notifications to Off. Note that this does not prevent new data from being received when the application is opened. Also, the Notifications setting will not be visible if you do not have any applications installed that support push notifications.
§ Fetch new data less frequently: Applications such as Mail can be set to fetch data wirelessly at specific intervals. The more frequently email or other data is fetched, the quicker your battery may drain. To fetch new data manually, from the Home screen choose Settings > Mail, Contacts, Calendars > Fetch New Data and tap Manually. To increase the fetch interval, go to Settings > Mail, Contacts, Calendars > Fetch New Data and tap Hourly. Note that this is a global setting and applies to all applications that do not support push services.
§ Turn off push mail: If you have a push mail account such as Yahoo!, MobileMe or Microsoft Exchange, turn off push when you don’t need it. Go to Settings > Mail, Contacts, Calendars > Fetch New Data and set Push to Off. Messages sent to your push email accounts will now be received on your phone based on the global Fetch setting rather than as they arrive. If the global Fetch setting is set to Manually, you will not be able to locate your iPhone using the MobileMe Find My iPhone feature.
§ Auto-check fewer email accounts: You can save power by checking fewer email accounts. This can be accomplished by turning off an email account or by deleting it. To turn off an account, go to Settings > Mail, Contacts, Calendars, choose an email account, and set Account to Off. To remove an account, go to Settings > Mail, Contacts, Calendars, choose an email account, and tap Delete Account.
§ Minimize use of third-party applications: Excessive use of applications such as games that prevent the screen from dimming or shutting off or applications that use location services can reduce battery life.
§ Turn off Wi-Fi: If you rarely use Wi-Fi, you can turn it off to save power. Go to Settings > Wi-Fi and set Wi-Fi to Off. Note that if you frequently use your iPhone to browse the web, battery life may be improved by using Wi-Fi instead of cellular data networks.
§ Turn off Bluetooth: If you rarely use a Bluetooth headset or car kit, you can turn off Bluetooth to save power. Go to Settings > General > Bluetooth and set Bluetooth to Off.
§ Use Airplane Mode in low- or no-coverage areas: Because your iPhone always tries to maintain a connection with the cellular network, it may use more power in low- or no-coverage areas. Turning on Airplane Mode can increase battery life in these situations; however, you will be unable to make or receive calls. To turn on Airplane Mode, go to Settings and set Airplane Mode to On.
§ Adjust brightness: Dimming the screen is another way to extend battery life. Go to Settings > Brightness and drag the slider to the left to lower the default screen brightness. In addition, turning on Auto-Brightness allows the screen to adjust its brightness based on current lighting conditions. Go to Settings > Brightness and set Auto-Brightness to On.
§ Turn off EQ: Applying an equalizer setting to song playback on your iPhone can decrease battery life. To turn EQ off, go to Settings > iPod > EQ and tap Off. Note that if you’ve added EQ to songs directly in iTunes, you’ll need to set EQ on iPhone to Flat in order to have the same effect as Off because iPhone keeps your iTunes settings intact. Go to Settings > iPod > EQ and tap Flat.
§ Turn off 3G: Using 3G cellular networks loads data faster, but may also decrease battery life, especially in areas with limited 3G coverage. To disable 3G, from the Home screen choose Settings > General > Network and set Enable 3G to Off. You will still be able to make and receive calls and access cellular data networks via EDGE or GPRS where available.
Lock Your iPhone
It may seem obvious, but you should lock your iPhone when you aren’t using it. You will be able to receive calls and text messages while it is locked, but nothing happens if you touch the screen. To lock iPhone, press the Sleep/Wake button. You can also set the Auto-Lock interval so your iPhone will turn off more quickly after a period of inactivity. To set Auto-Lock, go to Settings > General > Auto-Lock and set the interval to a short time, such as 1 minute.
Use iPhone Regularly
For proper maintenance of a lithium-based battery, it’s important to keep the electrons in it moving occasionally. Be sure to go through at least one charge cycle per month (charging the battery to 100% and then completely running it down).
2009-08-02
Synchronize your iPhone contacts with Google contacts
http://www.google.com/mobile/products/sync.html#p=apple
Basically you have two major tasks to get this done:
Task 1. Upload contacts to Google contacts from iPhone
Google Sync uses the Microsoft® Exchange ActiveSync® protocol.
When setting up a new Exchange ActiveSync account on your iPhone, all existing Contacts and Calendar events will be removed from your phone.
Please make sure to back up any important data before you set up Google Sync.
It is suggested to upload your existing iPhone contacts to Google first.
Check this for step by step guide.
http://www.google.com/support/mobile/bin/answer.py?answer=138744&topic=14252
Task 2. Setup Google sync on your iPhone
http://www.google.com/support/mobile/bin/answer.py?answer=138740
Tethering iphone
Poedgirl has made some carrier files that you can import into your iPhone and enable tethering and MMS without paying their exorbitant fees.
http://blog.poedsoft.com/2009/06/iphone-tethering/
1. To install them on your iPhone, open up Mobile Safari and navigate to the URL that corresponds with your carrier:
http://blog.poedsoft.com/3.mobileconfig
http://blog.poedsoft.com/optus.mobileconfig
http://blog.poedsoft.com/telstra.mobileconfig
http://blog.poedsoft.com/vodafone.mobileconfig
2.Restart iPhone
3. Got iPhone's settings->general->network->internet tethering-> enable it
More reading:
http://www.gizmodo.com.au/2009/06/aussie-iphone-tethering-guide-%E2%80%93%C2%A0all-carriers/
http://thekrzi.net/wordpress/?p=177