Apr
18
现在只要加入我修改的这个小东西,那么在有访客留言、评论、申请链接的时候,
我的139邮箱就会收到一封邮件,而中国移动139信箱在收到邮件以后会自动往我的手机发邮件主题。。。
噢也~~~
-------------我就是那华丽的分割线---------------
Hack for Bo-blog 2.1.0+
当有访客留言或评论、申请链接时向指定邮箱发送邮件
2009-04-18
By Felix021 @ http://www.felix021.com
Mail: i[at]felix021.com
使用说明:
1。将目录fm放置到blog/inc下面,修改fm/felix_mail.php第4~8行的四个参数。如果你的空间支持SMTP,这么就OK了,如果不支持,可以修改下面的内容,通过你的邮箱提供商的SMTP服务器发送邮件,但是这样在评论和留言的时候会稍稍卡一下。
2。将mod_visit.php中171行到189行的内容(可以适当自定义)放到blog/inc/mod_visit.php的相应位置(不知道v2.1.1是怎样的,反正我的2.1.0测试是OK了,应该可以直接用文件覆盖)。注意不要把177行的16改大,因为phpmailer的限制,UTF-8编码下,邮件主题最大16个字符,不知道是什么问题,如果有谁搞清楚了,一定记得通知我一下~~~
3。将mod_login.php中280行到284行的内容方到blog/inc/mod_login.php的对应位置,注意事项同上。
4。接收邮件的邮箱建议使用中国移动的139邮箱,因为这样可以直接发短信告诉你有新的评论/通知/链接了。
下载文件 (已下载 1603 次)
--
本来想发到bo-blog论坛去,但是论坛原先的用户名的密码不记得了,163邮箱没收到重置邮件
新注册一个用户,i@这个邮箱又没收到验证邮件
得,我困得很,还不如去睡觉。
我的139邮箱就会收到一封邮件,而中国移动139信箱在收到邮件以后会自动往我的手机发邮件主题。。。
噢也~~~
-------------我就是那华丽的分割线---------------
Hack for Bo-blog 2.1.0+
当有访客留言或评论、申请链接时向指定邮箱发送邮件
2009-04-18
By Felix021 @ http://www.felix021.com
Mail: i[at]felix021.com
使用说明:
1。将目录fm放置到blog/inc下面,修改fm/felix_mail.php第4~8行的四个参数。如果你的空间支持SMTP,这么就OK了,如果不支持,可以修改下面的内容,通过你的邮箱提供商的SMTP服务器发送邮件,但是这样在评论和留言的时候会稍稍卡一下。
2。将mod_visit.php中171行到189行的内容(可以适当自定义)放到blog/inc/mod_visit.php的相应位置(不知道v2.1.1是怎样的,反正我的2.1.0测试是OK了,应该可以直接用文件覆盖)。注意不要把177行的16改大,因为phpmailer的限制,UTF-8编码下,邮件主题最大16个字符,不知道是什么问题,如果有谁搞清楚了,一定记得通知我一下~~~
3。将mod_login.php中280行到284行的内容方到blog/inc/mod_login.php的对应位置,注意事项同上。
4。接收邮件的邮箱建议使用中国移动的139邮箱,因为这样可以直接发短信告诉你有新的评论/通知/链接了。

--
本来想发到bo-blog论坛去,但是论坛原先的用户名的密码不记得了,163邮箱没收到重置邮件
新注册一个用户,i@这个邮箱又没收到验证邮件
得,我困得很,还不如去睡觉。
Apr
17
前两天还在和sandy讨论怎么整一个免费的山寨版邮件推送,
今天一时兴起,想看看gmail有没有山寨版的已经实现的邮件推送,
于是搜了一下“gmail 新邮件 到达通知”,
没想到我们可亲可敬di中国移动早就提供了条件:
中国移动139免费邮箱,提供免费的短信到达通知
——这不就是告诉我们,有邮件就发到139邮箱吧,我来告诉你!
以前注册的139邮箱居然不知道有这回事,真是浪费阿。
于是赶紧把gmail的邮件转发开起来。。。。
测试了一下,反应还是够快的,1min以内就收到短信了,超赞。
于是felix用上了平民山寨手机邮箱推送服务,再也不用时不时去翻邮箱了
今天一时兴起,想看看gmail有没有山寨版的已经实现的邮件推送,
于是搜了一下“gmail 新邮件 到达通知”,
没想到我们可亲可敬di中国移动早就提供了条件:
中国移动139免费邮箱,提供免费的短信到达通知
——这不就是告诉我们,有邮件就发到139邮箱吧,我来告诉你!
以前注册的139邮箱居然不知道有这回事,真是浪费阿。
于是赶紧把gmail的邮件转发开起来。。。。
测试了一下,反应还是够快的,1min以内就收到短信了,超赞。
于是felix用上了平民山寨手机邮箱推送服务,再也不用时不时去翻邮箱了

