All Stories

看了几部动画片

看了几部动画片

  周六之后,一直在看小说和动画片。越来越觉得没有好看的小说了,于是试图把自己的注意力转移回动画片上去。看完了13集的《Working!!》和12集的《江户盗贼团五叶》,还看了没有完结的36集《妖精的尾巴》。最合我口味的是《妖精的尾巴》,差不多一直是高潮,没什么铺垫和伏笔之类的,所以很轻松,没用费脑子。画面也是最合我口味的那类传统大眼睛好身材的人物造型,还算细致的物品和景观。《Working!!》的结局不是很喜欢,感觉不像结局,中间的情节倒是还行。《江户盗贼团五叶》有很浓重的日风,但人物造型实在不习惯,那个面部轮廓、五官都不习惯,我好像是第一次看到这种类型的,但其他方面都画得很精细,音乐也好,情节么,还行吧,总共12集我直到第10集才大致明白整个的来龙去脉,但我仍然觉得这没什么特别的,好像这种讲述方法的动画片也不少。不过我觉得吧,这三部里最赞的还是《江户盗贼团五叶》,从另一个角度讲,如果中国动画片在遥远的未来能有所发展的话,可能《江户盗贼团五叶》这样的是最后被模仿达到的。

基本完成context视图

基本完成context视图

  把ctags封装了一把,其实是CodeLite中的codelite_indexer,因为它已经把ctags提取出来了,不过是5.6版本,又对C++部分做了些修改,不过我不清楚这些修改有什么作用。有点奇怪的是,如果在Lua中用的话,只能提取一次tags,再试图提取tags的话会出错,就我现在猜测可能是里面有些全局状态,用过后没有恢复。于是我只好用Rings了,这是个在Lua的state里再创建一个state来执行代码,master state和slave state之间基本可以互不影响,但也可以传递些数据。这样我就每次都是在一个新new出来的Rings的slave state里调用一次ctags。在封装ctags的时候发现codelite_indexer没有把gnu regex编译进去,这需要指定几个宏定义,看makefile就知道了。   现在已经可以将所有文件都提取一遍tags,并存入数据库中了。而context视图都是在数据库中查找可能匹配的符号信息的。但这需要保证当前数据库中的符号是正确的最新的,所以一个合适的自动更新符号数据库的机制就很有必要,现在还没想好要怎么弄,既要有及时性,又要求不能影响用户的操作体验。   之后还剩下一个大特性是relative视图了,这个目前有些困难,无论是数据上还是界面上,都没有比较方便的现成解决方案。

这算不算乌龙

这算不算乌龙

  有个纠结了几个月的问题,同样的文件,在我的程序里打开后显示的换行符和其他程序显示的不一样!一直想不通其中的原因,总之我是没怀疑其他软件会出错,因为基本上所有其他的软件表现是一样的,只有我的程序跟它们不一样。   今天又纠结起来了,于是一狠心,准备全盘照抄CodeLite的源代码,用Beyond Compare合并了绝大部分代码,最后发现,问题仍然存在。于是我不再怀疑编辑核心的问题,准备从其他地方着手分析。比较有嫌疑的是文件读取的部分,我的做法是用Lua将整个文件使用*a参数全部读出,然后用ICU将其从系统默认编码转换成UTF-8,再将这UTF-8的字符串传给Scintilla显示。我猜测会不会这个转换编码的过程把换行符处理过了。于是再单独的Lua环境中测试了一下,发现是没有处理的,其实稍微想想就知道,这应该是不会变的。既然确认转换编码不会影响这个,那么我就再将焦点往前移,看看读出的文件的原始内容是什么。将读出的内容转换成16进制打出来,发现我的程序确实是按照原样显示的。但是Notepad++/CodeLite/Code::Blocks甚至VS都将一个\r\n处理成了\r\r\n,会多显示空行。这是让我有点迷惑的,为什么就只有我的程序是照文件的原样显示的?   最后还是没有得出确切的结论,据我的猜测,是在文件读取时的方式引起的区别,文本类型的方式在某种读取方式下会多插入换行符?这个可能是存在的,不过我觉得太无趣了,不玩了!

发现QT Animation Framework

发现QT Animation Framework

  昨天在看QT的examples和demos的时候,猛然发现一组animation framework的示例,看了一下居然就是我一直在纠结在寻找的如何用QT做出那些酷炫界面的方法。话说其实之前也不时地翻一下QT的这些demo的,怎么就没发现呢!   看了一下程序的运行效果和代码,并配置着读了一篇animation framework的使用介绍,对如何使用QT做出那些动画效果有了一个简单的认识。今天跟@zhangh109讨论时了解到,苹果的系统使用Cocoa core animation functions来达到这种目的,而Android好像没有现成的,要开发人员自己实现。   到此为止,基本上解决了绝大部分的技术问题,剩下的主要是设计决策了。

想写个twitter客户端

