北京一行(二)——交流

第二天起来比较晚,都9点过了才起来的。早上天安门升国旗,但是考虑到肯定人多,而且交通不方面,又太早,就没有去。这天北京的天气也不是很好,有点 灰灰的,感觉和成都的天气差不多,只是比较干燥。我的一个朋友即使擦了护手霜皮肤也开裂了,幸好我油性皮肤,没有受这份苦。朋友也提醒我要多喝水,赫赫, 水一瓶一瓶的下肚了,结果就不上厕所,看来明显是通过其他方式排泄出去了:)

下午小组的人基本都来了,我和一个北邮通讯的博士聊了聊,他主要 负责团队总体的协调工作。我向他介绍了一些我的情况,也给他看了一些我的作品。他很赞赏我的能力,也给了我发展的方向。说以后我可以在手机这块做得更深, 再在相关领域有所了解,就成了专家了。赫赫,其实这也是我今后的发展路径了。后来谈到了一些考研的问题,其实原来我是有想法考研的,但现在越来越觉得考研 并不是必须,相反可能会浪费很多的时间。至于这个问题,半年以后也会有答案的,相信到时候我会做出自己明智的选择。

说到这儿,我不得不提提做 界面的牛人,北航计算机系的。初见这人让我想起了赵本山~~赫赫,结果长那样的人都有一个特点——幽默!他给我起名叫“贺大P”,怎么来的呢?我的QQ昵 称取名叫“Public Class”,名“贺”,P为大写,所以称为“贺大P”,赫赫,以后大家可不要这样叫我哦,感觉不太好听……后来他给我们唱的民歌也蛮“正版”的,后来 我也录了音,他说不要放出来,我也就不再公开了。他技术上能力很强,做的界面让我自己自叹不如。他逻辑思维能力也很强,往往一个bug很快就能找出来病例 可做出正确的修改。记忆力也很强,很多函数根本不用查资料就能信手拈来,我想这也和经常用有关系:)但他倒是有一个坏毛病,写代码不写注释,也不用源代码 管理等软件,也不知道他怎么能够写的那么多。他说他原来做了很多东西都失败了,我想也可能和这些有点关系吧。

不得不提一下我们未来的CEO, 清华大学自动化研究生。此人口头禅“此极好”,“此甚好”,弄得我们全部都学会了这几句~~赫赫。作为团队的创始人和领队人,从几天的交往中也知道了创业 的艰辛,有一天他为了谈融资的事情都到1点才回来,每天的需要处理事情也很多。还好了,也就前几天特别忙,后几天融资的事情谈完了也就轻松许多。另外还要 感谢这些天他对我的照顾。

做市场的哥们儿也是工作了几年的了,比起我来显得更为成熟,他闲暇的时候就玩“梦幻西游”,赫赫,从他那里我知道了如何张弛有度。

林业大学计算机系大三的小伙后来也和我成为了好朋友,我喜欢和他讨论一些问题,毕竟我们是同龄人,距离也更小一些。我帮他解决了Jabber协议演示的 问题,利用了现成的代码再加了几行语句就搞定了,CEO也称赞此方法“极好”。当然,这方案只是一个临时的方案,主要是为了演示的需要。他一直是做网站 的,而且上大学才接触电脑,能够做到他现在的水平也很不容易。当然他对C#开发类库等知识不甚了解,以前做ASP页面也不需要知道这些,所以现在做起类库 来明显感觉吃力。赫赫,我的理解是好好的一颗棋子放错了位置:)

一天的交流是很开心的,首先是自己明确了自己的定位,对以后的发展也有了一定的筹划。当然对自己来说大伙对我的肯定也给了我信心。晚上做了些程序,玩了些游戏,也就这样过去了。

北京一行(一)——初到北京

