Sep 26

I just got here. No SSN, no phone, & very limited internet access now.

Also, no Chinese input method. So, you have to read English on…lol~~

The journey took about 14 hours. We left Beijing Airport around 13:30PM SEP 25, and arrived around 14:45PM SEP 25. The plan went north, thru Sibaria, Arctic Ocean, Canada, and finally NY JFK. The top speed is nearly 1000km/hour. The highest altitude is around 10000m. The flight mileage is nearly 11000km. It was quite cold sometimes. I didn’t feel comfortable when landing at JFK.

It took us several hours at the airport due to an address issue. We have met some guys from the company, and I am using a public computer in our company conference room. lol~~

Will start to work on house renting tomorrow, namely 10 hours later.

The above is just quick updates. I can’t get online easily until renting a house with internet cable ready.

Sep 25

夜风初起秋水凉,
半月中天色苍茫。
此去胡地四万里,
何日与君话觚觞?
坡外芳草侵故道,
馆前枯藤满红墙。
百年光阴一过客,
万物逆旅几沧桑。

xiaonei: http://blog.xiaonei.com/GetEntry.do?id=323739004&owner=20384

Sep 20

本来参加需要30大洋滴,通过Alan的网站报名,享受到免费优惠名额,在协会就是好,大伙一起肉吃一起酒喝,呵呵!

会议日程:
http://china.wordcamp.org/schedule/

明天去看看各位WordPress众神,外加瞅瞅牛博主们。

特别致谢Alan和IRSA,本来想链接他们的活动页面,他们居然改版数据还没折腾好。。。。

Sep 20

晚上在叔叔家做客,聊到文革时期,有一批外文局的干部下放到我们村的农户,其中有一位专家Jack Chen后来返回美国后专门出版了一本书,讲述文革中在我们村的生活。在Amazon上查到,二手的从7~8美元就能买到,383页,计划将来买一些送给懂英语的家人朋友。

最优美有趣的,是村子名的翻译,叫做Upper Felicity,第二个词是幸福的意思。文革时的村庄,如今已成为一个小镇,Upper Felicity Town是我度过了人生最初十年的地方,其后离家读书,辗转漂流。每每夜深人静的时候,忽然就开始想那个小镇,那幸福的十年。每天讲着普通话,小镇俚语有时忽然跳入脑子,不禁莞尔。

前段时间回去,也是刹那之间意识到,以后Upper Felicity Town不会是我长时间生活的地方,而会是我一生记忆的地方。如同方文山的歌词:到不了的地方叫远方,回不去的地方叫故乡。

To memorize: my ten years in upper felicity town.

Sep 11

律师的说法是,以前需要提供,现在有新的条款修改,只要拷贝件就可以了。根据USCIS给的Receipt #,移民官能够在系统数据库中查到你的I-129、LCA等申请材料。所以,不再需要原件。但为保险起见,还是尽量带上原件吧,使用国际快递送到也只要5天左右,申请过程那么久,也不差多等那么几天吧?

另外预约H1B签证也不需要等到拿到I-797的批复回文,凭借Receipt Number就能预约,只要去面试时能拿到I-797批准件原件或拷贝即可。

Sep 11

在Hostmonster上部署django的常见方法,可以参考文章http://www.frankdu.com/blog/archives/334

但是在实际部署中,发现很难按照那样的步骤成功部署。经过摸索,我的部署方法如下:

1. 安装Python 2.5
虽然django可以在python 2.3及以上版本运行,但是最推荐版本是2.5,在hostmonster的主机上提供的是2.3,所以你可以想安装python 2.5到个人目录中。基本安装步骤是,到www.python.org下载合适的安装版本。如果想从源代码安装,需要登陆SSH然后执行以下步骤:
a. 使用wget下载源代码
b. tar zxvf python-VERSION.tar.gz
c. cd python-VERSION
d. ./configure –prefix=$HOME
e. make
f. make install
如果安装缺乏软件,请按照提示安装。

2. 安装Django
最新的正式版本是django 1.0,以此为例安装步骤如下:
a. wget http://www.djangoproject.com/download/1.0/tarball/
b. tar zxvf Django-1.0.tar.gz
c. cd Django-1.0
d. export PATH=$HOME/bin:$PATH
e. python setup.py install

