My work

Work & programming related archives.


EasyIPCam原先的时候在部分型号的手机(或平板)上出来的图像颜色不正,原因就是在于我错误的把NV12当作YUV420P来处理了,后来已更正,但一直未对此问题作记录,现补上。以供其他碰到类似问题的朋友参考。 以下是,关于几种常见YUV格式的一点扫盲知识: NV16就是 YUV422SP NV21就是 YUV420SP NV12就是 YUV420SP格式,Y分量平面格式,UV打包格式。 1)YUV420SP中的S和P分别是什么意思? SP(Semi-Planar)指的是YUV不是分成3个平面而是分成2个平面。Y数据一个平面,UV数据合用一个平面。UV平面的数据格式是UVUVUV…。 2)yuv格式中的interlace \ progressive分别是什么意思阿 ? interlace指的是隔行扫描,是把一帧图像分成上下两场,上场(Top field)的数据是整个图像的奇数行(1,3,5,7…),下场(Bottom field)的数据是整个图像的偶数行(2,4,6,8…)。两场穿插组合起来变成一帧完整图像。而progressive指的是逐行扫描,一帧图像 的每一行都按顺序排放。 若您发现EasyIPCam存在什么Bug,或者对EasyIPCam有什么意见、建议或者想法,可直接在http://bbs.rg4.net/thread-13892-1-1.html留言,或者通过mail与我联络,感谢您的支持和回馈。

Android 视频采集相关格式


前两天收到QA回馈说Android版的机顶盒客户端在浏览Panasonic BL C1A设备的时候出现下半部分画面绿屏的问题。具体状况如下图: 后来经确认是由于该设备用ffmpeg解码只能解出YUVJ422P格式,而实际上在该版的程序里未判断ffmpeg解码成功后的实际格式(default为YUV420P),就把它当作YUV420P去用,去转RGB565了,结果就出现这个Bug。 记之。

Android STB(机顶盒)客户端Motion JPEG视频下半部分绿屏问题


让你的Freescale i.MX 53 Quick Start Board 支持SATA硬盘。 由于项目使用中需要大容量硬盘,而Freescale i.MX 53 Quick Start Board又没带完整的SATA硬盘支持。事实上板子上有SATA数据库线接口,但却不给带电源线接口,我….。 所以,如果你要接SATA硬盘到i.MX53 QSB就相当于必须要自己外接电源(除非你自己重新layout板子),如:从一台PC中接一根电源出来,然后接到硬盘的电源上,接法如下:

Freescale i.MX 53 Quick Start Board 接SATA硬盘



