分类目录归档:个人观点

阿黎从手机联系人同步说到智能机

阿黎今天突然想整理一下自己的手机联系人,我现在的手机是三星i9003,安卓。阿黎很喜欢google的各种服务,我已经默认将联系人的显示和新建都选择为google联系人,但是手机的电话联系人里面还是有很多人。安卓手机的联系人有很多种,本身电话有电话联系人,同步了google账户之后会有gmail里面的联系人称为google联系人,有的定制版本还可以有各种sns里面的联系人。同步啊同步,这是一个很不错的功能,丢手机不丢人,这是我选用智能机的一个原因。

很久很久以前,要同步两个手机之间的联系人,用的方法是将联系人信息复制到sim卡里面再在另一部手机复制出来。这种方法明显有点过时,首先,sim卡存储联系人容量有限,可能对于有很多联系人的人士来说是不够用的;其次,要是手机连带sim卡都丢了,没有其他备份,你就真的欲哭无泪了。到后来,有了一种新的联系人同步技术出现,基于SyncML协议,感兴趣的同学可以搜索一下。这一个东西使得很多索爱、诺基亚等很多品牌的普通手机都可以通过这一项技术同步联系人到某个服务器上面。但是这里还有一个问题,就是当时提供同步服务的服务器信息得自己寻找和设置,手机本身不预设。当时google是有提供这样的一个服务叫google sync的,此外中国移动、腾讯还有少数的一些服务商也有。这个协议的设计本来是可以同步联系人,便笺,日历等信息的,但是大部分服务提供商只提供同步联系人一种服务。

就拿08年附近,阿黎自己的使用经历来说吧,我觉得当时这一个同步联系人的服务还是有很多缺陷的,现在不知道怎么样。第一点,它同步联系人的单位不是一个联系人,而是一条电话条目。一条电话条目包括电话号码和姓名这一个对应关系,别的就没有了,当然sim卡里面的电话存储也是这样的一种简单的模式。但是,这一种模式明显不能满足需求,因为有可能而且很可能有些联系人有多于一个电话号码。很多手机自身的电话簿是可以提供一个联系人里面存储多个号码这一功能的。但是到了同步的时候却不可以将他们以一个联系人做单位来同步,还是电话条目这种模式。例如阿黎当时的手机索爱k700,手机为了区分一个联系人的不同号码,直接在联系人名后面加后缀,例如存放的是手机号码,就有后缀/M,如果是家庭电话,就有/H等。这样一来,同步到服务器上面的电话条目的姓名文本里面都是带有后缀的,可问题是,这个后缀标记法貌似没有统一规则,因为当我使用同样方法想将联系人同步到另一部手机的时候,这些有不同后缀的同一联系人的不同号码并没有能重新合并到一个联系人里面。这点让我一点也高兴不起来,因为我需要为其手工做很多工作。第二点,就是可以同步的联系人信息太局限了,现在我们的联系人一般除了电话号码,还会记录像邮箱、生日甚至是头像等信息。这些资料没办法同步也很成问题。

到后面就是智能机的年代了,阿黎在高中很洋气的用了一两年palm treo 600,palm系统的pim真的是做得很好。当时palm的同步是跟电脑联系起来的,同步需要一根专门的同步线,上面甚至还有同步按钮。电脑上面需要安装相关的驱动程序和应用软件才可以进行同步。当时同步的重点是文件,因为palm如果掉电系统会回到刚开始的状态,相当于电脑重装或者一般手机的恢复出厂设置。这一点有点让不明真相的用户觉得,技术太落后了,甚至是倒退了。当时阿黎的palm手机(应该叫pda了)系统存放联系人等信息也是存放在普通文件里面,所以同步文件的时候就一并同步了,当时的同步倾向于是一种备份的性质。
升上大学,阿黎换了手机,主要是换掉之前的主力非智能机索爱k700。palm那一台只能说可以用来折腾玩玩,但是不能作为主力。这个问题是由它的外观,它的重量,还有因为它小众导致国内应用不多等原因决定的。当年阿黎还很依赖qq和ucweb这两个东西,但是,众胖(palm)友懂的,当时对于palm平台,这两个应用都没有官方原生支持(现在貌似也一样)。

