2010年12月29日星期三

hex editor in linux

command line style: radare
               site: http://radare.org/y/
gui hex editor: bless
              site: http://home.gna.org/bless/index.html
non-free software:  UEX: UltraEdit for Linux
              site: http://www.ultraedit.com/products/uex.html

2010年11月23日星期二

[转载]Magic SysRq key



关于Magic SysRq key : 这是一组内核可以识别的按键组合,可以让用户执行一些底层的命令而不论系统状态如何。通常使用情况是系统从冻结中恢复,或者在不伤害文件系统的前提下重启计算机。使用Magic SysRq key的前提是CONFIG_MAGIC_SYSRQ这个内核选项被打开,并且没有在/proc/sys/kernel/sysrq里禁用掉,也就是 cat 这个文件的时候,出来的是 1 (或其他某些非0值)。
下面就来介绍一下几个键的具体作用,其中SysRq指的是右上角的“Print Screen”键。
ALT-SysRq-b 立即重启系统,不卸载分区和同步文件。
ALT-SysRq-o 可能的话,关机。
ALT-SysRq-e 给除了init以外的所有进程发送SIGTERM信号,可以试图正常结束所有进程。
ALT-SysRq-f 调用oom_kill函数来干掉占用了很大内存的进程。

[转载]ubuntu 强制解锁apt-get

在Ubuntu 10.10 用sudo apt-get install kmymoney2安装软件kmymoney2时,由于速度太慢,想换个软件源,直接关闭了终端,apt-get但进程没有结束,结果终端提示

:“E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?”

解决办法如下:1。终端输入 ps -aux ,列出进程。找到含有apt‘-get的进程,直接sudo kill PID。解决。

2。强制解锁,命令

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

2010年11月20日星期六

在terminal 中使用google词典

直接可以在命令行中使用 dict yourword
就可以用google dictionary搜索单词 ^_^
支持英文词组搜索

将以下内容加入到~/.bashrc中即可


#for google dictionary
dict(){
word=
for i in $@
do
word=$word+$i
done
word=`echo -n $word | tail -c +2`


curl -s "http://www.google.com/dictionary?langpair=en|zh-CN&q="${word}"&hl=zh-CN" | html2text -nobs -nometa  -utf8 | tail -n +18  | less
}
#end


这个脚本支持简体中文和英文,如果自己要使用别的语言,
修改curl后面的那个url即可
langpair  -- 要查询的语言
hl     -- 界面的语言
参考:http://ubuntuforums.org/showthread.php?t=1591389

2010年11月17日星期三

让 ubuntu terminal 自动编码

BBS上的编码通常为gbk,用terminal直接telnet会产生乱码,这时可以用luit
这个软件包在10.10已经自带了。

luit -encoding gbk telnet bbs.yoursite.org

2010年11月15日星期一

[转载]Ubuntu的apt-get代理设置



升级到Ubuntu10.04后,发现apt-get的代理设置有改变了,在9.10以前使用“http_proxy”环境变量就可以令apt-get使用代理了
export http_proxy=http://127.0.0.1:8000
sudo apt-get update
然后在Ubuntu10.04下就无效了,看来apt-get已经被改成不使用这个环境变量了。
一阵郁闷后,最后我发现在“首选项”->“网络代理”那里,多了个“System-wide”按钮(我用的是英文环境,不知道中文被翻译成怎样,关闭窗口时也会提示你),在这里设置后,apt-get确实可以使用代理了。
但是我依然鄙视这种改进,因为我通常就是偶尔使用代理,更新几个被墙掉的仓库而已(如dropbox和tor),根本不想使用全局代理,本来用终端就能搞定的事,现在切换代理要点N次鼠标,真烦。
所以我研究了一下,发现那个代理设置修改了两个文件,一个是“/etc/environment”,这个是系统的环境变量,里面定义了“http_proxy”等代理环境变量。另一个是“/etc/apt/apt.conf”,这个就是apt的配置,内容如下
Acquire::http::proxy "http://127.0.0.1:8000/";
Acquire::ftp::proxy "ftp://127.0.0.1:8000/";
Acquire::https::proxy "https://127.0.0.1:8000/";
很明显的代理设置代码,我看了下apt-get的手册,发现可以用“-c”选项来指定使用配置文件,也就是复制一份为“~/apt_proxy.conf”,然后“网络代理”那里重置回直接连接,以后使用
sudo apt-get -c ~/apt_proxy.conf update
就可以使用代理了,apt-get也有一个“-o”选项,直接跟apt-get的设置变量,就不用指定配置文件了,比如
sudo apt-get -o Acquire::http::proxy="http://127.0.0.1:8000/" update
该文章发布在 程序配置,标签:。收藏该永久链接