前两天有位新晋程序猿网友“被遗忘的角落”(494932623@qq.com)来信,希望我能帮帮他,给你提供一个大概的规划、思路。以前也有很多网友给我来过许多这样那样的mail,但由于实在没时间,更因为懒,所以甚少回信。恰前阵子由于各种关系,我也希望自己日后能开始做一些更加有意义的情况(包括准备着手做一个开源项目),所以,今天晚上我就以我这些年来的经验,对他目前的状况作了一点回复。 以下是他的mail: 今日下午在公司搜索QDbus时,进入了阁下的站点,很幸运。认真的看了您的几编文章,我的感觉是很实际。 先自我介绍,今年毕业,专科,年初就职至今。 在ubuntu先开发qt。 目前的疑惑是,在编程过程发现很多自己的不曾接触过的概念,思想,技巧,总的说是能力、经验不多。 以前还弄不清,一个程序里的 instance 的存在必要。c++智能指针、泛型编程刚有初步的认识。 最近在调试进程间通讯,主管已经嫌弃我花的时间有点多了,就qdbus的基本使用我现在还是迷迷糊糊。 由于阁下的网站上关于qt、c++的资料不是十分的多,但我能感觉到你对编程的那种驾驭的能力。 我的奢望是,阁下能否在有时间空余的情况,给我提供一个大概的规划、思路。 朋友,感激。 以下是我的回复:   对于一个刚参加工作(不久)的人来说,可以说是从一个基本上一无所知的状态(很悲哀,中国的大学里所教的东西很少是你毕业后能真正派上用场的,不管你是专 科毕业,还是本科毕业),突然的发现有一大堆的知识需要学习和了解,这对绝大多数人来说都是一个很大的冲击,甚至打击。 所以,对于你这一类的人,我的建议是:好好学习你的工作。 工作入门: 一般新员工入职都会有一到三个月的培训期,这个时候主管会给一个或者几个学习任务,但总的来说培训内容都是那种相对单纯并且目标直接的题目,而且通常会有人对你进行一些必要的指导; 一个月,或者三个月的培训期过了之后,不出意外,你就转正了,这时候先不要急着高兴,这个时候往往是更重要的一段时间,主管会给你分派一些简单但正式的工 作,而这些简单的工作则可能会让你自己独立的去完成,这才是真正考验你的时候,公司会考察你的各方面表现,以决定给你委以什么样的任务和角色。对于一个应 届毕业生来说,没有几个公司会在一年半内对你抱太大的期待,而你的任务就是必须要让公司对你有所期待。 但切忌想法太多,这个也想学,那个也想学,结果就是什么也没学好;更别思想不端正,去想什么跳槽之类的事情,你要搞清楚,现在是你入门的时候。而要想入门快,唯一的方法就是努力把工作相关的技术/技能学好、掌握好,更多、更好、更积极地去参与到产品的开发中去。要知道,你自己学的东西永远都是半成品,或者一知半解就很容易会放弃深入的,而工作相关的技术和技能则是会做成一个真正的产品的,这个才是真正可以学到技术的方向和领域(这一条基本上对所有人都适用)。 在最初的时候,如果基础不是很好的话,切忌刨根问底,有些东西你只要做到“知其然,而不知其所以然”就可以了,等你逐渐的进入状态了,再来考虑“知其然,又知其所以然”。 同时,尽可能的多了解一下原理性的一些东西,如:把产品的框架都了解清楚,至少要从理论上知道这个框架有什么好,为什么好;另一方面在业余的时间,争取多 补充一些基础知识,像你这样的可以补补C/C++和Linux/Unix相关的知识,这样也可以解决你“就qdbus的基本使用我现在还是迷迷糊糊”的这 种问题。 中国现在的年轻人基本上都是独生子女,平时习惯了“拿来主义”,许多人都喜欢走“捷径”。而以你的状况,我看应该不是会去跟人“拼爹”的那种,自力更生是 你唯一的选择,而如果你想要的是一条“捷径”,我可以很负责任的告诉你,没有。只有一步一个脚印,才能走得更好、更远,从而走出一条捷径。 我的经验: 总的来说: 以我个人的经验(我的经验是一路撞墙撞过来的)来说,作为一个程序猿来讲,理想的一个练级过程(不是职业生涯)大致如下: 初级(通常是前两到三年):好好做好所在公司的工作。努力学习和掌握公司产品相关的技术(越多越好),多看多学多问多试多用,同时多阅读一些基础知识相关的资料,尽可能往“深”的方向走,为自己的将来打好基础。 中级(再两到三年):如果你前面的基础已经掌握,那经过那两三年,你应该已经成长为公司的一位主力(之一),然后,再来考虑把自己的视界扩大,逐步往“广”的方面发展。 高级(在一个领域有 五六年的工作经验,并且涉及范围相对广泛):这个时候,你就应该可以不再需要重点考虑“练级”了,自己来好好考虑“职业生涯”这个名词,相信到这个时候你 自己已经有相当的主见和见解,并且具备足够的经验和智慧来解决你所要面对的这种问题了,不管是要考虑继续深入,还是转型,抑或其他。 几点tip: 这是任何时候都有用的几点Tip,跟技术无关,却跟你的未来大大的有关。 1. 如果你真的真的一点也不喜欢自己现在在做的工作,那我劝你就不要做了,先好好的去搞清楚自己想要做什么。 2. 如果你有一天要跳槽,尽量做到每份工作做满两年,这样的经验积累才是真正有意义,否则,现实一点就是浪费时间、浪费自己的生命。也许有些人会说,没事,哥年轻,啥都缺,就不缺时间。 3. 要做好一个程序猿,English是very重要的! 推荐几本书 顺便给你推荐你现在的阶段可能会用得上的几本书: 《C++程序设计语言》:http://product.china-pub.com/196448 ,C++之父的大作。 […]

