Thursday, December 31, 2009

Bonjour 2010

There is one story in slashdot, said one guy boosts the mobile broadband signal with a kitchen saucepan, which is a very cheap and almost always available trick to everyone. Unfortunately, I am not able to open the video link in youtube due to GFW. Well, as 2010's is knocking at the door, I hope everyone has a big dream come to true in the next year and there will be better technologies for the world.

Monday, December 28, 2009

A Green TV

Today, I was working at home. During lunch time, I opened my TV set, all goes well, after two minutes, TV screen turns off automatically, while audio is still on, just like a radio. This has occurred couple of times, until today an idea comes out of my mind. Will it be a very nice feature if the TV can automatically turn off the video display but keep the audio on when it detects there is no audience. I call it green TV as it can save a lot power if you just want to "listen to" the TV or you are busy with a phone call or simply left home and forgot turn off the TV. The technology behind is not complex, what I suggested is adding a smart camera module inside the TV and with certain intelligent video/image alogrithm, the camera can judge if there is person watching the TV or not, and pass the information to screen controller for making decision. Within this camera, we even can implement more sophiscated algorithms to dectec human body's gesture, e.g., wave hand vertically to switch channel, wave hand horizontally to change speaker volume etc,. Not only we are watching TV, TV is watching us as well. A lot of innovations can burst out! I bet TV set is another wonderful battlefield in the next few years.

Friday, December 25, 2009

HD Video Transmitter and Receiver

Recently, I am helping Sam to seek an local parterner, who can make HD video transmitter and receiver, as wll as HD video recorder. The system architecture is HD Camera + HD video transmitter + I talked to my university supervisor Professor Chen, whose expertise in video indurstrial is well established. And his team developed TI DaVinci-HD based video recorder for multiple companies. Professor's concerns is the volume and price

Thursday, December 10, 2009

Pending Ideas

There are couple of ideas keep coming back to my mind. I don't expect to turn all of them into successful products, I do want to put significant amount of my effort to make some of those ideas happen. I herein archive them -
  • Smart Board - digital ink with storage capability, replace conventional whiteboard
  • Portable patient monitor - low cost, easy operation personal medical equipment
  • Foetus ECG monitor - low cost, easy operation, accurate machine for family use
  • P2P TV - embed peer to peer (BitTorrent, eMule) capability into home TV Set
  • Infant feeding chair - a special chair to release parent's hands when feeding the baby
  • Run errand - business model, help customer to handle personal affairs, e.g., retrieve visa
  • Thinkgeek - business model, sell very special but interesting elecrical equipment
  • Internal trading - sell bamboo derivates, e.g., foodstuff, crafts
  • Wedding helper - business model, new couple list the gifts they want in our website, friends and relatives pick up what they like to offer, we deliver goods
  • ...

personal pension and medical insurance

Today I went to a government department to retrieve a debit card, which I can use to deposit money as my personal pension and medical insurance as the company does not take care them for its employees. I need to deposit 869RMB each month, which is 26% of Shanghai average salary. Among 869RMB, 68% goes to personal pension and 32% goes to medical insurance. I need to deposit moeny before 10th or 19th of each month.

Monday, November 30, 2009

HUAWEI EC169 3G Adapter


Last week, my friends Weiming gave me a HUAWEI EC169 3G (cdma2000) adapter for a trial. It is very nifty, looks just like a USB thumb drive. I plugged it into one of Dell D630's USB interface, Ubuntu starts to recognize it and configure it without any manual intervention. Soon Ubntu reports there is one mobile connection available, by clicking the connection, one configuration windows appears, simply typed in service provider name "China Telcom", it connected to the network. I saw a "ppp0" connection has been setup by issuing the command "ifconfig". Connection speed is not bad, download speed is 480Kbps to a local server. Overall, this is a very good product and Ubuntu is also excellent at supporting this device!

Sunday, November 29, 2009

Google spreadsheets was blocked

I was not able to access my online excel sheets hosted in spreadsheets.google.com, initially I didn't realized that it was blocked by GFW, according to most of articles posted in all kinds of forums, I added below contents into c:\windows\system32\drivers\etc\hosts
  • 64.233.189.101 writely-china.l.google.com
  • 74.125.127.100 writely.google.com
  • 209.85.225.101 docs.google.com
  • 74.125.127.139 spreadsheets.google.com
