All Stories

每天完成固定工作量

  这几天一直在搞LaTeX中的一套符号工具栏按钮,符号一共有500多个,全都放在工具栏上,就需要500多个图片作为按钮图标,这实在是一项繁琐的工作。   图标是从另一个软件中通过截图抠出来的,每个图标截出来后,要用图标处理工具把周围其他的颜色都去掉,然后可以添加到我的程序中,而我的程序又分两部分,一部分是xml描述,另一部分是功能代码,这样的操作需要重复500多次。   这样已经有6天了,而完成的只有100多个图标吧。当然这5天里还包括了其他的一些事情,比如这个工具栏以前是没有的,放在了另外的位置,于是主框架上C++代码也加了一些,这些编码时间应该是接近2天了。还有就是之前在抠图标时方法不是很高效,花了一些时间,后来找到一个比较省事的办法,人也轻松多了。   总的说了,每天要完成固定的工作量,这样日积月累下来,总有完成的一天,而不会到时候进行回顾,发现自己不知道做什么去了。也许每一天看起来做的事情并不多,但贵在坚持。

[转][译文]程序员能力矩阵 Programmer Competency Matrix

见了这个表格好几次,这次终于忍不住了,本来我是不太乐意转帖文章在这里的,但这次稍微破个例,但愿不是个开头。我自己基本在level1和level2之间徘徊,需要加倍努力啊! 注意:每个层次的知识都是渐增的,位于层次n,也蕴涵了你需了解所有低于层次n的知识。 计算机科学 Computer Science   2n (Level 0) n2 (Level 1) n (Level 2) log(n) (Level 3) Comments 数据结构 不知道数组和链表的差异 能够解释和使用数组,链表,字典等,并且能够用于实际的编程任务。 了解基本数据结构时间和空间的折中,比如数组vs 链表,能够解释如何实现哈希表和处理冲突,了解优先队列及其实现。 高等的数据结构的知识,比如B-树、二项堆、斐波那契堆、AVL树、红黑树、伸展树、跳跃表以及前缀树等。 算法 不能够找出一个数组各数的平均值(这令人难以置信,但是我的确在应聘者中遇到过) 基本的排序,搜索和数据的遍历和检索算法。 树,图,简单的贪婪算法和分而治之算法,能够适度了解矩阵该层的含义。 能够辨识和编写动态规划方案,良好的图算法知识,良好的数值估算的知识,能够辨别NP问题等。...

很激动很紧张

  今天去庙里吃中饭,同一桌的有人告诉我,年底那桥下河边的地可以批出来了。我很激动,很紧张。   我要加倍努力啊,特立此据。

坐等

  这几天终于把两个软件都打了个包,上传到主机空间中去了。   花了近一天的时间,在100多个国外的软件下载站用PAD的方式提交了一下。纯粹的人肉提交,不过我对这个效果一点都不看好,但也仍然是不能放过的,据说有的人能找到500个提交站,不用工具还真是很吃力的一件事。也有人说,只要提交几个主要的站点就行了。当然,download.com,奶牛站,softpedia和BrotherSoft我也都提交了的。不过前两个现在已经太牛气了,不交钱的话,是要等几天十几天甚至几十天也是可能的,我当然是用免费的,等吧!   网站也改了很多,不交流不知道自己的问题。去JoelOnSoftware的论坛上自曝了一把,虽然没几个人回复,但回复的几个人确实都指出了一些问题,自己绝对想不到的问题,而且那些老外说话也真是直接,幸亏我对英文表达的语气和情绪不是很敏感,如果是中文说的,我可能就出离愤怒了。但不管怎么说,指出问题对我来说是好事,修改了一部分,有些东西我现在没条件改了,比如要做个醒目的logo,除非以后去找美工。   另外,又去cnsw的论坛上寻求友情链接了,可惜也是没几个人响应。   昨天还被人发现程序打包有问题,看来VC2008的Redist还是要自动安装的好,省事得多,安全得多啊。   今天突然想起来,在wikipedia上添加一个词条,应该有些作用吧。嗯,明天就去加两个页面去。

我只是想插几个图而已

  今天总算咬牙把手册编造完了,一共22页,包括封面和目录。偶然发现在用Adobe Reader浏览这PDF时,在某几页会猛烈地闪烁,一顿一卡的,除了那几页有比较多的图片外,也没其他特别之处了。而同样的文件用FoxIt浏览,就没这问题,而且似乎连字体都要更清晰一点。   这就让我觉得很费解,很有点不爽,于是我打算尝试一下XeLaTeX。卸载了CTeX 2.4.6,然后装上了CTeX 2.8.0.125,因为这个版本里有XeTeX。简单看了一下网上的说明,要用XeTeX,基本不用修改什么,只是比较重要的一点是源文件要用UTF-8保存,当然这只对中文之类的双字节字符来说需要,我这个文档全是英文的,也就不存在这个问题了。然后直接用xelatex.exe编译,一步生成PDF。不过最后出来的效果,却让我很不满意。具体表现在,所有在figure或figwindow中的图片,都没有进行合适的自动缩放,而这点在LaTeX中是做得比较好的。我不知道是哪里的问题,在网上搜了一阵子,也没有提到只字半语。于是又试了一下latex.exe,好家伙,这个版本看到插入png格式的图片竟然报错说缺少什么RoundBox信息。我没折了,撤!   还是继续用回2.4.6版本的CTeX吧,闪烁就闪烁吧。

