博文

生活六大技巧(2006-01-11 17:06:00)

摘要:1、如何安排时间 一些大大小小的石头要装进一个罐子,怎么装才能尽可能多地放进石头呢?应该先放大石头,再放小的。时间的安排也是同一个道理,应该先把整块时间安排好,做一些需要持久工作的事情,然后用空余的时间做一些小事。正如陈省身所说,如果刷牙的时候都在考虑问题,时间总是够的。   2、人际交往的技巧 人都喜欢受到表扬和称赞。因此要学会称赞别人。但是 称赞 不等于 PMP(拍马屁)。称赞需要诚恳,需要内容符合实际。不过如果不知道如何称赞,PMP 也是有必要的。PMP 的两个“拓展”是 MPMP(猛PMP)和 PMPMP(拼命PMP)。   3、个人修养等  SUN-YUAN KUNG 教授说自己: (1) 脸皮厚,不注意形象。脸皮厚 不等于 不要脸。形象不好,做一点点好事人家就会赞赏。原来形象太好的话,像杨振宁,娶个年轻老婆人家都要指责 (2) 任何场合说废话的能力。其实,任何场合都能说不得罪人的废话,不是一件容易的事情。 (3) 懒惰,“骗自己”的能力强。把自己定位为一个懒人,并且骗自己说现在的事情如果拖着,可能要花2倍的力气去做。这样就能督促自己尽快完成工作啦!   4、快乐 (1) 快乐来自哪里?快乐来自骗自己,以及别人的肯定。 (2) 做什么事情快乐?吹牛!学东西就是为了能在别人面前吹牛。学得比别人深刻也是为了能吹牛吹得更好。 (3) 快乐是一个过程   5、人生态度 要爱自己、尊重别人、敬畏自然。(谋事在人,成事在天)   6、交友相关 人需要 有品味、有激情、有学问。不过交友最重要的是有品味。对于自己的朋友,往往不 care 他的学识。......

阅读全文(3370) | 评论:0

GPS 通讯的NMEA 协议(2006-01-11 16:12:00)

摘要:GPS 的通讯协议比较多,其中NMEA (National Ma2rine Electronics Association) , 0183 协议为GPS 接收机和其他航海电子产品的导航数据输出格式,是目前普遍使用且为大多数生产商遵循的协议之一,以下为其基本通讯参数及报文格式。

1. 1  GPS 串行通讯参数

波特率= 4800 ;无奇偶校验;数据位= 8 ;停止位= 1

1. 2  NMEA 0183 报文格式

NMEA 0183 协议报文的语句串(ASCII 字符) 格式全部信息可如下表示[1] :

$AAXXX,ddd. . . ddd , 3 hh < CR > < LF >

具体内容为:

$ 串头,表示串开始

AA  识别符

XXX 语句名

ddd &#8943;ddd  数据字段,字母或数字

,   逗号

3  星号,串尾

hh  $与3 之间所有字符代码的校验和

< CR >  回车控制符

< LF >  换行控制符

1. 3  报文示例说明

在具体的GPS 应用中,不需要用到NMEA 的全部信息,而是根据具体的工作,从中选取所需的信息,忽略其他信息。在文献[ 1 ]中,给出了用NMEA0813 的$GPGGA语句的数据格式及示例,文中以GPS 推荐的最短数据$GPRMC 语句为例,具体讨论协议串中各数据段内容。

1. 3. 1  当GPS 接收仪和卫星的通讯正常时接收到的数据中就包含如下格式的RMC 语句:

$GPRMC,055142,A,3603.3291,N,10346.3723,E,0.0,230.4,250503,1.3,

W,A *3 02

其中数据分别为:

$GPRMC  串头,其中RMC 为定位语句

055142 表示UTC 24 小时制的标准时间,格式为“时时/分分/秒秒”。根据任务还需要将其转换为北京时间格式

A 或V 表示信号接收状态,其中A表示......

