#imgur ban China IP def up_to_imgur(str1): #str1:the piciture string,maybe file.read or cstringio.read import base64,urllib,urllib2 try: import simplejson as json except: try: from django.utils import simplejson as json except: import json url = 'http://api.imgur.com/2/upload.json' itemData = {"key":'9172d22a0f67a9a43a01927ead00f2b1','image':base64.b64encode(str1),} itemData = urllib.urlencode(itemData) fw = urllib2.urlopen(url, itemData) r1 = json.loads(''.join(fw.readlines())) return r1['upload']['links']['imgur_page']
Uploading piciture to imgur using python
Something about go language
reference:
http://golang.org/doc/install.html
http://google-go-lang.blogspot.com/2009/11/fatal-error-cant-find-import-fmt.html
http://go-lang.cat-v.org/text-editors/vim/
http://golang.org/doc/codelab/wiki/
go editor plugin:
notepad++:
http://go-lang.cat-v.org/text-editors/notepad-plus-plus/
vim
Place $GOROOT/misc/vim/syntax/go.vim in ~/.vim/syntax/ and put the following in ~/.vim/ftdetect/go.vim:
au BufRead,BufNewFile *.go set filetype=go
install instruction:
$ sudo yum install mercurial
$ sudo yum install bison
may be we set a http proxy(only in China)
$ export http_proxy=your_proxy_address
$ cd /tmp
$ hg clone -u release https://go.googlecode.com/hg/ go
$ cd go/src
$ /all.bash
finally
ALL TESTS PASSED
—
Installed Go for linux/amd64 in /tmp/go.
Installed commands in /tmp/go/bin.
*** You need to add /tmp/go/bin to your $PATH. ***
The compiler is 6g.
now we can play
$ echo $PATH
$ mv /tmp/go :/home/zdb/program
$ export PATH=$PATH:/home/zdb/program/go/bin
$ export GOROOT=/home/zdb/program/go
$ export GOOS=linux
$ export GOARCH=amd64
$ vim hello.go
package main
import “fmt”
func main() {
fmt.Printf(“hello, world\n”)
}
compile,link, execute
$ 6g hello.go
$ 6l hello.6
$ ./6.out
hello, world
export PATH=$PATH:/home/zdb/program/go/bin
export GOROOT=/home/zdb/program/go
export GOOS=linux
export GOARCH=amd64
package main
import (
“fmt”
”http”
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, “Hi there, I love %s!”, r.URL.Path[1:])
}
func main() {
http.HandleFunc(“/”, handler)
http.ListenAndServe(“:8080″, nil)
}
properjavardp 使用
今天玩了下properjavardp http://properjavardp.sourceforge.net/
先下jdk 1.4.2
在官网上下了源码
下了个ant命令行工具
http://ant.apache.org/
下载java-getopt-1.0.11.jar,建立目录gnu-getopt-1.0.11-java\lib,将java-getopt-1.0.11.jar放入
下载log4j-java1.1.jar,建立目录log4j-java1.1,将log4j-java1.1.jar放入
设置好环境变量
set path=C:\bin\apache-ant-1.8.2\bin;%path% set JAVA_HOME=C:\j2sdk1.4.2 set path=%JAVA_HOME%\bin;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;%path% set CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib ant.bat -buildfile build-common.xml ant.bat -buildfile build-sourceforge.xml
也不知道这玩意是哪国人写的 在windows下编译时报一些字符错误,把那个java文件
用notepad++保存为utf-8 without bom格式,再编译就好了
随后在dist目录下出现一堆jar文件
执行
java -cp .;properJavaRDP14-1.1.jar;properJavaRDP-1.1.jar;log4j-java1.1.jar;java-getopt-1.0.11.jar net.propero.rdp.Rdesktop 192.168.1.29
完
The _imagingft C module is not installed
机器是win7 64,python版本是python 2.7(32) 好像win7 32,xp 32都没出现这个问题
在 PIL官网 给出的链接 http://effbot.org/downloads/#pil 下了个 PIL-1.1.7.win32-py2.7.exe
安装后执行
from PIL import ImageFont
font = ImageFont.truetype("DejaVuSans.ttf",25)
报错 The _imagingft C module is not installed
直接import _imagingft,报配置不正确
看来得自己手动编译 PIL了
先到官网上下载这个
http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz
在sourceforge上下载freetype
http://iweb.dl.sourceforge.net/project/freetype/freetype2/2.4.6/freetype-2.4.6.tar.bz2
解压freetype,进freetype-2.4.6\builds\win32\vc2008这个目录,打开freetype.sln
编译,选择lib release
目录freetype-2.4.6\objs\win32\vc2008下会生成一个freetype246MT.lib
更改其名字,叫freetype.lib
把这个lib放到freetype-2.4.6\include目录下
解压Imaging-1.1.7
Imaging-1.1.7,freetype-2.4.6两个在同一目录下
编辑freetype-2.4.6\setup.py
把
FREETYPE_ROOT = None
这句改为
FREETYPE_ROOT = '../freetype-2.4.6/include'
执行python setup.py build_ext -i
编译出一个_imagingft,将C:\Python27\Lib\site-packages\PIL\_imagingft.pyd替换为编译出来的
完
get encoding link containing Chinese
maybe:
o1 = re.search(ur'[^\w\~\#\:\.\?\+\=\&\%\@\-\\\/]+',u1)
fedora15 下使用迅捷fw54u无线网卡
昨天在京东花了二十多块钱买了个迅捷fw54u无线网卡
送货很快 今天早上就送到了
拿会来折腾了下
内核版本
[xxx@f15kde ~]$ uname -r
2.6.40-4.fc15.x86_64
插上网卡
[xxx@f15kde ~]$ lsusb
Bus 002 Device 006: ID 0cf3:1006 Atheros Communications, Inc. TP-Link TL-WN422G v2 802.11g [Atheros AR9271]
还是认出来了
[xxx@f15kde firmware]$ ls /lib/firmware|grep -e 9271 -e htc
ar9271.fw
htc_7010.fw
htc_9271.fw
但是网络连接里没出现wlan
看下信息
[xxx@f15kde firmware]$ dmesg | grep -e ath -e wlan
ath9k_htc 1-6:1.0: ath9k_htc: Please upgrade to FW version 1.3″
到 http://wireless.kernel.org/download/htc_fw/1.3/ 上下载htc_7010.fw, htc_9271.fw两个文件
替换/lib/firmware里的(当然先备份)
重启 ,还是没有出现wlan,拔掉网卡,再插上去就好了
应该内核版本比较高吧,没有去下载compat-wireless-2.6.tar.bz2什么的
参考:
http://bbs.lemote.com/archiver/?tid-36634.html
http://forum.ubuntu.org.cn/viewtopic.php?f=105&t=316584
dotcloud上指定favicon.ico
好像dotcloud已经在/etc/nginx/sites-available/default中指定了
location /favicon.ico {
alias /home/dotcloud/current/static/favicon.ico;
}
所以呢,现在程序目录下建一个static目录,把trollface.png放进去
xxx@www:~/dotcloud-xxx$ ls -lhsR static/
static/:
total 4.0K
4.0K -rw-r–r– 1 zdb zdb 3.4K Aug 8 03:07 trollface.png
再在程序目录下建立一个nginx.conf
xxx@www:~/dotcloud-xxx$ cat nginx.conf
location /trollface.png {
alias /home/dotcloud/current/static/trollface.png;
}
#location /favicon.ico {
rewrite /favicon.ico /trollface.png;
#}
这样再把程序push上去,就ok了

