博客

  • 监狱加强智能视频监控很重要

       最近,黑龙江延寿县公安局看守所公布了3名在押犯罪嫌疑人杀害一名监管民警的视频。虽然三名重押犯的作案过程被视频拍摄下来,却没有被及时发行并制止。如果监狱安装了智能监控视频,或许悲剧就不会上演。那么,为了预防此类恶性案件发生,该如何改进呢?



      监狱监控系统现状分析


      监狱是关押一切犯人的场所,视频监控可以有效地加强管理。但是现在的监狱由于一些客观原因,会出现以下几种情况:


      1.原有系统建设的比较早,很多传输瓶颈已经显现,不能满足越来越多的信息传输应用。


      2.原有的各个子系统架构和功能相对独立、简单,不符合全面数字化的应用需求。


      3.前期采取了主流的模数结合方案,但仍然存在资源不能无缝集成和互联互控,并存在监控“不清”等瓶颈问题。


      4.近来实施的数字方案,有一些没有将新技术和各个业务系统在接口标准上真正统一;而且并没有完全展现出数字化应用的优势和亮点。


      5.另外建设的各个系统之间的联动和管理基本停留在“横向联动”阶段,即不具备“立体化”的智能防护和信息处理联动能力,更不具备应急处置的快速反应和综合指挥能力。


      改进监狱系统功能


      由于视频监控系统是整个监狱安防系统中最重要的部分,而且也是网络化最成熟的部分。因此,以视频监控为核心与其他安防子系统结合,在其他安防业务中充分共享视频业务的直观性,是监狱安防整合联动的最佳方案。


      1、管理人员可对监狱任意重要区域进行监控,便于更好的部署管理工作;实现对系统设备和用户进行统一管理、身份认证、权限分配、配置下发等功能;


      2、对监控点的监控视频流和存储视频流编码速率进行设定和编辑;对摄像机云台进行统一调度、控制、管理;


      3、对监控点视频图像进行存储计划的设定、编辑和统一存储,能为处置案件提供法律依据;


      4、采用高清数字综合管理平台进行解码,超窄边LCD拼接大屏显示,实时显示由管理平台切换的多路监狱动态图像;


      5、对监控中心电视墙显示监控图像进行轮流切换,按序切换,便于指挥中心便于快速反应、处置各类突发事件;


      6、对数据存储库中的视频图像进行授权回放、点播管理;


      7、结合GIS电子地图应用,直接在电子地图上标注监控摄像机的实际地理位置,实现监控图像与GIS电子地图联动,便于各级领导查看指导。


      视频监控目前已由模拟系统向数字系统转变,监狱应以引进数字化的监控产品为主,数字化的视频系统可以为智能视频分析在监狱中应用创造了条件。智能视频分析系统能够对视频监控图像自动分析,然后根据自定义事件类型进行判断,一旦发现异常行为或者突发事件能及时发出警报。智能视频分析系统使视频监控由事后的追溯变为事前的预警,监管人员能够及时发现各种安全隐患,有效避免人员及财产损失,降低人员工作强度,防止视觉疲劳带来的监控漏洞。


      实行分区联动管理 加强报警预防功能


      按照不同的监控区域可以采用高清数字监控、视频智能分析、网络化分控、信息实时发布、射频无线识别定位(RFID)、GPS定位巡更、声音智能探测、门禁视频联动分析等技术相互渗透、关联、互补各个子系统紧密结合,使之成为一套组织架构科学、运行逻辑缜密、智能化应用的综合信息管理平台。


      围墙是监狱或劳教所重点防范区域,为防止犯人越狱,当有人员靠近围墙时,系统报警提示指挥中心人员注意,同时联动现场的语音设备,阻止犯人逃脱。当运动目标出现越过提示线、报警线或进入警戒区域时,系统触发预先设定的报警机制进行提示或报警,并通过智能视频综合管理平台实现报警画面自动上传、图像自动弹出、云台镜头调看、自动调用实际场景中声光报警装置进行报警等立体化联动处理方式。


      完善综合管理平台


      监狱综合管理平台可将视频监控、公共广播、报警、对讲、门禁与AB门等安防系统以及狱政信息系统均作为子系统通过相应的接口模块接入综合管理平台,然后综合管理平台进行各子系统管理模块的集成,并提供统一的登录、管理以及业务浏览界面。


      用户仅需要通过综全管理客户端登录综合管理平台即可统一管理和集中查看所有安防子系统以及狱政信息系统的业务,从而大大提升管理集中性、便捷性以及管理效率,使得系统对统一指挥、高效机动、协同联动、智能管理等方面提供有效的帮助。


      利用现代化的高科技智能手段,可有效地保护狱警人身的安全和突发事件的处理,充分发挥科技强警的作用,实现在紧急情况下报警求助和预警,为创建平安监狱、平安社会出一份力。

  • 六问视频分析技术发展相关问题

    六问视频分析技术发展相关问题



    来源:中国安防展览网2014-08-21作者:不详

    [摘要]视频智能分析技术,通过将摄像机场景中背景和目标分离,进而分析并判断场景的各种状况。

      上世纪90年代,视频分析技术的雏形产品已经在行业中出现,其伴随监控技术的发展,经过十多年,技术已经逐渐成熟,也完成了从概念到产品的转变。视频分析技术涉及众多学科,包括如计算机视觉、人工智能、仿生学等,现在已经成为视频监控的重要部分,并随着技术、影响力的提升和市场对智能视频的迫切需求,相信定会被越来越广泛地应用。

      视频智能分析技术,通过将摄像机场景中背景和目标分离,进而分析并判断场景的各种状况。用户可以根据现实的实际场景,建立相应不同场景模型,生成在场景中出现不同状况后联动相应报警事件的规则,通过这种规则来判断和分析视频,自动发出报警,输出联动信号,提示用户进行相应的操作或根据报警的场景来采取相关的措施。

      六问视频分析

      1.视频分析在监控智能化中的地位

      视频分析是监控智能化的发展趋势,是未来监控智能化中不可缺少的一部分。视频分析的重要影响在两个方面,第一是将安防监控人员从繁杂枯燥的监控任务中解放,让机器完成这部分工作;第二是在海量的视频数据中快速检索出想要的信息”。智能监控在来安防行业中的重要作用。

      2.在当前的视频分析中,哪个方面是最具发展价值的?

      在当前的诊断类、识别类、行为类视频分析中都具体有发展价值。它们都是智能视频分析中不可或缺的部分。面部识别技术,特别是在身份识别应用方面,面临的一个重大挑战是待识别的目标面部和用来对比的样板面部之间的差异。

      以有效期长达10年之久的护照为例。随着时间的推移会发生当事人改变发型、不再配戴眼镜等各种各样的变化。当面部识别技术部署在身份识别管理应用时,面部识别系统必须能够处理由于对象的老化所产生的变化。

      监控系统中的目标图像往往还存在其他形式的问题:分辨率低;与原始图像的角度和光照条件的差异;以及面部表情等。FaceDetect技术必须能够处理这些问题。

      FaceDetect系统使用多种技术来实现其高匹配度。通过参考收集到的从儿童到老年人的大量匿名图像,利用特殊的匹配技术来实现在软件中的老化过程的建模。Imaoka博士还解释到,利用大头照制作一个虚拟3D模型,借助不同的角度、光照等因素生成不同的图像。这些图像都被存储在数据库中,当目标图像出现在FaceDetect系统中时,便要求数据库搜寻一个图像加以匹配。“FaceDetect甚至能识别出我30岁时的照片,”Imaoka开玩笑说道。

      NEC的超分辨率图像增强技术甚至能识别出低分辨率传感器捕捉到的模糊的面部图像。该系统能够使目标图像与退化的模板匹配,产生能够容易被人识别的面部图像,甚至在双眼之间的图像分辨率低至24像素的情况下也可以实现。

      3.图像处理成果

      波士顿马拉松案提高了人们对人脸识别技术的认识。根据众多报道,尽管摄像头中捕捉到了犯罪嫌疑人的影像,但这些系统却无法确认犯罪嫌疑人。然而在密歇根州立大学进行的一项人脸识别系统试验中,先进的NeoFace人脸识别技术使用与警方同样的事件现场照片,几乎瞬间完成了犯罪嫌疑人的“同一性”匹配比对。

      智能分析要想得到普及就要做到“快”和“准”,“快”就是要在第一时间识别出异常情况,并对此做出反应。而“准”就是要在识别中减少误判,不然不仅不会为工作人员减负,反而会增加负担,也会扰乱公共秩序。

      4.视频分析技术对安防行业的影响

      在视频分析技术的应用中,不止停留在原来能“看”监控的程度;还能“懂”监控场景中目标物体的行为;能够“想”目标物体是什么,行为意味着什么;更可以把想的结果“说”出来。最具变革意义在于从以前的“被动监控”向“事前控制、主动预警、事中追踪、事后分析”转变.。

      阻碍该技术发展的关键问题还是辨别率和识别速度之间的矛盾,因为在目前芯片处理能力的前提下,为尽快得出结果对图像处理分析过程就会简化,准确率就会受到影响;反之,识别速度就会受到影响。而且在不同的应用场景中,对两者的要求也不一样,所以对视频分析软件提出了很大的挑战。

      5.智能分析技术应用中的实际问题

      目前智能分析技术在实际应用中还存在以下问题:

      1、分析准确率受环境影响大

      系统针对复杂异常行为建模困难,目标与背景接近会导致目标特征信息提取困难;运动目标被遮挡会造成目标信息缺失;目标移动速度过快或算法过于复杂导致跟踪的有效性较低,上述因素易造成误报、漏报、跟踪困难等结果。

      2、海量数据分析速度较慢

      针对后端平台的智能分析而言,前端采集设备回传大量的视频、图片等信息,都需要在平台服务器上叠加算法进行分析,由于服务器本身处理性能的限制,无法并行处理大量数据,因此,虽然智能分析服务器的应用为公安、交警等需要大量检索视频的情况节省了人力与时间,但整体的效率仍有提高的空间。

      6.未来视频分析技术的发展趋势如何?

      运动目标检测及跟踪处於智能视频监控系统的最底层,為后续的目标行為分析与理解提供可靠的数据来源。目前的目标检测及跟踪技术对光照变化较大、目标遮挡、动态背景干扰等场景进行处理时效果并不理想。因此需对目标检测及跟踪技术继续深入研究,提高算法的准确性,使之能够适应更為復杂和多变的现场环境。

      此外,目前市面上已有的智能视频分析功能大多集中在对单路摄像头採集的单源视频进行独立分析,缺乏多路多源监控视频的协同分析,因此应对跨摄像机目标跟踪技术进行研究,从而获取目标在大场景内的行踪轨跡,以进行更准确的行為分析。

      遮挡是目标跟踪中必须解决的难点问题,运动目标被部分或完全遮挡,又或是多个目标相互遮挡时,目标部分不可见会造成目标信息缺失,影响跟踪的稳定性。为了减少遮挡带来的歧义性问题,必须正确处理遮挡时特征与目标间的对应关系。大多数系统一般是通过统计方法预测目标的位置、尺度等,都不能狠好地处理较严重的遮挡问题。

  • 哈尔滨3名在押犯杀管教越狱 解析:为何选在4点40出逃


    小结:如果引入科技防范的设备和系统,切实的加以应用,不会有这样的悲剧了。


    智能视频报警服务器产品介绍


    对于看守所和监狱而言,不发生非正常伤亡事件,不发生囚犯逃脱越狱事件,是不可逾越的一条安全底线。三名犯人从延寿县公安局看守所逃脱,公安局和看守所相关领导肯定跑不掉,降职撤职铁板钉钉,判刑也不是不可能——这有先例,也是后话。


  • 如何做好营销

    总结如下:


    1、成功的社会化营销包括但不限于以上所说的内容,例如参与感、病毒传播、游戏化、O2O、CRM等工具都是非常重要的,不要贪多求全和全盘抄袭,找准自己的优势做到极致。


    2、没有好产品不要实施社会化营销,社交平台会把产品的缺点也同时放大。


    3、做好所有品牌触点再开展营销,不然就是浪费钱,在互联网时代,要特别注意所有展示在屏幕上的内容设计。


    4、全面覆盖,引爆话题,去中心化,以激发用户分享为终极目标。


    5、坚持内容为本,把品牌当作媒体而不是广告中心,把用户当人。


    6、成功的品牌与营销是产品价值的一部分,产品价值并不限于硬件本身


     


    还记得一句广告语吗?“你的益达~~不!是你的益达!”,大部分人听到这句话都能理解并会心一笑,这种整个市场都熟悉的语境是品牌的终极追求吧。品牌本身是一种承诺,降低了用户的选择成本,因为人们总是倾向于相信熟悉的产品和相信熟悉的人,即使你的产品再好,如果没有在市场上创造出一种熟悉的语境,那你的产品价值是有缺失的,因为情感上没有产生共鸣。


    现在大家明白小米为什么会火吧!小米的语境打造是非常成功的,有一次我回到乡下,有个刚初中毕业的学生问我能不能帮他抢个小米,说抢到小米在班里会很威风,比苹果还威风,当时我就震惊了,但细想也很合理,因为当你用的是小米,同学们都知道你是手机发烧友,是玩家,抢也是一种语境。


    社会化营销 网络营销 小米手机


    我相信有很多人越来越接受国产手机,但是你们不一定会买国产的运动鞋吧,其实运动鞋的质量外观都差不多,但是不同品牌所创造的语境,会对我们的购买产生直接的影响,有些人是完全不能接受国产运动鞋穿在脚上的,就像有些人绝不使用双蝶牌安全套一样。


    那么我们如何创造一种让整个市场都能熟悉和接受的语境呢?


    在讲述这一切之前,首先我们了解一些营销的基本原理:人的潜意识是受情感驱动的,而非逻辑(via.盗梦空间);这些情感包括与生俱来的娱乐、亲情、愤怒、好奇、情欲等等。所以对于品牌来说,品牌的沟通策略应该坚持:所有商业上的策略和动机,需要转化成用户情感上的概念和故事。搞不懂这一点,营销永远做不好,很多品牌的微博看上去只懂炒作和发广告,从不考虑用户感受,从根本上来说,是外行人在做营销,如果不是偶然有个手机抽奖,谁TM愿意关注你。


    以下是我对基于互联网环境下品牌营销的一些洞察和总结。


    一、精准定位


    一个从来没被人听过的东西如何迅速提高知名度呢?因为今天的媒体环境太过碎片化,用户每天接受到的信息太多了,没有声音的品牌会迅速被遗忘。因此雕爷想了个绝招,以一个尖锐的定位来劈开用户的脑海,让用户产生深刻印象,一旦接触过之后很难再忘记。之所以提到雕爷,因为我在多个场合做过测试,我问大家最有名的牛腩是什么?他们只能回答出雕爷牛腩–不是软文。


    例如你要做一款主打画质的拍照神器,至少要面临5个厂商的同时竞争,但如果你的产品定位是裸照神器,内置红外功能可以穿透衣衫直接拍出裸照,那你都不用花钱传播了,使劲生产就行了(仅供参考,不承诺到牢里送饭)。


    精确的形象定位有个好处,就是日后对用户进行重复提醒时效率更高,成本更低。


    定位有助于品牌在用户脑海里放入一个概念,让你和用户建立一对一的对应关系。


    二、做好产品


    产品是营销的根本。互联网是透明的,不要以为成功的营销真的可以把一堆垃圾卖出去,那是传销,不是营销。


    做好产品需要满足很多因素(参看4月14日的文章),我们仅讨论跟营销相关的因素:在产品里植入营销的元素。产品自己会说话是好的,例如高度差异化,超越预期的体验等,比较流行的方法是找到用户最深刻的痛点并解决之,解决用户的核心痛点才会超出用户预期,用户才会为你说话,从而让产品话题变得社会化。


    例如小米解决的痛点是尖叫的价格,三星解决的痛点是大屏,而苹果重新定义了手机。


    很多产品在植入营销话题的过程中走火入魔,为了营销不惜创造很多噱头功能,这些功能并不符合用户价值,只是为了创新而创新,例如八核手机配极低的存储就是典型的噱头营销,狂打八核概念但完全不考虑手机的可用性,令手机的体验非常差,还有什么旋转摄像头,既不实用还导致手机的手感和设计都大幅退步。手机是一种深度体验产品,每个用户买的手机再怎么差也得用上一年,这一年里用户会不断吐槽该手机并传递给身边的人。


    互联网时代的产品标准


    最近读了宇见的一篇文章,其中提到中欧李善友教授对产品的一些观点我非常认同,他认为在移动互联网时代:只有产品触动了用户的心灵,提供了超越商业的价值,才有成功的机会。


    工业时代的产品标准是功能体验,主要强调功能功效,简称FAB;就是强调功能、优势和利益点,大家都是沿袭这个套路,但是在产品同质化的今天,用户还会在意这些吗?


    移动互联网时代的产品标准变成了“情感体验”,其核心有两点,第一是极致体验,产品本身是第一营销力;第二是强烈的情感诉求,李教授说“产品只有触动了用户的心灵,提供了超越商业的价值,才有机会。”


    社会化营销 网络营销 小米手机


    图片来自宇见微信公众号


    所以耐克不但卖运动鞋,他还会想方设法令你爱上运动,保持健康的体魄;在雕爷牛腩用完餐会把筷子洗干净送给你,是要提醒你注意环保;在三只松鼠买零食,像垃圾袋、擦手纸、封口夹之类的小工具都会贴心赠送。这些品牌不会只注重交易,还会让你在交易以外有一点感动,产生一种更好的用户体验,增加你对品牌的粘度和记忆。


    合理定价


    品牌定价的标准只有两个字:合理。而用户衡量定价的标准只有一条:超值。


    再次提醒:以为低价就是超值的品牌,你根本不用理他,他自己就会死掉的。用户对超值的衡量是全方位的,并不只限于价格,你必须在多个方面让用户感知到产品的超值,用户才会为产品买单。什么是高性价比的好产品?请见我上周一的长文章。


     三、立体营销


    完整的触点


    所有的传播都基于特定的符号,例如品牌名、LOGO、口号、设计、包装等一切与用户接触的东西,需要注意的是,所有触点的设计,一定要具有广泛的群众基础,就是大家一眼就看得懂并能理解,需要用户思考甚至提问的符号都是有问题的。


    这里再点评一下小米的触点设计,从Logo到平面设计到口号都非常符合目标用户的审美环境,甚至小米每个页面上的文案都是经过大数据分析的,清楚知道用户的需求是什么,所以你知道我为什么一直不看好500强,做事情基本的方法论都没有掌握,触点设计盲目又混乱,这样的营销能成功吗?


    引发共鸣


    品牌设立的符号要符合用户的情感才能击中用户的心灵。这些符号性的触点,是对用户脑海里原有经验和阅历的一种激活,因此你的符号不能脱离现实和远离用户,如果你为了显示自己的逼格用一些虚头八脑的口号和图像,往往死得很难看(所以小屁孩很难成为社会化营销的操盘手,无他,他自己的人生阅历也不足,何以激动用户埋藏在脑海里的情感?)。


    全面覆盖


    有用户的地方,就是营销应该去的地方,小米把微博、微信、QQ空间、贴吧、论坛等这些用户量高度集中的阵地都覆盖过了,当然还有很多其他的工具如微电影、门户媒介包括分众传媒的框架广告等等,每一样工具都是用到极致的。


    做电商的人都应该注意:用户与产品大约至少有6-8次的信息接触才可以使一个购买行为达成,所以不要以为一个产品发布完就可以高枕无忧地把产品卖出去,那是开玩笑。


    必须说明的是,并不是每个品牌都能做好立体覆盖,一是资金问题,二是团队问题,这些问题最终都是老板的眼界问题。


    为什么要做立体覆盖呢?


    一是因为碎片化的媒介生态,没有哪个平台可以完全地聚集用户,用户在哪就要去哪,二是多平台同时覆盖有利于话题爆发,第三个最关键:在任何一个社会环境中,如果一个话题没有被上攻到临界点,这个话题就会迅速萎缩而不被引爆,任何话题一旦达到分布的临界点(一般10%~20%)就会被引爆,话题覆盖面会直接上升为70%~90%,典型如最近的文章事件,一个全民熟悉的语境瞬间就可以形成,而在过去的管控型的媒体环境里,要实现这样的效果是不可思议的。


    所以我认为社会化营销有一个很关键的心态,就是三碗饭原理。如果你吃一碗饭和两碗饭都是不饱的,那不要尝试投入工作,那样不叫节省,反而是浪费。一定要吃够三碗饭再去战斗,否则一碗和两碗都是白吃的。营销也是一样,如果资源和智商有限就不要多头出击,集中精力把某些关键性的平台运营好,把一个话题或信息彻底打透打爆,而不是浅尝辄止,每口井都喝不到水。


     去中心化


    关于去这个题材的描述太长,但是这个内容非常重要,所以我决定留待日后详细写一下去中心化。这里举个例子,小米移动电源上市的时候,全民都在猜测将要发布的是个什么产品,有说是豆浆机、移动硬盘、暖手宝、防狼器。。。(4.23的小米新品沟通会也用了同样的方法,而且打造了一个“口吃体”,也形成了巨大的UGC),这种新的营销方法通过参与感形成了人人都是传播中心的局面,这就是去中心化。


    大V薛蛮子复出后一条微博都没发,在提及自己的犯罪新闻里点了个赞,立即引爆成为全城话题,这才是玩新媒体的最高境界,重要的不是自己费尽力气呐喊,而是大家都在讨论你。


    说白了,去中心化就是品牌本身成为了媒体,输出了内容供用户消费。小米社会化媒体和论坛组大概有80人,新媒体组近50人(相当于好几家小型广告公司),有很多都是从知名媒体挖过来的主编,这是品牌故事讲得好的重要原因。所以品牌间营销的竞争,其实是人之间的竞争。


    激发分享


    当你用心把产品做好了,触点做好了,营销做好了,用户买单了,最后一步当然是要激励用户分享产品的使用感受,产生正面口碑从而影响到他身边的人,形成源源不断的关注和话题来源,这样在营销上就形成一个闭环,产生一种“失控”的美好结局。


    很多人说小米玩饥饿营销,其实是不理解供应链与营销的关系,供应链有时候是可控的,但是营销往往不可控,中国的互联网群体非常庞大,一个话题爆发与否,产生的影响力可能有十倍的差别,没有谁可以做到敞开供应的(红米Note首发当天参与抢购人数是千万级),而那些可以敞开供应的,要么是产品不行,要么是营销不行。


    社会化营销 网络营销 小米手机


    四、如何看待社会化营销


    玩社会化营销很久以来的经验就是:营销就是反营销。不要把每个渠道都当作营销工具,不要把用户当作看广告的人,我觉得微信把那些营销公众号封掉是很正确的,把社交媒体当作流量来源的帐号,骨子里都是想方设法发广告,骗流量,不考虑用户体验,令人非常反感。


    如果没有坚持创作内容的决心,那还是乖乖地去投广告吧,不要把用户当傻子,那些无节操的炒作即使可以短期内可以迷惑到用户,也不会长久。


    文章写到这里,你觉得未来哪个手机的语境会打造得特别成功?

  • 周鸿祎:大数据时代的用户信息安全三原则

    我相信,数据安全,是未来的关键技术之一。


    几年前,雷·库兹韦尔写过一本书叫做《奇点临近》。他说,人类文明经过这么多年发展,在本世纪的中叶会经过一个点,这个点,就是奇点。奇点是一个拐点,也就是说人类文明可能会进入一个分岔,可能会进入一个新的文明高度,也可能会急转直下,人类就此灭亡。所以奇点有双重的含义,有可能变得更好,也有可能变得更糟糕。


    我认为随着大数据时代的到来,互联网也将走到一个奇点,而安全将决定互联网走过这个奇点之后,到底是向上走到一个新高度,还是向下走到一个坏局面。


    大数据时代,有两个事情无法避免。


    首先,现在用户产生的数据都会存在云端,都会存在各个厂商的服务器上。


    第二,数据采集能力更强大,采集范围更广阔。现在不仅有移动互联网,未来还会有物联网、车联网,会有更多的可穿戴智能设备,这些硬件普及之后,你会发现用户使用这些设备产生的数据规模将是空前的。在移动互联网上,厂商对用户了解之深入,是PC互联网完全不能比的。


    比如,原来在PC互联网里,所谓用户信息,就用户存下来的那点艳照,而且很可能是还存在本地目录里。但有了智能手机以后,手机变成了你的钱包,而且手机里有太多私密的东西。一旦你丢了手机,就会产生很多问题。一个行业大佬跟我讲过他的智能冰箱梦想。冰箱按成本价卖,一分钱不赚。我问那你最终靠什么赚钱呢?他回答说,我在冰箱里设置了好多摄像头,而且冰箱接入互联网。以后中国13亿人民买多少鸡蛋,买了多少青菜,放在里面有没有过期,我全都知道。这些数据里面就有很大的商业机会呀。我想,那也是,现在的智能手环可以随时记录你的运动数据,你半夜干点什么厂商通过分析数据就能知道。以后很可能灯泡都要连上Wifi,插座都要连Wifi,最近我看到的一条新闻是,连城管都戴智能眼镜来执法了。


    中国已经有10亿互联网用户,但是将来连接互联网的设备不只是10亿台,因为每个人可能同时有多种智能设备联网,可能50亿台,可能是100亿台,这么多设备产生的数据会让一个人变得越来越透明。当大数据时代来临,这些用户信息能不能保证足够的安全,这将是一个奇点,决定这个拐点何去何从。


    最近,互联网行业出了很多安全事故,例如曝出SSL心脏流血漏洞,还有电商公司存储了用户信用卡里不该存储的信息。


    在未来两三年里,这个情况会变得特别严重。你会发现,安全问题已经不是说在你的电脑、手机上杀病毒,清理插件。汽车现在正向智能化发展,无人驾驶汽车已经开发出来,软件是汽车智能化的基础。任何软件都有漏洞,软件功能越多,就越复杂;软件越复杂,出现漏洞的可能性就越大。如果黑客发现了漏洞,攻破这个软件,黑客就有可能通过远程云数据交换,从云端控制这个汽车。这就不是一个电脑重新格式化的问题,而是生命安全的问题。


    如果在大数据时代,安全不能得到保障,那么或者用户不再信任你,不敢选择你。就像今天曝出心脏流血漏洞,很多人立刻就把手机和网银解绑,有的电商存储了用户信用卡的CVV码,有的用户就选择抵制这家公司。另一种可能,是消费者都无知无觉,但完全不知道自己把什么数据交给了厂商,也不知道厂商如何处理。一旦再出重大安全事故,那甚至将导致一定程度的社会混乱。如果没有足够强大的安全保障,云计算和大数据向未来发展,必将付出惨重的代价。


    我们所有的互联网从业者都要考虑一下,如何在憧憬大数据产生商业效益的时候,也考虑一下如何更好的保护用户信息这个问题。当年阿西莫夫在很多科幻小中提出了著名的机器人三原则,就是为了防范机器人取代人类等安全问题。


    那么现在,我认为也需要在大数据来临的时候,大家一起抛弃门户之间,携手共同制定一个用户信息安全三原则,来自我约束,自我监督。


    第一,用户的信息是用户的个人资产。很多互联网大公司可能比较抵制我这个观点,因为互联网大公司在用户协议里说:因为用户号码是我给的,所以用户是我的,用户的好友列表也是我的,用户产生的内容也是我的。但是,它又发表一个免责声明,说用户产生的任何法律问题,都与自己无关。先不说这种自相矛盾的逻辑,我的观点是,用户使用厂商的服务产生的信息,是属于用户自己的个人资产。用户使用各种设备、各种软件产生的数据,虽然存储在厂商的服务器上,但是从所有权方面讲,它应该明确地属于用户,是用户的财产。


    二是平等交换的原则。在大数据时代,通过云端的数据交换,厂商为用户提供服务。只要用户使用了厂商的服务,就会有相关的数据产生。你用微信的时候,为了匹配朋友,你的地址本自然要上传。为了与朋友聊天,你的聊天记录自然会保存在厂商的服务器上。但是,用户的信息和厂商之间,应该遵循平等交换的原则。什么叫平等交换?用户享受服务,厂商获取信息,但在这个过程中,用户要有知情权,厂商要得到用户授权才能使用用户信息,也就是说,用户要有选择权,有拒绝权。


    举个例子,如果是一个类似大众点评这样的应用,因为要根据用户的地点给他找饭馆,自然它需要用户的位置信息,我认为这是合理的。这就是平等交换。但如果是一个小说阅读软件,也要获取用户的位置信息,我认为这个服务就不再是一个平等的交换,实际上它要了不该要的东西。平等交换原则也符合《消费者权益保护法》的基本原则,就是消费者要有知情权、选择权。


    三是安全处理原则。有的人认为安全就是互联网安全公司干的事,就是杀毒软件的事,我觉得这个观点是错的。任何一家互联网公司,包括现在做可穿戴硬件的公司,都会变成一个互联网服务公司,用户会使用这些硬件产生大量的数据。所以,任何一家互联网公司都有责任保护用户信息的安全,要在云端对用户数据进行足够强度的加密,包括安全存储和安全传输。


    只有用户觉得自己的信息是安全的,用户放心,他们才会更大胆地去尝试各种新的互联网服务。如果像大家每天在网上看到的,都是你说我的支付不安全,我说你的红包有危险。最后的结果是什么?很多人会说,反正在网上用手机支付不安全,那我就不用了。如果是这样,互联网想繁荣,我觉得是不可能的。


    所以,这个三原则不是我们一家公司的问题,也不是几家安全公司的问题,而是从巨头到各位创业公司,大家要共同推动的事情。我们这些互联网行业里的人有责任给用户建立一个安全的基础。所以是时候抛弃门户之见了!将三原则推行起来,让用户对互联网建立真正的信心。

  • 北京商场大火:值班员关火警打游戏

    原标题:北京商场大火:值班员关火警打游戏


    起火后麦当劳店长逃离。


      去年10月11日,石景山喜隆多商场一楼的麦当劳着火蔓延至整座大楼,大火共扑救9小时,致2名消防员牺牲。经调查,起火原因系麦当劳电动车充电时发生电器故障。昨晚,央视焦点访谈首次披露起火时商场内部监控录像,麦当劳一名女店长发现火情后自行逃离,商场消防中控室的值班人员在听到自动报警后不是马上启动喷淋系统,而是摁掉报警声继续打游戏。


      麦当劳电动自行车充电时起火


      央视披露的商场内部视频显示,2013年10月11日凌晨2点49分33秒,麦当劳餐厅一角发生险情,麦当劳一名女员工从里边惊慌跑出,自行离去,随即烟雾越来越大,留在餐厅里的顾客们这才惊觉开始陆续逃离餐厅。不到2分钟时间,整个餐厅已经完全被浓烟笼罩。2点51分30秒,画面呈雪花状,很快全屏转黑,监控探头已经被火烧到。


      央视的报道称,根据消防部门的调查结果,麦当劳送外卖用的电动自行车充电时起火。首先发现险情的女值班店长和另一名员工既未处置火情也未第一时间提醒顾客疏散,其失职导致失去了最佳的灭火时机。


      商场中控人员摁掉报警打游戏


      喜隆多商场消防中控室的监控录像显示,凌晨2点52分54秒,中控室里的自动报警和自动灭火系统开始报警,此时麦当劳餐厅的明火已经起来了,画面上一名男性值班人员起身按了一下报警器,又回到了座位上。


      按规定,接到报警的值班人员应马上通知报警区域的值班保安,携带灭火设备到现场查看火情,并反馈情况,但该值班人员未下任何通知。央视报道称,据他事后向警方交代,他对第一个火警做的工作是消音,即摁断报警音。


      2分钟后,第二个报警器又开始报警,值班保安又摁断报警音,坐下继续打游戏。央视披露的视频显示,尽管消了音,但他身后的报警器一直在闪烁。


      凌晨3点01分,商场消防中控室内,突然有大面积的报警灯闪烁起来,显示火势已经大范围蔓延,这名工作人员这时才停下手中的游戏。商场外马路上的监控录像显示,此时,麦当劳里的人已经全部跑出了餐厅,火光映亮了街道。


      发生如此大范围的报警,值班人员应立即启动商场的自动喷水灭火系统,保护还没有起火的区域和楼层,但值班人员并未这样做。


      自动报警系统未按规设成自动启动状态


      市公安消防局副局长李进接受央视采访时称,单位的消防自动报警、自动喷淋设施等要靠中控室进行控制,按照规程这个系统应该设置在自动启动状态。但据调查,喜隆多商场擅自改成了手动状态,上述值班人员始终没有启动这个系统。


      监控记录显示,从发现大面积火警开始后的四分钟时间内,值班人员始终在翻看研究说明书。后来又跑进来两名值班人员,但他们同样手足无措,没有人启动自动灭火系统。


      由于起火初期现场没有采取任何灭火措施,大火很快从麦当劳烧到了商场的外面,并沿着整个外立面的广告牌迅速蔓延到整座大楼。商场外的监控录像显示,凌晨3点13分,当第一批消防车赶到的时候,整座楼已经形成了从内到外、自下而上的立体燃烧。


      央视报道称,监控录像中,商场值班室的这3名值班人员已被刑事拘留,不久将被依法审判。(记者刘晓旭)

  • 智能视频监控一体机 BVS-V60



        国安防行业在近些年的时间,经历了飞速的发展,产品销量在全球安防市场中占据着绝对领导地位,但同时也存在着诸多的不足之处;我们以国内安防市场来看,如今国内安防还是依然存在着培训难、操作难、安装难、维护难、兼容难等难点亟待解决;


    目前我们中型、中大型项目依然需要非常多的设备来配合使用才能搭建整个的安防项目,比如像一般都会用到解码器、矩阵、数字矩阵、存储服务器、控制键盘、LED显示屏、图像拼接处理器、管理主机、流媒体服务器、监控综合管理平台等等设备,做不到像小项目一样,一台NVR搞定所有问题。那么设备多了,问题就多了,比如我们讲的培训难、操作难:因为我们的设备非常多,每个厂家的软件也都不一样,一个项目往往有好多套软件:比如解码器有解码器的软件、矩阵有矩阵的软件、存储服务器有存储服务器的管理软件、LED显示屏有LED显示屏的软件、图像拼接处理器有图像拼接处理器的软件等等,我们的工程商和用户一个项目往往需要学习3、4套、5、6套,大型项目甚至是7、8套软件,那么我们一股劲的塞给工程商和用户,他们肯定就消化不过来,所以在培训上和操作上一直是个难题;另外安装和维护也是一个问题,设备多了,自然安装就麻烦、维护和排查问题也困难,设备相互的兼容性也是问题,而且出了问题,厂家推诿也一直是工程商头痛的问题。项目出了问题,工程商必须要100%确定到底是哪个厂家的设备出问题,然后厂家会要求你进行一系列的检测,然后才能最终确认从而进一步解决问题。 


    从另外一个格局来看,对于我们的销售人员来说也是大问题,因为一个项目需要搭配非常多种的设备才能设计出合理的方案,往往要求销售人员有丰富的行业经验,才能让用户产生信赖感,为用户设计出合理的方案,从而产生成交。所以对于销售人员的培养一直是安防企业的重中之重,培养出一个专业的人才,我们需要耗费大量的心血,不仅是时间与金钱的付出,还得让员工对企业非常有归属感,因为培养好了,还担心他走,而且培养一个人的周期短则1年半载,长就说不准了。所以如果公司的老业务走掉了几个,对整个公司的整体业绩来说,无疑是非常大的打击。那么问题来了?小型项目可以用NVR?那我们在做中型、中大型、甚至是大型项目的时候,能不能做到像小型项目一样,一台“NVR”就解决了?这样以上的种种问题都不是问题了。培训难、操作难、安装难、维护难、兼容难都将不再是问题,对业务人员的要求也不高,只要肯努力就OK了。结合我们上面说的,所以我认为一体化将是未来安防市场的趋势,因为他能解决我们非常多的难题,而且很多行业都在走一体化模式,比如电脑行业有一体机,有笔记本电脑,比如做装修,现在都是讲究一条龙服务;再比如万达广场,就是一体化方案,集餐饮、娱乐、购物、休闲、电影、酒店、办公等。


    我们做出一款中型、中大型、以及大型项目的智能监控一体机,我们拥有众多非常有才干、有梦想、而且敢于颠覆传统的研发人员,我们研发生产的智能视频监控一体机BVS-V60于2013年初正式量产,可以说是目前国内唯一一款集成了智能视频分析/视频质量诊断/网络解码矩阵/流媒体/PSIM安防管理平台的设备。由于他是一款完全颠覆传统的设备,所以我们赋予他全新的行业名称:智能视频监控一体机(简称Smart One V60)。


  • 一次优秀的代码提交应该包含什么?

    一次优秀的代码提交应该包含什么?


    作者: noidi  发布时间: 2013-11-19 22:27  阅读: 1971 次  推荐: 8   原文链接   [收藏]  



      英文原文:What’s in a Good Commit? 译者:@neevek


      首先我们来听一个令人恶心的例子。


      你看到问题 F00-123 被解决了。这是关于一个你自己很熟悉的子系统的 Bug,所以直觉告诉你造成这个 Bug 最可能的原因。为了证实你的怀疑,你决定看看这个 bug 是怎么被解决的。你花了很长时间搜索了整个版本历史,直到把这个 bugfix 的范围缩小到了 4 个连续的提交,它们分别的提交信息是:dao 小调整(dao tweaks)、moar、Fixes, 还有删除一些调试信息(remove debug stuff)。每个提交的修改集看起来都很大,多达十几个文件的几百处修改。“我艹尼@#$%%^&”,你准备骂娘但还是停住了,没有骂出你脑中那句最难听的粗口。“这个 bugfix 不应该超过三行代码!”。



      上面的例子听起来是不是很熟悉咧?很多开发者仅仅只把版本控制系统当成是一堆文件的备份。这些历史备份除了可以让你取回某个时间点上的文件内容之外,没有任何其他用处。下面这些建议可以帮你把你的版本控制系统从一个备份系统,变成用于沟通和文档编写的一个宝贵的工具。


      1. 每次提交只做一个修改


      如果你在一次提交中修复了F00-123和F00-233、重构了一个类、界面上添加了一两个按钮、还有把整个项目文件中的 tab 改成空格,那么基本上没有人能 review F00-123 的 bugfix,只有你自己才知道哪些修改属于那个 bugfix 的一部分,但是一周以后很可能你自己都忘了。


      要是一周以后你发现原来的那个 bugfix 导致了另外一个更严重的问题那你就完蛋了,你不能使用hg backout或者git revert来撤销你的修改,因为那样会把除了那个 bugfix 之外的所有修改都撤销掉,也意味着你一周的努力白费了。


      上面这种问题的解决办法就是“每次提交只做一个修改”,对于怎么样才算是“一个修改”没有任何硬性或者既定的规则,但如果你能够用一个句子并且不用用到“和”这个字来描述你所做的所有事情,那么你算是做到了。


      分布式版本控制系统其中一个很好的功能就是,如果你的工作目录中有很多相互之间没有关联的修改,你可以用它来帮你收拾好你的烂摊子(clean up the mess you’ve made),但是最好别在一开始就搞出一个烂摊子。在你开始修改代码之前,先确定你想干什么和你想怎么做,然后再认真把关注点放在你想修改的那个点上。


      在没有想出怎么改进某块代码之前,貌似不太可能去修改那块代码。你发现了 bug、看到了一些糟糕的代码、还有一些你很好奇想进一步了解的东西。无论你多么想去做,千万别被转移了注意力。这些发现非常有价值,用一个笔记本或者一个 TODO 文件把他们写下来(jot them down),在完成当前任务之前不要想去解决那些问题。


      这个不仅仅是关于更好地提交。当你沉浸在解决某个编程问题里面的时候,你的头脑充满着关于这个问题的一堆细节,如果这个时候你跳去想一些其他问题,那么你会忘了原来那个问题的细节,再回到原来那个问题需要花一些时间。你需要减少任务切换(minimize task switches)来提高你的工作效率。


      当然有些时候你会发现在没有解决某些其他问题之前,你很难完成当前的任务。这个时候最简单的方式就是使用hg shelve或者git stash把你当前还没有完成的修改暂存起来,把两个问题的修改分开,提交那个被依赖的修改,再回到你原来的任务上面去。


      2. 每次提交要包含完整修改


      如果一个修改分布到了几个提交里面,那么这个修改也是很难 review 的。通常这是因为在同一时间解决太多问题导致的,如果你吃不了那么多,却啃了那么多,那么在你想保存其中的某些修改的时候,你会发现大部分的修改都是未完成的。同一时间关注太多问题会导致最后需要很长时间才能够提交完整的修改。(原文是:Focusing on one task at a time takes you a long way towards committing complete changes. 但我觉得作者的原意应该是:Focusing on too many tasks at a time takes you a long way towards committing complete changes.)


      有些修改需要花很长时间,所以如果中间在某个点上你搞错了,重头再来你肯定折腾不起,所以你需要在过程中保存一些中间版本。幸好分布式版本控制系统都允许你保存很多中间版本但是最后只提交一次修改到中心版本库(central repository),你可以提交任意多次的中间版本,在最后使用hg histedit或者git rebase把多次的中间版本合并成一个修改集。


      另外一种,也是我个人比较喜欢的方法,因为它把中间版本和永久性的修改版本分开了,这种方法使用 Git 的 index,或者 Mercurial Queues 中的一个 patch 来保存最近一次正确的(没有 bug 的)中间版本,每次你做了新的修改你都更新这个 index/patch,如果你犯了个错误,你就可以使用他们恢复你的工作目录了。I like to think of it as a one-slot quicksave for version control.(译注:这句只可意会,我不知道怎么翻。)


      3. 写好注释,说明你修改了什么


      像“修复(Fixes)”、“提交(Commit)”这样的提交信息没包含任何有用的信息。如果别人想看看版本历史,像这样的提交信息只会逼他们去看完所有的代码修改,看代码是很费时费力的。写这样一个简短但表达不清晰的提交信息,可能是省了你一分钟时间,但是却浪费了其他人几个小时。


      一个好的提交信息可以让看的人清楚代码的哪一部分被修改了,是怎么被修改的,他们也不需要去看你的代码:


    SomeClass: use bleh instead of xyzzy in someMethod (fixes FOO-123)

      4. 注释说明为什么做这个修改


      假设每次修改代码都有一个很好的理由/原因,但如果这个理由/原因被没有记录下来,那么整个代码库(codebase)将面临以下风险:



    • 其他开发者不明白为什么原代码是那样写的。当他们修改代码的时候,他们可能会引入一些原作者已经发现或者避免的问题。

    • 其他开发者认为原代码那样写肯定是有(好的)原因的,所以最好别动它。他们把这些代码看成是一个黑盒,然后加各种复杂的 workaround,避免修改原代码。最后导致这个代码库变得臃肿,代码变得难以看懂。

      如果你有足够的理由有必要破坏一个项目的规范或者约定,那一定要把这个理由作为注释写在你的代码里面:



    – xyzzy (bars); + // Our bars are already sorted, so bleh is much faster than xyzzy + bleh (bars);  


      如果你的代码遵守了规范,并且你的代码没有什么微妙(subtleties)的点需要注意,那就没有必要把你的文档注释写在代码里面。但仍然有必要让人知道为什么新代码优于旧代码(尤其是当新代码引入了一个新问题),所以还是要把原因写在提交信息里面的:



    SomeClass: Don’t flush caches in someMethod The caches are flushed automatically at the end of each request.


      如果一个修改解决了一个已知问题,确保在提交信息里面带上 ticket 号(bug 追踪系统中的 ticket),以便其他开发者在看版本历史的时候能够清楚地知道是在什么情况下做出的这个修改。


      5. 不要提交被注释掉的代码


      我没有办法理解提交被注释掉的代码背后的理论依据,我假设这是为了保存旧代码,以防新代码不能正常工作,但这种做法很莫名其妙,最开始我们使用版本控制系统不就是为了保存旧版本吗?!


      为什么要注释掉这些代码?这些代码能运行吗?会正常运行吗?曾正常运行过吗?注释代码是我们应该支持还是摒弃的呢?被注释掉的代码毫无用处,因为每当开发者读到这些被注释的代码,总会冒出一些没有答案的问题,它只会混淆开发者视听,让开发者分心而无法更好专注于有用的代码。


      对于提交被注释掉的代码这件事情,只有一个原则,那就是:





    8

    0


    请先登录

  • 32,64位平台的编码设置技巧

    32,64位平台的编码设置技巧


    【原文链接】


    为了保证能够兼容32和64 两个平台.我在调用.NET程序设置编译选项为AnyCpu方式.却发现。net抛出如下异常信息:



    Unhandled Exception:


    System.BadImageFormatException: Could not load file or assembly ‘SourceCode.HostClientAPI, Version=4.0.0.0, Culture=neutral, PublicKeyToken
    =16a2c5aaaa1b130d’ or one of its dependencies. An attempt was made to load a program with an incorrect format.
    File name: ‘SourceCode.HostClientAPI, Version=4.0.0.0, Culture=neutral, PublicKeyToken=16a2c5aaaa1b130d’


    也就是你现在看到的System.BadImageFormatException异常.针对这个问题.官方MSDN上说的很详细.Visual Studio的编译选项 build中的platform存在有3个选项X64、Any CPU和x86。X86表示只能在32位环境下运行,X64表示只能在64位环境下运行,Any CPU表示你的程序集可以根据环境变化适应32位还是64位,但是如果你的程序集依赖于一个x86选项编译的程序集类似调用一个win32 C++ DLL,哪么你的程序集只能选择X86进行编译,而不能选择Any CPU编译,如果使用Any CPU编译.则这个时候会抛出System.BadImageFormatException异常信息.


    而真正的原因是.如果你采用Anycpu方式进行编译.那么在64位机器默认的运行就是64位的,通常这情况是assembly需要调用一个32的COM库,只要用x86编译,那么程序就是以32位的程序,依靠wow64来运行的,就可以在64位系统上运行。所以,如果assembly需要使用win32库的话。正确的做法是把编译的选项设置X86来编译.即可.唯一点需求.保证调用的C++ DLL编译版本和调用版本一致才是原则所在.这样一来在32和64位则不会爆出如上异常问题.


    在官方文档说了两个意外情况. 也是值得参考的.


    如果您的应用程序使用了 32 位组件,请确保该应用程序始终采用 32 位应用程序的运行方式。


    如果应用程序项目的“平台目标”属性设置为 AnyCPU,则编译后的应用程序在 64 位或 32 位模式中均可运行。如果采用 64 位应用程序运行方式,则实时 (JIT) 编译器便会生成 64 位本机代码。如果应用程序依赖于某个 32 位托管组件或非托管组件,则在 64 位模式中无法加载该组件。若要纠正此问题,请将项目的“平台目标”属性设置为 x86,然后重新编译。

  • 软件开发启示录——迟到的领悟(技术文摘)



    软件开发启示录——迟到的领悟


    英文原文:4 Things I Wish I Would Have Known When I Started My Software Development Career


      我的软件开发生涯开始于15年前。


      但是直到最近的5年,我才真正开始看到自己在软件开发领域的巨大进步。


      这里有一些感悟是我希望能够在我进入软件开发领域时所知道的事情,如果我早一些领悟到,相信会比现在更加成功,也更节省一些时间。


      软件开发工作没有“正确方法”


      在软件开发生涯的早期,我曾经浪费了大量的时间在学习和争辩,错误的相信有一条“绝对正确的方法”能够应付软件开发的很多方面。


      结果证明我曾经认为关于软件开发的每一件正确的事情到最后都是错误的。


      但是更重要的是,我发现很少有事情是黑白分明的。在写代码和开发软件时所做的几乎每一个决定都取决于当时所处的环境。


      我曾经讨论过关于技术的宗教式信仰是如何对软件开发者不利的,但这个话题已超出技术范畴。


      没有万能的最佳实践方式,这句话很对。甚至像“是否应该进行单元测试”、“敏捷开发和瀑布模型哪个最好”这种高热度的话题都不会有一个直截了当的简单答案。


      在我的职业生涯中,我已经浪费了大量时间在这种“正确方法”上以至于最终一无所获,而不是探寻可以让我走更远的“实用主义”道路。


      一页一页看书不是最佳的学习方式


    reading-book_thumb


      当我第一次想提升自己的编程水平和各种技术水平时,我花了非常多的时间一页一页地读具体的技术类的书。


      读书并没有错,但是要有选择那些重要的书和重要的章节读。


      比如,我记得我曾经读过一本非常厚的关于Visual C++的书(我非常确定是《Beginning Visual C++ 2012》的早期版本)。总之,这本书是一本包含了海量知识的好书,但是一页一页读并不是学习Visual C++的最佳途径。


      早知道我就应该像过流水账一般地粗略地看下这本书的所有章节,以了解Visual C++包括哪些知识点,然后再考虑哪些部分是最重要的,是应该首先读的。


      如果我坐下来实际练习下书中的基础练习题而不是仅仅看过或跳过这些例子的话,会有更多的收获。除非你实际用你的所学解决了实际的问题,否则算不上你学会了这门技术。


      深入学习特别技术是浪费时间


      我不仅仅浪费时间在一页一页的读书,还经常选择了那些错误的书读。


      曾经的我花费了大量的时间读诸如ASP.NET或Hibernate等特别技术的书,而不是读像《代码大全》、《代码整洁之道》、《敏捷软件开发:原则、模式与实践(C#版)》(顺便说一句,如果你还没有读过这些书,我推荐你读一读)。


      比起知道你所用的技术的重要性,成为某一特别领域的专家是不重要的。知道某一个具体API调用一点好处都没有,当你需要它的时候只要查询下就好了。


      我曾经花费大量时间深入学习的许多技术中,到最后要不这技术逐渐没落,要不就是太过技术以至于我自己放弃了它。这些特别技术中的绝大多数最终都证明是在浪费时间。


      只要是我正在使用,无论什么语言,成为这种编程语言方面的专家都是很重要的,因为在一门特殊语言方面的专业知识能够让你活跃在软件开发领域许多年。当然,我仍然在花时间深入学习C++、C#和JAVA,但是,对于现在的我来说,可能多花一点时间在C++的各种纷繁难懂之处并没有什么好处。


      技术社区在软件生涯中极其重要


    community_thumb  在我早年的职业生涯中,我犯过的一个错误就是没有投入到技术社区中求助或帮助他人。


      我总是乐于帮助我的同事,并和我所接触的各类职业打交道,但从来超出我所在公司的人员和岗位范围。


      曾经我花了大量时间将自己投入在所在公司的职业生涯中,而没有在软件开发社区中投入一点时间,这点非常的不划算。


      曾经我花时间致力于内部技术建设的分享或实践,原本也可以在技术社区中做同样的分享和交流,也同样会给我带来工作上的认可。


      我也错误的认为我没有什么有价值的事情贡献给技术社区。


      现在的我会和很多软件开发的新手们聊天,有时候我想相比我们他们一定花了很多精力贡献在技术社区,因为和其他新手相比较,他们看起来没有懂的更多,也没那么抓狂。


      如果时光能够倒流,我确信年轻时候的自己一定会投入很多时间在技术会议和用户群组上,我会尽早地开始写自己的博客并创建自己的项目和资源与其他人分享,而不是呆呆地读书。


      永远有编外项目在做


      影响我职业生涯最大的选择可能就是杜绝看电视、《无尽的任务》和《魔兽世界》游戏了,取而代之的是将这些时间用在我的编外项目上。


      在过去的生活中我已经浪费了很多时间在做娱乐活动,而不是那些能够充实我生活的事情。


      在大约3-4年前,我已经基本和看电视这种活动决绝了,现在的我甚至都很少看电影。看电视和看绝大多数电影都是一种时间浪费,浪费那些原本可以做一些有用之事的时间。多数的电视游戏也是如此,但至少玩电视游戏收获的也不仅仅只是无用信息。


      我非常喜欢玩电视游戏,而且恐怕也不会有停手的那一天,但是我着实希望我能够把花费在玩游戏、看电视的时间投入在自有的项目上。


      不幸的是,我真正开始自己的第一个项目却是在大约3年以前,那时的我开始着手创建一个Android应用程序。


      当你为别人工作时,能够花时间在自己的项目上非常重要,否则就是在牺牲自己的精力为别人建造帝国。


      在过去的几年间,我不仅从编外项目中学习到了不少东西,而且也从其中得到了巨大的利益。事实上,其中的一个编外计划:创建Pluralsight课程,是我现在正全职在在做的事情。


      将所学揉合起来


      以上所说是少数我后悔没有在自己职业生涯开始时知道的感悟,但从一开始我仍然做了很多正确的事情。


      实际上我在一个绝密项目中正将这些信息结合起来帮助开发者开始他们的职业生涯并让他们学会推销自己。