[转载]在wget中设置代理

http://www.51testing.com/?uid-116228-action-viewspace-itemid-208339

   wget支持HTTP 和SOCKS代理。因为要mirror的是web,因此仅仅使用了HTTP的代理。
    wget每次启动都要读一个wgetrc文件,可以在这个文件中设置代理服务器
    wgetrc缺省存放在/usr/local/etc/下,也可以在$HOME/下创建.wgetrc。
方法一:
配置步骤:
1、创建$HOME/.wgetrc文件
2、编辑文件,添加如下内容:
   #===========Sample of wgetrc=================
   #添加代理服务器
   http_proxy =www.yourproxy.cc
   #以下几种格式也可以,如果不写端口,缺省为80
   #http_proxy =www.yourproxy.cc:8080
   #http_proxy =http://www.yourproxy.cc
   #http_proxy =http://www.yourproxy.cc:8080/
   #如果不使用代理服务器,此处设置为off
   use_proxy = on
   #============================================
3、运行wget
方法二:
   安装socks客户端工具runsocks(正常安装socks5后自带)。在libsocks5.conf文件里加入所要使用的代理服务器。
注意:运行wget之前需要将wgetrc中的代理服务器注释掉
    配置完毕后运行如下命令:
    #runsocks wget -m [http://site1 |ftp://site2]
    经测试,可以正常镜像http和ftp站点。   

2010年11月9日星期二

Vimium: 以 Vim 的方式操作 Google Chrome

vimium -- 鼠标手的福音,终于不用把手一直放在那该死的鼠标上了

Vimium: 这款插件适用于 Vim 控,它为 Chrome 浏览器提供了与 Vim 相类似的操作快捷键,比如按 j 是向下,按 k 是向上,按 / 是搜索等等,通过它基本上可以拖弃鼠标来浏览网页了,详细的快捷键列表可以通过 Shift + ? 来调出。另外,通过设置你还可以排除一些特定的本身已带有快捷键功能的网页,比如 Gmail 、Google Reader 等等。


source:http://wowubuntu.com/chrome-plugin.html?utm_source=twitterfeed&utm_medium=twitter

2010年11月5日星期五

[转载] base64 的使用



这是测试文件file,内容就只有一行字符串"snailwarrior"。
[root@pps ~]# cat file
snailwarrior
 
1、给文件file进行base64编码,并打印到标准输出
[root@pps ~]# base64 file
c25haWx3YXJyaW9yCg==
 
也可以这样:
[root@pps ~]# cat file | base64
c25haWx3YXJyaW9yCg==
 
2、从标准输入读取文件内容,base64编码并打印到标准输出
[root@pps ~]# base64
snailwarrior
c25haWx3YXJyaW9yCg==
 
我是输入snailwarrior,回车,然后按Ctrl+D结束文件输入的。
 
【注意】如果我不输入回车,连续输入两次Ctrl+D,看看效果如何:
[root@pps ~]# base64
snailwarriorc25haWx3YXJyaW9y
 
可以看出,编码出来的字符串是:c25haWx3YXJyaW9y
我的神!两种方式编码出来的结果不一样啊!继续往下测试。
 
3、对字符串"snailwarrior"编码,并打印到标准输出
[root@pps ~]# echo "snailwarrior" | base64
c25haWx3YXJyaW9yCg==
 
这个结果跟前面"cat file"和输入snailwarrior按回车再按Ctrl+D的情况是一样的。为什么不按回车直按两次Ctrl+D的结果不一样呢?我们再来看看下面这个例子:
 
[root@pps ~]# echo -n "snailwarrior" | base64
c25haWx3YXJyaW9y
 
你是不是惊讶的发现“缘由”了呢?
 
echo -n 选项没有输出字符串结尾的'\n'换行字符,因此字符串"snailwarrior"精确的base64编码是"c25haWx3YXJyaW9y",可以用PHP函数来检验哦。文件方式等进行的"snailwarrior"字符串编码都带入了对'\n'的编码,因此,不小心就会发生莫名的编码错误哦。

