'Programming' Category

  • Manage multiple wordpresses with new Vimpress

    March 10, 2011

    Update Vimpress 已经升级到2.x版本,使用、配置都有改进,请关注在vim.org的插件页面: Vimpress had been updated to 2.x, usage and configurations are now different, read the officle page in vim.org: http://www.vim.org/scripts/script.php?script_id=3510 If you noticed Vimpress before and got more than one wordpress to write, must glad now to know this VimRePressed support multiple configs and swith freely. The new VimRePressed (Version: 1.2.0) Changes: Add: [...]

  • Vim中写WordPress博客 - VimRepress

    February 27, 2011

    Update Vimpress 已经升级到2.x版本,使用、配置都有改进,请关注在vim.org的插件页面: http://www.vim.org/scripts/script.php?script_id=3510 WordPress的客户端其实不少,从live writter到scribefire,用户都不少。但是有时候我们只需要一篇博客包含简洁的HTML,这时候这些所见所得编辑器出来的结果都不一定都让人那么满意,经常需要登录到博客后台去编辑源码。 实际上最适合的还是方法还是先用markdown/reStructed/Tex/WikiText之类的语法写成,然后编译成HTML,再发布到博客。 Vim有个vimpress插件可以直接在Vim当中编辑博客,相当适合这个任务。不过由于官方页面上的vimpress已经久无人维护已经不能用了,之前对vimpress的代码做了 一些改写重构,而且得到外国网友的关注 ,而且冠名 VimRepress ,现在正式发布一个VimRepressed的版本。 比起原版的Vimpress,VimRepress有了更友好的错误提示,带了上传图片等的功能,改善了几个命令的可用性: BlogList <count> 列表文章,可以用参数定义列出多少篇文章。默认最近30篇。 BlogNew 新文章命令,会将当前的buffer内容作为文章的内容。 BlogOpen <id> 打开文章,需要手动输入post id. BlogSave <draft|publish> 保存文章,可以保存为草稿、或者直接发布。 BlogPreview <draft|publish> 预览文章,实际和BlogSave命令相同,之后会打开浏览器窗口预览文章。但如果你是保存成草稿的,还得在浏览器登录才能看到。 BlogUpload <file> 可上传图片等文件到博客。自动添加链接代码到光标后。 BlogCode <code type> 代码片段,添加一个<pre>元素的块,对程序博客特别有用,目前默认用wp-syntax插件的高亮模式。 下载: From Google Code SVN 版本: svn co http://ptcoding.googlecode.com/svn/trunk/vimpress/ 安装: 下载以上.zip文件,解压到~/.vim目录: cd ~/.vim unzip /where/you/downlaod/vimpress-1.x.x.zip 配置: 编辑 ~/.vim/plugin/blog.vim, 查找Settings,将会找到如下的一块代码: ##################### [...]

  • Release of VimRepress 1.1.2

    February 23, 2011

    Update Vimpress 已经升级到2.x版本,使用、配置都有改进,请关注在vim.org的插件页面: Vimpress had been updated to 2.x, usage and configurations are now different, read the officle page in vim.org: http://www.vim.org/scripts/script.php?script_id=3510 VimRepress is a broken fixed version of vimpress, a vim plugin to manage your wordpress. The name VimRepress is given by Justin Sattery described it a "A mod of a mod of a [...]

  • 黑莓续断膏 MDS服务器的Linux版本

    February 23, 2011

    黑莓系统5.0以上系统在没有购买使用黑莓网络服务的手机上的断网现象一直比较恼人。几个月前有人做出了“黑莓续断膏”,原理是自架一台服务器,程序模拟MDS服务的简单回应,可以忽悠手机继续在线。 5.0系统断网自动修复程序黑莓断续膏(AntiBrokenNet!) BrokenNetFixup断网修复工具 区别是前者后台自动修复,后者要手动运行修复。 从网友的留言看出,虽然软件虽然有效,但没有稳定的服务器,软件刚出现时候确实有一批地址提供了服务,但很快就失效了。北京小C这里提供了模拟MDS服务器的程序,是VC写的一个小UDP服务器,虽然原理很简单,但用一台Windows的服务器来跑成本太高了,当然很难稳定提供。 其实服务只是很简单的几行代码,稍微改了一下就可以在Linux下面运行。一台低端Linux VPS的费用大概一年200RMB,这个费用对大多数人来说都不是什么问题的,所以推荐想要稳定防断网服务器的人去弄一台,一台可以很多人共享了。VPS侦探 、Lowendbox上有很多这样的推荐。 Linux版本的MDS服务器代码在Google Code上,可以直接下载。 在服务器(Debian/Ubuntu系统)上编译并运行: 1 2 3 4 5 sudo apt-get install build-essential wget http://ptcoding.googlecode.com/svn/trunk/mds_server.c gcc -Wall -o mds_server mds_server.c sudo cp mds_server /usr/local/bin/ /usr/local/bin/mds_server 现在可以设置手机的续断软件使用这个服务器来连接断网测试了,手机连接的时候,会实时打印出手机的连接信息跟PIN码。 当然最好把程序加入系统自动启动: sudo touch /var/log/mds_server.log sudo chown nobody /var/log/mds_server.log sudo sed -i '/^exit 0/isu nobody -c "nohup /usr/local/bin/mds_server >>/var/log/mds_server.log &"' /etc/rc.local 这样程序会在系统启动后自动在后台运行,运行的LOG会记录在/var/log/mds_server.log文件当中。 下面也无偿提供一枚MDS服务器,就是跑在我的Linux服务器上的。 [...]

  • MoinMoin 与 Nginx, fastcgi 与 uwsgi 的配置

    October 13, 2010

    给自己架了个Wiki http://wiki.apt-blog.net作为自己的知识管理工具。虽然这个博客本来就是工具之一,也累积了快两年了,但经常碰到有些小东西,不值得为之写篇博客,很有用,但用完就忘记。个人wiki适合做写细小的笔记,当累积一定的时候还可以整理成博客。 Wiki我选择了用Python的MoinMoin,一定程度上受CPYUG社区 ZoomQuiet 大妈的推荐影响,首次试用感觉非常impresive,所以就定了。再加上 GraphViz 工具的支持,实在的强大。 在vps上服务,肯定是无视apache的,内存有限。之前架设过用来上Twitter奶瓶腿,是Nginx + php-cgi的方案,nginx是必须的。 Python跟web前端的架构方式有太多选择了,五花八门,MoinMoin的发行包里面都提供了moin.cgi moin.scgi moin.ajp moin.fcgi moin.wsgi等多种启动方式。MoinMoin里面全部通过内置的flup作为中间件提供这些接口,目前我仅尝试使用了fastcgi和wsgi。 虽然解压了moin的源码包就可以直接运行里面的wikiserver.py来本地访问了,但在服务器上通常是由nginx/lighttpd等服务来综合转发。php的话是通过spawn-fcgi启动一些php-cgi的进程,服务器接受到动态的请求就通过本地socket跟php-cgi通讯,返回的结果展现回给客户。php-cgi是使用FastCGI协议的。 MoinMoin 源码当中wiki/server/moin.fcgi就是一个类似php-cgi功能的fastcgi服务,类似地可以使用spawn-fcgi来启动moin.fcgi,作为后端的处理进程。 Running MoinMoin Wiki with Nginx via FastCGI and Flup该文章很形象解释了fastcgi的角色,以及提供了一段很方便的服务脚本来启动spawn-fcgi。 Client ----> Nginx Web Frontend -----------+ | fastcgi_pass \|/ +-------------------------+ moin.fcgi | spawn-fcgi-moin.socket | spawn-fcgi ---------------> | or | | localhost:port | +-------------------------+ 但是文章当中的nginx配置不完整,而且复杂了,这是我的配置: server { listen 80; [...]

  • OpenVPN连接后自动替换DNS服务器

    October 7, 2010

    因为国内的DNS服务器存在污染问题,用VPN后都不愿意用国内的DNS服务器;但是如果常用8.8.8.8等,又导致访问国内的cdn时候返回线路,导致访问缓慢;这个问题不好解决,相对好点的方法在连接vpn前使用isp提供的dns,而连接后替换成外国的dns。 但是OpenVPN的--dhcp-option配置,对非Win32的客户端是无效的,只能考虑执行自定义脚本来完成: vpnup.sh 1 2 3 4 5 6 7 8 9 #!/bin/bash RESOLVE=/etc/resolv.conf FOREIGNDNS1='4.2.2.1' FOREIGNDNS2='4.2.2.2' DNSMARK='_MK'   sed "s/^nameserver/#$DNSMARK nameserver/" -i $RESOLVE echo "nameserver $FOREIGNDNS1" >> $RESOLVE echo "nameserver $FOREIGNDNS2" >> $RESOLVE vpndown.sh 1 2 3 4 #!/bin/bash RESOLVE=/etc/resolv.conf DNSMARK='_MK' sed -e '/^nameserver/d' -e "s/^#$DNSMARK //" -i $RESOLVE 很简单,就是使用sed来完成/etc/resolv.conf文件的内容替换。 实际上我还使用了chnroutes的脚本生成的国内路由表,上面两段只是分别贴到其中的vpnup/vpndown当中。

  • Across the Great Wall we can reach every corner in the world

    July 6, 2010

    2010-7-26 Updated: 支持侦测繁忙服务器。 Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 #!/bin/bash   LOCAL_PORT=7070   auto_login_ssh () { expect -c "set timeout -1; spawn ssh [...]

  • An improved Vimpress

    July 3, 2010

    Vim has been so graceful that I like to have any text editing work done in her, especially coding and blogging. As a Firefox user, I previously use scribefire to write to my wordpress blog, actually I was working with HTML, I don't like WYSIWYG editing, which always creates dirty codes. However, scribefire is not [...]

Page optimized by WP Minify WordPress Plugin

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org