运行在dotcloud 上 的twitter api
到网站上注册
装dotcloud
fedora
# yum install python-pip
# pip-python install dotcloud
ubuntu
$ sudo apt-get install python-pip
$ sudo pip-python install dotcloud
水果的话官网上有安装方式,windows也有,没深究
$ dotcloud setup
输入网站上的key
创建一个应用,名字随便了,比如yourapp
$ dotcloud create yourapp
$ wget http://goo.gl/il0o7
$ 7z x dot-tt-api.7z -odot-tt-api
$ cd dot-tt-api
到https://dev.twitter.com/apps新建一个twitter应用
call back url先随便填一个链接,其他名字之类的随便写
将oauthtwitter.py中的consumer_key和consumer_secret改为你自己twitter应用相应的
consumer_key = “”
consumer_secret = “”
$ dotcloud push yourapp .
$ dotcloud info yourapp.www
会显示你应用的url,比如http://yourappurl.dotcloud.com/
把上面你申请的twitter应用的call back url改为http://yourappurl.dotcloud.com/
然后打开这个url http://yourappurl.dotcloud.com/
点auth按钮,打开twitter认证链接,同意认证后跳回原来页面api就搭建完了
在可以用api的twitter应用里,填上http://yourappurl.dotcloud.com/api/
(也可能是http://yourappurl.dotcloud.com/api,自己试一试吧)
gae搭建twitter api
gae搭建twitter api,用webpy实现的
这个类似于twip吧
但是自从我把apache换成nginx后,就再没用成功过twip,所以自己动手弄了一个api
跟birdnest也差不多,不过birdnest我以前也用过
好像用不了了 稍稍看了下其代码,没有oauth的模块
于是自己动手造了一个轮子了
代码写得很烂
目前是可以运行在gae上,其实稍微改下也可以放到一般服务器上
主要就是consumer_key,consumer_secret存放的问题
gae我是将consumer_key,consumer_secret放到到数据库去了
一般服务器写个配置文件应该就可以
下载地址:放在了googlecode上,地址:http://goo.gl/DuUvB
gae应用创建的方式不说了,网上很多的

在application中填上你的gae应用名称
到dev.twitter.com申请一个app,拿到consumer_key,consumer_secret
twiUtil.py 中填上你twitter 应用的consumer_key,consumer_secret
用gae sdk将应用传到gae上
打开你的应用 https://youapplication.appspot.com

点击auth按钮

复制链接,进入验证的twitter网站点击autorize app,允许后回跳会你的gae应用
这下认证完毕,拿到token,api可以用了

hotot中是这样填写的 https://youapplication.appspot.com/api/

qwit中是这样填写的 https://youapplication.appspot.com/api
手头没有手机 twidroyd之类支持api的应用没办法测了,地址填的方式应该也差不多,
注意下地址最后加不加斜杠就可以了
另外如果访问不了你的gae,在host里加一句
209.85.157.141 yourapplication.appspot.com
或者用代理上去
webpy url处理
webpy的url处理还是很方便的。利用正则表达式,哈哈。