2010年11月2日星期二

Using vlc without a global proxy

in Ubuntu, when I use vlc to play streams, it will always use global proxy setting. And in the vlc, this is nowhere to set this option.

solution: use vlc command directly. example: vlc http://my.video.com/some/random/stream.avi

And you can specify the proxy with the following  commands:
vlc http://my.video.com/some/random/stream.avi --http-proxy=my.proxy.com:8080
reference:

http://vsingleton.blogspot.com/2008/04/using-vlc-with-proxy-on-windows.html

wine 不能打开exe文件

打开某些下载的文件,wine会弹出对话框:

Blocked: wine start /unix

The file 'xxx' is not marked as executable.  If this was downloaded or copied form an untrusted source, it may be dangerous to run.  For more details, read about the executable bit.

这时候只要在属性权限里"允许以程序执行文件(E)"打上钩就行了

2010年11月1日星期一

chrome 上登录WebQQ 很慢 或者不能登录的解决方法

由于安装了adblock,于是webQQ载入很慢,会一直停留在"正在载入..."的页面中.

这是只要把webQQ 加入adblock的白名单就行了

http://bbs.chromi.org/thread-11983-1-1.html

2010年10月16日星期六

[转载]让Blogspot支持语法高亮


让Blogspot支持语法高亮

语法高亮支持,几乎成了所有和计算机沾那么一点边的博主所必须的功能了。不过Blogger默认没有语法高亮支持。虽然如此,要加入语法高亮支持却并不困难。这主要得益于Blogger强大的模版编辑功能。

对Blogger的奉承话我就不多说了,开始讲解方法:

1. 下载语法高亮包(到这里)。

2. 下载并解压缩,我下载的版本是2.1.364,里面有三个目录:scripts,styles和src。

3. 把scripts里面的js文件上传到某个托管站。如果你和我一样穷的没有网站空间,你可以上传到Google Sites(Google Sites不支持外链,不过你可以上传到DropBox中)。其中最重要的文件是:shCore.js。其他都是各种语言的语法支持文件。你可以选择自己常用的上传。shLagacy.js可以不用上传。这个文件主要用来支持旧版高亮配置语法的。另外可以顺道把scripts里的clipboard.swf也上传了。

4. 上传styles里面的代码主题到托管空间。主要上传shCore.css,所有png文件和你想使用的主题文件。你想使用默认主题,上传:shThemeDefault.css就可以了。在上传shCore.css之前还需要做一件事,把191行,202行,207行,219行里的xxx.png,换成完整的图片地址,如下:
1#... {
2    ...
3    background-image:url('http://dl.dropbox.com/u/169xxxx/syntax_highlighter/magnifier.png')!important;
4    ...
5}
6/*其他类似*/

5. 打开博客后台,访问“Design” - “Edit HTML”,在<head>标签内加入下面的代码:
1<linkhref="http://dl.dropbox.com/u/169xxxx/syntax_highlighter/shCore.css"rel="stylesheet" type="text/css"></link>
2<linkhref="http://dl.dropbox.com/u/169xxxx/syntax_highlighter/shThemeDefault.css"rel="stylesheet" type="text/css"></link>
3<script language="javascript"src="http://dl.dropbox.com/u/169xxxx/syntax_highlighter/shCore.js">
4</script>
5<script language="javascript"src="http:/dl.dropbox.com/u/169xxxx/syntax_highlighter/shBrushJScript.js">
6</script>
在做出任何修改前,最好先备份默认模版,以防出错。

6.在</body>标签之前加入下面代码:
1<script type="text/javascript">
2    SyntaxHighlighter.config.bloggerMode = true;
3    SyntaxHighlighter.config.clipboardSwf = 'http://dl.dropbox.com/u/169xxxx/syntax_highlighter/clipboard.swf';
4    SyntaxHighlighter.all()
5</script>

7. 保存模版。
在撰写Blog的时候,可以这样:
<pre class="brush: js">
  alert('Hello world.');
  //Whatever code here
</pre>
会生成:
1alert('Hello world.');
2  //Whatever code here

关于语法高亮的安装和使用的更多详情,请参考项目wiki。额外参考:这里

update: 经过实践才发现Google Sites不支持外链。Orz,所以换成Dropbox了,测试似乎没有问题。请将文中的dropbox链接换成你自己的。