月度归档:2010年10月

一个解决550d录制视频出现“短片记录已经自动停止”的方法

网上搜索过了,550d录制视频出现短片记录已经自动停止的原因是SD卡的写入速度跟不上。于是就怀疑这张16GB的SD卡不是正品,但是今晚下载了一个bench32的软件对介质做了一个测试,读写速度都没问题,达到了SDHC Class6的水平。

继续阅读

550d/t2i试拍几张

因为拍摄的时候设置的分辨率太大,文件有6MB(5184 x 3456),故用gimp2处理了一下。重新导出后小于1MB,便于快速上传。


相机: Canon EOS 550D     焦距: 29mm     ISO: 400     光圈: f/4.5     快门: 1/60    

还未会使用机器,正在学习中。用自动模式,夜晚开了闪光灯。

继续阅读

用纯C面向过程写icefox3的代码

6月底在Ubuntu下写了个框架,这几天发现写不下去了,又重新用Codelite组建了一次代码。还是采用纯C的代码,和以前的一些代码不同之处是,这次不打算使用面向对象的思想去指导我的代码,取以代之的是马列主义和毛泽东思想。似乎觉得面向过程更适合使用异步的socket,所以这次也没必要用到多线程编程了。

其实,我一直很赞成多线程编程在大多数时候能够把很复杂的东西变得很简单,只要能把资源管理好即可。而基于事件响应的编程通常连写一个最简单的ftp服务器程序都会变得异常复杂,尤其在使用非阻塞socket的时候。我所指的复杂和简单是针对建模和代码构建方面,而不是在代码量上。阅读一个多线程ftp服务器源代码比一个单线程异步的ftp服务器源代码要轻松得多。多线程的时候你只需要知道一个线程要做什么,其它的线程都是做相同的东西了。而且这些线程的工作都是有很严谨的执行顺序,先做什么后做什么。但是单线程异步的时候情况就不同了,往往一个线程在处理一个连接请求的时候又突然进入了等待状态,而紧接着又跑去了执行别的代码,这样一来你就不容易看出程序的执行次序和所做工作的流程图。

继续阅读

晚上写了个FastCGI进程管理器

之前一直使用单个进程都php-cgi。存在一个很严重都问题就是,php-cgi不稳定导致程序异常退出时,需要外部程序重新启动php-cgi。而且因为socket还要等待一段时间才能断开,所以要等一段时间(大概30多秒)才能重新启动成功。这样就产生了一段时间无法使用php都网页,很是烦恼。之前就一直想写一个php-cgi都进程管理器。
继续阅读

HTTP优化:使用gzip压缩所有文本文件

众所周知,wordpress实在是太大了,文件也多。使用syntaxhighlighter后,还多了一堆js文件。很有必要在文件传输上进行一下优化。
一般像搜索引擎等访问量大的页面都会使用到页面压缩以减少流量和减少服务器负担。通常采用的方法是在HTTP头里加入Content-Encoding选项。
一个典型的HTTP请求:

GET / HTTP/1.1
Host: xiaoxia.org
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 Chrome/6.0.472.63 Safari/534.3
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
If-Modified-Since: Tue, 19 Oct 2010 04:33:34 GMT

继续阅读

终于用上WP

花了一天时间,奋战10多个小时。
终于比较成功地把原博客的数据库转移到现在的wordpress上来!
感觉wordpress真的慢得可怜,在速度上肯定比之前的慢很多,不过功能上也满足了。

我之前以为要直接把mysql里wp的数据库挖出来看看,后来发现通过后台管理面板的导入工具,可以很方便得导入符合一定格式的xml文件。所以,我花了一点心思写了一段php代码,把之前的数据库内容导出来,以wp格式输出来。
不过不是很顺利,我发现wp的数据库里没有单个帖子访问量的统计,需要使用插件才能实现这个功能。这个比较棘手,我后来直接把原来访问量的数据扔掉了,有点可惜,呵呵~

php代码:
继续阅读