长这么大了,第一次出远门,虽然很小的时候也到处走过,但在我的记忆中已是空白,唯有几张泛黄的照片能够让我知道我曾有走出过天府之国。
9月买了到北京的机票,30号正式开始北京之旅。这次去北京其实是为了和“联友天下”的朋友做一些交流。8月份的时候参加了清华的创业大赛的一个小组,负责手机和电脑连接部分软件的设计,借这个10月的大假的时候到北京实际的交流一下,也了解一下团队的情况。
30号早上起来的很早,7:20的飞机,成都的天气总是阴沉沉的,这天也不例外。飞机是空中客车,很大的飞机,可以坐370多个人,当天也就坐了一半左右。坐上飞机,感觉里面还不错,特别是第一次就在窗户边上,顺便看看周围的风景。

飞机准时起飞了,加速度还可以,感觉挺爽的,顺带用相机拍了起飞的视频,可是回来的时候带去的硬盘挂了,所以也没法看了。其实坐飞机也并不是很爽,就是里面噪音比较大,一路上我都没有睡着,一来是因为兴奋,一来就是因为这噪音。

天上的景象特别不错,真的叫晴空万里,没有了云层太阳特别的刺眼,晒得飞机的小窗板也热热的。飞机上服务也不错,我就喝了一杯水,也不知道是不是气压低的缘故,上了两次厕所~~弄得后来我回来坐飞机都没有喝水了,免得麻烦旁边的人。
2个半小时不到就到了,想来这1700多公里也没有多远啦,不知道原来杜老先生如果想从成都草堂到北京见见皇上需要多久,赫赫~~惊叹现在交通的发达与便利。

首都国际机场比成都双流国际机场可大多了,人也更多。出了机场做大巴车,16块钱,车开了一个多小时就到了中关村。初到北京,惊叹首都如此之大,车多路 宽,心想成都市如果也这样的规模那该多好啊!其实后来的出游就让我否定了我的想法,城市太大了,车太多了。当回到成都以后,我才充分的感受到天府之都小巧 玲珑所带来的便利。

到了北京,有人接待我,住在北京林业大学附近的一间出租房子里,环境挺好的,安静,房子又大。后来问了问房租,一个月 2000多,天啊,我们家出租的房子1200就住3个月了~~~回来的时候才知道,北京的房价很贵,很普通的房间住一晚上都是一百好几,赫赫,我到北京总 共就用了300块不到,多亏公司的朋友们!

闲暇的时间与公司CEO聊了些公司的事情,和做界面的、做市场的朋友聊得也很开心,也看了些资料,第一天很累,虽然下午睡了一觉,但晚上我也是很早就睡了。

突发奇想……移植qq

移动开发的朋友们,没有事做找点事做,大家来移植QQ吧。掌上始终没有一个很好用的QQ。腾迅出的垃圾PocketQQ简直是残疾儿童,JavaQQ或多 或少的存在一些问题,若且最大的问题就是不支持群。后来想到恰好LumaQQ是开源的,何不利用LumaQQ将QQ移植到PPC上面呢?Java和C#代 码转换也是比较方便的,只是首先要做的工作应该是知道整个软件的原理,然后移植。

半个月以前本来着手想做的,但是没办法,现在为清华创业大赛写手机部分(本人电子科技大学的),没有时间来做……不久朋友的公司也要成立了,也要作为主力……唉,怎么人就这么点点时间啊……

呵呵,有兴趣的做做吧,会学到很多东西,我说是没有事情做得人,呵呵:)

寻求最快解决方案

有两个Ulong的数L1和L2,需要将L1的第n位(bit)设置成L2的第m位(bit)。

比如L1为(binary)10101000010…..(共64位,Low ->High),L2为(binary)0101110001….(共64位Low ->High),设置L1的第3位(现在是1)为L2的第1位(现在是0)。

我写了一个算法,但是发现速度不快(用在加密算法里面),大部分时间消耗在判断上了。不知道各位能不能写出速度更快的代码,或者有其他优化技巧。以下是我写的算法,大家看看……期待着大家的回答。谢谢!

Private Const ULong_1 As ULong = CType(1ULong) '全部是1的ULong
Public Sub SetBit()Sub SetBit(ByRef L1 as ULong,ByVal n As Integer, ByVal L2 As ULong, ByVal m As Integer)
If (L2 And (ULong_1 << m)) = 0 Then
L1 = L1 And Not (ULong_1 << n)
Else
L1 = L1 Or (ULong_1 << n)
End If
End Sub

