Caspar Ant » Programming

‘Programming’ 分类的存档

使用git制作补丁时,经常发现补丁需要修改。如果只是最后一次commit需要修改,那就好办,用下面的方法就可以搞定: $ git reset HEAD^ # edit edit edit $ git commit -a -s -c ORIG_HEAD $ git format-patch --subject-prefix="PATCH v2" 但是如果是一系列补丁中的中间几个补丁需要修改,该怎么办呢? 笨办法已经被删掉>.<

...
2012年1月3日23:08 | 6 条评论
分类: Programming
标签:

这个东西总算是做了一大半了。因为拖了两个星期,论文还没开始写,接下来只能一边写论文一边改模板了。 简要介绍一下这个模板。 缘起是@yegle曾经推荐过他的同学梵高(cnMuggle)的一个北邮本科毕业论文模板,我看了一下觉得不太符合我的需求,最主要是他用了CTeX,这玩意儿在我的机子上水土不服。作为一个Linux+XeTeX+xeCJK党,我就自己动手开始写。 期间参考了梵高同学的模板,当然也参考了@gnawux(apt)同学的,还有DazzleZhang在apt的基础上改进的,还有老牌的ThuThesis。当然最主要还是依靠Google和CTeX论坛,把一些稀奇古怪的问题给解决了。 今天又解决了几个大问题,同时也把插入图片、插入表格、插入公式的格式整理了一下,所以就发布Alpha-1版本了。地址在Google Code上。接下来要完成的主要工作就是参考文献的排版。我一看其他模板的bst文件,几千行的代码,吓坏了。下次再搞好了。 欢迎提Bug~

...
2010年5月16日20:30 | 4 条评论
分类: Programming

最近在一个项目上卡了几天,整理出来主要碰到的问题,以备自己查阅。 具体的问题抽象出来就是这么一种情况: 有一堆分层的目录,里面全是系统调用的相关测试代码+Makefile,结构大致如下: ├── wait4 │   ├── Makefile │   ├── wait401.c │   └── wait402.c ├── waitid │   ├── waitid01 │   │   ├── Makefile │   │   └── waitid01.c │   ├── waitid02 │   │   ├── Makefile │   │   └── waitid02.c ├── waitpid │   │   ├── Makefile │   │   └── waitpid_err_test.c .....

...
2010年4月7日19:57 | 没有评论
分类: Programming

