EverET.org

好记性不如烂笔头

Keep Learning

| Comments

今天屠文翔同学问了我一个在PIL中获取像素操作的问题,我想也没想就说道可以使用getpixel和putpixel操作像素,因为我之前一直也是使用这两个API。过了一会,屠文翔同学问我是否用过load()这个API,我直接就说这个不是操作像素的。我之前在浏览PIL源码的时候,经常会见到调用这个函数,不过都只是纯调用,self.load(),连返回值都不获取。也没仔细看,就认为这个仅仅是装载数据。

由TT引发的思考

| Comments

TT是一个很古老的打字软件,还运行在DOS下,能够存活这么多年实属不易。对于这么一个DOS程序,它的优势也起来了。因为DOSBox的跨平台,于是TT也可以跨平台了。

这多么像以前我们小学的用DOS的电脑里面的东西,突然想起以前的LOGO语言和打的雷电也是这种感觉。好吧,其实我也不是那么怀旧,如果不是去实习,也不会遇到一个如此奇葩的程序。蓝色背景绿色前景,这个我在实习的时候经常会在新入职的童鞋们的电脑上看的这样的搭配。他们都在练TT,而且不练到60 WPM就不能转正,这还是真是压力巨大。

为了以后节省一点打字时间,我也开始练习TT,虽然在之前的几个月都有练TT,但是发现除了对于数字和特殊符号熟悉了一些外,没有什么进步,一直都维持在40+ WPM,离60还有很大的距离。虽然我练的时间比较少,但是也不至于这样基本没进步吧。难道我一辈子都要维持在这种龟速了。

穷则思变

经过观察,貌似我打英文的速度也不至于那么慢,只是准确率很低,要经常删去打错的,于是乎这样整体速度就还是很慢了。

Screenshot and Image Paste in Emacs When Writing Markdown

| Comments

Octopress首选博客语言是Markdown。于是又是Emacs大显身手的时候了。

在用Markdown写东西的时候,我想最蛋疼的应该就是插入图片了。

正常的插入截图的步骤可能为:

  1. 打开截图程序截图
  2. 保存截图到Octopress的制定目录中
  3. 然后在Markdown中写上图片的url的地址

这样一次两次还可以接受,如果长期这样是在让人受不了。对于我这种懒人,首先就要偷懒,让Emacs帮我们做这些事情。

功能演示

截图

我们按下C-c C-s s就开始截图了,截完图后,会自动保存到我们指定的目录,例如我的是~/octopress/source/imgs/

下面这张图是用Emacs截图自动插入的: 用起来感觉很爽,按下快捷键,一截图,唰一下就出来一段代码。

From Wordpress to Octopress

| Comments

为什么

为什么离开Wordpress选择Octopress? 在Google中搜索Wordpress+Octopress就会找到整版整版的从Wordpress迁移到Octopress的博文, 其中有介绍各种迁移的理由,例如Wordpress太臃肿,Octopress可以让我们像黑客一样写博客。

这些都太高雅了,我只是不喜欢PHP那一坨一坨文明用语一样的代码,这样改起来的时候实在是让人蛋疼。而Octopress是Ruby写的,于是可以借机学习一下Ruby这个是主要原因)。

调试Nginx

| Comments

为什么调试Nginx

为什么要调试Nginx,原因多种多样。如果阅读源码的话,开着进程单步走下去不失为一种很好的源码导读方式。

编译Nginx

bash
1
2
3
  ./configure --prefix="$HOME/my-nginx" --with-debug
  make && make install

当然还要看一下,生成出来的的Makefile是不是有-O优化,如果有的话需要关闭优化,可以看一下根目录下的Makefile以及objs/Makefile。有的话记得需要改成-O0或者直接删掉就好了。

MoinMoin+Nginx+uWSGI搭建个人Wiki

| Comments

有博客,为什么还需要Wiki呢?