阿黎换的是HTC Kaiser/P4550,windows mobile(简称wm)的平台,自己给刷成6.5版本。Windows Mobile可以通过普通usb数据线跟电脑连接,电脑需要安装windows设备中心用以同步(前身是ActiveSync)。通过这个软件我的手机可以很轻松地跟电脑outlook express里面的日历、联系人以及Microsoft Onenote同步,但是这样一种同步仍然局限于pc和手机两个设备之间的同步。现在都在说“云”,各种云服务之下,这种同步方式简直是弱爆了。

阿黎认为,一个完整的云同步体系应该由云端服务器、个人电脑、手持设备以及它们之间的传输介质组成。电脑上面有pc端软件,手持设备上也有客户端,那么云端也应该有一个web前台页面供用户操作。而云端这一块是wm系同步所没有设计到的地方。例如现在如果我的手机和电脑都不在身边,我可以利用其他可以上网的设备登陆我的gmail来查看某个联系人的信息。但是如果还是使用wm系的同步,就一点办法木有了。

没错,后面阿黎就投入了安卓的怀抱。因为微软放弃了windows mobile系列了,微软潜心要弄他的windows phone7。windows mobile也开始变得小众,就qq这一款应用就一直停留在2008beta2版本。阿黎不是追新,但是对于各种应用的需求很强,从qq、ucweb等几个全民级应用也可以侧面看出当前某个手机或者智能机操作系统是否小众、边缘。阿黎的观点是,要想获得好的中文应用支持,这个平台必须在中国不小众。而在阿黎的眼里,中国不小众的智能平台只有两个,一是水果公司的爱疯,二是安卓阵营。塞班?nokia不要了,会慢慢小众的,按照目前的形势阿黎对整个诺基亚都不是很看好。wm?微软不要了。水果买不起并且不喜欢,所以阿黎投奔了安卓。

安卓系统出自google所以和google很多服务能够很紧密的结合起来。首先一点就是同步联系人,在绑定了google账户之后,安卓系统可以实现完整的包括联系人的头像、生日、多个电话号码等信息的双向自动同步。而且联系人头像又可以跟我电脑上面的picasa人脸识别联系起来。然后还有日程,就是日历,可以跟google日历同步。不过,阿黎利用日历还处于很基础的事件提醒应用,像课程表(上课地点时间提醒)、会议提醒等。另外还有我最爱的google reader的内容也可以同步到手机的reader应用上面离线浏览。

话说使用google系同步服务阿黎做了一个比较艰难的决定,因为阿黎之前是使用outlook express来管理日历和联系人的。outlook express是电脑上面的软件吧,手机也不需要联网,接上数据线就能跟电脑自动同步。而google的日历和联系人服务都是在web上面实现,需要网络支持,操作方法也有很大的不同,再加上前段时期访问google的https服务频繁撞墙,阿黎可是用不少时间才适应过来。

下面阿黎想说说买智能机当普通手机用的童鞋们。如今好像已经是全民智能时代,各个厂商都想推智能机给一般用户,特别明显的是诺基亚的sb系统。我们年轻人很多在用智能机,另外很多人就算是没用过智能机的也想买来用。没错,时代是不断发展的,科技也不断创新,但是有的童鞋拿到了高科技的新一代智能手机,却在像使用普通非智能手机那样使用他的智能机。

