All Stories

回不来的始终是回不来了

  小妞在新浪上说,看到毛家的牌子重新打了出来,还以为他们家真的重开了。跟谭同学杀过去,以为能吃到久违的青椒焖大虾,结果根本就不是那一家!极其失望。特地at了思思玉玉和我。我看了一下下面跟的评论,有句话真是太适合我的心情了,回不来的始终是回不来了。

一切都会好起来的

  要向某人学习,少买书,多读书。要喝酸奶。要每天泡脚。要嘴角习惯性上扬15度。要抗压力耐打击。要会Android/iOS开发。要用WinDBG/GDB调试。要用自己的IDE写代码。要能用英语跟老外对话。要努力赚钱。要心怀梦想。一切都会好起来的。

WinDBG使用进展

  从昨天下午开始check in,到今天下班仍然没有完成,太囧了,什么乱七八糟的东西,叫了组里最有经验的同事,还有build team里的妹汁来定位,仍然没有搞定,昏特了。   倒是另一个分给我的bug,貌似快要被我搞定了。这次这个bug问题出在C++写的内核里,用Visual Studio 2008调试经验死掉,于是刚好用WinDBG来调,除了有点不习惯,其实WinDBG好像稳定多了,也快多了。其实一般在Visual Studio里调试,也就用到断点,单步,查看变量这三板斧,即使一点没有WinDBG的基础,也可以很快transfer过去。然后用Source Insight看代码写代码,好happy!只是如果仅仅用WinDBG做这些事,有点暴殄天物了。可是我不会其他高级用法,唔…   话说上周五的时候让我给team里的人做WinDBG的training,然后我就随便写了几页ppt,忽悠了50分钟,只提到了怎么用WinDBG实现VS中的那些常见的调试任务,至于WinDBG最擅长的memory corruption,resource leak和postmortem debugging全都没提到,然后老大很不满意,唔,其实我这是故意这么安排的,虽然我自己确实对后面三个topics也没有研究,但要循序渐进嘛!

精神状态很糟糕

  想起昨天晚上我妈给我打电话,然后我很不耐烦。最近几次都这样,脾气越来越暴躁。因为受其他不相干的人的影响,而让自己情绪恶劣,实在太不值得了,可是我忍不住。好像这些年来,我的脾气越来越不受自己控制了,性情都有了大变化,那天跟阿菲打电话,说起最近我遇到的一些事,然后她就说我变了,以前还至少会怎么滴,现在却是这样做了。唉。   真想带上一点钱,一个人跑到一个从没去过的,没人认识的陌生的地方去。可惜放不下的东西太多了。

开始进行Android和iOS开发

  盼Qt移植到Android和iOS上是有点盼不到了,尽管都有开源社区的人在进行相关的工作,但实在进度太慢,等不及了。还是老老实实去学JAVA和Android SdK,Objective-C和Cocoa Touch吧。   昨天花了半个晚上,在Windows XP SP3和Mac OS X 10.6.7上配置好了Android开发环境。安装配置的过程非常简单,基本上每本讲Android开发的书上都有会那么些篇幅讲这些内容,而作为开源工具集合而成的开发方案,能做到这样程度的方便,已经相当不错了。而且Android开发环境中有一点我觉得非常厚道的是,它的emulator可以直接安装正式发布的app的apk包来运行,这给开发者带来极大的便利,可以直接体验别的app,而且不用担心有害代码。而无论是iOS还是Symbian都不行。   今天下午在网上找了一下Xcode4版本无证书进行真机调试的信息,还真的找到一篇文章,操作也不是很复杂,最后在我的Xcode 4.0+Mac OS X 10.6.7+Touch 4.3.3环境中实验成功,真是开心啊。   这样基本上解决了Android和iOS开发的绝大部分问题,至少deployment是基本解决了。开始移植Ninayan吧。

悼念伟大的Dennis M. Ritchie

  10月12日,伟大的C语言之父,UNIX合作开发者,罕见的开发人员获取图灵奖得主,Dennis M. Ritchie去世了,享年70岁。但是从Twitter中文圈的反应来看,这位大神的去世远没有Steve Jobs去世激起的反响大,叹气。   呃,现在应该说是昨天下午,开会一直到6点半,team里的培训计划,让我负责MFC Message Mapping Mechanism,MSMQ,C# event Mechanism,好吧,其实我都不懂,又得硬着头皮上了。其实我倒是对这方面有点兴趣的,我就打算粗略地研究一下MFC、WTL、Qt、wxWidgets的消息映射/处理机制以及C#事件机制,然后进行比较如果可能,得把Gtk+也加上,只不过C#和Gtk+这两个我连使用经验都木有!   上午给实习生培训.NET Data Access和XML去了,原本写了个ppt,还以为就这么点内容讲不到两个小时,要误人子弟了,何况我自己本身就没接触过这方面的内容。好在准备还算比较充分,从书上抄了不少内容当讲稿,然后又抄了不少代码,讲一点就停下问下他们有没有问题,要是他们没问题,那就我问他们,哈哈。最后还真的讲了差不多2个小时。