阅读全文(10336) | 评论:0

A-GPS新式定位服务(2006-01-10 21:54:00)

摘要: 辅助型全球卫星定位技术(A-GPS)将改变移动应用的部署方式。 高精度基于位置服务(LBS)技术将导致人们看待世界的方式出现重大转变。 届时,人们在分析“我要去哪儿”的时候不再问“我在哪里”,而是问“我当前所在位置附近有哪些人或者东西”。这可能包括众多信息,从即时通信好友名单、最近的加油站,到最近的历史名胜古迹,不一而足。定位技术在提高安全方面的好处很容易被人所理解和认可。不过对移动运营商们来说,更重要的是高精度LBS、尤其是辅助型全球卫星定位技术(A-GPS)对不断发展的移动应用市场所带来的影响:提高收入。 推动商业化定位技术发展的因素来自两个方面:精确度和兼容性。前者可能一目了然,后者则并不明显。如今部署的移动网络(以及演进道路)属于这两大类——GSM或者CDMA。因为A-GPS已成为CDMA系统事实上的高精度标准,所以本文主要讨论部署到GSM/GRPS/UMTS网络当中的定位技术(见图1)。 定位技术面面观 对今天的无线网络而言,小区识别(Cell-ID)是部署最广泛、但精度也是最差的定位技术。小区识别的基本原理就是,在任何一个既定时间,无线网络都知道移动台是与哪个基站在联系,并且知道这个基站的位置。因为移动台有可能建在某个小区的任何一个地方(小区方圆从2公里到20公里不等),所以这种方法的精度很差。 正是由于这个原因,后来开发了更先进的基于时间的方法,譬如增强型观测时间差(E-OTD)和观测到达时间差(OTDOA)技术。这两项技术都使用另外的网络单元——位置测量单元(LMU)来帮助计算位置。不过,E-OTD只工作在GSM/GPRS(2G/2.5G)网络上,而OTDOA只工作在UMTS(3G)网络上。这两项技术有两个问题,具体取决于邻近基站信号的分辨率和结构。首先,有可能每个基站收发信机(BTS)就需要一个LMU,从而导致网络成本过高,而LMU是解决基站信号之间的时间计算问题的重要部件,必不可少;其次,到目前为止所部署的E-OTD技术都无法满足美国联邦通信委员会制订的紧急呼叫服务(E911)精度标准:要求67%的呼叫其精确度在50米之内,95%的呼叫其精确度在150米之内;首次定位时间不得超过30秒,因而最终阻止了这项技术的大规模部署。 关注高精度 辅助型GPS出现之前,有的只是普通型GPS。虽然GPS最初作为......

阅读全文(6503) | 评论:0

在C#中运用API函数编写多功能关机程序(2006-01-10 14:26:00)

摘要:熟悉windows的用户对操作系统的关机程序一定了解,您是不是觉得它的功能不是很多。许多软件都有自动关机功能,比如一些下载软件,这一功能能让您半夜踏踏实实地睡个好觉,而电脑却能按照您事先的设定自动关闭
, 您在使用电脑听音乐、看电影、或是下载等一些自动功能的时候,是不是经常为忘记关机而心痛不已。现在我们用visual C#来编写一个多功能的关机程序。该程序具有:定时关机、倒计时关机、关机提醒、系统信息获取等四项功能, 可设定关机时间精确到秒。并且让你很快掌握Visual C#中对API的操作程序。编写过程如下:

一、设计关闭Windows窗体

1.界面的设计

新建一个标准工程,向工程中增加一个Windows窗体并向窗体中添加如下控件,并分别设置其属性:

控件名
类别
Text
控件名
类别
Text

CheckBox1
CheckBox
自动关机
GroupBox1
GroupBox
当前系统时间

CheckBox1
CheckBox
倒计时执行操作
GroupBox2
GroupBox
设定时间

