2009年12月16日星期三

Which Is the Top Tech Company to Work For?

Looking for a tech job? Well read on for the results of a new poll from
Sausalito, Calif.-based Glassdoor.com as to the best — and worst — tech
companies from which to draw a paycheck.

I had expected Google to take top honors given its stock performance, not
to mention what it spends on food and other amenities for its employees. I
guess money really doesn't buy happiness — the search giant ranked No. 3
on the list, while Apple came in at No. 5. The top-ranked company? Router
maker Juniper Networks. (Full results of the survey will be released
tomorrow.)
Highest-Rated Tech Companies for 2009
Rank Company Company Rating CEO CEO Approval Rating
1 Juniper Networks 3.9 Kevin Johnson 65%
2 National Instruments 3.9 James J. Truchard 85%
3 Google 3.9 Eric E. Schmidt 87%
4 NetApp 3.9 Dan Warmenhoven 78%
5 Apple 3.8 Steve Jobs 91%
6 QUALCOMM 3.7 Paul E. Jacobs 65%
7 Novell 3.7 Ron Hovsepian 59%
8 Adobe 3.7 Shantanu Narayen 60%
9 EMC 3.7 Joe Tucci 64%
10 Rackspace 3.6 A. Lanham Napier 67%


As for the lowest-rated, it looks like Dell hit a home run by buying Perot
Systems — it has the dubious honor of coming in at No. 10.
Lowest-Rated Tech Companies
Rank Company Company Rating CEO CEO Approval Rating
1 Xilinx 2.3 Moshe Gavrielov 12%
2 Affiliated Computer Services 2.4 Lynn R. Blodgett 21%
3 Hewlett-Packard 2.4 Mark V. Hurd 22%
4 Avaya 2.5 Kevin Kennedy 24%
5 Real 2.5 Rob Glaser 12%
6 NVIDIA 2.5 Jen-Hsun Huang 52%
7 Infosys 2.6 Kris Gopalakrishnan 35%
8 Nortel Networks 2.7 Mike S. Zafirovski 2%
9 Perot Systems 2.7 Peter A. Altabef 35%
10 Dell 2.8 Michael S. Dell 28%

putty的复制和粘贴

本文是putty/pietty操作的tips,可以让操作提高效率。因为复制粘贴经常使用,比重新敲入要方便许多。putty的粘贴可以配置为鼠标中键或右键,此文假设为右键。(某些环境下配置不一样,对应本文中的右键和中键切换)

1.在windows中复制往putty中粘贴
windows中复制:直接选中文本,按Ctrl+C。
putty中粘贴:鼠标右键

》vi 中的复制粘贴问题
但对于vi编辑有点特殊。粘贴前应位于插于模式,不像vi快捷键P,是命令模式下的粘贴。粘贴的位置是光标所在的位置,而不是鼠标点的位置。
如果vim里有set ai (auto indent)或者set
cindent,对于格式化文本,粘贴时可能导致前面不断叠加空格,使格式完全错乱。那么在.vimrc里加一句set
paste,即可正确粘贴格式化文本。

2. putty 复制
putty用鼠标左键选中即已经放到剪贴板。选中后即可在windows的其他编辑器或输入栏按Ctrl+V
粘贴。往putty粘贴直接点鼠标右键。

》putty选择并复制小技巧
鼠标左键按住拖拉选择,即已经复制。
双击鼠标左键,选择复制一个单词,支持中文。双击并在第二次按下时不放,拖动鼠标左键,会按单词选择。
鼠标三击,会选择并复制一行。鼠标三击并在最后一击时拖动,会按行选择。
按住左Alt,拖动鼠标左键,会选择方块。但putty菜单的windows(窗口)->move
hotkey(移动热键)的左Alt+左键拖动应取消。
选择完了要补选复制,可以按下中键并拖动。补选方式和此前的选择方式一样,单击的补选是按字母,双击的补选是按单词。三击的补选是按行。窗口选择的补选是窗口选择。

好用的convmv(献给所有转向FC的,或从gb转向utf8的人)

由于FC将字符编码统一成了UTF8,原来在gb18030下建立的ext3分区中的文件和目录,一挂载到FC上就显示成乱码。google遍整个互联网,说对于目录名和文件名,有一个叫convmv的软件可以对其进行自动转换。
今日下载了convmv,摸索了一套使用方法如下:
convmv -f code1 -t code2 -r <dir>
code1:分区原来使用的字符集编码。支持gb2312、gbk、big5,不支持gb18030和big5-hkscs。
code2:预转换到的字符集编码。对于FC,这里填写utf8
-r 参数:转换子目录。
dir:要转换的目录,当前目录用./表示。
回车执行,这个时候convmv会显示执行的结果,但不会真正对文件进行修改。并提示使用--replace参数进行修改。

