Apr 16
贴出来,以后说不定会来查:D
本来想搞一个ASCIILaTeXMathML.js进来的,不过对IE的支持不够好,而且太大了,所以就不整了。
Apr 14
看了一天的lshort,终于对LaTeX的使用有了大致的了解,不过还是有些不够熟悉。
决定写个东西练手,但是写着写着遇到一个难以逾越的问题:
使用\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 宏包通常要求放在导言区的最后!!!

又因为一直是直接用pdflatex b.tex编译的文档,以为是需要按照正常的方式,于是
引用
$ latex b.tex
$ dvips b.div
$ ps2pdf b.ps

可是在第一步提示
引用
LaTeX Warning: Reference `def' on page 1 undefined on input line 31.
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

然后生成的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客户端连接、登陆、使用被动模式传输文件并退出的完整过程:
Tags: , ,
Apr 11

NB的NB之NB 不指定

felix021 @ 2009-4-11 14:33 [IT » 其他] 评论(0) , 引用(0) , 阅读(4210) | Via 本站原创
两个东西。

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.]
Apr 11
题外话:推荐felix的vimrc, http://www.felix021.com/blog/read.php?1092

标题很清晰了:就是把你的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里面加上这样一句:
引用
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,貌似可有可无吧。
Apr 10
安装bo-blog的时候还不太懂编码的问题,于是数据库的编码就选择了按照服务器的设置存取。
于是在phpmyadmin里面看到的数据,只要遇到中文,全部都是乱码,郁闷。
花了一点时间,转换了一下:
1。用我的那个后台管理程序,它有数据库备份功能,备份出来的就是UTF-8编码的了。
2。修改数据库编码。直接在phpmyadmin里面修改,或者运行
ALTER DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

3。导入第一步备份出来的数据库文件。
4。对于bo-blog,还需要修改data/config.php里面的$db_410,把后面的"0"改成"1"
哦也,问题解决拉~
Apr 9
好吧,你不用查了,就是一个无线路由器。我的第三个无线路由器。
前两天和sheen聊天的时候随口向他推荐袖珍无线路由器
然后搜了一下,就发现了几款,其中wl-530g是最小,最漂亮的
整机尺寸是12.9cm * 4.3cm * 2.9cm,只有不到一个巴掌那么大。太可爱了。
淘宝上看到价格是178.4+15运费,于是一冲动就付账了(冲动是魔鬼!)
今天下午2点,我还在开往樱顶的车上时,快递的电话打过来了。让朱帮忙取了回来。
晚上回到宿舍,就看到它躺在我桌上,马上抽出刀子划开包装—果然惊艳!太可爱了~~
打开说明书,看到目录的最后一条:GPL !
Oh My God,简直是太令人happy了:又是一款开源无线路由器!本来只是打算拿来随便玩玩的,真是惊喜阿!
快速浏览完说明书,打开电脑,连上路由器,于是又见到了这个世界上最ugly的无线路由器管理界面。
还是openwrt论坛的Mr. db90h说的好,华硕无线路由器的界面设计人员要么是色盲,要么就是对界面设计毫无感觉。
[  "The author was clearly either color blind or otherwise not inclined towards visual design."  ]
然后马上打开restore.exe,选中tomato固件,拔掉路由器电源,用挖耳勺捅住reset按钮,加电,等灯闪,点击update...
(居然跟wl-520gu的恢复方法一样,asus的这个恢复方法做的还是蛮不错的)
可惜在上传过程中提示固件有问题,不能用。
于是上网搜了一下,原来530g的CPU是marvel的芯片(160MHz),不是broadcom的,不能刷dd-wrt/tomato
不过4M Flash + 16MB RAM倒是不错。
然后看了看openwrt的论坛,有一个帖子有人提出这点,但是openwrt的开发者对530g不感冒
http://forum.openwrt.org/viewtopic.php?id=5012
有个人问,有没人有兴趣拿笔钱(wl-530g)开始搞这个?
Mr db90h说,我就试着整整。
于是就开始整了,于是就整出了不少成果。
http://www.bitsum.com/openwiking/owbase/ow.asp?WL-530G
把openwrt移植了,虽然还是beta版但是有不少功能了(但是貌似没有MMU!)
然后搞明白了怎么开启telnetd,还整出一个firmware-mod-kit
http://firmware-mod-kit.googlecode.com/
可以直接解压firmware, 修改,打包。
试了它的beta版firmware,不能启动=.=
于是还是刷回来。
然后用那个firmware-mod-kit解包,开启telnetd,加入我给wl-530gu编译的newstar(mips)
然后刷进去,启动,telnet — 哦也,连上了!
不过固件里面的sash真LJ阿。。。Orz华硕的开发人员。。就算为了测试固件,你们也该用个好点儿的shell阿!
不过newstar不能正常运行,提示二进制文件格式不对。
然后用asus提供的toolchain重新编译了一下这个newstar,加入固件,打包。。。。
可惜停电了,现在不能测试=.=
明天。。。

--

@ 2009-04-09
中午测试了一下,还是提示exe format error。Orz.
# cat /proc/cpuinfo
然后发现是arm的处理器,ooxx的华硕,提供的toolchain是mipsel的。。。orz他们到无限。。。
回头再去整吧,没那个精力了。。。
分页: 49/103 第一页 上页 44 45 46 47 48 49 50 51 52 53 下页 最后页 [ 显示模式: 摘要 | 列表 ]