CheckBox1
CheckBox
定时报警
TxtTime
TextBox
   

ButCancle
Button
取消
SetupTime
DateTimePicker
   

ButReOpen
Button
重新启动
SetupDate
DateTimePicker
   

ButClose
Button
关机
Timer1
Timer
100

ButSysInto
Button
系统信息
ButReLogin
Button
注消


Windows窗体界面:

阅读全文(5685) | 评论:0

配置网络,另僻蹊径——Netsh命令(2006-01-09 17:44:00)

摘要:
  上网冲浪之前,必须正确配置好网络参数,而配置参数通常需要在TCP/IP属性窗口中进行;倘若你突然发现自己无法打开TCP/IP属性窗口时(例如系统染上病毒,或无意中删除了网络组件,都能引发这种现象),是不是就束手无策了呢?其实,Win2000以上版本的操作系统,都支持在DOS环境下配置网络参数的功能。只要利用Netsh命令,进入到DOS下的网络配置状态,就能实现各种网络配置。
  
  进入IP设置模式

 
  在DOS环境中,设置网络参数之前,必须先进入IP设置模式才可以。先打开系统运行对话框,执行“CMD”命令,将主界面切换到DOS环境中,在命令行中输入“Netsh”命令,单击回车键后,DOS命令提示符将自动变为“netsh>”,再依次执行“Interface”|“IP”命令后,DOS命令提示符就会变成“Interface ip>”(如图1所示),此时你就进入了IP设置模式。在该模式下,你可以利用“set”命令设置网络IP地址、网络掩码、DNS服务器,也可以利用“show”命令,查看各种网络参数,包括与本机建立的各种TCP/IP连接等。
  
  设置IP地址
    
  在IP设置模式下,执行“set address name static [addr] [mask] [gateway] [gwmetric]”命令,就能给指定网络连接分配IP地址、掩码地址、网关地址。其中,“set address”是设置IP地址的专用命令,name表示指定的网络连接名称,Win2000下的name应设置为“Internet连接”,WinXP、Win2003下的name应设置为“本地连接”;static是表示设置静态地址,“[addr]”指的是具体IP地址,“[mask]”指的是具体掩码地址,“[gateway]”指的是具体网关地址,“[gwmetric]”指的是具体网关跃点数,一般情况下,该数值应设置为“1”。
  
  例如,现在要为局域网中的某Win2000工作站,分配一固定IP地址为“10.19......

阅读全文(3960) | 评论:0

和设备文件对话(写和IOCTLS)(2006-01-09 17:39:00)