回复《编程之路的困惑》


实习生离职引发的思考:1. 到底该如何的、更好的去凝聚大家的向心力?2. 到底该如何的去协调我的下属和我的上司之间的一些关系?3. 到底是否有必要重新审视对自己工作职责的定位? 这篇文章写于2010年元旦,当时公司与苏州大学研究生院软件学院有人才输出协议,公司每年固定支持一笔费用给学校,然后其软件学院下的软件工程专业的研 究生,在第一年完成理论学习后,会直接到来我公司实习,实习期为2年,公司会负责所有来我公司实习的学习的学费,同时每月支付一笔实习费,实习期满后,有 优先录用这些实习生的权利。 但是08年年初过来的这一批学生基本上全部在实习期满后选择离开,原因很多,也很复杂,但作为这两年来一直带领着他们工作的部门主管,我真的觉得很痛心。 现在,又过去了两年多,这些人有的去了大公司(如:华为),有的跳了几次槽(但还在IT界),有的当了公务员,有的不知所终,但不管如何,再次祝福他们吧。同时,我自己也需要好好的继续总结。 以下为当时的原文: -------------------------- 今天看到一篇博文,讲述的实习生的事情,心想在过去两年里前前后后有11位来自苏大的实习生在公司工作和实习,但是到现在真正留下的只有一个人,我 作为研发的主管也真是感到的无比的心痛,无可否认这些人中有表现比较好的,也有表现比较差的,但总的来说绝大多数人都差不多在公司工作了将近两年,对公司 的产品研发相关技术、流程都已经有了相当的了解,但最终的结果实在是一个非常大的遗憾,这中间的因素也真的很多,很复杂。既然他们最终选择离开,那我也只 有祝福他们。同时也一直在思考: 1. 到底该如何的、更好的去凝聚大家的向心力? 2. 到底该如何的去协调我的下属和我的上司之间的一些关系? 3. 到底是否有必要重新审视对自己工作职责的定位? 如果要在这一点上做调整真的很难,但又真的很重要,尤其是现在已经开始着手激励制度的试行,而且以最近发生的几件事情(离职报告、考勤制度等等)来 看,这决非这么简单的事情,我只是尝试着去做一点点的调整,但事实上即使仅仅如此,就已经困难重重,每个公司内部都会有层层的利害关系,说难听点可能都会 有一些比较官僚的制度,尤其是将你所需做的一件事情是需要跨部门的时候,更甚之…… 下为原文: —————————————————————— 跳槽?跳槽! —————————————————————— 今天,我在微软全球技术中心实习的时候的同学兼同事告诉我他跳槽了,跳到了UBI去做游戏。理由有很多:工作太累,加班没有补贴,做得活太detail,没法对软件开发和软件工程形成一个宏观的理解,不可能转成正式员工…… 从他那里也了解到,由于GTEC换了新的大老板,Dennis Lam已经去其他地方工作了,大老板正在竭力压缩开支,免费的工作餐取消了,报销车费取消 了,正式员工也是能不雇佣就不雇佣,待遇已经今非昔比。去年我在的DSV组的同事,现在走的走,散的散,重组的重组,还剩下十几个人了。想当时我在那里实 习的时候,鼎盛时期DSV组有三十多个人,是Microsoft GTEC最大的组,没想到仅仅半年时间,现在却“人心惶惶”,真是时过境迁阿。虽然仅仅 实习了八个月,虽然最后没有选择留在微软,但是那毕竟是我的第一个工作的地方,就像一个人的启蒙老师一样,始终都还有一份感情,始终都还想着有朝一日能再 回Microsoft效力。 但是再想想,很多人尤其是vendor从GTEC跳槽也不是偶然的,工作强度高我是深入体会的,虽然理论上每天只需要工作八个小时,但是很多同事都是一天 干一天半的活,晚上加班到十点是正常的。当时凭着自己对Microsoft的激情,倒也干得任劳任怨。可是,仅仅是激情就够了么?激情过后,剩下的是什么 呢? 考虑的再多一点,现在好多的外资IT企业,尤其是一些享有国际声誉的知名大型IT企业,近年来在中国都建立分公司,或者“研发中心”。凭着“还说得过去的 薪水”和企业本身的名声,把大量中国的优秀IT人才揽于麾下,与此同时,具体工作的内容呢?很多都是与公司的核心技术根本不沾边的内容。还有些更直接,做 外包。记得某号称“玻璃巨人”的IT企业中国软件部门领导在同济大学软件学院做报告的时候更是赤裸裸的宣称“在中国这个环境下做软件,只能做外包。”。这 样拿着中国的优秀软件人才当廉价劳动力赚钱的外企,进去了除了能得到个听起来还不错的名声——“世界五百强XX公司员工”——之外,得到的还有什么呢?暑 假的时候我有幸在国内某个做国产系统支持软件的公司实习。实话实说,与那个公司的员工交流的时候,感觉他们的smart程度至少要比 Microsoft Guys低一个档次。国内最一流的软件人才都去了外企,留下了二流三流做中国的核心技术。这或许也是中国软件产业落后的一个原因 吧。。。