还是没开始写文档

  昨天还说今天要写文档的,结果今天花了近半天时间画图标去了,当然基本是抄的别人的,我自己是没这种美工功底的。不过比较欣慰的是,最终的结果还算看得顺眼。   另外,本来运行latex等编译命令是直接让它显示个黑窗口的,后来觉得实在不爽,又看了一下它的命令行参数,发现有一个-interaction=nonstopmode,可以在出错时也不停下来,这个不错,于是可以把黑窗口隐藏起来,同时把它的输出重定向到程序的日志窗口了。   最后,是修正了一个小缺陷,在添加已有文件到工程时,同一节点中添加重复的文件也会成功,这太傻了点,就限制了一下,在添加前先检查一遍。   不行了,这东西已经做了5个月了,效率太低了,明天一定要认真快速地写手册了。

要开始认真写用户手册了

  今天看到消息,WinEdt发布6.0版本了,这个软件停在5.x版本长达9年之久,我曾经也试用过,遇到它发疯的时刻,不知什么操作过后,所有的中文字符都会变成乱码,而且在输入时,自动换行很不智能。6.0版本马上下载下来试了试,发现编辑器部分做得更漂亮了些,其他的以前就没深入过,也不知道有什么改进了。   而我的TeXCoding经过今天的努力,基本处于可发布的状态了。现在程序已经能够自己屏蔽没有菜单项的菜单了,在只有TeXCoding的时候就可以没有调试和构建菜单了。所有的,呃,其实是大部分最常用的TeX编译命令已经实现了,当然其实是被我砍掉了好些我觉得可能不那么实用的。这些被砍掉的,以后可能会在后续版本中添加。   明天就开始认真写用户手册了!

TeXCoding进度

  前次说到可以做一个TeX编辑的完整工具,于是这两天都投入进去了,AutoCompletion倒是也实现得勉强可用了,自我感觉至少比SciTELaTeXIDE的做得好一点点吧,Code Snippet也实现了,具体配置是抄SciTELaTeXIDE的,还有Outline也实现了,用正则表达式每一行都匹配了一遍,其中对一个大字符串按换行符分割是用Lua自己的string.gmatch的,这个模式匹配方法还是很好用的。今天一天都花在实现LaTeX编译之类的命令上去了,其实就是直接调用TeX系统中的可执行文件,完全的体力活啊,而且有一点的是,我对TeX的了解只是一点儿皮毛,很多命令都不知道的,这就使得我只能看SciTELaTeXIDE有哪些命令了,还剩下一点点,争取明天全部完成,就可以真正开始写用户手册了。   抱怨一下QT Creator,真是比较另类啊,选了用Release方式编译,最后链接仍然是用Debug链接的,真是土死了,还一直没找到在哪里设置链接子系统是用console还是windows,默认都用console了,只好手动修改下它自动生成的makefile。

合入新的latex lexer代码

  因为准备写用户文档了,而且是打算用LaTeX编写,最后生成PDF格式,所以要有一个好用的LaTeX编辑器。本来这类工具应该是很多的,但从一开始我就打算是自己写一个这样的工具。当然编辑器仍然是用Scintilla的,只不过,Scintilla中的lexer对TeX的支持并不好,官方代码库中,有两个可用的lexer,一个叫tex,另一个叫latex。但是两个lexer都有比较明显的缺点,以至于根本处于不能用的状态。那个叫tex的,其他表现都勉强可以接受,但是在输入字符时,响应迟缓,不能忍受。而latex则没有支持代码折叠,很简陋。   好在有一个叫SciTELaTeXIDE的开源项目,它是基于SciTE-ru项目的,所以也是用Scintilla的。开发者是向Scintilla贡献最原始的那个latex lexer的作者,在SciTELaTeXIDE中,latex这个lexer已经被修改得比较完善了,同时还增加了BiBTeX和ASY以及metapost的lexer。简单看了一下,要增加这几个lexers,对官方Scintilla代码的修改很少,很容易就合进去了,同时还废掉了官方的latex和tex这两个lexers。   只要再做好Auto Completion,Outline和编译命令,基本上又是一个完整的工具了,呵呵。