clowwindy的杂草牧场

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年12月28日

摘要: 今天发现ipad在ubuntu上会一直显示Not Charging,搜了一下,发现有人写了一个ipad_charge程序:https://github.com/mkorenkov/ipad_charge/看了一下源码,是通过发一个控制指令实现开始和停止充电的。于是用pyusb(apt-get install python-usb)移植了一下:#!/usr/bin/pythonimport usb.coreimport usb.utilimport usb.backend.libusb10import sys, getoptopts = getopt.getopt(sys.argv[1:],&# 阅读全文
posted @ 2011-12-28 15:57 clowwindy 阅读(2599) 评论(0) 推荐(0) 编辑

2011年11月6日

摘要: 在上次的回到旧版Google Reader外观中,解决了新版Google Reader的外观问题。这次把keakon的启用分享功能的Chrome插件Reader Sharer移植成了油猴脚本,解决了分享问题。另外显示了被Google隐藏起来的People you follow,可以展开折叠,选择查看具体用户分享的文章。脚本安装地址:旧版样式:http://userscripts.org/scripts/show/117034不修改样式:http://userscripts.org/scripts/show/117189效果: 阅读全文
posted @ 2011-11-06 10:34 clowwindy 阅读(682) 评论(0) 推荐(1) 编辑

2011年11月2日

摘要: 昨天Google推出了新版的Google Reader。新版修改了界面外观,和Google+整合了起来,去掉了原来的分享和Like功能。我不喜欢新版的这些改动,主要包括:我不想使用Google Plus。无法看好友分享的文章,除非到Google+上看。Google Plus像一个菜市场,Google Reader像一个图书馆,硬把它们整合在一起时不恰当的。少了Note in Reader书签脚本。我一直用这个东西收藏文章。新版界面按钮间距过大,不适合小屏幕(我现在用的笔记本分辨率是1366x768)。对比度太低,看着很吃力。我想Google的设计人员用的都是对比度较高的27寸IPS屏幕吧,没考 阅读全文
posted @ 2011-11-02 15:19 clowwindy 阅读(1747) 评论(3) 推荐(0) 编辑

2011年10月31日

摘要: 有很多网站会在链接上加上target=_blank,迫使链接在新窗口中打开,比如新蛋网。这样做的目的是为了让用户开尽可能多的标签页,延长用户的停留时间。对于我这种不喜欢开太多标签页的人来说,这一做法很讨厌。今天见到了一个Firefox扩展:TargetKiller,可以把链接的target干掉。它可以设置移出哪些target(默认是_blank和_new),也可以用正则表达式匹配,不过感觉意义不大。不过这一插件对window.open就无力了。 阅读全文
posted @ 2011-10-31 16:14 clowwindy 阅读(651) 评论(0) 推荐(0) 编辑

摘要: 今天在用py2exe的时候,发现如果把exe设为随windows自动启动,无法用相对路径加载资源文件。研究了一下之后发现,自启动的程序的当前目录在c:/users/username下,而双击exe运行时当前目录在exe所在目录。查了一下py2exe文档,提到了获取exe路径的办法。所以,我们只需要在第一行代码执行前,cd到exe所在目录,就能保证相对路径没有问题了:os.chdir(os.path.dirname(sys.executable)) 阅读全文
posted @ 2011-10-31 15:55 clowwindy 阅读(726) 评论(0) 推荐(0) 编辑

2011年10月26日