But it doesn't work either. What I can do is to start Tor and add *spreadsheets.google.com/* into FoxyProxy whitelist, finally it works

Wednesday, November 11, 2009

Hacking your neighbour's wireless bandwidth

To save cost, we decided not to apply ADSL link from China Telcom or Unicom, instead we contact a gentleman, who provide a wireless solution at a very attractive price. Yesterday, he came to our office, bringing a high power wireless adapter (Realtek chipset), after installing the driver, I can search active wireless AP in the circle of 1.5KM radius around the building according to him. The second step is to crack the password, unfortunately, he can only crack the link encrypted in WEP. By booting the machine from Back Track 3 live CD, and running a program called spoonwep, we successfully cracked two AP password. The first one SSID is guiguan, password is 35363332313137383131313131, the other one SSID is zhenya, password is 6650324356. I know there is way to crack WPA-PSK link also but I won't spend time on it. There is one article talks more details: http://www.laha.cn/2009/06/11/bt3-spoonwep-handbook-pdf.html/comment-page-1/

Friday, October 23, 2009

A way to access picasaweb

Well, Great Fire Wall caused trouble again. Picasa web was blocked, I tried FoxyProxy+Tor, doesn't work at all. Fortunately Google search engine still works, find a very interesting solution posted by "ylyner" on Jul 28. Edit "C:\windows\system32\drivers\etc\hosts", add in below lines:
#picasaweb.google.com
203.208.39.104 lh1.ggpht.com
203.208.39.104 lh2.ggpht.com
203.208.39.104 lh3.ggpht.com
203.208.39.104 lh4.ggpht.com
203.208.39.104 lh5.ggpht.com
203.208.39.104 lh6.ggpht.com
You are now connected to your web photoes. Please try mine

Saturday, October 10, 2009

How to visit blogspot from behind GFW

One of the disadvantage leaving GE is I am not able to visit my blog via my ADSL link, it is blocked by the Great Firewall :( Thanks to open source community, there is a way to bypass GFW by using Firefox + FoxyProxy + Tor bundle. You can download PortableTor-0.2.1.19-0.1.15-0.exe from sourceforge, after extracting the downloaded file, please run PortableTor.exe application, most likely, you will get an error for the first time, the error log is "connect to relay directory failed", by click "更换身份" button in Vidalia control panel, connecting to Tor network will be accomplish in a while. Ok, please select tools->FoxyProxy->Options, select File->Tor Wizard, don't use Privoxy, use default port number, use Tor to receive DNS request. After configuration, there will be another window pop up for you to configure the proxy, by clicking "adding new template", you will be able to input the template name and URL, for blogspot case, I need to add two templates, URL for template 1 is *.blogspot.com/*, and the other is *.blogger.com/*. Finally, you need to enable FoxyProxy to use this template by choosing "使用基于其预定义模板的代理服务器". Now you are in blogspot

Saturday, September 26, 2009

Last day in GE

Sep 25th, 2009 is my last working day in GE. It was tough to make decision. I enjoyed the atmosphere, the people and the projects. I decided to leave the company just because I am keen on designing and making products, which could change the way we live.
I feel lucky and proud if I turn back to look at the 5.5 years service in GE, I am lucky to have the opportunity working in GRC, such a great organization where I can play with top talents in this country and cutting-edge technologies in the world; I am proud to be part of the team, Real-Time Power Controls lab(RTPC), and then Signal and Digital Electronics lab(SDE), we did tremendous innovation projects here, built strong customer relationship with various GE businesses.
The life in GRC is also colorful, sports club, volunteer activities, Tech-fest, Cailun Symposium ..., all help us connected to the community and academic.
Last but not least, I thank people who encourage, guide and support me all the way here. Special thanks to my manager-Lily Liu, Yu Zhang; my HR manager-Sarah Zhou, Cindy Chuai; GRC director-Kelvin Wang; GRC admin-Elva Lv, Ruby Liu; my colleagues-Yongzhi Liu, Tong Zhao, Gang Cheng(those are members of jogging club), Weihua Gao, Jian Zhou, Weiguo Chen, Zili Cai, Yao Chen, Hua Zhou, Jacky Gu, Fei Teng, Baoming Huang, Zhuohui Tan, Haiqing Weng, Pengcheng Zhu, Ping Liu (those are GRC colleagues); Jidong Chen, Fisher Zhang, Jonathan Gao, Quan Zhang, River Yu, Weihua Shang, Xianghua Li, Haifeng Wang, Lei Wang, Heng Luo, Elliott David, Halterman Darrell, Shelton Todd (those are GE Fanuc Intelligent Platform colleagues); Hua Zhu, Seidinger Bernd, Kerry Bonin, Kenin Page (those are GE Security colleagues).

Best wishes to GE and my dear friends in GE!

Monday, July 13, 2009

Backup/restore a MediaWiki

In certain situations, you may want to backup wiki repository, e.g, for future server migration or switch to another machine. Here are guidelines to backup a MediaWiki and restore it.
Before that let's make couple of assumptions
  • Wiki database name - foo
  • Wiki database username - tim
  • Wiki database password - lyfavour
1) backup wiki database with below mysql command
mysqldump --database foo -u tim -plyfavour --add-drop-table --single-transaction -B > $(date +%Y%m%d).sql
2) copy images, settings and skins and compress them with database backup file into a single zip file
zip -r ./backup/$(date +%Y%m%d).zip /rtpc/www/wiki/images/ /rtpc/www/wiki/extensions/ /rtpc/www/wiki/includes/ /rtpc/www/wiki/skins/ LocalSettings.php $(date +%Y%m%d).sql -x backup/