过一段时间公司和学校都得做presentation,所以现在就得好好开始准备slides。以前我就用Beamer做过一次slide,而且是匆匆忙忙用了默认模板搞定的。这次借着再做slides的机会,我得自己搞个模板。 需求如下,非常简单: 1. 要在合适的位置打上Logo(一般是左上角或者右上角); 2. 要能自定义页脚 3. 首页要有背景 经过半个白天加一个晚上的折腾,基本上解决了上述问题: 要打Logo,并且自定义位置,可以使用如下语句: \logo{\pgfputat{\pgfxy(#1,#2)}{\pgfbox[center,base]{\includegraphics[height=0.5cm]{#3}}}} 事先要包含pgf宏包,#1,#2是Logo坐标,#3是Logo路径。关于坐标,我发现用pdflatex编译和用xelatex编译时坐标表示的实际位置是不同的,反正自己手工慢慢调就是了。也可以把上述代码加个\newcommand,做成一个带参数的命令直接调用。 自定义页脚,我参考了beamer guide和beamer里面的某个宏包的写法:

...
2010年4月3日17:37 | 18 条评论
分类: Programming

用LaTeX上瘾之后,什么东西都想用LaTeX来做。前段时间由于经验不足,折腾LaTeX版的实验报告模板未果,这次在写LaTeX简历之前,足足做好了功课,最后总算是做出来了,感觉很棒。 推荐几个LaTeX模板,一个是以前找到的,不过我最后没采用。点此下载>>> 另外一个是在这里找到的:http://www.davidgrant.ca/latex_resume_template,作者使用了shading宏包,但是我用了XeTeX包后shading包似乎就不起作用了,后来在作者文章后面发现一个留言,似乎是个变通的办法,但是shading是有了,边框却没了。最后去smth上的TeX版求助,可爱的版主大人瞬间就回帖告诉我,用\fcolorbox等比较常见的包中的命令就能搞定,于是我就搞定了。经过我修改后的LaTeX模板,我只贴一个文件\begin{document}前面的那部分吧,因为简历的内容真的是不好意思拿出手-。-和我下载的那个网页的主人比起来,真是汗颜啊~~ 这部分改动还是挺多的,特别是修改了几个命令,请注意自己替换,并且请使用xelatex命令编译。 2009年4月23日22:04 | 5 条评论

分类: Programming

刚才打了一大段字,不小心给其他页面覆盖了……看来WP的自动保存功能还是得开启…… 最近有心学一下GUI编程,在GTK, wxWidgets和QT之间选择,最后因为QT Designer和喜欢C++的缘故选择了QT。当然QT4 Designer也不是那么傻瓜化的东西,有很多步骤都需要自己来完成。经过一番Google上的学习之后,我总算完成了一个简单的QT工程的创建,因此以这个工程为例,记录一下创建过程,以供参考。 项目名称:POS 主程序名:main.cpp 主窗口及SIGNAL/SLOT处理:POSMainWindow[.h, .cpp] 界面文件:ui_POSMainWindow.h, POSMainWindow.ui Meta Object Compiler文件:moc_POSMainWindow[.h, .cpp] 1. 新建界面配置文件(POSMainWindow.ui)

...
2009年3月30日22:57 | 6 条评论
分类: Programming
标签: , , ,

这是一首灰常有意思的歌曲,翻唱自Julia Ecklar的"God Lives on Terra"。 可以看看这里了解一下这首歌曲的歌词:http://www.gnu.org/fun/jokes/eternal-flame.html GNU社区还推荐了很多有意思的东东,可以去http://www.gnu.org/fun/humor.html查看,作为一个Linuxer和一个Programmer,这些内容可算是相当不错的休闲佐料了~ 顺便试一下WP的1bit插件:eternal-flame 囧,居然不支持ogg格式的播放……传个MP3格式的算了,ogg格式下载点此。 附上歌词一览:

...
2008年11月29日11:44 | 2 条评论
标签: , ,

问题描述:The Cigarette-Smokers Problem. Consider a system with three smoker processes and one agent process. Each smoker continuously rolls a cigarette and then smokes it. But to roll and smoke a cigarette, the smoker needs three ingredients: tobacco, paper, and matches. One of the smoker processes has paper, another has tobacco, and the third has matches. [...]

...
2008年11月9日22:02 | 7 条评论
标签: , ,

对不住各位看官了……这个EMU8086模拟器是Windows下的,还是破解的……我只是为了完成计组老师的作业而已。只是有道题比较有意思,我深深地想了好久,发现一些问题,估计老师不会认真改我的作业,我把它发上来发泄发泄,嗯。 话说EMU8086预先弄了几个PORT,其中PORT9就是实现了一个机器人的东东。具体描述如下:在一个9X6的地图内,有墙、灯、机器人三种东西。机器人碰到墙和灯都过不去,但是碰到灯的时候会自动改变灯的状态,也就是关灯或者开灯。 现在在地图上画一个地图,机器人使用给定的算法会产生死角,问怎么样消除死角。 话说原来给定的代码太弱了,一眼看出破绽:机器人碰墙只能单纯地朝一个方向转,那么碰到开了一口的闭合空间时,一旦进去就出不来了(如图),必然得改进。改进的方法有两个,一个是把行走改成随机方向,那么机器人再怎么囧最后也能走出去,可是老师不提倡随机,那么只好接着改了。

...
2008年6月9日01:33 | 没有评论
分类: Programming