Tag Archives: Programming

[剧透] Inception

晚上去看了传说中的 Inception,先不涉及情节的小评论一下:情节中上(因为几年前就看过这类的小说),场面一般(不知道IMAX会不会好些),别的没啥了吧。然后,现在正式开始剧透,而且本文属于纯无聊加剧透的产物,所以无论看过还是没看过的都要慎入啊~

Posted in 杂九杂十^_^ | Tagged , , | 16 Comments

让win下的vim支持非等宽字体

最近vim升级到了7.3,很喜欢它的相对行号功能(:h rnu),于是就升级了,然后就毫无悬念的出问题了~ 问题的原因是之前用的vim72是个改版,加上了对非等宽字体的支持,于是在vim中可以将guifontwide设置为YaHei Consolas的混合字体,不过这次升级后没找到原作者的网站,只好自己动手了。 改动在os_mswin.c中,进去后直接找mono,会看到一处注释说忽略非等宽字体,把下面那行注释掉就好,这是diff文件: diff -r 96b2b1cca7cd src/os_mswin.c — a/src/os_mswin.c Mon Aug 23 12:55:47 2010 +0800 +++ b/src/os_mswin.c Mon Aug 23 13:05:17 2010 +0800 @@ -3288,8 +3288,11 @@ #ifndef FEAT_PROPORTIONAL_FONTS /* Ignore non-monospace fonts without further ado */ + … Continue reading

Posted in 善用佳软 | Tagged , | 13 Comments

Merge Two Hg Repositories

最近在折腾手头上的小项目,发现有一个工程已经建了Hg的版本库,但是想把它给丢到现有的版本库中以方便管理。假设现在用的版本库叫A,需要被merge过来的版本库叫B,于是有: A: hg pull –f <repo B> A: hg merge A: hg ci 关键的地方是在那个-f处,如果没有加这个参数会报两个版本库不同源而不让你这么折腾。(via)

Posted in 善用佳软 | Tagged , , | Leave a comment

The Capital S in Linux Permission Bitmap

昨天某人丢过来一个问题,为啥Linux下有的文件权限是-rws,有的是-rwS,当时就没想法了,后来某人被逼求助于Google顺便把结果发给了我,顺便记一下吧~ 首先,这个S,不管大写还是小写都是setuid/setgid bit, 大小写的不同之处在于,大写的S表示这个文件没有x位,而小写的则是一般常见(这个只是我常见的哈,有空查查,如果大S比较常见俺会上来改的)的即是有x权限的。即在chmod中,如果是4755的话,那么它的权限就是通常的-rwsr-xr-x,如果是4655的话,就是大写的-rwSr-xr-x。就这么些东西。 最后多一句嘴,第一位的那个4其实也是bitmap,4代表setuid bit,2代表setgid bit,1代表sticky bit。下面木有了~~

Posted in 小企鹅Linux | Tagged , | 1 Comment

Using sudo in rsh’s command

公司的产品需要配置无密码rsh,刚写了一个脚本用于重置环境,但是被系统告知sudo需要在tty的环境下用,所以只好去找把这个安全选项禁掉的方法。开始想当然的把pts加到/etc/securetty中,可惜不行,最后求助于G神才发现需要在/etc/sudoers中把下面这行注释掉 Defaults    requiretty 最后说一句,最好用visudo编辑,而不要手动改~

Posted in 小企鹅Linux | Tagged , , | 5 Comments

Translate errno to error string

没几行的程序,就是输出errno数字所表示的对应含义 #include #include #include int main(int argc, char* argv[]) { if (argc == 1) { printf (“Please give a number, Thanks~~~\n”); exit(1); } char tmp_str[20]; errno = atoi(argv[1]); sprintf(tmp_str, “errno %3d”, errno); perror(tmp_str); }

Posted in Happy coding | Tagged | 2 Comments

Simple Process with Mercurial Build-in Server

