Aug 3
svn的diff很好用,但是还不够好用,因为不像vim,可以很直观地看到两个文件的区别。Google了一下,发现一个还不错的解决方案( http://erik.thauvin.net/blog/news.jsp?date=2006-02-14 ),代码在这里: http://vc.thauvin.net/svn/linux/svndiff/svndiff.sh?view=markup ,但是有点小BUG。我FIX了一下,然后增加了一个小feature,允许在命令行后面跟上 "-r REV" 来指定与最新版本比较的版本号。代码如下:
#!/bin/sh

# svndiff -- svn diff with vimdiff.
#
# Written by Erik C. Thauvin (erik@thauvin.net)
# May 11, 2006
#
# Copyright (C) 2006 Erik C. Thauvin. All rights reserved.
#
# This software is provided "as is" without express or implied warranties.
#
# Permission is granted to use, copy, modify and distribute this software,
# provided this disclaimer and copyright are preserved on all copies. This
# software may not, however, be sold or distributed for profit, or included
# with other software which is sold or distributed for profit, without the
# permission of the author.
#
# $Id$
#
# Modified by felix021 (felix021@gmail.com)
# Aug 3, 2010

PROGNAME=`basename $0`

if [ $# -lt 1 ]; then
    echo "Usage: $PROGNAME <file> [-r REV]"
    exit;
fi

filename=$1
pid=$$
TEMP=/tmp/tmp.$pid.$filename
pv=

if [ $# -gt 3 -a $2 = "-r" ]; then
    pv="-r $3"
fi
svn cat $filename $pv > $TEMP
vimdiff $TEMP $filename
rm -f $TEMP

@p.s. 2010.8.4  昨天给Erik发了封邮件,今天发现他已经把我的修改更新进去了:D
Jul 20

svn(subversion)的hook 不指定

felix021 @ 2010-7-20 18:57 [IT » 软件] 评论(1) , 引用(0) , 阅读(4828) | Via 本站原创
纯粹记录一下。看不懂的绕行吧..
$ mkdir repos
$ svnadmin create repos
$ ls repos/
conf  db  format  hooks  locks  README.txt
$ ls repos/hooks/
post-commit.tmpl  post-revprop-change.tmpl  pre-commit.tmpl  pre-revprop-change.tmpl  start-commit.tmpl
post-lock.tmpl    post-unlock.tmpl          pre-lock.tmpl    pre-unlock.tmpl
$ cd repos/hooks
$ cp post-commit.tmpl post-commit
$ chmod +x post-commit
$ vi post-commit
……

当客户端COMMIT成功以后,post-commit会被执行,调用时会传入两个参数,$1是repos的绝对路径,$2是REV,此次提交的版本号。

可以配合rsync用于分发各种东西。
Jul 6
前一阵更新了Virtualbox到3.2.4,因为7788的原因,虚拟机配置丢失,于是重新建立,再用vboxmanage设置NAT端口转发。再次启动虚拟机,提示无法启动:
引用
Configuration error: Failed to get the "MAC" value.
VBox status code: -2103 (VERR_CFGM_VALUE_NOT_FOUND).

搜了一下,在这个页面:http://forums.virtualbox.org/viewtopic.php?t=7175 的回复中看到解答。

原来的vbox都是使用PCNET作为虚拟网卡,而3.2.4新建虚拟机的时候,虚拟的则是Intel的网卡。因此原先用于设置NAT的命令:
引用
VBoxManage setextradata "Ubuntu" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "Ubuntu" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 2222
VBoxManage setextradata "Ubuntu" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 22

就不能再使用pcnet了。

然后再一查文档,发现3.2.4里头vboxmanage已经不用setextradata来设置Port Forwarding了,而是改成更简洁易懂的:
引用
VBoxManage modifyvm "Ubuntu" --natpf1 "guestssh,tcp,,2222,,22"
vboxmanage 修改vm配置 虚拟机名(Ubuntu) nat_port_forwarding(第1个网卡) "端口转发名(guestssh),tcp,宿主机IP(略),宿主机端口2222,虚拟机IP(略),虚拟机端口22"


p.s. 端口转发的信息是存放在虚拟机的xml配置文件文件里了,需要重启(或休眠->恢复)以后才能重新载入
Jun 8
我的邀请注册链接: https://db.tt/5PWtd8Vc

最大化Dropbox的免费空间(4G+)

虽然早就听说Dropbox这个同步应用,但是一直没有用上。根据
引用
GFW 三定律
GFW 第一定律:只要是 “用户产生内容”(User-generated content, UGC) 的国外网站都会被和谐。
GFW 第二定律:只要是被和谐的网站,国内一定会有个克隆版。
GFW 第三定律:没有被和谐的网站一定不是同类竞争者中最出色的。
Dropbox于近日被GFW掐掉,于是我决定开始使用它。

简单地说,Dropbox在单纯网络硬盘之上提供了数个很有创意的功能。包括:
a. 2G免费空间,介绍一个用户增加250M,上限是8G(或者10G?没理解)。
b. 自动同步。由于有个客户端,可以在多个电脑、手机之间自动同步文件,非常方便。
c. 照片文件夹可以作为WEB相册访问
d. 共享文件夹允许你和多个朋友一起共享、交流文件,尤其特别是小文档,比邮箱方便快捷,比IM传文件靠谱。
e. 有一个公开目录,可以生成直接的下载链接。

由于第一定律导致了它被墙的必然,但是第二定律暂时还没生效,因此,希望使用第三定律界定的这个优秀服务还是得绕个弯。所谓“奇伟瑰怪非常之观,常在於险远而人之所罕至”,所以,找个翻墙工具吧!

推荐使用 shadowsocks 来创建一个 socks5 代理,创建好以后安装Dropbox,在 preference -> network 选项卡填入代理(注意代理类型为 socks5),就可以畅享Dropbox了! (注:2018年更新,现在 ssh 和 openvpn、pptpvpn 都不好用了,shadowsocks 还行)

【创建socks代理】

创建 socks5 代理最简单是购买一个;如果有一定动手能力的话,推荐自己搭建:

1. 推荐购买一个国外的 VPS,例如 搬瓦工 年付 19.99 美元的机型:https://clients.hostmybytes.com/aff.php?aff=1042&gid=55,操作系统推荐使用Ubuntu 16.04 (配合下面说明)。购买后可以得到服务器的 ip 和 root 帐号登录密码。

2. 用 ssh 客户端(windows下推荐Tunnelier,下载地址:https://share.weiyun.com/5a3IPmg ),使用 root 密码登录服务器。

3. 安装 shadowsocks 服务端,执行命令:sudo apt-get install -y screen shadowsocks

4. 启动 shadowsocks 服务端,执行命令(记得替换你的密码):screen -dmS ss ssserver -k 密码 -m aes-256-cfb -p 8388
注:screen -ls 如果能看到一条 ss 说明正常启动了。稳妥起见可以在crontab添加一个任务 "* * * * * screen -dmS ss ssserver -k 密码 -m aes-256-cfb -p 8388"

5. 下载并打开 shadowsocks 客户端:
下载文件 (已下载 122 次)


6. 双击通知区域窗口区的纸飞机图标,将服务器的 IP 和端口(8388)、密码填入,就可以在本机启动一个 socks5 代理了。

====
我的邀请注册链接: https://db.tt/5PWtd8Vc

最大化Dropbox的免费空间(4G+)
Jan 17
p.s. @ 20100119 这是前几天写的,本来打算给godaddy加一个sockets扩展,但是失败了,还是发出来,记录一下。

godaddy的虚拟主机给的权限真是宽,允许自定义php.ini。
自定义的php.ini默认放在$HOME/html/php.ini,这个是针对php4的,我选择的是php5,所以应该是php5.ini。
//以下在虚拟主机上操作
$ cd ~/html
$ cp /web/conf/php5.ini .
$ vi php5.ini
然后修改max post size之类的参数吧~过一小段时间,再看phpinfo(),就出效果了。


编译php扩展的步骤
$ wget http://museum.php.net/php5/php-5.2.8.tar.bz2 //godaddy上面的是5.2.8, i386
$ tar jxf php-5.2.8.tar.bz2
$ cd php-5.2.8/ext/sockets
$ phpize    //注意,需要安装php5-dev (apt-get install php5-dev)
$ ./configure --with-php-config=/usr/bin/php-config  (最好$ whereis php-config 看一下路径)
$ make

拷贝到godday去
$ scp modules/sockets.so yourname@yourdomain:~/
然后修改php5.ini,增加
extension=sockets.so
发现无法正常加载,失望=。=
Dec 22
工具->宏->Visual Basic编辑器,工程框中,右击Sheet1,插入模块,在模块1中加入如下代码
Sub iterate()
    Dim row, col, i, j As Integer
    Dim str, addr As String
    row = ActiveSheet.UsedRange.rows.Count
    col = ActiveSheet.UsedRange.Columns.Count
    MsgBox row & " " & col, vbOKOnly
    For i = 0 To row - 1
        For j = 0 To col - 1
            addr = Chr(65 + j) & Chr(i + 48 + 1)
            MsgBox Range(addr).Text
        Next
    Next
End Sub

如果需要修改单元格的内容:
Range(addr).Select
ActiveCell.FormulaR1C1 = "ooxx"
Sep 6
前一阵重装过XP,IE6中文版这一点很不爽,今天终于决定改了。
搜了一下具体的方法,发现有个巨麻烦的要自己hack browselc.dll,不爽。
然后看到了这个解决方法,很不错,贴一下:

单击“开始/运行”,输入“regedit”并回车打注册表,
依次展开到:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar,
新建项QuickComplete,再在QuickComplete项下新建字符串值QuickComplete,值为“http://www.%s.com”  
如果想改成cn 就值为“http://www.%s.cn”  
Aug 11

ubuntu 9.04 gstreamer0.10-* 不指定

felix021 @ 2009-8-11 16:36 [IT » 软件] 评论(3) , 引用(0) , 阅读(6638) | Via 本站原创
9.04以前的ubuntu要安装gstreamer的时候,只需要简单地
$ sudo apt-get install gstreamer0.10-*
然后就OK了。

从9.04开始,这选中的所有包有冲突了,经过筛选,发现最后安装这些包即可:

gstreamer0.10-alsa
gstreamer0.10-doc
gstreamer0.10-esd
gstreamer0.10-ffmpeg
gstreamer0.10-fluendo-mp3
分页: 6/12 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]