Apr
14
看了一天的lshort,终于对LaTeX的使用有了大致的了解,不过还是有些不够熟悉。
决定写个东西练手,但是写着写着遇到一个难以逾越的问题:
使用\label{ooxx}定义一个标签(或者叫做书签?),然后用\ref{ooxx}引用的时候,就出现两个问号"??"
网上的说法是,需要一个gbk2uni.exe把编码转换一下
因为很多人是在win下面编写的TeX文档,默认是GBK编码,而生成书签的需要用UTF-8编码才能被识别
可是我是在Ubuntu Linux下面的,默认的文本编码就是UTF8,没有必要转换了阿
网上查到有人用了hyperref包,但是加上下面这一句之后仍然是俩问号
又因为一直是直接用pdflatex b.tex编译的文档,以为是需要按照正常的方式,于是
可是在第一步提示
生成的pdf文件中仍然是不能正常显示,非常囧。
折腾了好久,网上一直没找到解释,却在无意中发现了解决方案:
如果我先用latex编译一次b.tex以后,然后再用pdflatex,就能够解决问题!
然后又突然就明白过来了,运行latex b.tex两次,第二次就没有那个warning了!
Orz... 怎么工作得像MASM似的,先扫一遍找Symbol,然后才生成目标代码。。。
如果要生成的pdf中,书签作为超级链接存在,则要加入前面的那个hyperref的package
注意里面的第一个参数dvipdfm(也可以是ps2pdf,这取决于最后你用什么命令生成pdf)
然后
然后生成的b.pdf,就是理想的状态了^_^
经过测试:
如果是dvipdfm,就必须用dvipdfm来生成pdf;
如果是ps2pdf,就必须用ps2pdf生成;
如果不填写,就必须用pdflatex。
--
至于另一个很诡异的问题:
如果在\section{}里面给的是中文,那么加入\tableofcontents以后,就会出现如下错误
! Package inputenc Error: Unicode char \u 8:解 not set up for use with LaTeX.
在 http://www2.informatik.hu-berlin.de/~xu/LaTeX.html 找到了博主在 http://i.thuda.org/ir77/?p=60 找到的诡异解决方法:
在文档的末尾加上\newpage
而且居然有效。
太TMD诡异了。
决定写个东西练手,但是写着写着遇到一个难以逾越的问题:
使用\label{ooxx}定义一个标签(或者叫做书签?),然后用\ref{ooxx}引用的时候,就出现两个问号"??"
网上的说法是,需要一个gbk2uni.exe把编码转换一下
因为很多人是在win下面编写的TeX文档,默认是GBK编码,而生成书签的需要用UTF-8编码才能被识别
可是我是在Ubuntu Linux下面的,默认的文本编码就是UTF8,没有必要转换了阿
网上查到有人用了hyperref包,但是加上下面这一句之后仍然是俩问号
引用
\usepackage[dvipdfm,
pdfstartview=FitH,
CJKbookmarks=true,
bookmarksnumbered=true,
bookmarksopen=true,
colorlinks=true, %注释掉此项则交叉引用为彩色边框(将colorlinks和pdfborder同时注释掉)
%pdfborder=001, %注释掉此项则交叉引用为彩色边框
citecolor=magenta,% magenta , cyan
linkcolor=blue,
linktocpage=true,
]{hyperref} % hyperref 宏包通常要求放在导言区的最后!!!
pdfstartview=FitH,
CJKbookmarks=true,
bookmarksnumbered=true,
bookmarksopen=true,
colorlinks=true, %注释掉此项则交叉引用为彩色边框(将colorlinks和pdfborder同时注释掉)
%pdfborder=001, %注释掉此项则交叉引用为彩色边框
citecolor=magenta,% magenta , cyan
linkcolor=blue,
linktocpage=true,
]{hyperref} % hyperref 宏包通常要求放在导言区的最后!!!
又因为一直是直接用pdflatex b.tex编译的文档,以为是需要按照正常的方式,于是
引用
$ latex b.tex
$ dvips b.div
$ ps2pdf b.ps
$ dvips b.div
$ ps2pdf b.ps
可是在第一步提示
引用
LaTeX Warning: Reference `def' on page 1 undefined on input line 31.
LaTeX Warning: There were undefined references.
LaTeX Warning: There were undefined references.
生成的pdf文件中仍然是不能正常显示,非常囧。
折腾了好久,网上一直没找到解释,却在无意中发现了解决方案:
如果我先用latex编译一次b.tex以后,然后再用pdflatex,就能够解决问题!
然后又突然就明白过来了,运行latex b.tex两次,第二次就没有那个warning了!
Orz... 怎么工作得像MASM似的,先扫一遍找Symbol,然后才生成目标代码。。。
如果要生成的pdf中,书签作为超级链接存在,则要加入前面的那个hyperref的package
注意里面的第一个参数dvipdfm(也可以是ps2pdf,这取决于最后你用什么命令生成pdf)
然后
引用
$ latex b.tex
$ latex b.tex
$ dvipdfm b.dvi
$ latex b.tex
$ dvipdfm b.dvi
然后生成的b.pdf,就是理想的状态了^_^
经过测试:
如果是dvipdfm,就必须用dvipdfm来生成pdf;
如果是ps2pdf,就必须用ps2pdf生成;
如果不填写,就必须用pdflatex。
--
至于另一个很诡异的问题:
如果在\section{}里面给的是中文,那么加入\tableofcontents以后,就会出现如下错误
! Package inputenc Error: Unicode char \u 8:解 not set up for use with LaTeX.
在 http://www2.informatik.hu-berlin.de/~xu/LaTeX.html 找到了博主在 http://i.thuda.org/ir77/?p=60 找到的诡异解决方法:
在文档的末尾加上\newpage
而且居然有效。
太TMD诡异了。
Apr
13
因为网络程序设计课程要求做一个扩展型的作业,其中一个选项是ftp client。于是我就选了这个。
做完以后发现其实不难,而最难的地方,在于了解FTP协议的工作过程。
下面随便闲扯一点东西吧。
在网络上,经常遇到的应用层协议包括HTTP,FTP,SMTP,POP3,都使用TCP协议连接,感觉挺像的。
HTTP协议显然是最常见的,在客户端和服务器之间只有一条连接,既传输控制命令(HTTP头),也传输数据(HTTP实体)
因此在编写动态网页脚本的时候,一定要先输出header,然后才输出HTML代码。
FTP协议则采用两条连接,一条控制连接,一条数据连接。
控制连接用于传输控制命令,始终保持连接,直到客户端发出QUIT命令结束连接;
数据连接在需要传输数据的时候打开(发起端可以是客户端也可以是服务器),传输完毕后就断开。
FTP的数据连接有两种模式,一种是主动模式,一种是被动模式(PASV, Passive Mode)。
采用主动模式时,客户端监听一个本地端口,由服务器发起连接传输数据;
而采用被动模式时,则是由服务器打开一个端口,客户端发起连接接收数据。
下面我用telnet来模拟一个FTP客户端连接、登陆、使用被动模式传输文件并退出的完整过程:
做完以后发现其实不难,而最难的地方,在于了解FTP协议的工作过程。
下面随便闲扯一点东西吧。
在网络上,经常遇到的应用层协议包括HTTP,FTP,SMTP,POP3,都使用TCP协议连接,感觉挺像的。
HTTP协议显然是最常见的,在客户端和服务器之间只有一条连接,既传输控制命令(HTTP头),也传输数据(HTTP实体)
因此在编写动态网页脚本的时候,一定要先输出header,然后才输出HTML代码。
FTP协议则采用两条连接,一条控制连接,一条数据连接。
控制连接用于传输控制命令,始终保持连接,直到客户端发出QUIT命令结束连接;
数据连接在需要传输数据的时候打开(发起端可以是客户端也可以是服务器),传输完毕后就断开。
FTP的数据连接有两种模式,一种是主动模式,一种是被动模式(PASV, Passive Mode)。
采用主动模式时,客户端监听一个本地端口,由服务器发起连接传输数据;
而采用被动模式时,则是由服务器打开一个端口,客户端发起连接接收数据。
下面我用telnet来模拟一个FTP客户端连接、登陆、使用被动模式传输文件并退出的完整过程:
Apr
11
两个东西。
http://niu.bi 牛逼一下,你就知道
-----
N.B. 或者 NB
notabene的缩写,
http://niu.bi 牛逼一下,你就知道
-----
N.B. 或者 NB
notabene的缩写,
引用
Used to direct attention to something particularly important.
N.B. n : a Latin phrase (or its abbreviation) used to indicate that special attention should be paid to something; "the margins of his book were generously supplied with pencilled NBs" [syn: notabene, NB, N.B.]
N.B. n : a Latin phrase (or its abbreviation) used to indicate that special attention should be paid to something; "the margins of his book were generously supplied with pencilled NBs" [syn: notabene, NB, N.B.]
Apr
11
题外话:推荐felix的vimrc, http://www.felix021.com/blog/read.php?1092
标题很清晰了:就是把你的vimrc放在代码里。
对于你写的代码,可能你习惯一些特殊的风格,比如缩进2格或者什么的。在你自己的机器上自然简单,直接写进vimrc就好了,可是如果copy到其他机器上的时候呢,就比较麻烦了,修改vimrc多麻烦阿,直接把这些格式放到vimrc里头岂不最好?
vimrc提供两
标题很清晰了:就是把你的vimrc放在代码里。
对于你写的代码,可能你习惯一些特殊的风格,比如缩进2格或者什么的。在你自己的机器上自然简单,直接写进vimrc就好了,可是如果copy到其他机器上的时候呢,就比较麻烦了,修改vimrc多麻烦阿,直接把这些格式放到vimrc里头岂不最好?
vimrc提供两
Apr
11
1. vimtutor乱码
这个简单,因为默认的是gb18030的编码(莫名其妙嘛),
$ sudo gedit /usr/share/vim/vim71/tutor/tutor.zh.euc
令存为UTF-8编码的就OK了
2. vim打开文件乱码
在linux下面,默认编码是utf-8,在windows下面,默认是cp936,纠结。
不过还好vim提供了3个和编码有关的选项:
encoding: vim显示的任何内容(包括文件正文以及提示)就是用这个了,所以非特殊情况就保持默认吧。
fileencodings: 是一个用逗号分隔的编码列表,当vim打开文件时,会按顺序检测是否是对应编码
fileencoding: vim检测到编码后,就将其存入fileencoding选项,以便在存取的时候进行对应的编码转换。
于是解决方案就是,在vimrc里面加上这样一句:
按照 http://blog.chinaunix.net/u2/87718/showart_1685218.html 页面的说法
ucs-bom和utf-8是最不容易被误判的,就放在最前面拉
gb18030和cp936(貌似就是gbk), 以及big5,euc-jp,有一定误判几率,把最经常遇到的放在前面。
那篇文章是把cp936放在gb18030前面,于是有些gb18030的文件(比如前面的vimtutor)就被当成cp936了
所以我觉得应该把gb18030放在前面:D
至于最后的latin1,貌似可有可无吧。
这个简单,因为默认的是gb18030的编码(莫名其妙嘛),
$ sudo gedit /usr/share/vim/vim71/tutor/tutor.zh.euc
令存为UTF-8编码的就OK了
2. vim打开文件乱码
在linux下面,默认编码是utf-8,在windows下面,默认是cp936,纠结。
不过还好vim提供了3个和编码有关的选项:
encoding: vim显示的任何内容(包括文件正文以及提示)就是用这个了,所以非特殊情况就保持默认吧。
fileencodings: 是一个用逗号分隔的编码列表,当vim打开文件时,会按顺序检测是否是对应编码
fileencoding: vim检测到编码后,就将其存入fileencoding选项,以便在存取的时候进行对应的编码转换。
于是解决方案就是,在vimrc里面加上这样一句:
引用
set fileencodings=ucs-bom,utf-8,gb18030,cp936,big5,euc-jp,latin1
按照 http://blog.chinaunix.net/u2/87718/showart_1685218.html 页面的说法
ucs-bom和utf-8是最不容易被误判的,就放在最前面拉
gb18030和cp936(貌似就是gbk), 以及big5,euc-jp,有一定误判几率,把最经常遇到的放在前面。
那篇文章是把cp936放在gb18030前面,于是有些gb18030的文件(比如前面的vimtutor)就被当成cp936了
所以我觉得应该把gb18030放在前面:D
至于最后的latin1,貌似可有可无吧。