实习生离职引发的思考


最近从七月份还了那一大笔债务后,由于各种原因,公事、私事遭遇了很多事情,几近所有的事情都让人不爽,心情指数也急剧下降,但又苦于不知该如何叙述,更不知该向谁述说,总言之就是矛盾、复杂二词。于是开始对自己进行反思,今天先反思工作职责。 一. 关于工作职责,其实本来也可以很简单。 虽然我是公司在大陆地区唯一的一个研发部门经理,但由于我们公司的产品研发制度采取的是一种Matric模式的 管理制度,在这种制度下,从REQUIREMENT管理到SYSTEM ANALYSIS,再生成PRD,然后再到RD来做SD,并完成DEVELOP,然后交给QA,最近Release产品,每个环节都有很明确的分工,本身 来说,这应该是很标准、很完美的一套制度,而在这套“很完美”的制度下,由于,我并不需要处理太多的管理方面的工作,甚至也不需要我做太多的研发文档,所 以,一直以来我对自己的定位是: 1) 作为一个资深研发人员,负责公司核心技术产品的开发。 2) 协助SA & PM完成各种Spec or PRD document的撰写。 3) 对一些研发中的主要技术难点进行攻关。 4) 在协助Team下的员工(新同事或者老同事)完成一些他们无法完成的、或者是无法独立完成的工作。 5) 对Team下的员工做一些简单的激励和鼓励,如:阶段性的和Team下的员工一起打打球、唱唱歌什么的。 二. 在实际工作中碰到了问题 公司的制度是非常完美的,本来按上面讲的那样,我已经决定应该会工作得很快乐,并且绝对不应该产生“情绪”。然 而事实上,这套完美的制度在实际的操作与运营中,却又真的出现了很多不该出现的问题,最大的问题,我想应该跟所有的IT公司一样(或者说是跟所有的软件公 司一样),那就是Schedule的delay,并由此而引发各方面的不满。对于此很难用几句话来说明清楚,我只是想站在一个纯RD的角度来试得解释和说 明一下我的理解,同上配上我的一些不怎么make sense逻辑(由于最近一直很不爽,所以借机发泄一番),我认为导致目前的状况的原因,从简描述的话应该有以下几点: 1) 缺乏沟通; 2) 缺乏激励制度; 3) 产品研发管理中诸多环节无法得到很好的衔接; 4) 缺少起码的人文关怀; 以下是对于上述问题的一点我的理解(别的部门我无法对评论和指点,因为那不该是我去管的事情,所以,以下所有的观点仅仅针对大陆RD部门) 1 缺乏沟通 在这几点问题中,我把缺乏沟通放到了第一位是因为缺乏沟通直接导致了其他很多的问题。单纯的从RD部门来讲,缺 乏与HQ的沟通,缺乏跨部门之间的沟通,导致RD根本无从知道公司的运营状况,而这样的结果就是导致RD对自己的前景无法作出很好的判断(更别说是正确的 判断),在这样的背景下,有一句俗话更容易被放大,这句俗话就是“好事不出门,坏事传千里”,其结果就是直接导致部分“体质”较差的人“生病”。 而且对于这一点,我也必须数一数与此相关的“恶行”: 1.1. 公司层面 从来没有什么好消息。概念里根深蒂固的观念:RD不需要知道外面的任何事情。Sales拿到了什么单子,什么产品接了什么客户等等,从来不会有什么喜讯通告,更不会有人来告诉上海。 公司的对产品的一些规划、计划也从来没有到达过上海的RD,不管是讨论,还是结论。对于此,我听到下面的人抱怨最多的就是: 不知道自己在做什么东西,因为光从上海来讲,我们投入95% […]