摘要:    设备文件是用来代表物理设备的。多数物理设备是用来进行输出或输入的,所以必须由某种机制使得内核中的设备驱动从进程中得到输出送给设备。这可以通过打开输出设备文件并且写入做到,就想写入一个普通文件。在下面的例子里,这由device_write实现。这不是总能奏效的。设想你与一个连向modem的串口(技是你有一个内猫,从CPU看来它也是作为一个串口实现,所以你不需要认为这个设想太困难)。最自然要做的事情就是
使用设备文件把内容写到modem上(无论用modem命令还是电话线)或者从modem读信息(同样可以从modem命令回答或者通过电话线)。但是这留下的问题是当你需要和串口本身对话的时候需要怎样做?比如发送数据发送和接收的速率。
  回答是Unix使用一个叫做ioctl(input output control的简写)的特殊函数。每个设备都有自己的ioctl命令,这个命令可以是ioctl读的,也可以是写的,也可以是两者都是或都不是。Ioctl函数由三个参数调用:适当设备的描述子,ioctl数,和一个长整型参数,可以赋予一个角色用来传递任何东西。
  Ioctl数对设备主码、ioctl类型、编码、和参数的类型进行编码。Ioctl数通常在头文件由一个宏调用(_IO,_IOR,_IOW或_IOWR——决定于类型)。这个头文件必须包含在使用ioctl(所以它们可以产生正确的ioctl's)程序和内核模块(所以它可以理解)中。在下面的例子里,这个头文件是chardev.h,使用它的程序是ioctl.c。
  如果你希望在你自己的内核模块中使用ioctl's,最好去接受一分正式的ioctl职位,这样你就可以得到别人的ioctl's,或者他们得到你,你就可以知道哪里出了错误。如果想得到更多的信息,到'documentation/ioctl-number.txt'中查看内核源文件树。 ex chardev.c

/* chardev.c
*
* Create an input/output character device
*/
/* Copyright (C) 1998-99 by Ori Pomerantz */ /* The necessary header files */......

阅读全文(2947) | 评论:0

SIP的RFC中文文档(RFC3261)(9)(2005-12-30 00:17:00)

摘要:9 取消一个请求(Cancel) 前边几节讲述了对所有方法的处理请求和处理应答的UA的通用处理过程。在本节中,我们讨论一个通用的方法,CANCEL。CANCEL请求,就像名字所说的,是用来取消客户端发起的上一个请求的。特别是,它请求UAS去终止上一个请求并且对上一个请求产生一个错误的应答。CANCEL对UAS已经给出终结应答的请求无效。所以,CANCEL请求的最大用处是取消需要服务器长时间处理的请求。也就是说,CANCEL最常用来处理取消INVITE请求,因为INVITE通常需要花费很长时间来产生一个终结应答。在这种使用中,UAS接收到对一个INVITE请求的CANCEL请求,当这个INVITE还没有得到终结应答的时候,UAS会”停止振铃”,并且给INVITE请求一个错误的应答(487)。 CANCEL可以由proxy或者UAC发起。15节讲述了在何种情况下,UAC会CANCEL一个INVITE请求,在16.10节讲述了proxy对CANCEL的使用。 一个有状态的proxy需要对CANCEL进行响应,而不是简单的转发从下行流中接收到的一个应答。基于这个原因,CANCEL是一个”点对点”(hop-by-hop)的请求,也就是说,CANCEL需要每一个有状态的proxy节点进行处理和应答。 9.1 客户行为(Client Behavior) CANCEL请求不应该取消除了INVITE之外的请求。因为除了INVITE之外的请求的响应都是立即响应的,所以,发送CANCEL来取消一个非INVITE请求总是形成一种赛跑的局面(就是说,cancel先到还是被取消的请求先到)。 下列步骤用于创建一个CANCEL请求。在CANCEL请求中的Request-URI , Call-ID , To , Cseq的数字部分,From这些头域都必须和被取消的请求头域一样,包含这些头域的tags. 客户端创建的CANCEL必须只有一个Via头域值,这个头域值和被取消的请求的最上一个Via头域值相同。这些头域的值和请求的值相同可以让CANCEL请求和被取消的请求相匹配(9.2节描述了如何匹配)。在Cseq请求头域的method部分必须是一个CANCEL方法。这个让这个CANCEL请求被当作自己的事务而被正确的鉴别和处理(参见17节)。 如果被取消的请求包含一个Route头域,CAN......

阅读全文(6382) | 评论:2

搞笑面试经历(2005-12-29 12:21:00)

摘要:   

  

  面试我的,很幸运也很不幸的是位美丽年轻的小姐,她带着我到一个小房间中,在一个有透明圆型玻璃桌面的桌子面试。

  其实我最讨厌这样了,因为面试是神圣的,我根本不想去看她桌面下的美腿,她甜美的笑容,充满气质的谈吐,脸上还抹了些微的小亮片妆,真的是要命。

  她笑着问我的学历、工作经验、未来规划与抱负,我都行云流水地应答自如。突然间她话题一转,说道:可以请你用英文自我介绍一下吗?

  我一听愣了三秒钟很理直气壮地回她道:“抱歉,我英文很次!”

  她听了笑笑说道:“没关系,你试着说看看。”

  于是我鼓起勇气将自己生平所学会的英文全都用上,我想了想开口说道(我怕各位英文不好看不懂,所以顺便翻译成中文,你们比较好懂)。

  

  “My name is old big wang.”(我叫王老大)

  

  “I bomb(炸出)at 1977 year.”(我生于1977年)

  

  ※born我念成了bomb,反正很像。

  

  “My toyear is 24 year.”(今年24岁)

  

  ※事后才知today是今天,但今年不是toyear。

  

  “My home have a papa and a mama and a didi.”(家里有爸妈跟一个弟弟)

  

  ※其实我知道弟弟要用brother,但因念太顺了,所以念成didi and a uncle and a young watch sister and a old watch sister live with us.”(还有一个叔叔与一个表妹一个表姐跟我们住在一起)

  

  ※事后才知表姐表妹都错了,watch是表没错,但是watch是指手表,可是我发誓读书时英文没教过表姐妹的英文。

  

  “My interest is sing song、see movie、fuck do computer and push hors......

阅读全文(4771) | 评论:2

关于死亡(2005-12-28 14:09:00)

摘要:  在17岁那年,我读过一句格言,好像是:“如果你把每一天都当成你生命里的最后一天,你将在某一天发现原来一切皆在掌握之中。”这个话从我读到之日起,就对我产生了深远的影响。在过去的这些年里,我每天早晨都对这镜子问自己:“如果今天是我生命中的最后一天,我还愿意做我今天本来应该坐的事情吗?”当一连好多天答案都是否定的时候,我就知道做出改变的时候到了。 因为所有的事情面对死亡的时候,都将因消云散,只留下真正重要的东西。在我所知道的各种方法中,提醒自己即将死去时避免掉入畏惧失去这个陷阱的最好方法。人赤条条地来,赤条条地走,没有理由不听从你内心的呼唤。 …… 这是我最接近死亡的一次,在经历了这次与死神擦肩而过的体验之后,死亡对我来说只是一项有效的判断工具,相对一个纯粹顿理性概念,我能够更肯定地告诉你一下事实:没人想死;即使想去天堂的人,也是希望能活着进去。 你们还是新生代,但不久的将来你们也将逐渐老去,被送出人生的舞台。很抱歉说得这么富有戏剧性,但生命就是如此。你们的时间有限,所以不要把时间浪费在别人的生活里。不要被条条框框束缚,否则你就生活在他人思考的结果里。不要让他人发观点所发出的噪音淹没你内心的声音。最为重要的是,要有遵从你内心和直觉的勇气,它们可能已知道你其实想成为一个什么样的人。其他事物都是次要的。 在一本非常棒的杂志《全球目录》的最后一期的封底有一张清晨乡间公路的照片,如果你喜欢搭车旅行的话,经常会碰到这种小路。在照片的下面有一行字:物有所不足,智有所不明。这是他们停刊的告别留言。我总是以此自律。现在,在你们毕业开始新生活的时候,我把这句话送给你们。......

阅读全文(3652) | 评论:3

java面试笔试题大汇总(6)(2005-12-27 21:19:00)

摘要:
JAVA编程题
1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
import java.util.*;
public class bycomma{
 public static String[] splitStringByComma(String source){
   if(source==null||source.trim().equals(""))
    return null;
   StringTokenizer commaToker = new StringTokenizer(source,",");
   String[] result = new String[commaToker.countTokens()];
   int i=0;
   while(commaToker.hasMoreTokens()){
    result[i] = commaToker.nextToken();
    i++;
   }
   return result;
 }
 public static void main(String args[]){
 String[] s = splitStringByComma("5,8,7,4,3,9,1");
 int[] ii = new int[s.length];
 for(int i = 0;i<s.length;i++){
 ii[i] =Integer.parseInt(s[i]);
 }
    Arrays.sort(ii);
    //asc
    for(int i=0;i&......

阅读全文(5119) | 评论:0