410的OpenID讨论

Saturday, November 4th, 2006 11:01pm


照片源自Yupoo

Technorati Tags: cnbloggercon, 2006, openid


Add comment

中文网志年会 2006

Tuesday, October 31st, 2006 11:51pm

中文网志年会不怎么顺利的召开,顺利的结束了。

spacer

我是挺累的,白天听演讲,晚上基本没睡觉。第一个晚上从卖菜2.0讨论起,第二个晚上是关于OpenID,第三个晚上赶回张家港,因为次日还要乘6点的第一班车回上海上班。

而且带着baby还真是挺辛苦的,下一届还带agoo参加吗?

不管怎样,年会包括那几个小场讨论真的是件非常好玩的事。

Technorati Tags: cnbloggercon, 2006


Add comment

网志年会网页“胸牌”

Monday, September 18th, 2006 08:32am

spacer

events.cnbloggercon.org/event/cnbloggercon2006

Technorati Tags: cnblggercon, 2006, badge


2 comments

长城

Thursday, August 17th, 2006 03:10pm

蛮不错的歌词

词:刘卓辉
曲:黄家驹
主唱:黄家驹

遥远的东方
辽阔的边疆
还有远古的破墙
前世的沧桑
后世的风光
万里千山牢牢接壤
围着老去的国度
围着事实的真相
围着浩瀚的岁月
围着欲望与理想
迷信的村庄
神秘的中央
还有昨天的战场
皇帝的新衣
热血的樱枪
谁都甘心流连塞上
叫嚷
朦着耳朵
那里那天不再听到在呼号的人
woo–ah woo–ah ah ah
朦着眼睛
再见往昔景仰的那样一道疤痕
woo–ah woo–ah ah ah
留在地壳头上
无冕的身躯
忘我的思想
还有显赫的破墙
谁也冲不开
谁也抛不低
谁要一生流离浪荡
朦着耳朵
那里那天不在听到像呼号的神
woo–ah woo–ah ah ah
朦着眼睛
再见往昔景仰的那样一道疤痕
woo–ah woo–ah ah ah
留在地壳头上


1 comment

穿墙术

Tuesday, August 1st, 2006 04:42pm
spacer

劳山道士的穿墙术是假货,但是现在也许你也不得不找一些方法来钻墙了。tor正是个好工具。

在gentoo linux下安装tor相当简单

# emerge tor

然后在/etc/tor/目录下创建配置torrctor-tsocks.conf。可以参考torrc.sample

使用前记得启动一下(/etc/init.d/tor start),或者加入自动启动(rc-update add tor default)。有些时候你可能还需要手工重新启动tor(/etc/init.d/tor restart)。

使用的时候可以在命令前加tsocks,如tsocks opera。这样opera就可以钻墙了。
如果使用firefox,那么它有一个非常方便的插件FoxyProxy。

Technorati Tags: GFW, gentoo, linux


1 comment

Firefox Configuration

Friday, July 14th, 2006 07:46am

Generated: Fri Jul 14 2006 07:40:33 GMT+0800 (CST)
User Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060710 Firefox/1.5.0.4
Build ID: 2006071015

Enabled Extensions: [19]

  • Adblock 0.5.3.043
  • Adblock Filterset.G Updater 0.3.0.4
  • Add N Edit Cookies 0.2.1.0
  • Bookmarks Synchronizer 3 1.0.2
  • ColorZilla 0.8.2
  • CuteMenus - Crystal SVG 1.2
  • DOM Inspector 1.8.0.4
  • FlashGot 0.5.9.995
  • FoxyProxy 1.0
  • Greasemonkey 0.6.4
  • Header Monitor 0.3.4
  • Html Validator 0.7.9.3
  • Live HTTP Headers 0.12
  • MeasureIt 0.3.5
  • Mouse Gestures 1.5
  • MR Tech Local Install 5.2
  • NoScript 1.1.4.1
  • Tab Mix Plus 0.3.0.5
  • Web Developer 1.0.2

Installed Themes: [1]

  • Firefox (default)

Installed Plugins: (6)

  • Google VLC multimedia plugin 1.0
  • mplayerplug-in 3.21
  • QuickTime Plug-in 6.0
  • RealPlayer 9
  • Shockwave Flash
  • Windows Media Player Plugin

Technorati Tags: linux, firefox, extension, plugins


2 comments

Java String

Thursday, April 6th, 2006 06:33pm

挺无聊的题目真的难倒不少人,咳

public class Hello {
    public static void main(String[] args) {
        String s = "123";
        System.out.println(s);
        m1(s);
        System.out.println(s);

        int i = 123;
        System.out.println(i);
        m2(i);
        System.out.println(i);
    }

    private static void m1(String s) {
        s = "321";
    }

    private static void m2(int i) {
        i = 321;
    }
}

运行结果是什么?


8 comments

一起裸奔吧

Wednesday, April 5th, 2006 05:26pm

spacer

我也来展示一下”<body/>”

Technorati Tags: css, web standard


Add comment

Dynamic DNS-DIY

Sunday, April 2nd, 2006 01:18pm

宿舍的宽带好,写了一个简单的python脚本,自动更新域名解析到动态的IP地址,这样我就可以随时访问宿舍里的机器了。
swanpan.com/phpsysinfo/

#!/usr/bin/env python

import cookielib
import urllib
import urllib2
import time
import sys

def ddd_checkip():
        response = urllib2.urlopen("www.dragonsoft.net/checkip.php")
        return response.read()

def ddd_hello(opener):
        return opener.open("www.dns-diy.com/skin.aspx?skin=api")

def ddd_login(opener, username, password):
        request = urllib2.Request("https://www.dns-diy.com/api/login.aspx")
        params = urllib.urlencode({"username":username, 'password':password})
        request.add_data(params)
        return opener.open(request)

def ddd_logout(opener):
        request = urllib2.Request("www.dns-diy.com/api/logout.aspx?immediately=yes&invalidate=yes")
        return opener.open(request)

def ddd_update_rr(opener, id, name, type, data, aux, ttl):
        request = urllib2.Request("www.dns-diy.com/api/zone_rr_update.aspx")
        params = urllib.urlencode({"id":id, "rr_name":name, "rr_type":type, "rr_data":data, "rr_aux":aux, "rr_ttl":ttl})
        request.add_data(params)
        return opener.open(request)

#
#
#

DEBUG = 5
SLEEP_SECONDS = 600

USERNAME = "swanpan.com"
PASSWORD = "secure"
RR_ID    = "secure"
RR_NAME  = ""
RR_TYPE  = "A"
RR_DATA  = "127.0.0.1"
RR_AUX   = "0"
RR_TTL   = "5"

def ddd_process():
        if (DEBUG > 0):
                print "[%(time)s] updating %(host)s.%(zone)s (%(ip)s) ..." % \
                        {"time":time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), \
                        "host":RR_NAME, "zone":USERNAME, "ip":RR_DATA}

        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))

        response = ddd_hello(opener)
        if (DEBUG > 5):
                print "HELLO"
                print response.read()

        response = ddd_login(opener, USERNAME, PASSWORD)
        if (DEBUG > 5):
                print "LOGIN"
                print response.read()

        response = ddd_update_rr(opener, RR_ID, RR_NAME, RR_TYPE, RR_DATA, RR_AUX, RR_TTL)
        if (DEB


gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.