文件名编码转换convmv

经常遇到要把GBK或者UTF-8编码的文件转成其它编码的情况。(例如:在utf8的locale中,要把文件复制到windows的分区中,或打包发送给使用Windows的用户,通常要把文件名转换成gbk码。而如果要把gbk的locale转成utf8的,则需要对文件名做编码转换。又或者您使用的发行版默认编码不同,红旗是GB18030,红帽是UTF-8等,这就需要转换编码了。)
手动操作文件夹很麻烦,工具convmv解决了这一问题。并支持批量转换。
注意:
不要在NTFS或FAT文件系统上做此种操作,否则可能产生意外结果。如果要在Linux中正确显示NTFS和
FAT的中文件名,请参阅挂载Windows分区。
convmv存在于常见操作系统的源中。如果当前没有工具,可以直接安装。

实时股票数据接口大全

股票数据的获取目前有如下两种方法可以获取:
1. http/javascript接口取数据
2. web-service接口
1.http/javascript接口取数据

1.1Sina股票数据接口

以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据
接口:
http://hq.sinajs.cn/list=sh601006

这个url会返回一串文本,例如:
var hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91,
26.92,
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150,
26.95, 15220, 26.96, 2008-01-11, 15:05:32";

这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。

0:"大秦铁路",股票名字;
1:"27.55″,今日开盘价;
2:"27.25″,昨日收盘价;
3:"26.91″,当前价格;
4:"27.55″,今日最高价;
5:"26.20″,今日最低价;
6:"26.91″,竞买价,即"买一"报价;
7:"26.92″,竞卖价,即"卖一"报价;
8:"22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
9:"589824680″,成交金额,单位为"元",为了一目了然,通常以"万元"为成交金额的单位,所以通常把该值除以一万;
10:"4695″,"买一"申请4695股,即47手;
11:"26.91″,"买一"报价;
12:"57590″,"买二"
13:"26.90″,"买二"
14:"14700″,"买三"
15:"26.89″,"买三"
16:"14300″,"买四"
17:"26.88″,"买四"
18:"15100″,"买五"
19:"26.87″,"买五"
20:"3100″,"卖一"申报3100股,即31手;
21:"26.92″,"卖一"报价
(22, 23), (24, 25), (26,27), (28, 29)分别为"卖二"至"卖四的情况"
30:"2008-01-11″,日期;
31:"15:05:32″,时间;

一个简单的JavaScript应用例子:
<script type="text/javascript" src="http://hq.sinajs.cn/list=sh601006"
charset="gb2312"></script>
<script type="text/javascript">
var elements=hq_str_sh601006.split(",");
document.write("current price:"+elements[3]);
</script>

这段代码输出大秦铁路(股票代码:601006)的当前股价

current price:14.20

如果你要同时查询多个股票,那么在URL最后加上一个逗号,再加上股票代码就可以了;比如你要一次查询大秦铁路(601006)和大同煤业(601001)的行情,就这样使用URL:
http://hq.sinajs.cn/list=sh601003,sh601001

查询大盘指数,比如查询上证综合指数(000001):
http://hq.sinajs.cn/list=s_sh000001

服务器返回的数据为:

var hq_str_s_sh000001="上证指数,3094.668,-128.073,-3.97,436653,5458126";

数据含义分别为:指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);

查询深圳成指数:
http://hq.sinajs.cn/list=s_sz399001

对于股票的K线图,日线图等的获取可以通过请求http://image.sinajs.cn/…./…/*.gif此URL获取,其中*代表股票代码,详见如下:

查看日K线图:
http://image.sinajs.cn/newchart/daily/n/sh601006.gif

分时线的查询:
http://image.sinajs.cn/newchart/min/n/sh000001.gif

日K线查询:
http://image.sinajs.cn/newchart/daily/n/sh000001.gif

周K线查询:
http://image.sinajs.cn/newchart/weekly/n/sh000001.gif

月K线查询:
http://image.sinajs.cn/newchart/monthly/n/sh000001.gif

1.2 Baidu&Google的财经数据
在baidu,
google中搜索某只股票代码时,将会在头条显示此股票的相关信息,例如在google搜索601006时,
第一条搜索结果如下图:
通过点击左边的图片我们发现会将此图片链接到sina财经频道上,也就是说google股票数据的获取也是从sina获取。后经抓包分析,发现google也是采用1.1中介绍的接口。