关于职责工作的反思(草稿)



这也是我在多年前针对公司的一些研发与测试之间的各种状况而发表的一点个人看法,原先po在我的另一个网站:http://www.rosoo.net/a/200909/7475.html。而事实上对于这个话题其实一直以来都是一个很大的课题,而且每个人,或者每种角色对此的看法都不尽相同,同时我相信这个话题也会一直延续下去,不管是数十年前,还是现在,亦或数十年后,永远都不会停止。同时,在这几年来又有持续出现一些与这个话题相关的讨论,如:“单元测试要做多细?”,一个测试人员的反思!,当然,还有更尖锐、直白的一个讲法:我们需要专职的QA吗? 这都说明了同一件事情:测试很重要,但具体测试的该怎么做?甚至谁来做?我们需要持续的、不断的探讨。另外,我还需要再声明一下的是,我讲的只是基于我个人所在的环境及当时的经历,在不同的环境,不同的经历,不同的时间,都会有不同的结论,简单讲就是:这一切都没什么对错,你只需要找到最适合你现在的状况的一种做法。 以下为原文: ------------------------------------ 鉴于公司目前的QA没有一个是拥有RD的背景,且在submit defect & bug的时候经常会出现一些非常低级的描述错误。 举个最简单的例子:        a) 看不到图像。QA submit一个bug说是看不到图像,但基本上没有一个QA会在bug现象里说明看不到图像的时候,Server有没有流量?Client有没有流量?相反许多时候,加了说明可能又是错误的。        b) PTZ不Work or delay。        c) 没有收到警报。几乎从来没人会认真的去观察哪底是哪一段的错误导致没有收到警报,是设备没发出来?还是UniArgus Server的几种可能性?        …. 当然,我这么说并不意味着我作为UniArgus整体产品开发的RD主要负责人想推卸责任,我只是觉得如果把所 有的责任都推到RD的身上,所有的问题都是由于RD在开发时没有做好测试而导致的这种说法感觉有些不能接受。可以肯定的是RD的确需要加强 integration test,但还有很多时候QA的整体能力和素质也有待提高,UniArgus的产品就这么一些功能,QA每天都很辛苦的重复重复再重复的测试,对于许多问 题其实我觉得他们早就应该很有“经验”了(QA应该早已很清楚出现一些常见的问题的时候可能是什么原因导致的,应该怎么去确定,也即诸如之前一直在上海强 调的FAQ管理),不过话又说回来,如果我是一个QA的话,每天就这么“机械的重复”,也是很容易会麻目的,所以坦诚的说,事实上我也很难去怪QA(因为 其实在这一点上,RD和QA是完全一样的),更何况UniSVR的QA就这么几个人,他们每天都那么忙,而且以目前的状况他们不可能把对Program的 理解上升的RD程度。 因此,考虑到实际的状况,我的观点是: 1. 测试规则的制订 如果要定测试规则的话,应该是由RD和QA一起来定才会比较合理,QA会告诉RD他们是怎么进行测试的,而RD 则可以真正的将所有功能的关联起来,因为RD可以将功能直接细到哪几行Code,而这些Code可能会影响到其他哪些功能,这样的规矩才是真正完善的规 矩,同时这也有助于提升QA测试的完美程度。 2. RD和QA需要定期or 不定期的保持沟通 这一方面是由于目前的UniArgus整体产品并没有真正定型,所以有时候的一些修改可能是颠覆性的修改,那样的话,与此相关的功能肯定需要重测,同时测试规则也可能需要重新定义。 另一方面,RD应该保持对QA做一些基础的、必要的training,并整理和完善与产品相关的一些FAQ。 3. 规则外的一些测试 RD的优点是对整个产品的流程比QA更清楚,但有许多许多时候这个优点其实是最大的一个缺点。就是因为RD太清 楚一个大功能的每个步骤,第一个做什么,第二步做什么,最后才能做什么,常常有状况是RD自己测没什么问题的功能,一到了QA就问题百出,所以,在测试上 还必须加入并加强规则外的一些测试。 4. 最后当然是政策的执行