Now let's take some steps to recover the wiki
  • Decompress backup file
  • Copy $(backup)/skins to $(new_wiki)/
  • Copy $(backup)/extensions to $(new_wiki)/
  • Copy $(backup)/images to $(new_wiki)/
  • Copy $(backup)/includes to $(new_wiki)/
  • Copy $(backup)/$db to /var/lib/mysql/$(new_wiki_db)
  • Repaire search index in mysql environment with
  • mysql> use $(new_wiki_db);
  • mysql> check table searchindex;
  • mysql> repair table searchindex

Configure MediaWiki-1.5.8

1. Mediawiki在配置的时候需要PHP和mysql,确保mysql运行起来(etc/rc.d/init.d/mysqld start)在配置wiki的时候不要指定mysql root的密码,因为缺省mysql的root密码是空的,除非你指定了root密码
2. 安装完Mediawiki后,在config目录下会产生LocalSettings.php这个文件,你需要把这个文件拷贝到Mediawiki的根目录
3. 如果要使能upload,就需要修改LocalSettings.php,把wgDisableUploads 设为false,同时要把wiki根目录下的images目录设置为可写
4. wiki的logo存放在skins/common/images/wiki.png文件中,每一种风格的页面都有一个php文件对应,如Monobook.php
5. 在includes/Defaultsettings.php中可以指定具有哪些后缀名的文件可以上载,哪些后缀名的文件不可以上载
6. wiki的背景图片由每一种风格的main.css来指定,名字为headbg.jpg直接把指定背景图片的这行注释掉就可以去掉背景图片
7. 在1.5以后的版本中,可以通过找到special page中的sidebar page(Mediawiki)来修改navigation bar中的内容
8. 在1.5以后的版本中,通过设置DefaultSettings.php中的wgGroupPermissions来设置是否可以匿名编辑

Wednesday, July 1, 2009

TortoiseCVS over SSH

It is fairly easy to configure TortoiseCVS working in SSH mode, choose :ext: option instead of :pserver: option in Protocol section. But to avoid type the SSH password repeatedly, we better to create the public/private key pairs for TortoiseCVS. It comes down to 3 steps:

Step 1

Use PuTTYgen application to generate public and private key, just keep all settings as default, i.e., SSH-2 RSA, 1024 bits key. After clicking "Generate" button, you shall be able to save your public key and private key. Please save your private key to a secure place, well we need to adjust the public key a little bit, original public key file looks as below

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20090702"
AAAAB3NzaC1yc2EAAAABJQAAAIEAgvAZDLz116oJ7kHEMTUpCuRuCcBPvlUnTw4hGbjINXOvMDe3VYY0YeU6pR00oEsj9JzpZw/1Sa1H3nI2XB+e0wwv2m54NllhEb1U/c7kzfW5ODU1jEdrJonf1eXGhi8nc9NnBYf6pkpUNH7mg+sIaV+Fr+uVnqFzC4mHsZqEscc=
---- END SSH2 PUBLIC KEY ----