有博客,为什么还需要Wiki呢?对于这个问题,我也思考了许久。博客记录的东西很扁平,而且不太适宜记录一些零碎不完整的东西。如果别人订阅了你的博客,你的博客却经常发布一些不完整的内容,这样会严重影响别人的心情。所以我觉得博客适宜将一些比较完整的内容的写在里面。此外,平时在网上看到什么东西,虽然都可以收录到EverNote里面(EverNote里面有提供目录以及标签可以很好地进行分类),但是,EverNote的劣势在于,不方便将知识组织知识,将它们串联在一起。

而在Wiki中知识是以词条形式,词条与词条间可以方便地建立关系。很容易组织成树状结构。

此外,Wiki可以使用轻量标记语言编写,优点是纯文本,容易阅读和编辑,能够让我们的注意力集中于撰写内容而非形式。特别在Emacs或者Vim里面可以方便地半可视化地编写Wiki。我第一次尝试就对其爱不释手,终于可以从Wordpress,Word等SB的需要鼠标辅助编辑的编写过程中解脱了。

于是我又开始物色Wiki,以前有用过PHP实现的Wiki,现在决定找一个Python实现的Wiki,很快就找到了MoinMoin,它是一个由Python实现的Wiki系统,文件存储,选一种自己喜欢的语言编写的Wiki系统,日后定制起来会方便一些。

有什么样的硬件,用什么样的软件

| Comments

两年多前买的摩托罗拉的里程碑1代,现在竟然已经无力支撑go桌面这样庞大的软件了。虽然我很喜欢go桌面,但是,现在手机已经无力承担如此重负。确实,什么样的基础就应该过什么样的生活,过高的追求只会让生活变得像一条狗一样,苟延残喘。 

VPS主机商跑路了

| Comments

刚刚切换到风云主机没一个月,而且还是年付的,没想到月底风云主机就倒闭了,A大也跑路了。在收到风云主机的邮件时,风云主机的官网vpswind.com也打不开了,邮件发了也没人回,付款看样子也讨不回来了。不过,好在A大在倒闭前的26号还发了邮件说要倒闭了,言下之意就是要我们自己备份好,然后自己卷卷铺盖走人,也给了几天时间备份数据。

不得不说,风云主机的VPS性价比还是挺不错的,只是没有考虑到倒闭问题。所以,高性价比还是有风险的,而且一旦发生意外,那么所谓的高性价比马上就变得子虚乌有了。

配置多用户的虚拟主机

| Comments

趁这段时间有空,换成Xen的VPS,系统装了Ubuntu 12.04。决定重新配置一下服务器,另外将Web Server从Apache换成Nginx。

目标

搭建一个前端为nginx支持多用户的php虚拟主机。每个站点可以跑在不同的权限的用户下,一个站点被黑的时候希望不要影响到另一个站点,或者一个同学也不要可以随意访问到别的同学的内容。

行动

Screen在ssh远程登录中的使用

| Comments

11月了,没想到10月份竟然木有写博客。这几天在迁移服务器,时间不赶,就慢慢弄,顺便记录一下一些技巧。

首先,远程ssh登录到服务器,可能中途会出现网络断掉或者超时,这时候ssh里面就打不了字了,就只能关闭再重新连接。如果我们用vim编辑一个文件到了一半的话,就会蛋疼地多了一个swp。那么如果我们希望在重新连接回去的时候,可以回到之前的工作状态,我们应该怎么办呢?答案是借助screen。

对于screen的使用就不再罗嗦了。具体可以参看后面的参考资料中提供的链接。

一些技巧

下面可能会与诸位使用习惯有所冲突,请见谅。

把ctrl+a还给我

首先,screen的命令的前缀是ctrl+a,进入screen后,ctrl+a就成了命令前缀了。我经常使用ctrl+a跳到行首,ctrl+e跳到行尾,所以需要修改一下前缀,否则ctrl+a跳到行首这个习惯就得改了。我们在家目录下面创建一个文件~/.screenrc。然后在里面写上

bash
1
escape ^Zz

然后就把前缀改成ctrl+z了,如果需要暂停程序的话,就用ctrl+z z来暂停。这样ctrl+a就回来了。

偷懒

每次打screen真麻烦,我们在~/.bashrc中加上