关于QA与RD之间的互动


任何一个人,都会对自己所从事的行业,从事的工作产生一些自己的想法和观点,而这些想法如果一直都无法找到倾诉的对象,或者是complain的对象,难免心里郁闷,时间长了,甚至出现情绪(就像我最近的状态)。静下心来想想,不吐的确不快,但也可以自己在网上倾吐。 其实这是我在三年前写的一篇文章(原先的时候po在我的另一个网站:http://www.rosoo.net/a/200909/7435.html),可能有许多内容对于三年后的今天来说都已经不太一样,甚至不太合适,但为了保留“历史”,我还是原封不动的将其搬过来。 以下为原文: ---------------------------------- 做什么说什么,所以今天我想说说的是大型视频监控平台出路的一些看法,一些简单的、粗糙的想法。 我所在的公司是一家在安防行业及视频监控领域大型应用平台软件的提供商,经过了十来年的相关应用软件开发和摸索,现已据有一定领先优势的公司,在业 界竞争激烈的台湾同业公司中至少排名前三,在大陆也算是赫赫有名的一家视频监控平台的提供商,产品在全球布局上也具有相当的优势,远销欧、美、非,近销日 本、东南亚,但是这个竞争越来越激烈的行业里,在经济危机越来越严重的背景下,在行业技术更新越来越快的时代中,作为一个在此行业从事了多年的先行者,我 觉得有必要谈一点自己的一点感受。而这些感受则更多的是以公司目前的一些状况,以及行业现状为基础,努力探索此领域相关的一些前景、趋势和发展方向。 无论是什么公司,在发展了一段时间后,都可能会出现一些困惑,而跟这些困惑的具体内容关联最多的是公司自身的定位。定位不同,方向可能会完全不一 样,但是我要说的不是具体的公司定位这种高层次的话题(因为那不是我作为一个名义上的软件开发部门经理所能够关心的事情,就同我自己存在困惑,不代表上层 决策者也困惑一样),而仅仅是作为一个从业者,谈一下可能存在的一些出路。OK,直接切入主题。 1. 直接业务的拓展 作为软件平台的提供商,自身并不生产设备,但是在软件平台上具体相当的优势,所以直接业务包括两个方面:直接面对用户,并自行开拓发展业务;开拓设备制造商的接入市场。 1) 直接面对客户 首先,如果一个公司准备这么做,其必须有强大的背景实力的支撑,而直接面对客户意味着你需要大量的人力及资金投入,所以这条路一般只适合一些大公司,或者 是具有相当号召力及相当资源的大公司,对于一般的公司来说,显然是不合适的,但是如果是做一些行业典型应用,并以此作为成功案例则是任何公司都必需的。 2) 开拓设备制造商的接入市场 如果是一些小型的应用,那设备制造商自身的软件应用即完全可以应付,但是一旦碰到一些大型应用,或者是设备制造商想进入一些具有一定门槛限制的领域,那就 必须求助于专业的大型应用平台提供商。所以,对于平台软件提供商来说,这一块是其固有的优势。也正是因为如此,所以我并没有将设备制造商列入我目标中的行 业同盟,因为设备制造商与平台提供商的角色可以说是不对等的。作为强势的一方,平台软件提供商完全可以利用自身的这些优势,来开拓设备制造商的接入市场, 并可以为日后与设备制造商的更进一步合作打下基础。 2. 架构行业联盟 行业联盟的重要性我想无需我在此獒言,但如何来确定自己的行业联盟也是一个问题。 从狭义的观点上讲,所谓的行业联盟,应该是两家或者几家处于同一行业的公司,如设备制造商与平台提供商,才适合结成行业同盟,但是事实证明并非如此,因为通常这种联盟相对来说会比较短命、比较脆弱: 1)由于所面对的客户在一定范围内会重叠,这可能会导致双方在利益上产生一定的冲突,所以很容易导致日后的解体。现实的生活中最常见的就是这种类型的同 盟,而且这种同盟的产生通常都是因为行业受到外部的冲击导致的,所以其结盟所表现的形式也通常为自我保护性质的联盟,如:前阵子炒得火热的空调价格同盟 (现已基本解体,因为夏天即将过去,空调不再热销,大家又都互相开始打起价格战);诺基亚窜货纠纷经销商同盟以及OPEC石油产量同盟等等(与这些同盟相 关的案例,请自行百度,我就不在此浪费力气敲键盘了)。 2)由于在同一行业里,故所推的产品大都具体相同或相近性,所以在技术研发、产品研制方面无可避免的会产品竞争,并因竞争所排外,除非双方进行并购,合并 组成一个大的公司平台,以资源共享,否则这个同盟的结果还是很难预期(几年前我一直觉得Dlink来收购UniSVR,也许可以强强联合,但现时已晚,并 基本永远不可能再发生)。 所以,简单总结一下:我认为同行业的同盟,也许在特定的环境及背景下会有这个需要,但从长期来讲,不会绝不会是最重要的同盟。 那么,除了设备制造商之外,究竞应该去架构什么样的同盟呢?从我的观点看: 1) 电信运营商 本身安防、视频监控行业较其他行业就有相当的特殊性,在这个行业里,存在了太多的“强制性”因素(或称之为政府因素),从前端设备DVS(视频服务器)、 DVR(网络录像机)的入网,到视频监控服务平台的入网(如中国电信全球眼入网许可、交通厅的道路交通监控标准),每一个步骤都带有很大程度的政策性因 素;而在美国911事件之后,政府和政策因素对此的影响则是越来越大。而一般公司如果想拿到这种定单,无疑是相当困难的,而如果是政府旗下的大型国有企 业,或者是政府管制性行业的龙头企业来说,将会相对来说更容易,所以,这个时候四大电信运营商就是最佳选择,他们优点: a. 强大的政府背景; b. 坐拥电信基础设施、宽带接入; c. 绝对的话语权; […]

探讨:大型视频监控平台的出路


由于计划将一个原先在Linux下跑的NVR平台移植到Android上,而该程序有用了MySQL,并且是用C++写的。于是引出问题,到底移植过去之 后该用什么数据库?继续使用MySQL(使用非官方的版本,官方不支持)?还是干脆选用其他的数据库(如:Android自带的SQLite)? 在一开始,我安排了一个新人去做相关的research,research方向是MySQL,因为如果可以搞定mysql for Android,那意味着我们可以省掉很多的工夫,但结果是一团糟,一方面是这个新人没有做出来(也不可能做出来),另一方面,让一个新人去做这种事情, 本身就是非常的不合理。 所以,没办法,现在终于决定放弃mysql,直接朝着sqlite去了。 以下是ST(我的老板,VP)找到的一个各种关系型数据库之间的对比的资料,来自wikipedia Comparison of relational database management systems: http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

各种关系型数据库之间的对比





3
晚上搞RG4的界面,搞了一个晚上,终于选定这个主题,但是在修改里边的一些内容时,一旦加了中文就不行,直接是乱码。 于是我又是Google,又是百度,试了好多方法都不行,包括: 1. header(‘Content-Type:text/html;charset=utf-8’); 2. header(‘Content-Type:text/html;charset=’);然后转数据库的字符集 等等 最后看到下面这篇文章,终于找到思路:直接用ultraedit来转字符集从ASCII转成Unicode保存,然后再上传即可。 不过,我的ultraedit版本比较旧,跟他还不怎么一样,所以把我的ultraedit的截图发上来给大家参考。 下面是我参考的文章的原文: 博客刚刚上线,换了个清爽的主题,个别地方感觉还不太满意,马上动手改。底部加上我的博客名字(版权所有 ? 2010 晴天打雨伞),上传以后发现“攀登的SEO博客”这几个中文字乱码,同时发现另一个问题,其他的中文字显示正常,但查看源代码,发现全是乱码,好像以前有的朋友遇到过类似问题,明明博客内容很好,就是搜索引擎收录不正常,尤其是百度,这个问题不容易发现,如果哪位发现自己的博客收录不正常,最好去查看一下自己的源文件是不是乱码。 事不宜迟,于是用记事本把模板文件改成utf-8,上传,问题解决,另一个问题有出现了,博客最外面的#page div 设置为margin:0 auto,在IE里显示左对齐,这个不起作用,FF里面显示正常,折腾了大半个晚上分析代码,Google很多次,有发现另一个问题,utf-8 格式,utf-8 分utf-8 BOM 和 utf-8 无 BOM两种,而php 不支持utf-8 BOM,从网上下载了一个UltraEdit 14 ,把所有文件转化成utf-8 无BOM 格式。问题基本解决,有个小问题一直不得其解,最下面的版权信息那,鼠标放上去会抖动一下,原主题有同样问题,不知是css那个地方有误,希望高手帮忙。 这一张是他的ultraedit版本的截图: BOM 参考: UTF-8编码的文件中,BOM占三个字节。如果用记事本把一个文本文件另存为UTF-8编码方式的话,用UE打开这个文件,切换到十六进制编辑状态就可以看到开头的FFFE了。这是个标识UTF-8编码文件的好办法,软件通过BOM来识别这个文件是否是UTF-8编码,很多软件还要求读入的文件必须带BOM。可是,还是有很多软件不能识别BOM。我在研究Firefox的时候就知道,在Firefox早期的版本里,扩展是不能有BOM的,不过Firefox 1.5以后的版本已经开始支持BOM了。现在又发现,PHP也不支持BOM。 PHP在设计时就没有考虑BOM的问题,也就是说他不会忽略UTF-8编码的文件开头BOM的那三个字符。由于必须在

WordPress 中文乱码解决办法