Please change it to

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAgvAZDLz116oJ7kHEMTUpCuRuCcBPvlUnTw4hGbjINXOvMDe3VYY0YeU6pR00oEsj9JzpZw/1Sa1H3nI2XB+e0wwv2m54NllhEb1U/c7kzfW5ODU1jEdrJonf1eXGhi8nc9NnBYf6pkpUNH7mg+sIaV+Fr+uVnqFzC4mHsZqEscc=

Note: make sure all characters are in single line.

Step 2
Upload public key file to CVS server, in my case, I uploaded it to $home/.ssh, and append to the existing authorized_key with following command in my server machine:
cat public.ppk >> authorized_keys

Note
: please change mode of .ssh folder to 700 and mode of authorized_keys to 600 otherwise you get "server refused our key" error upon login

Step 3
Ok, now you have a valid private key and public key set up, please test it with plink, make sure you load the correct private key file via Pageant, then issuing the command in my client machine
plink cvs_server_address

The server shall prompt you for input the username, after that, it shall log you in automatically without asking for a password. Otherwise you shall check above steps.

There is one guideline from TortoiseCVS

Tuesday, June 30, 2009

Tips in setup moinmoin wiki engine

The MoinMoin wiki engine is an excellent tool for personal and/or enterprise level wiki deployment. I just setup one today, it is a bit complicated setup procedure compared with MediaWiki, therefore I write some bullets down to make future life easier. General package information as below
  • MoinMoin: 1.8.4
  • Python: 2.5.2
  • Apache: 2.2.10
  • mod_wsgi: 2.1-2
MoinMoin supports different installations, here I use /ApacheWithModWSGI as I want this wiki be a high performance one. MoinMoin posted an installation help page, well you also need to access basic installation page and create wiki instance page for a complete reference. Let's assume the MoinMoin package was installed in /usr/local/share/moin (brief as $moin), and the wiki instance was created in /usr/local/share/moin/mywiki (brief as $wiki), you need to copy moin.cgi from $moin/server folder to $wiki folder. The other step is to modify apache configuration file to redirect /mywiki to $wiki/moin.cgi. You may test the cgi mode by accessing the page http://localhost/mywiki, I got "Internal Server Error" page, checking the apache log, I found python didn't find MoinMoin package, what I did is to explicitly add path to MoinMoin package in moin.cgi file as below, the folder contains wiki configure file shall also be specified in this file:

  • sys.path.insert(0, '/usr/local/lib/python2.5/site-packages')
  • sys.path.insert(0, '/usr/local/share/moin/gefctcwiki')
Now you have a CGI version of MoinMoin, just a few steps to a WSGI version. Copy $moin/server/moin.wsgi to $wiki folder, and add WSGIScriptAlias into VirtualHost definition in apache configuration file, you shall be able to access page at http://localhost/mywiki via WSGI mode. But I get HTTP 403 error this time, log indicates that apache can not communicate with WSGI daemon via unix socket, according to WSGI official site, you need to add below line in apache configuration file, just before VirtualHost section
  • WSGISocketPrefix /var/www/wsgi
Finally, I have a full functional Wiki server, by tweaking wikiconfig.py file, I can assign superusers, define front page as well as configure logo picture and a lot other stuff.

Sunday, June 28, 2009

A tip in setup CVS over SSH

  • HOST - FC10
  • SERVER - cvs-1.11.23-2
  • CVSROOT - /cvsroot/CVSROOT
  • CVS users - tim, haifeng, weihua,fisher,xianghua, todd
All CVS users and user "cvs" have same group and each CVS user has a cvs login password for authentication in pserver mode. All CVS users will be treated as system user "cvs", everything works fine when I use pserver mode, well, I always get "permission denied" error when I tried to use ext mode and system complains that the user "tim" is not able to access "/cvsroot/CVSROOT/config". By issuing the command "chmod 770 /cvsroot", which grants r,w,x privileges to the users belong to "cvs" group, the error is resolved since user "tim" can now access /cvsroot without any problem. In pserver mode, system considers every valid user as user "cvs", there is no access issue.