Zéroun's profile恍兮惚兮BlogListsGuestbookMore Tools Help

Blog


    June 09

    Live Space终于恢复可访问

    不多说了。Big Brother is watching you.
    April 16

    Amitalite 截图0x00000001

    为了找份好工作而做的Demo终于迎来的Milestone1, 特此截图。

    m1

    这个茶壶是一个简单的读取.x文件返回的IRenderable(- _,-)

    场景管理(其实还没有管理,就排了个序),渲染等等等等,以及基本的结构都已经搞好。

    不过大多的类都很空,很空。

    用了很多类似java的接口,并痴狂的让这些接口符合依赖倒置,这大大增加了编码时在不同头文件中切换的频率。

    比较得意的是用了一些模板的花招把树结构的实现和SceneNode的实现完全分在两个类实现,基本的方法就如下声明所示:

    class AMITA_API SceneNode : public Node<SceneNode>

    …… 对模板有感情的朋友应该明白我在干吗了吧,我就不多说了。

     

    为了世界和平,为了Free科西嘉,我希望看到一个四位数的帧数,

    加上D3DPRESENT_INTERVAL_IMMEDIATE之后得到3000多点的帧数。

     

    Next Step:

    · 完整的Camera类,对Shader的管理,精化设计(‘精化’这个词很流程)。

    · 集成lua

    November 11

    Visual C++ 宣布关于TR1 和 MFC的最新消息

    来自 Herb Sutter 的blogVC++的blog 的消息

    Oops! 微软将于明年上半年发布VS2008的更新,会对MFC进行巨大更新,并在STL中加入TR1的很多内容。

    MFC 已经多年没有大的更新了,这次的更新按Herb的说法是“Huge”,因为MFC的大小增加了一倍

    更新主要是各种新风格的界面, 以及新的访问文件和目录的类。

    ProfUIS等库的末日看来已经来到了,下面几幅图是新MFC的一个demo。 更多可以看这里

    http://blogs.msdn.com/blogfiles/vcblog/WindowsLiveWriter/QuickTourOfNewMFCFunctionality_C777/Ribbon%20Application.jpg

    http://blogs.msdn.com/blogfiles/vcblog/WindowsLiveWriter/QuickTourOfNewMFCFunctionality_C777/VS2005%20Docking%20(edit)_1.jpg

     

    TR1方面,会在STL中加入

    • smart pointers (e.g., shared_ptr<T>, weak_ptr<T>)   (boost中的几个智能指针)
    • regular expression parsing  (正则表达式)
    • new containers (e.g., tuple, the fixed-size array<T,N>, hash-based containers like unordered_set<T>) (新的容器,哈哈,我喜欢tuple!)
    • sophisticated random number generators  (更好地随机函数)
    • polymorphic function wrappers (e.g., function<bool(int)> and bind)  (boost里面关于函数指针的东东,没用过)
    • type traits

    完全想像不到微软会在c++的更新上突然爆发,连TR1这种草案性质的东东也已经实现了。

    看来书商们又要忙了。

    October 26

    一次关于接口和抽象类的谈话

    我忍无可忍了,我走过去。

    我:“请问一个问题,我看到我们的工程里有很多以小写 ' i ’ 开头的类,我看不大明白 。”

    i:(微笑)“那是接口”

    我:“……”

    i:“那些类都是对子类的抽象,所以是接口,用小写i 开头”

    我:“哦,是这样,但那样应该是叫抽象类吧?!”

    i:“恩, 接口和抽象类都一样”(微笑)

    我:“……即使是接口也一般用大些I吧?”

    i:“小写:)”(很惨烈的微笑)

    我:“大写吧?”

    i:“小写:)”(继续微笑)

    我:“!@#¥,……那小写i后面那个C又是什么意思?”

    i:“……那是……类本身的名字啊”(微笑)

    我:“。!@#!¥”

    i:“这样是为了降低模块间的依赖……”

    我:(怒)“这个……这样的类应该叫抽象类吧,和接口是两种东西”

    i:(微笑)“是吗?”

    我:“……那好吧,那这个可以实例化的具体类iCBaseParam又是什么?”

    i:“这个……确实……是搞错了”

    我:“其实接口是一个模块提供给下层模块表示Can-DO关系的东西,在c++中可以用没有数据全部方法为纯虚的抽象类实现,(我画图)而抽象类是表示对子类的抽象,表示Is-A的关系。”

    i:(没听进去)“只要统一风格就好了嘛”

     

    我走了,心里骂,难道要你这种接口是什么都不知道的角色来“统一”我的风格么?

    July 22

    Live Space 更新

    刚登录看到界面有些改动,找了半天也没发现怎么进入编辑模式。。。

    最后直接从spaces.live.com才登录进来, 感觉界面改动好多地方, 没有什么实质的新功能。

    June 09

    Flickr被屏蔽

    这几天我blog上的图片一直不能显示,开始以为是Flickr的问题,但事实上竟然是“伟大的墙”在作怪。
     
    凤凰卫视报道那个事情我在南方周末也看过了,本来没什么的, 你不懂越抹越黑这句话吗?
     
    一个做相册的网站就碍着你盒鞋了?
     
    我很难想像我是生活在在21世纪的文明世界中
     
    卡掉反华和色情的网站我没多大意见  你说维基百科,Flickr,blogger这种网站碍着什么了,有那个必要吗?
     
    也许是我以前太天真了, 的确,五百年易过,紧闭的国门难开
     
    我一介草民不能做什么,我只想也只能对做GFW的人说一声,我操你妈!
     
     
    January 17

    OOD新解

    这两天德国来了新的需求文档,这回不同的是有总体设计文档,也就是说,我们只剩详细设计和Coding可做.
    但看了全组个unit的uml之后我发现几乎所有子项目都是同一个结构,而且会有相同的父类,可以想象整个项目会有多少重复代码。
     如此智障的设计是怎样产生的呢,大概这可以称做是Outsourcing Oriented Design吧,刚好也是OOD ,反正代码外包了,恐怖的代码也就眼不见心不烦了。这已经够懒惰了,但我怎么也没想到,德国人竟然会用翻译工具来翻译文档, 真是看得我吐血。
    我们公司德国人的水平真不怎么样,比如3万行的cpp文件,两千行的函数,等丑恶的东东横飞。 我真佩服写这个cpp文件的人的能力,能把这么个文件给看清楚了,那也是相当的牛X啊~

    September 25

    简单取代复杂

    Dos时代,Dos编程我接触过有的比较难的东西,是陷阱捕捉,我还没弄懂具体是什么玩意,dos已经被扔进垃圾箱了。那时候人们用c语言,用不成熟的c++,我所感受到的写程序是一种艺术。

    Win3.x时代,简化已经在萌芽了,我们现在很多耳熟能详的东西,都在那个时候找到了前身,比如OLE(后来的COM ,一直发展到现在的.NET),WinG(DirectX),AFX Framework( 发展成MFC)

    WIndows95~98时代,是c++一统天下的时代, MFC简化了很多的劳动,这一段时间内,只谈c++。

    不久,在c++程序员的嘲笑声中,Java已经成为了真正的霸主,java的开发更加的简单,在Framework的路上走得更远,模式用得更泛滥。

    现在,Ruby又仿佛在重复着java当年的路,而java fans们也重复着当年c++簇拥者们的嘲笑,作为c++的死忠,我正准备很舒服的看这场戏。不过我并不看好Ruby, 只因一点, 从c语言开始, 能够登临通用语言顶端的, 无一例外的都是c-like的, c,c++,java 都是的. 我觉得这没有别的原因, 无非就是大多数人习惯而已, 但也是这类语言最要命的优势. 也许真会有这么个c-like的动态语言出现吧~

    August 27

    做一个简单得代码编辑器的一点心得

    题外话: 早晨吃肠粉后发现自己思想成熟不少
     
    一个代码编辑器, 有语法高亮显示,和行自动缩进的功能.
    最后的实现效果还是不错的.

    一个CZPadView类, 继承自CRichEditView,  一个Parser类(后来才意识到), 做语法分析.

    失败的很的是, 数据的抽象完全和MFC类混成一团. 在编码的时候脑子出毛病了,  将对CRichEditVIew的扩充以及视图的相关事件相应都放在了这个类里面, 造成了这个类现在已经没有复用性了. 应该是先继承CRichVIew然后扩充功能, 最后主程序中的视图应该继承这个CZPadView而不是用它本身来组成Document/View

    在开始的时候, 我没有考虑到会深入到词法分析这个地步, 我一直预想的每种高亮只是几个if语句而已, 编码过程中才发现其实我需要做一个某几种类型的词法分析器出来. 所以我关于keywords的判断都放到了View中去了. 而Parser类中只有注视和字串的分析...

    算法:

    语法高亮部分的算法是程序的主要问题, 我的时间也大部分费在这里了, 不过这倒是唯一稍微成功的一点(失败的话程序就没结果了) , 经历了两种算法, 终于在最后一天把大部分bug解决. 以下以关键字为例:

    1. 在WM_CHAR中做一下处理:   从当前字符分别向前向后一直找到非字符&下划线, 最后得到一个词的在buffer中的偏移量, 查询如果是keyword, 关闭重绘, 选中它, 改变颜色, 打开重绘.

    2. 同样是交给WM_CHAR处理, 但不同的是每次相应会得到相关的行的首位偏移量, 传入词法分析器.
       词法分析器是这样的, 遍历传入的区域, 提取出词, 按类别存入容器.
       之后就好办了.  这种方法几乎没有bug.


    自动缩进我做得很简单, 用了个计数器记录你在行首按tab得次数, 以及消除行首得tab, 以此增减
    August 26

    MyWallop,你仅仅是个试验品吗?

        一直很觉得很奇怪的是, 微软的mywallop的存在意义是什么,难道仅仅是一个网络实验项目。(记得有一种说法,任意两个人通过六层以内的社会关系都可以联系上。我发现wallop可以用于证明这个……)

        无论是从速度上还是用户体验还有美观上, Wallop都要胜于 live spaces. 而且还有不知道多大的存歌和照片的空间.
       
        我很喜欢它, 但没有朋友用 (我邀请的几个朋友都不用……浪费啊,申请一个邀请权还要段时间),所以我也渐渐淡忘了它的存在。只是让它自动接收我livespace上的blog的rss。

    QQ空间在很多地方学习了wallop,尽管学得很不好,尤其是QQ的美工实在是太没有水准…… 以前还以为livespaces会自己过度到wallop上, 但现在发现想错了。 也许wallop永远都不会发布,可能它仅仅是微软实验室中成千上万个最终不会被使用的产品中的一个吧。

    顺便说说, 我以后会经常把我收藏的很精彩的文章收录到space右边的“我最新的收藏页面”中,(主要是保证blog中的文章全部是出自我手), 那是我在del.icio.us上的rss生成的。
    August 20

    Mirosoft推出Blog发布工具Windows live writer

     

    Windows live writer(下载)这篇就是从此工具中贴上来的, 界面还比较清爽. 支持开发第三方插件,SDK有的下 基本主流的blog服务都是支持的.其实这样的工具很多了,不过微软这个还真不错.微软现在越来越注重一些诸如此类的小东西了,大概也是被google给逼的吧.小工具小服务虽然不及操作系统的影响力来的大,但树立一个无微不至的形象是很有益的.

    August 13

    To 李小杨

    李小杨同学有如下的问题:


    >李小杨
    >你是怎么获取IT行业的新闻的啊? 记得你以前跟我说是订阅电子新闻杂志,具体怎么弄的?
    >指点一下撒。
    >8月12日 13:12
    >(http://lickiswallow.spaces.live.com/)



    我有说过这句话么? 我大概说的是订阅rss吧, 也就是订阅新闻以及blog. 订阅rss有很多的方式, 比如用软件, 浏览器插件, 和web服务(推荐), 我现在用的是reader.google.com. (风格比较独特) 我推荐用www.bloglines.com. 界面比较直观, 一看就知道怎么用了, 就是很久没有什么创新了, 感觉快不行了.
    关于rss源的寻找, 这是个收集的过程, 比如你通过搜索找到某个blog中的某篇文章, 你觉得这个人的文章很好, 想订阅, 就可以找到屏幕上某个地方的"RSS"的小图标, 这个小图标的连接就是这个blog的rss. 很多有名的blog, 私下再跟你具体推荐.
    有了rss地址, 在相应的工具肯定都会叫你输入这个地址来完成订阅的. 以后你就可以在这些工具中看到最新的文章.

    还有就是了解业界新闻不一定要通过blog的形式, 在csdn 和 donews上应该可以了解到所有的重大新闻的. 还有个不错的英文新闻网站http://www.slashdot.org.
    August 10

    Turbos, They're Back!!

    "Turbos inspired a generation to program
    - they're back to do it again!"

    还记得TurboC的样子吗?

    前段时间传出Borland将出售IDE的新闻, 但今天我看到了---  www.turboexplorer.com
    Borland将再次启用Turbo这个光荣的品牌.  网站上有各种相关的介绍, 以及一个倒计时.
    还有26天就可以提供免费的Explorer版本的下载.

    Turbo会再次创造历史吗? 在我看来虽然不乐观, 但难道就真无可能吗?  也许一觉醒来, 人们的话题已经不是Java和.NET我有你没有或你有我也有. 而是诸如" 伟大的TurboC++, 它继承了Turbo系列的光荣传统,  TurboC1.0 2.0 TurboPasical 在这一刻灵魂附体, 它不是一个IDE!!! "

    August 09

    Blogspot似乎解封了

    当我第一次知道blog这个东西的时候我的第一篇blog : squallcpp.blogspot.com
    去年偶尔发现blogspot可以上了,于是又申请了一个 zeronecpp.blogspot.com
    结果后来发现仅仅只是主页可以上...
    这回是真的解封了? 等二十天如果还可以上的话...

    MSNSpace不觉得你应该提速了吗?

    August 03

    今天的总结

    今天的程序本来很简单, 如果是在大学中的话肯定不用3个小时就全部搞定了, 但我十分装精的设计了一个Filter类来处理过滤问题, 以及一个名为ShowMessage的类来处理Filter和界面之间的信息传递. 问题由此而生.

    哦...忘记介绍一下问题:有一个基类Product, CD和DVD分别继承它, 还有个Catalogue类来综合管理product(利用Product指针的容器来储存), 需要加上分类, 过滤的显示功能. 于是我设计来以上的类.

    麻烦就出在, 我一开始没有注意最后还需要加上多重关键字查询的情况, 所以在一开始设计类的时候就没有考虑完备. 我的方法是将Catalogue中的容器首位迭代值传入FIlter, Filter中有一个同样保存Product指针的容器, 在Filter中有不同的函数完成不同的功能, 当满足某条件时, 我就将满足的条目压入Filter中容器, 最后再把Filter中容器的首位迭代值传出, 再输出. 而这样的设计就造成了当我需要多重过滤的时候, 所有的以前写的函数都不具备重用性. (当我意识到这一点的时候已经精疲力竭,没有心力去再写一份)

    所以,完好的设计方式我想有几种:
    1.类结构和我开始的设计相同,但每个原子操作都应该是先全部复制进去,再把不符合要求的删除,这样的好处就是这些操作可以连接在一起形成多关键字的查询.
    2.将单关键字的查询看成是多关键字的特殊形式,设计一个统一的算法,全部交给它处理.
    3.这也是最精妙的,(感谢Mi, 虽然他忙了一下午, 几近崩溃, 又在关键时刻被我抛弃, 但这个设计思想是我最佩服的) 没有复杂的类, 只有谓词, 每个操作对应一个谓词类. 这样的扩充性是最完美的, 而且小巧灵活的类, 清晰明了,再用for_each来遍历.

    有时候小工程也可以学到一些好的思想, 因为程序虽小但也可以五脏俱全, 应用到很多设计模式的内容, 如今天的ProductFactory.  还有我设计的两个类, 虽然我不知道会不会和某种模式暗合, (抛开成员方法的具体实现不说)我自己觉得还是挺不错的.
    July 30

    360安全卫士 和 周鸿祎

    360安全卫士突然一下子进入了我的视线, 本来一直实用McAfee和windows自身的防火墙的, 我一直不太注意这些, 实在不行就用Ad-aware之类的清除一下, 但最近发现这些拿很多流氓恶意程序完全没办法. 既然360安全卫士标榜的是专杀流氓软件我就下下来试试, 果然厉害, 机上的流氓软件全部一次搞定.

    正高兴就google了一下, 发现360安全卫士全来是qihoo搞出来的... 也就是周鸿祎这个搞出3721这个流氓头子的产品. 这个... 不就是传说中的贼喊捉贼么? 周同学到底是真的良心发现了, 还是想把其他流氓都弄死自己做全国总流氓呢, 我不得而知,

    其实这是非常好的一款软件,而且还和卡巴斯基绑定, 应该是很有吸引力的, 但我觉得还是小心的好, 毕竟流氓换个马甲还是流氓 这也不能怪我歧视你,  是你的名声太TM臭了.
     
    June 20

    盖茨与鲍尔默致微软内部员工信曝光(摘自sina)

    北京时间6月16日,微软本周四宣布,从2008年7月开始,董事会主席比尔·盖茨将不再负责公司的日常管理,而将更多时间用于比尔及梅琳达·盖茨 基金会的工作。盖茨和微软CEO史蒂夫·鲍尔默(Steve Ballmer)通过电子邮件向公司员工通报了这一消息,并谈了他们对此事的看法。下面为邮件的部分内容:

      盖茨发给员工的邮件:
     
       六年前,史蒂夫和我完成了微软历史上的一次重要交接,他接替我担任了公司CEO。从任何角度来衡量,不论是招聘的人才,运营公司的方式,还是公司的业 绩,史蒂夫都非常出色地完成了自己的工作。在他的领导下,过去六年我们的营收增长近一倍。毫无疑问,这对我来说是一个非常艰难的决定。微软将一直是我生命 中非常重要的一部分,未来能从事两个如此重要和具有挑战性的职业,我感到非常幸运。

      从个人角度来说,我知道未来在基金会从事的全球健康 和教育工作无法给我带来像微软一样的巨大成功,因此我要感谢所有对微软做出贡献的员工,包括已经离开公司的职员。过去31年里,我一直担任着全世界最好的 职位,同全球最聪明、最有热情的员工一起工作。在我们的努力下,微软成为了一家伟大的公司,用户遍及世界各地。

      巴尔默写给员工的邮件:

       过去几年里,比尔和我曾经多次讨论有关退出公司管理层和确定继任者的计划。我们希望扩大微软的管理层,赋予各部门主管更大的权力,以更好地应对公司在不 断创新的过程遇到的挑战。与此同时,我和比尔达成共识,一旦他退出公司日常管理的时机成熟,我们将提前对外公布这一消息,以确保交接工作能平稳有序地完 成。我们确信,这一计划能保证微软有一个光明的未来,在现有基础上更进一步。

      没有人能凭借一己之力取代比尔在公司的重要地位,但我们相信,可以通过组建一支优秀的团队来推动微软继续创新。
    June 16

    这么多的莫名其妙的引用通告。。。

    # door interior oak
    # icon knot slip
    # dating indian online rev...
    # buy razor phone
    # download musicmatch juke...
    # barnes and noble book st...
    # restaurant old town sacr...
    # battle star galactica vi...
    # bridal shower invitation...
    # church purdue university
    # motorcycle rideing acces...
    # modeling agency san fran...
    # victorias secret 2005
    # chart music reggaeton
    # home king orlando vacati...
    # decrypter dvd geisha mem...
    # free kid web game
    # macaroni grill ann arbor
    # jenny craig good or bad ...
    # discount suzuki motorcyc...
    # discount door garage ope...

    以上是我最近的21个引用通告,这个问题越来越严重了,以前还只有几个,上一篇只有三个字的贴,居然有21个这样的垃圾引用通告。看来在rss的时代,垃圾信息同样是个问题,说不定会有垃圾引用通告过滤器出现。。。

    May 23

    不知不觉叹息 叹那不知不觉年纪

    一清早想起一部电影<<那时花开>>

    电影像是不断的让你忘记情节的存在, 只留给你一种悲伤的情绪, 然后"看电影的人被自己看了,像一个悠长等待的结果是时间未曾流逝,而成长的结果是忘记了提问的回答,然后是回忆比幻想还不真实,电影比爱情更忠于我们,生活是无法被记录的"



    May 22

    潘多拉的魔盒

    刚发现的一个不错的音乐网站Pandora
    一用就喜欢上了
    只用输入歌手或者歌曲的名就自动产生同一种风格的电台.
    对于我这种懒人非常的合适~   强烈推荐