想问一下有哪位童鞋用智能机但是从来没有用过联系人同步的,然后又丢过手机然后四处求号码的?阿黎好像见过不少哦。还有日程呢,有多少人用智能机从来没有使用日程的功能的?在阿黎的身边,很多同学使用智能机和非智能机的区别仅仅是多玩几个高档一点的游戏像是水果忍者、愤怒小鸟之类的,这样使用智能机很浪费哦。智能机的生命在于折腾,如果你还在仅仅使用智能机来打电话、发短信、上网上q发微博、打高级游戏的话,那简直是弱爆了,赶紧去寻找各种神奇的应用尽情折腾你的智能机,让它发光发热吧。

新浪云计算初体验-SAE图床

今天晚上开始在新浪云计算平台SAE部署我的第一个应用,一个图床。程序代码据说是提取自isaid的,整个代码和教程来自于这里,其实这个算比较简单的一个组件吧,我只做了小部分修改。教程里面有的我就不重复了,下面说一下教程里面没有的。

开始使用使用新浪云计算的sdk上传代码的时候,需要先在新浪云计算应用中心,进入你的应用里面的 “应用管理-代码管理” 里面创建一个版本,版本只能是一个正整数,默认为1。创建版本之后,在本地sdk中选择“下载全部Apps”,然后对应到你的本地app目录(默认为你sdk目录下面的apps文件夹,例如我这里是E:saeSAE_SDK_Windows_1.0.5apps)里面应该有与应用名一致的文件夹,再往里面就是一个应用各版本的文件夹,以版本号为目录名。在这个以版本号数字为名的文件夹里面你需要放置code文件夹,code文件夹里面才是需要上传的代码,对应web的根目录。我一开始犯的错误就是没有使用创建代码版本,直接手工建立各级文件夹(例如我这里是E:saeSAE_SDK_Windows_1.0.5appshorsley1code,horsley是应用名)。