想写个twitter客户端

  昨天下午和晚上都在看代码,对QT的使用有了更多的了解,不过还缺少一本能跟上最近QT变化的比较系统的教材。QT在这几年变化比较大,而最近最流行的一本讲QT使用的书,是2006出的《C++.GUI.Programming.with.Qt4》,都整整过去4年了,QT都快出4.7了,这几年新加入QT的内容才是真正令人激动的。   一直有种想写个twitter客户端的冲动,不过一直没动手,因为手头正经事情还很多,还要留下不少时间去堕落。不过我想待现在手头这个东西完成后,就试着写写吧。昨天去折腾了一下QOAuth,结果它依赖QCA,而QCA又依赖OpenSSL,真是折磨人。   再花点时间研究一下用QT怎么做一些比较酷的界面效果,就可以动手啦!

崩溃后的冲动

崩溃后的冲动

  有一做开源游戏的老外兄弟发邮件来说程序在点了try按钮后就崩溃鸟~我万般郁闷滴说,其实我以为不会有这么脆弱滴说,我还以为基本可用滴说,我现在比较失落滴说……   总之我没有充分的测试,这是事实。但我现在也没足够的条件啊,我猜测还是在用Crypto++进行RSA签名验证那段崩溃的,不过这也仅仅是猜测。虽然还存在着各种可能的原因,但基于这个猜测,我目前能做的其实不多。我要换掉Crypto++,这个库从一开始引入我就很不情愿,谁让那个libtomcrypt最初就没好好用成功呢。在看雪论坛上看到过有人说,要加大保险系数,自己写RSA算法实现是必须的,不过我不会啊!我最多可能再去网上找段现成的代码来,或者继续研究下libtomcrypt的使用。   自从那天去了徐家汇后,我就有种想买个组装机的冲动。那天问的说,用次点的集成显卡,2k就能搞定一台了。我想要台多核x64的,最好是4G内存,500G或1T硬盘,这样可以装个64位的Win7,还可以装些WinXP/2003什么的,用来做开发做测试的环境就差不多齐了。如果这样在3k以内可以搞定,就再花个4K多买个Mac Mini,就有了个Mac的开发环境了。比较经济的选择呢!

去修了下风扇

去修了下风扇

  连续几天早上起来开机出现Fan error,我都是通过拍、摇等手段试图让风扇转动起来。虽然确实都能转动起来,但发现的声音却是很大。今天早上起来,终于再怎么摇怎么拍都不行了,问了一下小区门口的维修店,大概要200多,还要明天才能修,关键一点是还要我今天就把机器放店里。于是我想还是自己跑一趟徐家汇吧!   问了一下雯雯怎么坐地铁,然后大约1个小时后终于到了徐家汇,随便找了家柜台,说是只修不换,180,无又不了解市场行情,也不想怎么折腾,就修吧。   中间大半个小时出去逛了一下,徐家汇也没什么地方可以逛的,再联想起上次去不夜城,还领了张罚单回来。感觉还是比较喜欢华强北那种人挤人的状况,唉。   最近总是想念起在深圳的各种安逸和自由。上次跟阿菲打电话,她还说让我去深圳也行,我说回不去了,至少现在不会去,得在这边做出点样子出来,唉。

《结界师》

《结界师》

  周六周日花了两天时间看完了《结界师》。一开始是在PPS看到的,看了一集,后来就不停地卡,于是去tudou网上看,看了5、6集,受不了那个糟糕的画质了,最后发现youku上的画质还不错。一共52集,不算短,但比起《海贼王》、《火影忍者》、《死神》这些来说已经是很短了。   总的说来,这个画风勉强在我可接受的范围内,但男主角的成长实在让我有点不能忍受,至少前30集都没看到无论是从技能还是性格上有所进步。我不喜欢只会大喊大叫的那种男主角。情节上么也没什么突出的地方,但结局还比较喜庆。   其中有个叫神户百合奈的小姑娘,感觉挺像@ainesmile在推特上表现出来的形象,哈哈。

升级到VS2010

升级到VS2010

  昨天晚上从微软官网下载了VS2010,今天上午装了后,试着把原本用VS2008编译的各个第三方库都用VS2010编译了一遍。用VS2010替换VS2008比较明显的一点好处是,没有Side by Side的困扰了,CRT库只要把两个DLL文件直接放到系统目录中就可以了。也就是说,开发好的应用程序部署要轻便了一点,不用带个VC Redist包出去了。在这一步中,不得不多谢bjam这个工具,对于换用不同的编译器的需求,适应得绰绰有余。   晚上又尝试把所有插件扩展脚本中用到Xerces的地方都用RapidXML了,这样又可以去掉一个DLL了,想当初一个用MinGW编译的Xerces的DLL就有4MB多,然后是一个Lua的扩展库,几百KB,前些天在宿主程序中去掉了Xerces的依赖后,换用VC编译的DLL,体积减小到1.8MB,而Lua的扩展库也减少到40KB。到了今天,可以把这个1.8MB的DLL也省了。   想想还是比较舒服的,试着打了个安装包,原来是15MB左右的,现在是10MB左右,少了约1/3。