摘要: 今天发现博客里的老文章代码缩进全部失效了,所有的代码左边都没有空格。研究了一下发现代码块的源码里没有<pre>标签,全是<div>和<span>。回想起以前有一次在后台调整了很多文章的tag,可能点保存的时候,HTML在线编辑器做了什么多余的事情吧。考虑到把老文章全部改一遍比较麻烦,就打算全局修改一下。首先想到了white-space:pre,可惜会导致Firefox复制不出空格,而IE完全不起作用。接下来就是用js了,在每个没有<pre>子节点的代码块最外层<div>下面插一个<pre>标签:$(".cnblo 阅读全文
posted @ 2011-10-26 17:53 clowwindy 阅读(563) 评论(0) 推荐(0) 编辑

摘要: 这几天在做项目打包的时候,因为要保护知识产权,所以将py文件编译成pyc文件再打包。于是研究了一下,编译的方法很简单,用compileall.compile_dir()函数就可以了。首先,将项目拷贝到一个目录(过滤掉.开头的隐藏文件),然后编译,最后删除.py文件。这里有一个问题,就是原来的源码目录下可能已经有pyc了,所以在编译的时候要指定force=1强制编译一下,覆盖掉这些文件。下面是打包脚本:BUILD_PATH = 'build/'PROJECT_PATH = 'src/'import osimport os.pathimport shutilimpo 阅读全文
posted @ 2011-10-26 16:54 clowwindy 阅读(1470) 评论(0) 推荐(0) 编辑

2011年10月14日

摘要: 在普通的WebKit浏览器上,可以用CSS3轻松的加一个柔和的阴影效果:box-shadow: 3px 3px 3px rgba(0,0,0,0.5);不过在目前版本的Qt Webkit上,由于不支持阴影的模糊算法,阴影会显示的很生硬。由于项目用到QtWeb,不可变更,只能想一个变通的办法。最后想到因为阴影可以加多个,所以我们可以加若干个偏移不同的阴影叠加起来,使它看起来是模糊的:-webkit-box-shadow: 5px 5px 3px rgba(0,0,0,0.1), 4px 4px 3px rgba(0,0,0,0.1), 3px 3px 3px rgba(0,0,0,0.1), 2 阅读全文
posted @ 2011-10-14 15:15 clowwindy 阅读(957) 评论(0) 推荐(0) 编辑

2011年9月27日

摘要: mysql -u [USER_NAME] -p -e "select TABLE_NAME from information_schema.tables where table_schema='DATABASE_NAME' and engine='MyISAM';" | tail -n +2 | xargs -I '{}' echo "ALTER TABLE {} ENGINE=INNODB;" > alter_table.sqlperl -p -i -e 's/(search_[a-z_]+ 阅读全文
posted @ 2011-09-27 09:46 clowwindy 阅读(1106) 评论(0) 推荐(0) 编辑

2011年9月25日

摘要: 因为项目要用到Memcache,就研究了一下,然后记个流水帐。Memcached是一个开源的分布式内存对象缓存系统。虽然从本质上看用途很宽泛,但它的主要设计目的是通过减轻数据库负载来加速动态网站。它本身作为单独的进程运行,通过TCP和需要存取数据的其它进程(如php、python)通信。以Debian为例,它的安装非常简单:先装上libevent-dev包,然后解压源码,编译安装即可。./configuremake && make installPHP有两个模块:Memcache和Memcached。他们都是PHP的memcached客户端库,只不过Memcached提供了更多 阅读全文
posted @ 2011-09-25 20:01 clowwindy 阅读(962) 评论(1) 推荐(0) 编辑

2011年9月23日

摘要: 首先承认这个标题标题党了:)。在上次的FreeBSD和linux的nginx静态文件性能对比测试 后,我萌发了自己动手做一个简单的Web Server来搞清楚nginx高性能背后的原理的想法。最后成功实现了一个基于epoll的简单的HTTP服务器,实现了200,404,400,304响应,并且性能比nginx高了一点点。本文主要介绍这个HTTP服务器的原理和设计过程。阅读了一些文章(见最后的参考阅读)后,我整理出了以下要点:实现多并发的socket服务器有这样几个方法:1. 多进程共享一个监听端口bind之后使用fork()创建一份当前进程的拷贝,并启动子进程。子进程采用阻塞式accept、r 阅读全文
posted @ 2011-09-23 16:34 clowwindy 阅读(29488) 评论(23) 推荐(7) 编辑

2011年9月19日

摘要: 最近准备换VPS,看到有VPS支持FreeBSD,就打算试试。想了解一下它和linux性能上的差异,就在网上找了些文章看了看。很多文章都提到FreeBSD更适合做前端的文件服务器,它的数据库性能和SMP性能不如linux。不过这些文章要么比较老,要么就是纯粹的口水仗,缺乏翔实的数据支撑。于是还是决定自己多装几台虚拟机测试一下好了。 阅读全文
posted @ 2011-09-19 20:21 clowwindy 阅读(3116) 评论(0) 推荐(0) 编辑

2011年3月20日