3. 设置路径
编辑“.bash_profile”文件,设置PATH和PYTHONPATH,以便程序能正确运行:
export PATH=$HOME/bin:$HOME/lib/python2.5/site-packages/django/bin:$PATH
export PYTHONPATH=$PYTHONPATH:$HOME/django/django_projects

然后重新加载.bash_profile,使新配置生效:
source ~/.bash_profile

4. 创建mysql数据库和账户等信息
在cPanel中创建用于django项目的mysql数据、数据库用户,并记录下来用于项目设置。

5. 创建项目目录
cd ~
mkdir django_projects
mkdir django_templates
cd django_projects
django-admin.py startproject mysite
chmod 600 mysite/settings.py
最后一句用于设置settings.py的文件权限,阻止其他用户看到我们的数据库、用户、密码等重要信息。修改settings.py的内容,设置数据库、时区、模板目录等信息。

6. 配置FastCGI
这一步非常重要!首先在cPanel的“Apache Handlers”中添加以下信息:
处理器名称:fcgid-script
文件扩展名:.fcgi

然后,在你想添加django支持的网站目录中,安装fcgi.py、django.cfgi,并加入URL改写规则。

wget http://svn.saddi.com/py-lib/trunk/fcgi.py
chmod 755 fcgi.py
下载文件并设置权限,如果文件无法下载,也可以使用链接http://www.frankdu.com/download/fcgi.py

在同一个目录,创建文件django.fcgi,文件内容如下:

#!~/bin/python
import sys, os
sys.path.insert(0,”/home/your-user-name/django/django_projects”)
from fcgi import WSGIServer
os.environ['DJANGO_SETTINGS_MODULE'] = ‘mysite.settings’
from django.core.handlers.wsgi import WSGIHandler
WSGIServer(WSGIHandler()).run()

要注意, 上面的”your-user-name”需要改为你在hostmonster的用户名。“django_projects”是咱们建立的放项目的目录. 第5行的”mysite”是Django生成的项目的名字. 这几个一定要对应!

同样要修改执行权限 :
chmod 755 django.fcgi

7. 配置Rewrite Rule
这个就简单了, 照葫芦画瓢! 和上面的django.fcgi文件在同一个目录下, 建立.htaccess文件(别把点忘了), 内容如下RewriteEngine On
RewriteBase /
RewriteRule ^(media/.*)$ - [L]
RewriteCond %{REQUEST_URI} !(django.fcgi)
RewriteRule ^(.*)$ django.fcgi/$1 [L]

8. 搞定

好了,到这里就搞定了!可以写一些测试脚本,放上来运行一下。我安装的域名是http://www.visafly.com,测试工作情况可以访问http://www.visafly.com/time/

Sep 11

我个人的部署方案请访问http://www.frankdu.com/blog/archives/333

1. 事前准备
安装SVN(Hostmonster默认是不支持SVN的, 需要自己安装) ,开通SSH(Hostmonster里要想启用SSH, 竟然还需要身份证, 我ft…) , 并SSH上你的主机

因为之前已经在Hostmonster的主机上装好了SVN, 并且开通了SSH, 所以省了很多事情:)

2. 获取Django代码
在”~/”下建立”django_src”目录

mkdir django_src
进入目录

cd django_src
使用SVN获取代码

svn co http://code.djangoproject.com/svn/django/trunk/ ./

3. 设置路径
编辑”.bash_profile”文件, 设置PYTHONPATH 和 PATH路径, 方便使用Django

export PATH=$PATH:$HOME/django_src/django/bin
export PYTHONPATH=$PYTHONPATH:$HOME/django_src:$HOME/django_projects
重新加载”.bash_profile”文件, 来启用配置的路径

source ~/.bash_profile

4. 建立项目目录
在”~/”下建立”django_projects”目录

mkdir django_projects
进入目录

cd django_projects
建立Django项目”myproject”

django-admin.py startproject myproject
修改”myproject.settings”文件的权限, 限制只有你的用户可以读取, 这样可以避免同一个服务器上其他用户访问你的DB

chmod 600 myproject/settings.py