在putty里面用vim用够了,于是在远端机上弄了个Hg的版本库,平时在本机做开发,然后写完直接push到远端编译。不想折腾太多的东西,所以就用的是Hg自带的web服务器。首先在远端某个目录里面新建一个Hg版本库 hg init 然后就可以在远端开服务了,为了少惹麻烦,用了个3456的端口 hg serve -p3456 然后在本地就可以找个目录直接把那边的东西拷过来了 hg clone <host> <local_dir> 使用hg clone的好处是在目录的.hg/hgrc文件中已经存放有默认提交/连接的地址,以后在使用hg pull或者hg push时不需要额外提供地址了。 [paths] default = <host>:<port> 在本地做过修改后,需要check in到版本库中才能成功的被push到远端。如果不加-m参数则会弹出一个编辑器让你输入log hg ci <-m “log message”> 在push的时候需要注意一个问题。为了安全起见,在默认情况下,Hg对于push是有一些限制的,首先需要SSL,其次需要提交改动的用户有权限。不过由于是自己使用嘛,所以可以在Hg的配置文件中把这两个限制取消,即在hgrc中加入以下几行 [web] push_ssl = false allow_push = * 根据自己的需求确定这几行加的位置(全局的配置还是某项目相关的配置)。添加过后即可在本地push改动到远端了。如果那个url已经添加到hgrc文件中,则不需要指定url参数(嗯,适合我这种懒人)。 hg push <url> 在远端此时只是把改动更新到版本库中,并没有把改动真正放到代码中,所以还要在远端运行一下更新命令 … Continue reading

Posted in 善用佳软 | Tagged , | 4 Comments

Mask Mouse on Linux

最近折腾个东西,需要把鼠标弄掉,一是不显示,二是对点击事件没有响应。在网上找了找,用了个比较ugly的方法: 不显示 一般的发行版都能找到一个叫unclutter的软件包,这玩意的功能就是在你idle多少秒后把鼠标从屏幕上抹掉,具体效果就像mplayer放电影里让鼠标不见的那样。如果把idle设成0(unclutter –idle 0),那么鼠标就会从屏幕上消失了,不过在移动的过程中,还是能偶尔看到那熟悉的白色箭头 屏蔽响应事件 虽然鼠标不显示了,但是点击事件还是没有屏蔽掉,就是说你去点鼠标,还会是和原来的情况一样。本来想找HAL去直接禁用这个设备,但是在乱逛的过程中找到了xmodmap这个东西,然后也顺便看到了怎么用它去折腾鼠标,就用了。 这个命令可以用来把鼠标的键重新映射到新的行为上去,在它自己的man page里面,可以看到使用 xmodmap -e "pointer = 3 2 1" 可以让鼠标左右键对调,其实就是让按左键的响应从1变成3,而右键的从3变成1。执行下面这条命令 xmodmap -e "pointer = 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1" 把前面的几个按键都给映射到高位上去,这样一般的程序就不会去处理这些个大的响应事件,于是乎就算是屏蔽了事件吧。 就这两条命令,具体的没的细究,有空再看吧。

Posted in 小企鹅Linux | Tagged , , | 8 Comments

在thickbox中关掉自己

嗯,很拗口的标题吧,我也这么觉得~ 最近写的东西用到了jquery,然后也就用到那个很好用的thickbox插件。不过有一个需求是我在thickbox中用Ajax.post()方式提交表单后需要把这个thickbox窗口关掉。它的close按钮调用的是tb_remove()函数,但是我在里面调怎么也不起作用,直到最后找到了这个网页,它告诉我,要这么来折腾: parent.tb_remove() 于是就达成需求了……

Posted in Happy coding | Tagged , , | 2 Comments

Android中使用自定义Adapter

算是对这段折腾android的一次小结吧,呵呵。 一个很简单的界面,上面留块地方放logo或者banner,然后下面放个东西来显示数据。试验中上面使用的是TextView,下面是ListView。对于ListView,当然需要使用Adapter来显示数据啦,但默认的Adapter满足不了需要,因为我的那个一条需要显示的东西不是那么标准,所以折腾了几天,自己弄出来了一个fooAdapter,顺便还有这篇文章。

Posted in Happy coding | Tagged , , | 6 Comments