从滑动手势谈到Qt

  N9作为Nokia推出的唯一一部装载MeeGo系统的手机,主打宣传的是其滑动手势。   滑动手势在其他触摸屏设备上已经有所应用,各种移动操作系统也对其有一定的支持,但在N9上作为主推特性的滑动手势主要是基于Qt这个跨平台的开发框架实现的,因为从实现角度讲,N9装载的MeeGo系统的UI都是建立在Qt的基础之上的。   Qt自从被Nokia收购后,一直致力于在移动设备上的移植工作,尤其是对Symbian的支持越来越多。而MeeGo这个原本由Nokia和Intel合作开发的项目,同样做了很多跟Qt适配的工作。   Qt做了很多为方便实现触摸操作响应的工作,特别是后来推出的Qt Quick,彻底地让UI和业务逻辑分享。美工可以只使用非常简单的脱胎于JavaScript的声明式语言QML来构建UI,而程序员则可以专注于使用C++或JavaScript实现底层的业务逻辑。Nokia为QML提供了非常丰富的UI元素,还为Symbian系统特地实现了一组扩展的UI控件,这已经可以实现绝大多数的UI需求,各种UI元素又可以随意组合从而构建出更加复杂的应用。而且Qt还提供了多种QML与C++交互的机制,如果QML内建的UI元素不能满足实际需求,程序员可以用C++实现复杂的UI,而Qt本身又有基于CSS style sheet的UI方案和Graphics View的方案,这都让开发人员可以快速地制作出炫目的UI来。另外值得一提的是,基本上可见的QML UI元素,都为触摸操作甚至滑动手势提供了一定的支持,这从QML自带的Demo就可以看出来,不但需要的代码量非常少,而且做出的UI效果却非常时尚。   可以这么说,Qt推出Qt Quick这个方案,代表了应用程序开发的一个方向,快速制作精美UI的方向。基本上所有大的开发框架/解决方案都采用了类似的技术,比如微软的WPF,Mozilla的XUL,甚至Qt在开源界的长期竞争对手Gtk+也有类似的方案,即用简单的标记式、声明式的语言构建UI,减少美工们的学习负担和工作量,而使用其他功能强大、便于操控底层的语言实现业务逻辑。相比其他几个竞争对手,整体而言Qt的优势在于跨平台性好,配套的开发工具也一直在进步。但是它必然也有些缺点,比如一直以来Qt的运行效率不高,虽然Nokia收购后这在方面做了大量的努力;前不久Qt又回归了社区,Nokia成为了一个普通的贡献者,这也许会带来发展方向模糊,进度缓慢的问题,比如一直由开源社区在开发的Qt for Android的port,一年多了仍然没能正式发布。   总的说来,Qt是一个构建Windows、Linux、Mac OS X以及Symbian、MeeGo应用的低成本、高效率的解决方案。如果基于lighthouse机制的Android和iOS移植能尽快正式发布,那在普通消费型电子产品平台上,就真的如它的宣传语所说的Code Less, Create More, Deploy Everywhere了!

终于可以从Mac访问XP了

  自从上次笔记本拿去公司加入过域后,发现所有远程连接都不行了,包括http访问,远程桌面,smb共享文件夹,但ping ip是没有问题的,ping机器名是找不到主机的。昨天晚上一直搞到后半夜,各种组策略个性各种注册表修改仍然没有用。今天跟同事说了一下,同事说只要退出域就可以了。回来试了下,退出域,加入到workgroup,果然全都可以了,内牛满面啊!   鉴于笔记本的屏幕太小了,以后尽量都只从Mac远程连接过去访问吧。

准备培训

  长假后第一天上班,恶补了下.NET Data Access、ADO.NET的基础知识,叫我这样一点都不懂的人给人去培训,汗。今天看《C#高级编程》看了40页,明天继续看XML相关的内容,也是40页。   然后是安排在下下周五给自己team来个WinDBG的培训,这也是赶鸭子上架,其实我现在的水平,只是比他们多看了一两本书而已,实际能力跟他们差不多,只不过是让我负责这一块而已。我估计着这块的内容可以讲两到三次,每次两个小时,大体上可以分为基础知识,事后调试以及结合本项目调试。