摘要: JsonExSerializer是一个.NET的Json序列化和反序列化库。近日在用JsonExSerializer解析twitter数据时发现,它无法反序列化Json时间日期类型的字段。经过一番摸索,找到解决办法,就是给它的Context里加一个自己的处理器,处理时间日期类型: public class DateTimeHandler : IExpressionHandler { public bool CanHandle(JsonExSerializer.Framework.Expressions.Expression expression) { ... 阅读全文
posted @ 2011-03-20 13:22 clowwindy 阅读(918) 评论(0) 推荐(0) 编辑

2010年10月1日

摘要: 周所周知,在windows版的chrome上,对点阵字体使用text-shadow给字加上有模糊半径的阴影或发光效果后,会发生下面的现象:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->a:hover{text-shadow:0 0 0.2em lightblue,0 0 3em lightblue,0 0 0.5em lightblue !important;}今天无意中发现,用一个小小的hack就能解决这个问题:Code highligh 阅读全文
posted @ 2010-10-01 15:38 clowwindy 阅读(2182) 评论(1) 推荐(0) 编辑

摘要: sm115 for firefox作者: clowwindy版本: 0.4安装地址: https://addons.mozilla.org/zh-CN/firefox/addon/235279/使用说明:Firefox安装本扩展后,115在高峰时段也会直接显示下载链接,不需要使用优蛋。点击“继续提取”按钮,可以再次提取一组下载链接。开源协议: MIT License,欢淫各位大大移植到其它浏览器源码: 将xpi文件按zip解压即可sm115 for IE作者: clowwindy版本: 1.0下载: http://files.cnblogs.com/clowwindy/sm115_IE_1.0 阅读全文
posted @ 2010-10-01 14:14 clowwindy 阅读(1030) 评论(1) 推荐(0) 编辑

2010年9月24日

摘要: XP3 Dumper GUI作者:clowwindy经征求xp3dumper作者Resty本人的同意,为xp3dumper做了这个GUI,提供简单的GUI调用功能。使用说明: 1.选择游戏启动exe和执行exe,它们的区别在于前者可能只是一个引导用的破解补丁(如sinsemilla_boot.exe),后者才会是游戏运行时的进程(如sinsemilla.exe)。如果没有这样的引导程序,它们就是同一个exe文件。 2.选择要解包的xp3文件和保存路径。 3.如果游戏需要转区才能运行,选择SoraApp可以调用SoraApp(今后版本会支持NTLEA)转区运行游戏,前提是你安装了SoraApp或 阅读全文
posted @ 2010-09-24 21:06 clowwindy 阅读(13961) 评论(2) 推荐(0) 编辑

2010年9月12日

摘要: 这是上次urllib2版的升级版,直接放在Google AppEngine上跑,顺便加了星成就。不得不吐嘈某人让题目跟答案一起POST,于是不用每次解析出题目组织答案了。#!/usr/bin/env pythonfrom google.appengine.ext import webappfrom google.appengine.ext.webapp import utilfrom google.appengine.api.urlfetch import fetchimport reclass CronHandler(webapp.RequestHandler): def get(se... 阅读全文
posted @ 2010-09-12 14:26 clowwindy 阅读(2873) 评论(0) 推荐(0) 编辑

2010年9月11日

摘要: I'm using django with a legacy mysql db which uses TIMESTAMP columns. Django's inspectdb recognize those fields as int fields. This caused troubles if you want to render its value into a readable date. I googled and found this solution:http://ianrolfe.livejournal.com/36017.html代码Code highlig 阅读全文
posted @ 2010-09-11 18:34 clowwindy 阅读(3261) 评论(0) 推荐(0) 编辑

2010年7月18日

摘要: toratoratoratora 1.0 beta用途:批量提取tora.to(jsharer)下载链接作者:clowwindy使用说明: 1.将以上蓝色图标拖到书签(收藏夹),或按右键添加到收藏夹里。2.打开一个下载页面,如:http://tora.to/blog/377491.htm3.打开完毕后,点击浏览器的toratora书签(或收藏)。4.有可能要求输入验证码,输入一次即可。5.将会自动开始提取链接,请等待提取完成。已提取的链接背景颜色会变成黄色,点击可以直接下载。6.如需批量下载,IE中可以用右键->使用FlashGet下载全部链接,Firefox可以安装FlashGot扩展 阅读全文
posted @ 2010-07-18 13:17 clowwindy 阅读(4656) 评论(4) 推荐(0) 编辑

2010年7月17日

摘要: 服务器所用的发行版yum list nginx的最新版本是0.7.65,看了下release notes,还是有必要升级到0.7.66以上的。wget http://nginx.org/download/nginx-0.7.67.tar.gztar zxf nginx-0.7.67.tar.gzcd nginx-0.7.67nginx -V查看发行版自己的nginx的配置参数,然后照搬,这样目录就和发行版的nginx一样./configure xxxxxmake此时报错:pcre.h not found查看configure记录,在/usr/include/pcre/找到了PCREgoogle 阅读全文
posted @ 2010-07-17 18:48 clowwindy 阅读(680) 评论(0) 推荐(0) 编辑