经过苦思冥想,问题解决:

Sub SetBit()Sub SetBit(ByRef L1 As ULong, ByVal n As Integer, ByRef L2 As ULong, ByVal m As Integer)
L2 = (L2 >> m) And CULng(&H1)
L1 = L1 And Not (CULng(&H1 << n))
L1 = L1 + (L2 << n)
End Sub

现在执行1000000次也只需要31.25ms,速度已经达到要求了。

思路如下:

思 路为把L2中的m那一位移到最右边,然后和1取AND,这样就把m这位取出来了。对于L1,我把n这一位设置为0,也就是AND 111111..0…111这样,111111..0…111来自1<<n然后取反。最后把L1中取得的那一位和L2 AND以后的值相加即可。

小资料——3GPP文档命名规则

今天正在读Mobile Messaging Technologies and Services一书,其中阐述了3GPP文档命名的原则。我把它翻译成中文并整理一下作为一个小资料供查阅。更为精确的描述请参考Mobile Messaging Technologies and Services一书。

*3GPP规范:命名方案
*
每份3GPP技术文档,技术报告(TR)或者技术规范(TR),都被一个Reference唯一标示。这个Reference以3GPP前缀开始,后跟 两个字符表示文档的类型(TS为技术报告,TR为技术规范)。在文档类型之后紧接着是规范的号码。规范号码具有aa.bbb或者aa.bb两种形式。其中 aa指示文档的适用范围(见表1)。规范号码后面是版本Vx.y.z,其中x表示release,y表示技术版本,z表示修订版本。

另外注意每个release都有一个冻结日期,一般3GPP协议在冻结以后就不再修改。一般冻结日期为1年。

例如:以下文档定义了MMS Stage 1:
Reference 3GPP TS 23.140 V5.2.0
Title Multimedia Messaging Service, Stage 1

文档中有Stage 1,2,3之分。Stage 1规范了从服务使用者的角度阐述的一个服务;Stage 2规范描述了对需要解决的问题的逻辑分析;Stage 3就是技术实现。
3GPP规范可以从http://www.3gpp.org 获得。

表一 编号

Range for GSM up Range for GSM Range for UMTS Type of use
to and including release release 1999
release 99 onwards onwards
01.bb 41.bbb 21.bbb Requirement specifications
02.bb 42.bbb 22.bbb Service aspects
03.bb 43.bbb 23.bbb Technical realizations
04.bb 44.bbb 24.bbb Signalling protocols
05.bb 45.bbb 25.bbb Radio access aspects
06.bb 46.bbb 26.bbb Codecs
07.bb 47.bbb 27.bbb Data
08.bb 48.bbb 28.bbb Signalling protocols
09.bb 49.bbb 29.bbb Core network signalling protocols
10.bb 50.bbb 30.bbb Programme management
11.bb 51.bbb 31.bbb SIM/USIM
12.bb 52.bbb 32.bbb Charging and OAM&
13.bb Regulatory test specifications
33.bbb Security aspects
34.bbb Test specifications
35.bbb Algorithms

表二 对应release的冻结日期

GSM/edge release 3G release Abbreviated Specification Specification Freeze date
name number version
format format
Phase + release Release Rel- aaa.bb (3G) 6.x.(3G) June 2003
Phase + release Release Rel- aa.bb (GSM) 5.x.(GSM) March 2002
Phase + release Release Rel- aaa.bb (3G) 4.x.(3G) March 2001
aa.bb (GSM) 9.x.(GSM)
Phase + release 99 Release 99 R99 aaa.bb (3G) 3.x.(3G) March 2000
aa.bb (GSM) 8.x.(GSM)
Phase + release 98 R98 aa.bb 7.x. Early 1999
Phase + release 97 R97 aa.bb 6.x. Early 1998
Phase + release 96 R96 aa.bb 5.x. Early 1997
Phase PH2 aa.bb 4.x. 1995
Phase PH1 aa.bb 3.x. 1992