Baidu的股票数据来自baidu的财经频道
http://stock.baidu.com/

1.3 其他方式
除了sina,baidu等网站提供股票信息外,其他网站也有类似的接口。我们分析了一款论坛上采用的股票插件,
其中有关于实时股票数据获取的介绍,详见如下代码,其中可以看到有些数据来自sina。
以下是ASP示例:
<%
'==========================
' file: stock_getdata.asp
' version: 1.0.0
' copyright (c) czie.com all rights reserved.
' web: http://www.czie.com
'==========================
function gethttp(rurl)
dim xml
on error resume next
set xml=server.createobject("Microsoft.XMLHTTP")
xml.open "get",rurl,false
xml.send
if not xml.readystate=4 or not xml.status=200 or err
then gethttp="":exit function
gethttp=xml.responsetext
set xml=nothing
end function
function getstockdata(code)
'0=股票名称,1=开盘价格,2=昨收盘价格,3=当前价格,4=最高价,5=最低价,30,31=更新时间
dim checkcode,stockdata,stockdatasplit
if len(code)<5 then
stockdata="0,0,0,0,0,0,0,0,0,0,0,0":exit function
checkcode=mid(code,len(code)-5,1)
if int(checkcode)<=4 then
stockdata=gethttp("http://hq.sinajs.cn/list=sz"&code&"")
if not len(stockdata)=0 then
stockdata=split(stockdata,chr(34))(1)
end if
if int(checkcode)>=5 then
stockdata=gethttp("http://hq.sinajs.cn/list=sh"&code&"")
if not len(stockdata)=0 then
stockdata=split(stockdata,chr(34))(1)
end if
if len(stockdata)=0 then
stockdata="0,0,0,0,0,0,0,0,0,0,0,0"
else
stockdatasplit=split(stockdata,",")
stockdata=""&exstock.checkstr(stockdatasplit(0))&","&stockdatasplit(1)&","&stockdatasplit(2)&","&stockdatasplit(3)&","&stockdatasplit(4)&","&stockdatasplit(5)&","&formatdatetime(""&stockdatasplit(30)&"
"&stockdatasplit(31)&"",0)&""
end if
'0=股票名称,1=开盘价格,2=昨收盘价格,3=当前价格,4=最高价,5=最低价,6=更新时间
getstockdata=stockdata
end function

function getstockimg(code)
dim rndnum,addnum,checkcode,imgsource
if len(code)<5 then exit function
addnum=4
randomize:rndnum=cint(rnd*addnum)
select case rndnum
case 0
getstockimg="http://www.10jqka.com.cn/curve/kline/?code="&code&""
imgsource="http://www.10jqka.com.cn"
case 1
getstockimg="http://stock.jrj.com.cn/htmdata/KLINE/"&code&".png"
imgsource="http://stock.jrj.com.cn"
case 2
checkcode=mid(code,len(code)-5,1)
if int(checkcode)<=4 then
getstockimg="http://image.sinajs.cn/newchart/daily/n/sz"&code&".gif"
end if
if int(checkcode)>=5 then
getstockimg="http://image.sinajs.cn/newchart/daily/n/sh"&code&".gif"
end if
imgsource="http://finance.sina.com.cn"
case 3
getstockimg="http://hq.gazxfe.com/stockchart/realline.chart?"&code&"&1003&SZ
500 330"
imgsource="http://hq.gazxfe.com"
case 4
getstockimg="http://chartse.stockstar.com/chartserver?code="&code&""
imgsource="http://www.stockstar.com/"
end select
getstockimg=split(""&getstockimg&"||"&imgsource&"","||")
end function

function getastockimg()
dim rndnum,addnum,checkcode
dim getastockimgb,imgsource
addnum=6
randomize:rndnum=cint(rnd*addnum)
select case rndnum
case 0
getastockimg="http://202.109.106.1/gifchartse/gif/000001.gif"
getastockimgb="http://202.109.106.1/gifchartse/gif/399001.gif"
imgsource="http://www.stockstar.com/"
case 1
getastockimg="http://money.163.com/special/100.gif?C39"
getastockimgb="http://money.163.com/special/101.gif?HrS"
imgsource="http://www.163.com"
case 2
getastockimg="http://www.10jqka.com.cn/curve/realtime/index2.php?code=1a0001&w=180&h=140"
getastockimgb="http://www.10jqka.com.cn/curve/realtime/index2.php?code=399001&w=180&h=140"
imgsource="http://www.10jqka.com.cn"
case 3
getastockimg="http://chart.cnlist.com/stockchart/realline.chart?1a0001&1002&SZ
180 140"
getastockimgb="http://chart.cnlist.com/stockchart/realline.chart?399001&1002&SZ
180 140"
imgsource="http://chart.cnlist.com/"
case 4
getastockimg="http://image.sinajs.cn/newchart/small/ish000001.gif?1189176558328"
getastockimgb="http://image.sinajs.cn/newchart/small/isz399001.gif?1189176558328"
imgsource="http://www.sinajs.cn"
case 5
getastockimg="http://218.1.72.66/cgi/pic/sh/realtime/JA000001164143.png"
getastockimgb="http://218.1.72.66/cgi/pic/sz/realtime/JA399001164143.png"
imgsource="http://www.cnstock.com/"
case 6
getastockimg="http://222.73.29.85/img/000001.png"
getastockimgb="http://222.73.29.85/img/399001.png"
imgsource="http://www.eastmoney.com/"
end select
getastockimg=split(""&getastockimg&"||"&getastockimgb&"||"&imgsource&"","||")
end function
%>
2. web-service接口

2.1 CHINAstock的web-service:
http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx

中国股票行情数据 WEB
服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新。输出GIF分时走势图、日/周/月
K
线图、及时行情数据(股票名称、行情时间、最新价、昨收盘、今开盘、涨跌额、最低、最高、涨跌幅、成交量、成交额、竞买价、竞卖价、委比、买一
- 买五、卖一 - 卖五)。此WEB服务提供了如下几个接口:

2.1.1 getStockImageByCode
GET 股票GIF分时走势图
INput:theStockCode = 股票代号,如:sh000001
POST /WebServices/ChinaStockWebService.asmx HTTP/1.1
Host: www.webxml.com.cn
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://WebXml.com.cn/getStockImageByCode"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getStockImageByCode xmlns="http://WebXml.com.cn/">
<theStockCode>string</theStockCode>
</getStockImageByCode>
</soap:Body>
</soap:Envelope>

Output:

2.1.2 getStockImageByteByCode
获得中国股票GIF分时走势图字节数组

INput:theStockCode = 股票代号,如:sh000001
POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockImageByteByCode" <?xml
version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body>
<getStockImageByteByCode xmlns="http://WebXml.com.cn/">
<theStockCode>string</theStockCode> </getStockImageByteByCode>
</soap:Body></soap:Envelope>

返回的数据如下:


R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A

2.1.3 getStockImage_kByCode
直接获得中国股票GIF日/周/月 K 线图(545*300pixel/72dpi)
INPUT: theStockCode = 股票代号
theType = K 线图类型(D:日[默认]、W:周、M:月),
POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByCode" <?xml
version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body>
<getStockImage_kByCode xmlns="http://WebXml.com.cn/">
<theStockCode>string</theStockCode> <theType>string</theType>
</getStockImage_kByCode> </soap:Body></soap:Envelope>

比如按照下图所示输入:
返回的结果就是周K线图:

2.1.4 getStockImage_kByteByCode
获得中国股票GIF日/周/月 K 线图字节数组
Input:theStockCode = 股票代号,如:sh000001
POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByteByCode" <?xml
version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body>
<getStockImage_kByteByCode xmlns="http://WebXml.com.cn/">
<theStockCode>string</theStockCode> <theType>string</theType>
</getStockImage_kByteByCode> </soap:Body></soap:Envelope>HTTP/1.1 200
OKContent-Type: text/xml; charset=utf-8Content-Length: length <?xml
version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body>
<getStockImage_kByteByCodeResponse xmlns="http://WebXml.com.cn/">
<getStockImage_kByteByCodeResult>base64Binary</getStockImage_kByteByCodeResult>
</getStockImage_kByteByCodeResponse> </soap:Body></soap:Envelope>

比如按照下图输入:
返回的结果就是周K线图字节数组


R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A

2.1.5 getStockInfoByCode
获得中国股票及时行情
input:theStockCode = 股票代号
POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockInfoByCode" <?xml
version="1.0" encoding="utf-8"?><soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body>
<getStockInfoByCode xmlns="http://WebXml.com.cn/">
<theStockCode>string</theStockCode> </getStockInfoByCode>
</soap:Body></soap:Envelope>

返回的值一个一维字符串数组
String(24),结构为:String(0)股票代号、String(1)股票名称、String(2)行情时间、String(3)最新价(元)、String(4)昨收盘(元)、String(5)今开盘(元)、String(6)涨跌额(元)、String(7)最低(元)、String(8)最高(元)、String(9)涨跌幅(%)、String(10)成交量(手)、String(11)成交额(万元)、String(12)竞买价(元)、String(13)竞卖价(元)、String(14)委比(%)、String(15)-String(19)买一
- 买五(元)/手、String(20)-String(24)卖一 - 卖五(元)/手。

Web
service的方法类似于现在concurrent项目的DBWS数据的获取,都是通过SOAP协议向DBWS服务器获取相关的数据。

利用雅虎查中国股票
http://quote.yahoo.com/d/quotes.csv?s=MSFT&f=slc1wop

返回微软的股票价格

"MSFT","4:00pm - 30.70",+1.04,"21.46 - 30.75",29.77,29.66
http://quote.yahoo.com/d/quotes.csv?s=000969.SZ&f=slc1wop

这个返回安泰科技的,一般有半个小时的延迟。

但是s=000969.sz 这个后面的sz是深圳的意思, 沪市是SS后缀

ubuntu9.10 使用

ubuntu 9.10
号称可以叫板windows7,功能方面相当强悍。比如可能引起下一波屏幕手写浪潮的多点触摸,ubuntu9.10也同样具有,而且还有ubuntu
one云计算2G 免费空间。
至于3D桌面等炫酷功能,也是更早版本就已经带了。不过由于本人电脑一直比较破,还没有试用过这些功能。

在参加linux
内核大会时,坐旁边的是canonical上海公司的员工,看到他把苹果笔记本装了ubuntu
9.10 beta版,很是羡慕。因此一直翘首等待9.10正式版发行。

-------------------------------
1. 下载ubuntu9.10和在windows下安装
-------------------------------
在ubuntu 刚刚发布当天,我就下载来最新官方正式版。

国内下载比较快的地址是sohu和163的镜像,推荐一下。

http://mirrors.sohu.com/ubuntu-releases/karmic/

http://mirrors.163.com/ubuntu-releases/9.10/

但ubuntu.com网站上并没有列举国内的镜像。

下载完毕,可以用ultraiso 虚拟到光驱,如下图:

虚拟光驱完成后点开相应的盘,看到一个wubi.exe,双击看到安装提示界面:

该版本非常人性化。可以用虚拟光驱在windows下面安装,并可以选择liveCD
方式进入再全面安装,也可以直接安装在windows分区。我选择后一种方式,提示是硬盘访问会稍微慢一点。但实际上感觉不到。

点了"在windows中安装"后,奇怪的是语言包里各种语言都有,包括Japanese,居然没有Chinese的选项,只好选English(US),挺郁闷的。如下图,一共提供了110多种语言选项,居然没有中文,害得我反复寻找,以为自己看花眼了。

用English(US)选项安装,不仅安装过程是英文的,安装完毕的系统也是英文的,没有切换为中文的选项。必须手动从网上下中文语言包。

系统解压,重新启动,会看到启动菜单里除了原来windows的选项,还有一个ubuntu的选项,选择该选项。系统自动安装,非常简单,没有指定安装任何驱动,即全部支持,包括网卡和声卡显卡。大概10多分钟就装完了。重启。

------------------
2.缺省安装没有中文支持
------------------
进入后,全是英文界面,当然也不会有中文输入法。在System的Preferences(首选项)的Network
Connections(网络链接)里,不是dhcp, 配好wired/wireless的 IP 和DNS
,即可上网,可以浏览中文网页。

进入System->administrator->Language support,
里面可选的语言也只有English,没有中文。

-------------
3.配置大陆更新源
-------------
先配一下大陆的下载源。可以将sohu和163的作为主要的。

cd /etc/apt
sudo cp sources.list sources.list.bk
sudo gedit /etc/apt/sources.list

将原来的us源清空,配置sources.list如下:
view plaincopy to clipboardprint?
#搜狐Ubuntu 9.10更新源
# Ping平均时长:40ms
deb http://mirrors.sohu.com/ubuntu/ karmic main restricted
deb-src http://mirrors.sohu.com/ubuntu/ karmic main restricted
deb http://mirrors.sohu.com/ubuntu/ karmic-updates main restricted
deb-src http://mirrors.sohu.com/ubuntu/ karmic-updates main restricted
deb http://mirrors.sohu.com/ubuntu/ karmic universe
deb-src http://mirrors.sohu.com/ubuntu/ karmic universe
deb http://mirrors.sohu.com/ubuntu/ karmic-updates universe
deb-src http://mirrors.sohu.com/ubuntu/ karmic-updates universe
deb http://mirrors.sohu.com/ubuntu/ karmic multiverse
deb-src http://mirrors.sohu.com/ubuntu/ karmic multiverse
deb http://mirrors.sohu.com/ubuntu/ karmic-updates multiverse
deb-src http://mirrors.sohu.com/ubuntu/ karmic-updates multiverse
# 网易163 Ubuntu 9.10更新源
# Ping平均时长:60ms
deb http://mirrors.163.com/ubuntu/ karmic main restricted universe
multiverse
deb http://mirrors.163.com/ubuntu/ karmic-security main restricted
universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-updates main restricted universe
multiverse
deb http://mirrors.163.com/ubuntu/ karmic-proposed main restricted
universe multiverse
deb http://mirrors.163.com/ubuntu/ karmic-backports main restricted
universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic main restricted universe
multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-security main restricted
universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-updates main restricted
universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-proposed main restricted
universe multiverse
deb-src http://mirrors.163.com/ubuntu/ karmic-backports main restricted
universe multiverse

保存。

sudo apt-get update更新源。

----------------
4.解决中文界面问题
----------------
然后,进入System->administration->Language Support
Install/Remove Languages,安装语言,选Chinese
simplified.装完注销,选界面语言为中文简体,进入即看到了熟悉的中文界面。

系统会提示是否将此前缺省的英文目录改为相应的中文目录,我选择了否。

系统会自动安装huang peng的基于python的
ibus中文输入法,而不是苏哲的scim。我第一次用该输入法。本文也是ibus输入法输入的,非常好用。ibus输入法源码地址:http://code.google.com/p/ibus/
。
ibus输入法支持多种双拼方案,但双拼全拼不能同时支持,这是和搜狗拼音不一样的地方,也不太习惯。我用自然码输入本文时,碰到"安"字,不知如何输入。偶然发现是字母"o"可以作为元音开头,终于解决了这一问题。使用中又碰到输入法的面板突然变成了竖排,非常不习惯,后面发现可以在"系统"->"首选项"->"ibus"里面选候选表是横排还是竖排。

系统自带的软件也相当好用。openoffice 3.1功能强大,支持ms office
2007的格式。自带字典软件不是胡正写的stardict,功能没有胡正的强大。

-----------------
5.解决即时通讯客户端
-----------------

empathy是一款IM 客户端软件,支持windows
live,gtalk,jabber,yahoo,icq,irc等多种服务协议,甚至还支持QQ,不过我试用QQ
登录失败,用windows live(msn)成功。

qq deb包下载:


http://im.qq.com/qq/linux/download.shtml

http://softdl1.tech.qq.com/soft/21/linuxqq_v1.0.2-beta1_i386.zip
http://ppa.launchpad.net/portis25/ppa/ubuntu/pool/main/l/linuxqq/

下载完毕双击即可安装,试用登录OK。

--------------
6.ubuntu one试用
--------------
在 应用程序->internet->ubuntu one
进入了https://login.launchpad.net/+openid
如有launchpad.net的用户,可以直接登录,没有则需要注册。
登入后,提示是否将本计算机加入 ubuntu
one帐号,我将计算机改名为zhouhh,点"Subscribe and Add This Computer"

进入https://one.ubuntu.com/
有files,notes,contacts,account四个标签页。但系统提示客户端比较新,因而不支持,说正在更新服务端,不日可用。
在files下可以创建目录,上传文件时报
Service Temporarily Unavailable
错误。
notes
里添加了一份备忘,但不支持中文,保存后会将中文直接抹去。下面是用Alt+print
screen键直接抓的图。

设置完,在 位置->ubuntu one
可以打开一个窗口,该窗口里面的文件应该可以和网上保持同步。由于我的系统总报兼容性问题,所以没有自动同步成功。

--------------
7.音乐和电影播放
--------------
由于自由软件的版权问题,linux发行版一般不分发私有版权和版权或法律受限的软件,因此播放音乐和看电影经常不是自带的功能。
缺省的ubuntu 9.10也有同样的问题。
为来测试,本人下载了 "陶喆 蔡依林"的
"今天你要嫁给我.mp3"。但双击播放时,movie
player提示不能播放,需要下载插件。同意后,自动下载了具有不同版权协议的gstream
3个插件。重启后即可播放
mp3音乐了。但mplayer的播放列表中的中文歌名却变成了乱码了。但通过菜单打开乱码又变正常。而拖动时间条,会导致屏幕影像停滞不动。下载插件后同时对wma格式也支持。
播放mts高清视频,同样自动下载gstreamer0.10-plugins-bad后可以播放,但停顿严重,并且有很严重锯齿。

7.1 解决播放网络在线视频和flash的问题
firexfox3.5自动下载flash
播放器,可以下载adobe或gnu或gnome的,都可以。下载完后重启firefox,即可播放flash。测试http://v.youku.com/上的视频OK。

--------------------
8. 解决sudo输密码的问题
--------------------
zhouhh@ubuntu:~$ sudo visudo
找到
root ALL=(ALL) ALL
依样画葫芦,在下面添加一行
zhouhh ALL=(ALL) ALL
其中zhouhh是我的用户名。

%sudo ALL=NOPASSWD: ALL

至此,体验了一下最新版的ubuntu9.10,
除了中文问题以及没有单独的中文发行版,其余都很满意。使用起来和windows一样,没有什么障碍。

一直以来伴随我的一些学习习惯

这篇主要写一些学习(尤其是阅读)的基本方法。

1. 趁着对一件事情有热情的时候,一股脑儿把万事开头那个最难的阶段熬过去 。
万事开头难,因为从不了解到了解基本的一些事实,是一个新知识暴涨的阶段,这个时候的困难是最大的。有人熬不过去,觉得困难太大就放弃了。不过,狂热的兴
趣可以抵消对困难的感觉,所以趁着对一件事情有热情的时候,开一个好头是很重要的。(当然,这并不是说持之以恒就不重要了)。当然,也许这个是因人而异
的,对我来说我会在对一件事情有浓厚兴趣的时候非常专注地学习,把很多
groundworks 做掉。后面就会顺利一些了。

2. 根据主题来查阅资料,而不是根据资料来查阅主题 。以前读书的时候是一本一
本的读,眼里看到的是一本一本的书,现在则是一章、甚至一节一节的读,眼中看到的不是一本一本的书,而是一堆一堆的章节,一个一个的知识主题,按照主题来
阅读,你会发现读的时候不再是老老实实地一本书看完看另一本,而是非常频繁地从一本书跳到另一本书,从一处资料跳到另一处资料,从而来获得多个不同的人对
同一个主题是如何讲解的。比如最近我发现在看蒙特卡罗算法时就查了十来处资料,其中有三四篇
paper
和六七本书;这是因为即便是经典的书,你也不能指望它对其中每一个主题的介绍都是尽善尽美的,有些书对某个主题(知识点)的介绍比较到位,有些书则对另一
些知识点介绍得比较到位。而有时候一篇紧凑的 paper
比一本书上讲得还要好。我硬盘里面的书按主题分类,每个主题下面都有一堆书,当我需要学习某个主题的知识时(譬如贝叶斯学习或者神经网络),我会把里面涉
及这个主题的书都翻开来,索引到相关章节,然后挑讲得好的看。那么,如何判断一个资料是好资料还是坏资料呢?

3. 好资料,坏资料 。好资料的特点:从问题出发;重点介绍方法背后的理念(
rationale
),注重直观解释,而不是方法的技术细节;按照方法被发明的时间流程来介绍(先是遇到了什么什么问题,然后怎样分析,推理,最后发现目前所使用的方法)。
坏资料的特点是好资料的反面:上来就讲方法细节,仿佛某方法是从天上掉下来的,他们往往这样写"我们定义...
我们称... 我们进行以下几个步骤...
"。根本不讲为什么要用这个方法,人们最初是因为面对什么问题才想到这个方法的,其间又是怎样才想出了这么个方法的,方法背后的直观思想又是什么。实际上
一个方法如果将其最终最简洁的形式直接表达出来往往丢失掉了绝大多数信息,这个丢掉的信息就是问题解决背后的思维过程。至于为什么大多数书做不到这一点,
我在这里 试着分析过。

4. 学习一个东西之前,首先在大脑中积累充分的"疑惑感" 。即弄清面临的问题
到底是什么,在浏览方法本身之前,最好先使劲问问自己能想到什么方法。一个公认的事实是,你对问题的疑惑越大,在之前做的自己的思考越多,当看到解答之后
印象就越深刻。记得大学里面的课本总是瀑布式地把整个知识结构一览无余地放在面前,读的过程倒是挺爽,连连点头,读完了很快又忘掉了,为什么?因为没有带
着疑问去学习。

5. 有选择地阅读 。很多人觉得我读书速度很快,其实我只是有选择地阅读。这里
的选择体现在两个地方,一是选择一本书中感兴趣的章节优先阅读。二是对一本书中技术性较弱或信息密度较低的部分快速地略读。一般来说,除了技术性非常强的
书之外,大多数书的信息密度很低,有很多废话。一般来说在阅读的时候应该这样来切分内容:1.
问题是什么?2. 方案是什么?3.
例子是什么?如果是需要解释一个现象的(譬如《黑天鹅》),那么1.
现象是什么?2. 解释是什么?3. 支撑这个解释的理由是什么?4.
例子是什么?一般来说,这一二三四用不了多少字就可以写完了(如果假设只举一到两个精到的例子的话),这样的无废话著作的典型是《合作的进化》;那为什么
有些书,明明核心观点就那点东西(顶多加上几个精要的例子罢了)却写得长得要命呢?因为人的思维都有一个"联想"的特点,写着写着就容易旁逸斜出,而且作
者自己也往往觉得引申出去挺牛逼,有时候很多与主题无关的废话就掺和进来了;那么,阅读的时候就应该有选择性地滤掉这些不相干的废话;此外还有一种可能性
就是大量冗余的例子。一般来说组织得比较好的书会有详细且一目了然的目录和索引,根据目录首先就可以滤掉一部分(比如某个子章节的内容你以前是看过的),
然后有时候作者还会举很多冗余的例子,如果你已经觉得印象够深刻了这些例子完全可以不看(一些书就非常厚道地对每个观点只辅以一两个最最经典的例子,譬如
《与众不同的心理学——如何正视心理学》,这样的书我最是喜欢)。

6. 为什么看不懂 ?如果看不懂一个知识,一般有如下几个可能的原因:1.
你看得不够使劲。对此古人总结过——书读百遍其义自现。虽然这个规律不是任何时候都成立的,但是从认知科学的角度看是完全可以解释的,我们在阅读的时候,
注意力往往会有选择性地关注其中的某一些"点",而忽略了另一些"点",于是一遍看下来可能因为某一些忽略导致无法理解整体。或者干脆看的时候就没注意其
中一些细节但重要的东西。此外,大脑理解一个东西需要一定的处理时间,人脑的处理速度很慢,神经冲动每秒传输速度不过百米,所以不能指望看到哪懂到哪。最
后,我们可能因为思维定势的原因会从某个特定的角度去看一句话而忽略了从不同角度去理解的可能性。对于这类情况,仔仔细细地再多读两遍,多试着去理解两
遍,往往会"哦!原来这样。"地恍然大悟。2.
其中涉及到了你不懂的概念。这是技术性的不理解。这种情况就需要 Cross
Reference
。如果一句话中用到了你不懂的概念,那就去查,现在很多书都是电子书,直接搜索一下,或者,对于纸书,看一下书后面的索引就行了。奇怪的是很多人看不懂也
不分析一下为什么不懂,就直接放弃了。正如解决问题一样,问题卡住解决不了,第一时间要做的就是分析到底为什么解决不了,而不是直接求救。3.
作者讲述的顺序不对,你接着往下看,也许看到后面就明白了前面的了。

杂项

7. 如何在阅读之前就能获得对一本书质量的大致评估 。在深入阅读之前能够迅速
评估一本书的质量可以节省很多时间。基本上有几个线索:1.
看作者。牛作者写的书一般都不错。2.
看目录和简介。一份好的目录和简介能够透露这本书质量的相当一部分信息。目录结构是否清晰,是否直白(而不是装神弄鬼),都是衡量的线索。3.
看 Amazon
上的评价,这里要注意的是,除了看整体打分之外,更要看打分最低的人是怎么说的,因为小众意见往往有可能来自那些真正懂行的人(除了来踢馆的),如果在打
分最低的意见里面看不到真正有价值的反驳意见的话就相当肯定书是不错的了。4.
看样章。Amazon
上一般都可以随机浏览一些章节的,表达是否清晰,论证是否严谨,内容是否深刻,基本是几页纸就能看出来的。

8. 如何搜寻到好书 。几个线索:1. 同作者的著作。2. Amazon
相关推荐和主题相关的书列(类似豆瓣的豆列)。3.
一本好的著作(或一份好的资料——不管是书还是网页)在参考资料里面重点提到的其他著作。4.
有时对于一个主题,可以搜索到好心人总结的参考资源导引,那是最好不过的。