版本等问题解决之后我在sdk中点击“更新上传”按钮得到了一个error,说不存在config.yaml。有玩过用过Google App Engine (GAE)做各种应用(各种代理程序……##¥%&%¥)的童鞋应该大概知道这是一个配置文件,包含应用的版本号,应用名等信息。这个文件存放位置应该是在版本号文件夹下,与code文件夹处于同一层(例如我这里是E:saeSAE_SDK_Windows_1.0.5appshorsley1config.yaml)。没有这个文件夹怎么办呢?我们可以在sdk工具右上方文件列表窗口右键,选择菜单里面的“编辑config.yaml”,这时候他就会提示你“APP的config.yaml文件不存在,是否创建一个?”当我们点击“是”按钮之后它就会帮我们创建一个config.yaml文件,并且里面已经有需要的默认的内容了。这个文件创建好之后我们再上传代码就不会有问题了。

上传完之后按照教程进行安装初始化,安装成功之后开始登陆,登陆以后却出现了错误

SAE_Warning: Cannot modify header information – headers already sent by (output started at /data1/www/htdocs/605/horsley/1/config.php:1) in manager/index.phpon line 53

这个问题有点眼熟,以前折腾暨南人新闻网wordpress的时候遇到过。大概情况就是php里面用到了header函数,header函数要求必须在有任何实际浏览器输出之前调用,下面是php手册里面的对header函数的原文提示:

Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

很多时候我们都需要调用header函数发送location的http都控制浏览器跳转,而这个错误的发生原因很多时候是我们不经意制造了一些浏览器输出。按照sae警告的内容找到这个config.php,在有行号显示的编辑器里面(例如我在使用的notepad++)打开这个文件可以很明显的看到文件末尾有一个空行,这就是问题所在。我们写c++代码的时候,使用例如我们作业要求的c-free5+mingw编译环境,如果文件末尾没有一个空行,将会产生一个编译器警告。php和c是同一系列的语言风格,不知道是不是这个原因所以在这个php文件末尾多了一个引起问题的空行。

突然想起一个东西,当我们为sae上边的应用创建一个新代码版本之后,sae默认写入一个index.php,内容如下

<?php
echo '<strong>Welcome to SAE!</strong>';
一开始我看了觉得很奇怪,怎么这个php标签没有闭合啊?简单google一下发现,其实这种写法有一个主要的好处:避免 ?> 后面的不可见字符(多余的空格、换行符)等破坏页面显示,也不会导致 Header already sent 这样的警告信息。因为没有结束标签 ?> 所以就算文件末尾有多余空行,用于没有php结束标签,这个空行就属于php解析的范围而不是直接的浏览器输出。在php代码范围里面,空行不产生输出也不影响代码。不过,我们也应该注意这个用法只能是在文件末尾的php结束标签?>才可以这样省略,其他地方我们还是需要使用结束标签的,例如php嵌入html。
凡事多思考,多问个为什么,这样才能有进步。

我们该如何利用互联网获得新知?

首先在这里想要说一下,我初定的博客努力方向,博客里面现有的文章很多是技术长文,身边的很多童鞋朋友可能不对其有好感。阿黎个人认为自己开个博客如果连自己身边的人都不能吸引的话,那是一个很失败的事情。所以阿黎决定在前期多写一些面向我们广大童鞋的简单易懂的文章,欢迎大家对阿黎的文章提出各种意见。

====================正题分割线=======================

你懂得如何使用网络吗?

这个问题貌似问得有点好笑,在暨大,或者扩大到在我们大学生的群体当中,估计电脑的普及率还是相当高的。阿黎是在高二那年的劳动节才拿到一台二手台式电脑自用,但是很多童鞋估计很小就开始拥有电脑,使用电脑。随着网络的普及,有电脑不联网的情况已经不多了(除了放假回家可能考虑到时间较短拉宽带代价高,阿黎便是如此)。或者就直接说我们在学校的时候吧,网络随手可得(阿黎几乎除了睡觉时间都在上网)。那么,小标题的这个问题,还是个问题么?莫非你想说我不会使用网络?我不天天用着呢。

上网的时候都在干些什么?

各位童鞋上网的时候都在干些什么呢?我们大部分人可能是这样的:打开电脑,网络已经自动连上了,点开QQ,哎呦好多未读消息,空间/微博/人人打开,好多新动态~~我看啊翻啊,看见有趣的东西我就回复/转发一个?信息流看到页底之后,发现提示谁谁谁又更新了动态什么的,于是翻到页头继续看,如此就陷入了一个死循环……上网时间是这样用的童鞋请自觉举起你的右手。

干这一些我获得了什么?

你可能觉得,我这样上网没什么问题的啊,我获得了很多东西啊,我知道了我朋友们的动态,有时还能看到他们分享的一些好文章呢。嗯,听起来蛮有道理的,但你能说说今天你花的这几个小时,获得了哪些有价值的信息、有帮助的知识吗。或许你转了几篇蛮有技术含量的文章,但你有去看吗,你看懂了吗?

sns是个浪费时间的玩意!

阿黎身边的童鞋朋友可能发现,之前阿黎好长一段时间停止了所有的sns更新,包括qq空间、微博、人人。其实这正是因为我认为sns太浪费时间了,它们在你打开页面之后,就会不断的给你提醒有新的信息什么的,其实是一种强制给你灌输信息的实质。我们有多少童鞋是从打开电脑到关电脑一直开着浏览器一直刷着微博等sns的页面的?所以阿黎个人否定这一种浪费时间在sns上面的互联网利用方式。

当前我们是如何获取新知识的?

其实,普遍地说,人生存着无时无刻不在接受着新知识,最常规的,是我们的教育。想想我们平时的一天是怎么过的,上课?课堂是获取知识的其中一种方式,希望大家都是有好好认真去听课的(不像阿黎)。认真想一下,阿黎觉得,比起大学之前,现在在课堂上好像能学到的东西越来越少了。除了课堂,如果阿黎浑浑噩噩的过的话,那么可以说我获取新知的脚步基本停了,这是一个很可怕的事情,人的生命在于不断学习,亲爱的童鞋们你们自己好好思考一下有没有这么一回事。

那不是还有互联网么?我们不是天天在上网么,阿黎你说sns浪费时间,那么

==========我们该如何利用互联网获得新知?============

搜索意识

人非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。在大学这个很强调独立自主的地方,很多时候有疑惑有问题只能自己去弄清楚,那么阿黎想说,很多时候,谷歌百度是个好老师。相信身边很多人都被阿黎骂过没有“百度意识”,在这里直接说搜索意识(因为阿黎越来越讨厌百度了),那么搜索意识是什么呢?

其实,不仅是学习上,而且在生活中,各个方面我们随时都会遇到问题,那么,遇到问题的时候你能够恰当的想起来利用搜索引擎解决问题,这就是我口中的搜索意识。当然了,我这里说了要恰当,不可能说我钥匙找不到了我也 Google 一下,但是要知道很多问题都是可以通过搜索解决的(童鞋们的作业啊神马的肯定不是这样解决的对不?)。例如阿黎今天中午做饭,要做凉瓜炒蛋,阿黎第一时间就专门去搜了凉瓜炒蛋要怎么做才好吃,然后最终问题就很好的被解决了。

这可以说是一种反射吗?学生物的童鞋来说一句。阿黎本人可能已经在大脑里面形成了一种条件反射——有问题,搜索去。没错,要的就是这种程度,当你更多的使用搜索引擎,你可能发觉互联网变得更友好了。而形成在网上进行搜索以解决问题的这样一种习惯性思维即搜索意识,是很有帮助的。总是觉得太多的童鞋朋友对于搜索引擎这种方便实用的互联网工具认识不深,更谈不有搜索意识。这里再提一点,google一下“阿黎的个人博客”第一个结果就是阿黎的博客啦,百度那边还没有。

如何用好搜索引擎

你可能会说,我知道百度谷歌啊,但是我经常搜不到我要的东西啊。这个问题就是搜索技巧的范畴了。你脑海里应该要有这个概念:如果这个问题不是相当相当冷门的问题,搜索引擎应该能够搜到的而你没有搜出来,那是你的能力问题,学习搜索技巧也是必须的。搜索引擎有很多技巧,甚至它还有一些特定语法规则来辅助搜索,在这里阿黎只说实用的。

你往搜索框里面输入什么了?

在网上,很多网站各种要填表单的地方,都会在要填的表单域前面辅以文字说明告诉你这个框框里面要填点什么?但是搜索框这个东西,一般不会有什么提示,最多就只有一个放大镜模样的按钮。有没有人告诉过你,或者你知不知道,那个搜索的输入框要填的是关键词,没错,是词。一般搜索引擎容许你打进去一个句子,甚至带上问号。但我们提倡简化输入的查询信息,同时要注意你所使用的字词是否正确。

怎么输入关键词能找到我想要的信息

阿黎在这里说一个比较简单易行的办法。首先,你要明确你想找的信息是什么,包含你想要的信息的这个页面应该包含些什么内容,然后就是一般的提取关键词的操作了,把你想要的那些结果页面的关键词提取出来输入进去搜索框就没错了,对于有的童鞋可能正确提取关键词是一个不简单的事情。我们应该尽量去精确我们的关键词,不要选择那些含义比较宽泛的关键词。

其他高级搜索技巧

这里阿黎暂时只说一个阿黎比较常用的“site:”语法,使用它可以指定你搜索的范围,有的时候某些网站自身的搜索做的不好或者是有限制,例如很多论坛规定要先注册会员才可以使用站内的搜索,这时候我们就可以用一般的关键词加上“site:网址”这样的命令指定搜索某个网站里面的东西,例如要搜索阿里博客里面的东西就可以在关键词之后加上site:a-li.me。还有很多其他特别的语法如果童鞋们有兴趣也可以去搜索来看一下。

稳定的获取知识途经

等待下一篇,阿黎将手把手教你使用google reader