5. 配置FastCGI
这一步我花的时间最长! 关键是原文中的fcgi.py不能下载了, 我找了其他的fcgi.py又不对. 郁闷之下翻看了官方的文档, 官方文档说要用flup, 我又折腾了半天flup, 未果… 最后又Google了一堆fcgi.py, 终于被我找到一个对头的:)
现在BlueHost的控制面板里建立一个子域名(SubDomain), 建立成功后他会在你的”~/public_html”目录下建立对应的子域名的目录. 我建立了一个叫”lab”的子域名. 然后进入到这个目录中, 下载fcgi.py

wget http://svn.saddi.com/py-lib/trunk/fcgi.py
下载完毕后, 修改执行权限

chmod 755 fcgi.py
继续在这个目录下建立Django.fcgi, 文件内容如下

#!/usr/bin/env python
import sys, os
sys.path.insert(0,”/home/username/django_src”)
sys.path.insert(0,”/home/username/django_projects”)
from fcgi import WSGIServer
os.environ[’DJANGO_SETTINGS_MODULE’] = ‘myproject.settings’
from django.core.handlers.wsgi import WSGIHandler
WSGIServer(WSGIHandler()).run()

要注意, 上面的”username”需要改为你在BlueHost的用户名. “django_src”是最开始建立的放Django源代码的目录, “django_projects”是咱们建立的放项目的目录. 第6行的”myproject”是Django生成的项目的名字. 这几个一定要对应!

同样要修改执行权限, 这里再提醒一下大小写!

chmod 755 Django.fcgi
6. 配置Rewrite Rule
这个就简单了, 照葫芦画瓢! 和上面的Django.fcgi文件在同一个目录下, 建立.htaccess文件(别把点忘了), 内容如下

RewriteEngine On
RewriteBase /
RewriteRule ^(media/.*)$ - [L]
RewriteCond %{REQUEST_URI} !(django.fcgi)
RewriteRule ^(.*)$ django.fcgi/$1 [L]

7. 搞定
好了, 就酱紫了! 现在可以访问一下你新建的子域名了! 我建立的子域名是”lab”, 所以访问的就是 http://lab.v2nb.com . 看到django的字样了吧?
这里只是配置完了Web服务的部分, Django部分还需要自己再配置一下, 或者直接放上你自己的Django网站:)
如果有需要, 可以再修改.htaccess, 或者参考我参考的帖子:)

8. 参考
http://www.bluehostforum.com/showthread.php?t=715

http://wiki.dreamhost.com/index.php/Django#Setup

http://www.djangoproject.com/documentation/fastcgi/

http://blog.donews.com/limodou/archive/2006/03/29/799059.aspx

http://svn.saddi.com/py-lib/trunk/fcgi.py

来源:http://www.nickcheng.com/2007/01/23/build-django-site-on-bluehost/?pageid=1

Sep 11

CNN又造假了,为什么要说又呢?因为CNN太声名狼藉了?至少在中国是这样,所以才有http://www.anti-CNN.com这样专门揭发假新闻的网站。

美国总统大选事件,FOX的头条新闻揭发CNN造假和中伤共和党副总统候选人Palin,还是看图来着,一图胜千言:

Sep 11

发信人: dfrank (frank·时光瀑布), 信区: Visa
标  题: 8.27 BJ H1B 1000 pass
发信站: 水木社区 (Wed Aug 27 18:50:53 2008), 站内

背景软件工程,软件开发,非敏感专业,工作签证。昨晚打印
了精华区的使馆地图、看了很多签经,看到最后有点想吐,我想
H1B不需要看太多签经,问题都差不太多,比如经典的问题是:
“做什么工作”、“怎么找到这份工作的”。

我约的是下午1点的,11:30午饭完从学校出发,到达城铁站才发现
有几份材料没有打印:简历、Offer Letter、公司介绍和职位描述。
到地质大学打印完,回到五道口城铁站是11:50。

地铁到达永安里大概是12:40,到签证服务大厅门口缴费领牌,存包,
然后大概在门口由武警gg查验护照,看护照号是否在预约列表中。当
时下午3点前预约都放进去。往院子里走,第二个武警gg查看一下护照,
放行,过安检,就进入签证大厅了。

两个教训:一是存包时没有把笔拿出来,结果156/157没填完整,只能
借笔;二是存包时我把腰带也存了,其实安检并不复杂,腰带建议穿上。
像我今天的牛仔裤腰比较宽松,站着的几个小时,那个囧啊~~

先去交156/157表,发现有几项没有填,填好再交,收了DS-156/157,
还收走了I-797批准件,中信发票白色联盖章返回。然后给了草绿色的
卡片,排队按指纹。

