screen命令备忘

Screen是一个用来远程管理终端的工具。 screen -S <shell name> # 开启一个新shell,以<shell name>为名称 #进入shell后使用ctrl + A/D detach当前shell screen -r < »

在Python上实现语谱图

最近打算彻底从Matlab转移到Python,遇到了个问题就是如何将语音转换成语谱图。 代码如下: import numpy, wave # filename 是文件名 # window_length_ms 是以毫秒为单位的窗长 # window_shift_times 是帧移, »

Couldn't import dot_parser问题的解决

最近给新进的两台Tesla K40工作站装Theano环境,发现它的依赖——pydot在import的时候总会出现一个Couldn't import dot_parser的错误。 谷过之后发现是dot_parser的依赖pyparsing的版本太高了,而dot_parser一直没 »

修改Sphinx避免使用Google APIs的字体

由于google被墙,很多字体缺失,导致大量网站访问缓慢。尤其是最近需要下载很多文档,而这些文档使用Sphinx编译,其中用到了大量的google字体和被墙的第三方CDN。 Sphinx中的字体CSS等文件与文档无关,而是与Sphinx的模板有关,例如最近下载的Tornado文档 »

苹果上用ssh做代理服务器的脚本

如果你有一台国外的VPS,装了ssh-server(vps应该全都装了否则你没法远程访问),那么作为苹果用户你可以用下面的脚本来快速使用vps作为代理服务器翻墙。 使用前请先把下面几处尖括号改成你的信息。然后给这个脚本chmod +x <脚本文件名> 使用时./< »

使用ntfs-3g让Yosemite支持NTFS读写

由于NTFS属于商业文件格式,所以一般厂商是不支持NTFS格式写操作,尤其是Mac,只能读取NTFS格式的磁盘。 一直在用Paragon NTFS,后来由于Paragon三天两头升级要钱的流氓行为,打算不再用它了。谷歌到了一些能够读写ntfs格式的开源软件,主要就是ntfs-3g »

A*算法走迷宫

A*算法是一种启发式搜索算法。与常见的深度优先、广度优先等算法相区别的是,A*算法可以为下一次搜索提供一个启发式信息,来让每一次搜索步都在朝着“很可能”的方向前进。这样就明显比其他无方向的搜索算法优秀得多! A*算法考虑到了从该位置到终点的估价信息和从起点到当前位置的代价信息。将 »

使用IntelliJ IDEA进行Python远程调试

摘要 随着近期研究的深入,越来越多的运算程序只能在位于远程环境的GPU运算服务器来执行。这些程序例如Theano、PyLearn2等需要使用GPU加速,所以代码必须放置在服务器端运行。由于程序使用Python编写,所以之前实验室一直使用IPython Notebook进行开发。但 »

Blog搬家

Blog从DigitalOcean的新加坡服务器搬家到了云龙的香港云VPS,速度还不错。 顺便把臃肿得不行的Wordpress换成了Ghost! Ghost由前Wordpress两位员工离职创立,使用Node.js进行开发。特点是非常之轻量化,使用Markdown进行写作,而优秀 »

编写Linux服务

最近需要把ipython notebook装到服务器上,但是每次ssh去手动打开太麻烦了。而且如果ssh客户端断开了,notebook也就自己关了,这对我们一个模型需要跑半个月的人们来说是不可接受的。 然后早上花了一个小时时间,照着教程终于把ipython notebook做成l »

使用numpy随机打散训练数据

好久没写东西了……有必要放一些东西撑撑场面了…… 在机器学习中,如果训练数据之间相关性很大(例如连续的语音分帧),可能会让结果很差(泛化能力得不到训练)。这时通常需要将训练数据打散。 在python中可以使用numpy.random.shuffle(x)的方式打散数据,也就是说将 »

在Mavericks下编译OpenNI2+libfreenect

最近打算折腾一下Kinect,懒得给Mac装windows,所以准备用OpenNI2. 查了一下资料,发现OpenNI2已经变成了一个独立的软件平台,硬件设备通过一个统一的接口编写驱动。对于Kinect来说,微软是不会为它在Mac OS上写驱动的,所以这时候就有了一个叫做“Ope »

Debian下重建MySQL数据库

经常由于折腾,数据库损坏了或者密码丢了,可以重建一下数据库: service mysql stop rm -rf /var/lib/mysql mysql_install_db service mysql start mysqladmin -uroot -p pa »

Node.js中向Spawn出的线程传递stdin数据

在Node.js中提供了“child_process”模块,其中的spawn是一个非常有用的工具。利用这个工具能够打开一个子进程,并且可以接管这个进程的stdio数据。 代码如下: var spawn = require('child_process').spawn('./a.o »

Jade官方教程翻译草稿

(随手翻译,误多莫怪。翻译整理自Jade官方Tutorial) Jade是一个服务器端模板系统,它主要用在Node.js,同时也支持很多其他环境。它唯一的目的就是去产生“类XML”格式的文档,例如HTML、RSS等。所以不要使用它去创建纯文本、markdown、CSS之类的文档。 »

Express 学习笔记(3):创建Express应用程序

(注:部分示例摘自或修改自《Pro Node.js for Developers》) Express提供了一个控制台工具,用来方便地创建一个Express文件结构。这个文件结构包含了一系列配置文件、路径文件等等,能够很好地规划由大量代码构建成的网站。 例如下面我们创建了一个叫做t »

Express 学习笔记(2):路径参数(Route Parameter)

(注:部分示例摘自或修改自《Pro Node.js for Developers》) Route Parameter 上次我们讲到了Express中的“路径”(Routes)。在Express中,我们可以通过调用get()、post()、delete()等函数来指定“当某个URL »

Express 学习笔记(1):Express中的路径(Routes)

(注:部分示例摘自或修改自《Pro Node.js for Developers》) Express Routes(路径) Express中的一大特色就是方便的“路径”管理方式。所谓路径,就是指用户所访问的目的地和访问的方法(HTTP method)。例如“用GET方法访问/ »

在Mac下使用LaTeX的中文字体

LaTeX我比较喜欢用LaTeX Live。。里面已经集成了ctex。我的版本是2013版 但是有个问题是,ctex最早是为了windows设计的,所以里头好多的字体设置不太适用于mac。 常见症状就是编译使用了ctex的文档的时候报错: !!!!!!!!!!!!!!!!!!!! »