我们队6人,最后一对是携签。下午刚开始人比较少,按指纹挺快的,
估计也就20多分钟。然后开始漫长的排队等待,后面进来的人越来越多,
签证大厅很是拥挤。下午的VO有一位亚裔mm,一位印裔gg,其他窗口
都是白人gg。

排队过程好漫长!期间观察,每个窗口处理速度和VO关系不大,和申请
人的情况关系挺大的。印象最深刻的是,11号窗口那队最后是对夫妻,
但貌似非携签,老先生先上前和VO口水了半个多小时,一次次我们以为
老先生要收拾东西走了,一次次他又继续口水下去,那种锲而不舍的战
斗精神让我们郁闷不已,因为期间边上12号窗口都处理完好几批了。后
来貌似老先生拒签,其太太上前,很快拿到粉条。

终于轮到我们队,在7号窗口,第一位阿姨聊了约3~5分钟,通过。第二位
mm是F1返签,她上去聊了几句,因听不懂VO的问题开始用中文和VO用中文
交谈,最后被拒,伊声音焦虑地请求VO说:我见过您,上次也是在您这里
签的,为什么还要被拒签?能告诉我原因吗?能告诉我哪里可以提高吗?
VO很礼貌地回答了几句,仍然拒签。第三位gg是F1签证,VO问了一些如何
找到学校、为什么选择该学校的问题,然后看了他的财产证明、父母的资
料等,过了。

到我了,深呼吸一下,等VO在窗口晃出我的照片,上前….

ME: Good afternoon sir!
VO: Thank you! How are you today?
ME: Great! Thank you! I am here to apply for H1B work visa, for a
company headquartered in ….. (先主动bla bla介绍一通)
VO: What will you do in the company? (这句没听清,让他重复了一下)
ME:I will do bla bla bla …(有点紧张有点汗)
ME: The job title is applications developer, which involves ………
Sir, here is the I-129 copy, LCA copy, and employment verification
letter.(说了很多有点紧张,发音有点走形。一边说,一遍摆材料)
VO: So, software devlopment, right?(根本不看我摆的材料,翻I-797和敲键盘…)
ME: Yes, ….
VO: How did you find the job, or how did they find you?(根本没看我摆的材料,
只是看I-797和电脑屏幕…)
ME:bla bla bla …(讲述找工作经过)they said, ‘of course! just
in your resume’. Then I go through the interview procedure and
get the offer in ….
VO:Congratulations! Enjoy your staying …. (大概我讲的太详细了,
VO没听完就打断了,退还了I-797,给了粉条,开始整理材料装订)
ME:Thank you! Thank you so much! (小激动,连说两遍)

出来取包,看时间过去了1个多小时。办理邮寄时看到我后面的一对携签了,
也过了。回来专门去坐地铁10号线,冷气很足,很冻人。

9月1日上午收到邮寄的签证和护照。实际上,看网上状态,8月29日傍晚
签证和护照就已经到达邮局了,紧接着正好是周末所以耽误了两天。如果
办理自取可以更快一点拿到。

我的签证面试材料清单
==========
1. 护照
2. DS-156 (用到)
3. DS-157 (用到)
4. 一张签证照片,胶水粘在DS-156上 (用到)
5. 签证申请费原件,褐色联透明胶带粘在DS-156上,白色联带过去盖章 (用到)
6. I-797批准原件 (用到)
7. Copy of I-129 Petition and LCA Filing  (VO没看)
8. Employment Verification Letter (VO没看)
以上是综合不同版本的必需材料清单,而准备的。

以下是根据版上和网上签经准备的可选材料,今天都没用到:
1. Resume
2. Offer Letter
3. Company Introduction
4. Job Description
5. 学位/毕业证书原件
6. 成绩单原件
7. 其它经历证明原件
最后关于H1B材料是否需要公证的问题,我发信问过一些版友,有的说不需要公证,
也有的说需要公证。我的没有公证,其实I-129 Petition上的材料,都是USCIS严格
审查过的,个人认为没有必要再公证的。当然,谨慎起见,公证一下也无不可。

最后感谢水木签证版!在版面上或发信请教过多位版友,大家都很热心友好地帮忙回答。
祝福要签证的版友一签而过!祝福还在check的版友早日clear!