| Shell's profileShell's RoomPhotosBlogLists | Help |
|
|
10/29/2008 封杀华硕宣告 兹因华硕陷害门事件(可于google上搜索 华硕 陷害门 黄静,不要使用百度),决定于今日起封杀华硕系列所有产品。不购买,不使用,不推荐,并向认识的人宣告此问题。特此声明。
P.S:虽然华硕不把我们当回事情,但是我们还是要把华硕当回事情,你想当下一个黄静么? 9/24/2008 VeryCD版电驴(eMule)存在封锁 eMule是一个GPL程序,所以VeryCD的改版必须公开源码。今天听说VeryCD版有封锁的现象,所以贝壳抓源码来看看。如果大家认为老调重弹的话,不妨把文章拉到最后。 源码从此处下载:http://www.emule.org.cn/download/ 最下方链接:http://download.verycd.com/eMule-VeryCD-src.rar 贝壳下到的文件大小13,703,064字节,打包时间2008-09-11。经过贝壳查找,在eMule-VeryCD-src\src \WordFilter发现两个文件,WordFilter.cpp 2008-03-12 09:57 13374和WordFilter.h 2007-11-20 17:56 1009。仔细阅读里面,发现有以下内容。 void CWordFilter::Init() { HANDLE hFile; DWORD dwRead; int nLen; BOOL bResult; CStringList list; //m_count = 0; CString saaa = thePrefs.GetMuleDirectory(EMULE_EXECUTEABLEDIR) + FLITER_FILE; CString sbbb = thePrefs.GetMuleDirectory(EMULE_CONFIGDIR) + FLITER_FILE; // 如果文件目录不对,程序移动一下,到config目录下 added by kernel1983 2006.07.31 if (PathFileExists(thePrefs.GetMuleDirectory(EMULE_EXECUTEABLEDIR) + FLITER_FILE)) MoveFile(thePrefs.GetMuleDirectory(EMULE_EXECUTEABLEDIR) + FLITER_FILE, thePrefs.GetMuleDirectory(EMULE_CONFIGDIR) + FLITER_FILE); if (!PathFileExists(thePrefs.GetMuleDirectory(EMULE_CONFIGDIR) + FLITER_FILE)) { // 不存在,所有的都过滤 added by kernel1983 2006.08.08 m_filterall = true; return; } // Open file for read hFile = CreateFile(thePrefs.GetMuleDirectory(EMULE_CONFIGDIR) + FLITER_FILE, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); //AddLogLine(false,_T(":%s\n"),thePrefs.GetConfigDir() + FLITER_FILE); if(hFile == NULL || hFile == INVALID_HANDLE_VALUE) { // 读取错误,所有的都过滤 added by kernel1983 2006.08.08 m_filterall = true; return; } DWORD dwSize = GetFileSize(hFile, NULL); TCHAR * pszData = new TCHAR[(dwSize / sizeof(TCHAR)) + 1]; // 申请空间 bResult = ReadFile(hFile, pszData, dwSize, &dwRead, NULL); // 读入文件1 CloseHandle(hFile); pszData[(dwSize / sizeof(TCHAR))] = 0; if(bResult) { // 加入解码算法 { std::string tempstr( (char*)pszData + 1 , ((int)dwSize - 1) > 0 ? dwSize -1 : 0 ); // 查看是否是老格式 char * pszData_a = (char*) pszData; if( pszData_a[0] != 0x15 ) { // 老格式,进行转换 CUnicodeToMultiByte wc2mb( thePrefs.GetMuleDirectory(EMULE_CONFIGDIR) + FLITER_FILE ); tempstr.assign( (char*)pszData , dwSize ); InternalBase64::encode2file( tempstr , std::string((LPCSTR)wc2mb , wc2mb.GetLength()) ); delete [] pszData; // 重新载入 return Init(); } vector<unsigned char> vec = InternalBase64::decode( tempstr ); char * pszt = (char*) pszData; for( size_t i = 0; i < vec.size() ; i++ ) { pszt[i] = vec[i]; } dwSize = vec.size(); } TCHAR * pszTemp = wcstok(pszData + 1, _T("\r\n")); while(pszTemp != NULL) { nLen = wcslen(pszTemp); while(pszTemp[nLen - 1] == '\t' || pszTemp[nLen - 1] == ' ') { nLen --; pszTemp[nLen] = 0; } while(*pszTemp == '\t' || *pszTemp == ' ') { pszTemp ++; nLen --; } //AddLogLine(false,_T("pszTemp:%s"),pszTemp); //AddLogLine(false,_T("nLen:%d"),nLen); if(nLen > 0)list.AddTail(pszTemp); //if(nLen == 8)AddLogLine(false,_T(":%d %d %d %d "),((char*)pszTemp)[0],((char*)pszTemp)[1],((char*)pszTemp)[2],((char*)pszTemp)[3]); pszTemp = wcstok(NULL, _T("\r\n")); } } delete[] pszData; m_count = list.GetCount(); //AddLogLine(false,_T("m_count:%d"),m_count); if(bResult && m_count > 0) { m_filterwords = new TCHAR*[m_count+1]; m_kmpvalue = new int*[m_count+1]; ZeroMemory(m_filterwords, sizeof(TCHAR *) * m_count); ZeroMemory(m_kmpvalue, sizeof(int *) * m_count); } for(int i = 0; bResult && (i < m_count); i ++) { CString s = list.GetAt(list.FindIndex(i)); s.MakeLower(); nLen = s.GetLength(); //AddLogLine(false,_T("nLen:%d"),nLen); m_filterwords[i] = new TCHAR[nLen + 1]; m_filterwords[i][nLen] = 0; // 最后一个字节设为0 m_kmpvalue[i] = new int[nLen]; //AddLogLine(false,_T("nLen:%d"),nLen); _tcscpy(m_filterwords[i],s); //AddLogLine(false,_T("m_filterwords[i]:%s"),m_filterwords[i]); KMP_GetNext(m_filterwords[i], m_kmpvalue[i]); // 得到一个与内容有关的数值m_kmpvalue[i] } if(m_count == 0 || !bResult) { Free(); //m_filterall = true; } } bool CWordFilter::VerifyString(const CString & sString) // 验证字符是否合法 { bool bIsRm = sString.Right(3)==_T(".rm"); CString sReduceString=sString; CString sInterpunctionString = _T("(),().。·;:-《》『』~ “”〓!【】★×┇"); try // VC-Huby[2007-03-20]:满足中国国情特色,加强过滤 { int j=0; for( int i=0; i<sString.GetLength(); i++ ) { if( sString.GetAt(i)<=_T('/') && sString.GetAt(i)>=_T(' ') ) //从空格到'/'之间的字符减掉后再过滤 { continue; } else if( sString.GetAt(i)<=_T('@') && sString.GetAt(i)>=_T(':') ) { continue; } else if( sString.GetAt(i)<=_T('`') && sString.GetAt(i)>=_T('[') ) { continue; } else if( sString.GetAt(i)<=_T('~') && sString.GetAt(i)>=_T('{') ) { continue; } else if( sInterpunctionString.Find(sString.GetAt(i))>=0 ) { continue; } else { sReduceString.SetAt(j,sString.GetAt(i)); j++; } } if( j<sString.GetLength() ) sReduceString.SetAt(j,_T('\0')); } catch (...) { } if(m_filterall){ //AddLogLine(false,_T("m_filterall")); return true; // 检测不到文件,或者读取错误的情况下放弃过滤 } if(m_count == 0){ //AddLogLine(false,_T("m_count == 0")); return true; // 文件是空的时候,放弃过滤功能 } CString strSearch = ((CString)sReduceString).MakeLower(); //vc-huby: 过滤中文字符超过15字符 //CString sReduceString2=strSearch; int k=0; for( int i=0; i<strSearch.GetLength(); i++ ) { if( strSearch.GetAt(i)<=_T('9') && strSearch.GetAt(i)>=_T('0') ) { continue; } if( strSearch.GetAt(i)<=_T('z') && strSearch.GetAt(i)>=_T('a') ) { continue; } else { k++; } } if( k>=20 && bIsRm ) return false; //int m = sReduceString2.GetLength(); /* if( k>=60 ) return false;*/ /*if (strSearch.GetLength() > 20) { return false; }*/ for(int i = 0; i < m_count; i ++) { if(KMP_Match(strSearch, m_filterwords[i], m_kmpvalue[i])) { //AddLogLine(false,_T("KMP_Match")); return false; // 关键词命中了,被fliter了 } } //AddLogLine(false,_T("漏掉的")); return true; } void CWordFilter::Free() // { for(int i = 0; i < m_count; i ++) { if(m_filterwords[i]) delete[] m_filterwords[i]; if(m_kmpvalue[i]) delete[] m_kmpvalue[i]; } delete[] m_filterwords; delete[] m_kmpvalue; } CWordFilter::~CWordFilter() { Free(); } 其中WordFilter.h的第17行有以下定义。 #define FLITER_FILE _T("wordfilter.txt") 于是贝壳查看了C:\Program Files\eMule\config目录,在下面发现了wordfilter.txt 2007-09-30 12:58 10788。大家有兴趣自己看看里面的内容,贝壳就不贴了,贴出来绝对被封,死1090次。 下面说一点起效方式,也许大家很奇怪,这些内容是可以搜索的。贝壳仔细查看了代码,类在两处被引用了,一个是MFC初始化系统的时候初始化类,载入词典。 另外一个是在SearchList.cpp 2007-11-20 17:56 22505,351行AddToList函数,第360行,内容如下。 // WordFilter added by kernel1983 2006.07.31 if(!WordFilter.VerifyString(toadd->GetFileName())) { delete toadd; return false; } 这个封锁手法尤其狠毒,并非封锁你的搜索,而是如果你的文件信息内有这些关键词,那么文件共享消息就不会被发送到服务器上,如同这个文件没有被共享一样。这样既没有用户会发现被封锁的事实(因为有少量其他客户端的数据会被检索出来),又能达到封锁的目地。 当然,贝壳理解VeryCD这帮人的苦心,毕竟他们还住在中国,不过估计从此后,贝壳和朋友的机器上不会装VeryCD了。 9/23/2008 百度、官员辞职和特供局 这几个东西有什么联系?其实没什么大联系,只是同样是没用的东西而已。 先说百度吧,大家可能不知道,google的一个原则就是“不作恶”。简单来说,不因为人为的理由而改变搜索结果。包 括调整排名,屏蔽关键词等。google卖的关键词和百度不大一样,百度的是改变搜索结果,google则是在旁边显示广告栏,其显示特征明显不同于正常 搜索结果。从商业角度来说,卖排名当然不如卖广告收入多,但是google的收入却比百度高很多。我以前也完全无法理解google费力坚持不做恶的理 由,更无法理解为什么google的收入会远远超过百度,然而这次却明白了。大家应当听说某奶粉品牌300万搞定某搜索引擎的事情吧?当然,某搜索引擎否 认了,我们也没有什么证据来说明这次的却是被搞定了。但是,百度卖排名是事实,卖关键词屏蔽也不是什么很难理解的事情吧?也许这次没有被搞定,然而在卖屏 蔽却没有什么异议。然而如果这么说的话,那么百度,无疑就成为了遮盖大众知情权的帮凶了。当然,同样的问题google并非没有。google在进入中国 后,和政府达成了协议。部分涉及国家的敏感词汇被封锁,大家可以看google最下方的提示。“据当地法律法规和政策,部分搜索结果未予显示。” 如果出现这个,就代表你的关键词有问题,部分内容被屏蔽了。作为进入中国的代价,我们理解这种事情。然而即使是这种程度的改变,依然被很多google的 fans质疑,认为google背叛了“不作恶”的原则。大家可以想想,一个搜索引擎受到国家约束而被迫改变结果尚且要引来怀疑。这时候,一个可以用钱买 卖,结果改来该去的引擎,有用么? 因此我强烈的建议大家,使用google的搜索引擎。或者说,当你需要知道什么事情,怀疑什么事情,而这个事情又和强 权的利益相关的时候,请使用google搜索引擎,因为百度可能被“买通”了。你不知道你搜索出来的“最有名”的培训公司是否真的好(这是我一个朋友的真 实例子,他所在的培训公司就是打的百度排名,但公司有严重问题),你不知道你“搜索不到”有问题的词是否真的只是因为你个人的问题(例如这次的三鹿)。当 你搜索到的东西其实只是一堆利益的集合的时候,我觉得这个搜索引擎也就没用了。 我当然不是对百度有意见,也不是对国产有意见。我本人就是中国的程序员,也有朋友在百度任职。然而中国的公义(好吧,这个词大了点)是不能因为利益而含糊的。说的更准确点,当你为了利益而含糊公义的时候,说不定你的儿女正在喝三鹿奶粉。 下面讲讲官员辞职。这次溃坝辞职的孟学农,其实是第二次辞职了。头一次是因为在北京,非典处置不力而辞职。这次又在山西,因为溃坝辞职。中国官方的解释是,孟学农的两次辞职为做太平梦的太平官敲响了警钟。然而贝壳要问,为什么辞职了两次? 大家理解官员辞职,基本就是,辞去职务。辞去后干什么?我们并不清楚。当然,辞职后又重入公职,说起来也不是不可以。 但是,这样真的可以么?有人可能说说法规并不反对,但是我想问,一个已经有了明显的处置不力前科的人,为什么那么容易的又进入了公务员队伍呢?难道中国对 农村户口的人进入公职防范的那么严格,对有处理问题不力前科的人反倒不必防范?辞职,下台躲躲风头,学学陈冠希,事情走了再出来,损失的只是以前积累的名 气,是不是太容易了?进一步说,这次因为三鹿辞职的某些官员,下次又准备在哪里任职呢?大家明天又想喝些什么呢? 当然,还有一个更坏的理由,就是这些人因为没有背景,被屡次作为代罪羔羊。为什么说比辞职重新担任公职更糟糕呢?因为 这代表真正应当负责的人屁股都不必动。辞职重新担任官职,好歹还有躲风头的时间,还要损失自己的名气和政绩。作为官员,在做事情前还是要想想这个代价的。 然而花钱弄一堆不做事的替罪羊养起来,出了问题就让他们辞职顶罪,然后再给他们重新安排一个替罪羊的职务。这连想代价的时间都省了,反正这帮人的工资是国 家支付,人民出钱。拿人民的钱来糊弄人民,没有比这个更好做的决定了。如果真的碰到这种情况(当然,这只是贝壳的猜测),那官员问责机制就会从“没什么用 ”彻底变成“什么用都没”。 最后一个,讲讲特供局。特供局的意义相信大家都清楚,就是给皇帝弄贡品的单位。这种局弄出来,肯定要被大家骂的。当官 的只管自己吃喝好,不管老百姓生死。有人还这么说,只要特供局存在一天,当官的就不会真正在意老百姓的生死。只要产品安全到家了,总理可以在大街上随便买 个番茄吃了。在这里贝壳不打算讨论政府和食品安全问题,只是想问另外一个问题。让一帮人浮于事吃拿卡要的家伙负责另外一帮同样家伙的食品,有用么? 以前给皇帝拿贡品的时候,下面的经手太监经常吃拿卡要雁过拔毛。只要给一定的好处,就可以打上贡品的标签。多收了是朝 廷付钱,好吃的自己先吃掉,反正皇帝也不会来查——要是他有这个空,肯定自己来管了。最后经常会出现朝廷的采买太监吃的比皇帝都好的现象。同样的事实难保 不会再特供局出现,毕竟东西经过特供局后一般不会再交付其他部门检查。那特供局完全有可能检验一下,扣下一些特别好的,收钱定贡品。反正只要交上去的东西 没问题,就没人问他们负责。 6/14/2008 招行的一些数据 银行的平均窗口服务效率是每人4.5分钟。 普通窗口队列长度是62人(周五14:20记录),三个窗口,等待时间90分钟。 金卡窗口队列长度是10人(同一时间记录),一个窗口,等待时间45分钟。 普卡/金卡比为6.2:1,即存款在5W以上的人占总人数的13.89%。 存款结算时数据为存款利率86.14,但总资产计算时利率只算了86.13,出现一分误差。 以上。 5/22/2008 关于捐款的问题 上次贝壳已经给捐款不痛快过一次了,这次还是得继续不痛快。 首先是一条低调的新闻,网易终止与红十字会的合作,据说原因是"过程无法监控"。作为一个慈善机构,过程和结果无法监控,在发达国家(好吧,成熟国家,省得犯了某些人的讳)是不可想像的。网易为什么要提出监控,红十字为什么不给监控,这个就要说到善款的结算过程和意义,以及当前中国非政府组织的现状。 已经上班的朋友可能知道,我国有两种税征收方式,连带征收和查账征收。查账征收中,国家会检查企业的出入账目,计算企业盈利,并从中抽取企业收入的一定比例,这个就是所谓的增值税。如果您不小心亏本了,或者打平,那么是无需纳税的,这个很合理。总不会说亏本继续纳税吧。企业怎么减小增值税呢?主要是购买各种东西,当然是生产过程所需的东西,这些东西会计入成本(因此出差报销需要发票,因为这些发票代表着出差这个东西的成本)。如果企业收集很多发票,做帐做到打平,不就可以节税了么?事实没这么简单的,每个企业都有所谓的总支出,而总支出是无法作假的。因为一般的发票(餐饮,手机等一般人能搞到的发票)在总支出中占的比例不得大于一定的值。换句话说,做300W的生意,如果花45W作为餐饮花费是合法的,如果花100W,那就只能按45W报账。而其他发票可不是一般途径可以搞的到的,毕竟上游厂商也要开增值税发票,从源头的1元成本增值到100元产品,增长的99元里面的税收,不是落入上游就是落入下游,大家商量着来吧。从此意义上说,捐款(尤其是企业捐款)开具发票和财务透明就尤其重要。我举个例子。 例如,你是一个企业老板,做的是把一种东西买进,加工,然后卖出的生意。东西的成本是8元,加工的成本是2元,卖出去是15元,其中渠道和营销需要2元成本(原谅我用这种很白痴的例子),那么每个东西的净盈利就是3元。国家按照34%收税,简单点我们说税收就是1元(其实例子中还是有问题的,渠道成本超标了)。那么你每个东西纯利润就是2元。好,现在,你打算给灾区捐款,捐300(原谅我这种白痴比喻)。那么我们说,理论上你卖100个东西够么?不够!为什么?因为你要交税。你的纯盈利是3,可税交好就变2了,因此你要卖150个才够。 哪里有这种事情,我做好事还要缴税?这不是强盗逻辑么?所以一般企业捐款都要求开具发票,证明这笔钱是捐掉的。这样国家会把这笔钱计算为成本,不会让你交这种税。可如果捐款不给发票,那事情就有趣了。我做好事,还要缴税,而且很重。而且谁能开具这样的捐款发票呢?如果人人能开,那么好,我当场开个NGO,说是慈善,然后把企业盈利全部捐掉。这样我的企业永远打平(甚至可以亏损,享受国家补贴),然后钱还在我自己口袋里面。因此可以接受捐款的慈善机构也不是说开就能让他开的,否则会成为大企业的避税所。一般情况下,一个NGO如果要开,必须要公开账目,而后获得国家认可。公开账目是获得国家认可的必要前提,如果账目不公开,国家不会认可的,否则就会产生偷税。而中国的现状是,即使开慈善组织,账目公开,也很难获得国家认可。大家只能把NGO注册成公司,给工商界开一般营业发票,然后上税。因此大家捐款只能捐给红十字会,而他的账目却是不公开的,因为你没别的选择。 而且账目不公开会产生一个更混帐的后果。如果说前面一个只是不合理,那么这种可能就只能说是混帐加没人性。那就是贪污。我们捐100,NGO提取50%(或者更高)作为运作成本,然后剩下的发给灾民,对外宣称全发了。因为你根本不知道自己捐多少,自己拿的是多少。例如,你自己捐了100,你知道你的朋友捐了500,那么如果这个NGO说总数捐了1000,你怎么知道是不是真的只有1000呢?如果公开账目,你可以核对你的捐款是否在里面。很明显,如果不在,这是有问题的。如果在,而且每个捐款人的款项都在,最后的这个总数一定是正确的。发放也是同样的问题,如果公开发放账目,你可以看你拿到没有。如果有写没有拿,这是有问题的。如果每个上面写的人都确认收到了后面的款项,那总发放数也一定是对的。而后,我们通过总接收和总发放可以算出一个组织的组织运作成本。如果有大量的善款被消耗了,那么我们就可以说这个NGO是有问题的,我们会更换NGO捐款。而造成这种高消耗的最大可能就是贪污。同时,我们也可以计算出NGO的其他问题。例如,一个NGO的工作人员拿2W去买药品,他和药品供应商很熟悉(这个情况很普通吧)。所以让他们给1W的药品,开2W的发票。实际上就是给2W现金,开2W发票,给2W药品。1W给红十字会,1W实体药品自己拿回去分掉。公开账目后可以发现,这种情况下药品价格会比正常价格高一倍。如果说为地方增加产值后,自己贪掉一部分的贪污是某种程度上是可以接受的。如果说尸位素餐,人浮于事的贪污是让人痛恨的。那么拿灾民的带血的钱的贪污就是不可忍受的,伤阴德的。更粗俗的说,生儿子没屁眼。也许,我们的红十字会账目不公开有其他理由。也许,我们的红十字会大量提留是有其他原因。然而,你这个样子,让我怎么相信你? 最后就是关于捐款的数目。有人骂姚明捐的不够多,好,我想最好的方法是这个人站出来。我们计算下姚明同志的总捐款额度和拉到的捐款额度,比上全年除税总收入,再计算下你的总捐款额度和拉到的捐款额度,比上全年除税总收入。如果你高过姚明,我们随便你骂。捐款这种东西,要骂可以,站出来。我不反对攀比,我反对的是说别人捐少了,自己却不多捐。不过估计这些人也有郁闷的理由,据说国家政府机关是摊派捐款,有个银行每人要1000多。这些人估计就是这么郁闷出来的。 5/17/2008 关于地震的预报 贝壳这几天一直在关注地震的事情,其中经常能听到一个消息,其实地震前已经有了预测,只是因为奥运压了下来。而后贝壳在youtube上找到了一个视频"小动物曾经给予我们的警告!!(四川电视台新闻视频 )",是关于10号在四川电视台播出的新闻,其中就有大量出现蟾蜍的解释。这个事情让贝壳觉得很惊讶和伤心,莫非上万的人命不及政治任务?不过今天,贝壳在wikipedia上找到了这个事情的全面分析,可见wikipedia也不是全无是处么。 2008年5月10日,四川绵竹市西南镇檀木村(距离震中不到100千米)日前出现了大规模的蟾蜍迁徙,有数十万只蟾蜍在一制药厂附近公路上行走,但当地林业部门解释称,这是蟾蜍正常的迁徙。地震发生后,有网民十分激动,并留言指责“专家还不如蟾蜍”,而有动物学家亦认为,“动物感受地壳变动的能力较人类敏感,因此它们能预知自然灾害也不足为奇。”。但是经过网民搜索,发现蟾蜍大规模迁徙现象曾在2006年4月于重庆、2007年5月于河北唐山、2007年9月于山东临沂、2005年7月于吉林长春、2008年5月于江苏泰州、2007年4月于四川成都等全国大范围地区多次发生并被报道,完全不于地震相关,应属一种自然现象。 OK,上面我们可以看到,有这个报道是不假,可出现现象和发生地震间不正相相关。要是出现一次防震一次,的却非常麻烦。所以这次的事情,可谓事出有因。我们也可以想像一下国家的立场,如果确认有地震,跑不掉躲不开,那为何不报呢?一方面避免了人员财产损失,一方面展现了高科技,一方面还不会给奥运带来麻烦。所以我估计最严重是国家并不确认地震,因此为了奥运而不做可能性的防范。 不过由此我到想到一个关于地震预报上的缺陷。大家知道,我们国家很多事情是领导负责制。好不好,看领导。事情做好了固然领导有很大好处,可出问题领导也会倒大霉,因此很多人不求有功但求无过。唐山地震的反思中就有消息说其实地震前已经有了现象,可是领导对于不确定的东西不敢报,怕负责。毕竟地震这东西谁都说不好,就算我们看到各种景象,可万一不地震怎么办?对于地震这种问题,领导负责制是非常荒谬的。但是如果没有一个制度去平衡,恐怕我们又会陷入另外一个极端。地震局一有情况就报,也是怕负责。那我们会陷入漫天地震预报,就是不见地震的情况下。 对于这种情况,实话说贝壳也没有什么好的想法。不过如果让贝壳做选择的话,贝壳还宁可听到一堆未必发生,也不愿意听不到将要发生。大家可以想想,你是愿意多听几次下雨没碰到呢?还是愿意下雨前完全没预报呢? 5/15/2008 关于地震的问题 大家知道贝壳不是穷人(至少算起来,在社会上不算穷人),这次地震了,公司组织捐款。老实说,公司里面要是普遍捐1000的,贝壳最多也就挠挠脑袋,说句"半个手机又没了",就扔出去了。或者要是有说法,说你要带头怎么怎么的,贝壳最多也就是想想,捐了也就捐了。不过这次情况比较特殊,贝壳在出差,所以就出了点不愉快的事情。 因为贝壳在出差,所以无法直接捐款。公司组织了垫付捐款,让每个人讲个捐款额度,然后公司垫付捐款,回来再给。结果公司的一帮同事自己捐100,哄(发阴平声,一声)贝壳捐500。贝壳不想当这个出头鸟,所以就准备捐200。结果完后一统计,贝壳觉得不大对,怎么这多阿。赶紧问统计的同事,结果他回一句,你不是捐500么? 贝壳马上找负责捐钱的人联系这个问题,到不是说不想捐,而是要捐不要捐完全是我的自由,不经过我的同意怎么能随便说我要捐多少呢?大家可能觉得献爱心么,怎么还计较这个。实话说,要是哪个捐了自己一年工资,我随便你说这话,否则闭嘴。我高兴怎么捐是我自由,捐钱是捐钱,财务问题是财务问题。不经过本人同意就捐款,说起来回来让我认还是不认呢?认了就破财当出头鸟,不认回头还指不定别人怎么戳脊梁骨呢。这种随便让人一统计就捐钱的做法是否有点太不严谨了呢? 说到这里,贝壳还想起昨天看的一个笑话。一个照片,上面写,"XX慈善基金会请您捐款XXXX..."。说实话,昨天我是当笑话看的,今天我就有点笑不出来了。诚然,地震了,大家都很难过,我们想为灾区的人民做点什么,可做什么呢?怎么做呢?我的一个朋友在MSN签名上写,每次地震就捐款,捐款了就盖楼,盖楼了就回扣,回扣了就豆腐渣,豆腐渣了一震就倒,倒了继续轰轰烈烈的捐款。所以她的结论是,一分不捐。 我还是得强调一点自己的观点,每个人有捐的自由,也有不捐的自由,所以我觉得这个朋友的做法并没有什么错误。不过我们可以想想地震灾情最严重的是什么?学校。谁有听说政府机构有什么问题么?没有。要说缺钱,说地方贫穷,说着急上教育,说我们没办法。为什么死的都是孩子,而不是公务员?难道政府比学校更有钱?难道政府应该比学校更有钱?另外贝壳曾在哪里看过一个报道(请恕贝壳找不到原文),说这次受灾的聚源中学,被称为“危房”的旧校舍没事,新校舍反到倒了。对比对比各地的白宫式衙门,不觉得讽刺和悲哀么? http://bbs.yaolan.com/thread_50222085.aspx http://www.my1510.cn/article.php?e5d36d79e4f603f0 还有就是贝壳看到的一个资料,凤凰的节目,江河水走西南的记者写的blog。[http://www.my1510.cn/article.php?f734ba3f59d26040]其中就谈到了,过度的开发水利资源有导致地震的可能。关于这个问题,贝壳以前从未得知(当然,贝壳也不学水利地质,所以也不知道这个问题的具体情况),以前一直认为水坝这种东西,修越多越好。那么现在我们是否应当关注这些问题,关注水坝的负面效应。如果这是真的,即使因为实际需要而修建水坝,也至少不要为毁坏我们家园而感到骄傲。 最后就是这次中国政府的态度,我得说,主旋律是好的。反应迅速,信息公开。和三十年前的唐山,今年二月的雪灾比,相信大家心里都有数。但是我还是得说,还是不足够。很多国家的救援队不得进入灾区,新闻报道也主要以新华社为主,报道以主旋律为主。虽然说我可以理解这些行为的理由,但是我觉得,我们可以更公开。让我们看到失去生命的人群,失去生命的城市不会让我们感恐慌,一直说没事才会让我们恐慌。让我们看到有发国难财的人,有明哲保身的人,自私的人,也不会让我们止步不前,而是会让我们更明白自己在这种时候怎么做。 9/16/2007 为什么是国航赞助的奥运why is airchina who sponsor the Olympic Games 熟悉贝壳的人都知道,贝壳的老妈是原中国国际航空公司(Airchina)客舱服务部六分部的乘务长,贝壳非常为此骄傲。而且因此享受一张北京到上海的往返机票,理论上是免票。 说是免票拉,但是其实还是要交钱的,原因是燃油附加费和机场税。加上这两笔费用后基本可以坐火车过来了,不过考虑到飞机的时间,所以还是合算的。但是不要以为事情就这样结束了,免票享受的是候补待遇,因此贝壳也就能经常的体会候补的痛苦。在此给大家举几个例子。 首先,候补的签发时间是飞机起飞前,而且在全价购票和正常飞机改签之后。估计有的人会晕,的却有点复杂。什么概念呢?候补指你使用候补票或者折扣票进行候补登记,等到飞机没有人要上了,多余的空座位里面你挑。想当然,是挑不到什么靠窗靠走道靠前的好座位的。全价购票是指因为特殊原因,在飞机起飞前在航空公司柜台办理购票,新买一张最近的机票。然后就走正常登机流程。不过,想也知道这种情况下是没有折扣的。飞机改签是指你不想乘坐你预定的航班,和航空公司确认提前或者延后。但是航空公司会优先考虑全价购票,所以不会马上说,OK,给你改了。所以如果改签,就有两种方案,一种是你改签航班的现在售价小于你持有的机票,航空公司就会推荐你退了当前的票订新航班的票。要么就在候补柜台等待起飞前候补。当然,起飞前多余座位的分配是全价票优先,改签其次,折扣票候补最后。同样情况金卡客户优先,普通客户其次。这些条件都相同,就是看你候补的优先程度。先到先得。 因此贝壳曾经碰到一个很恶心的状况,并且写过一个blog,虹桥机场最漫长的一天。原因是因为早上的航班机械故障无法起飞,所有旅客都退票或者等待改签。注意,待遇是改签哦。如果想快走,可以,全价机票,旧的自己退掉。想当然耳,找旅游公司退票会累死的,而且肯定是退折扣后的价格。等于费劲半天折扣变成全价票。有的旅客还等不到国航的全价票,就找别的航空的全价。造成整个虹桥机场当前到北京航班全部爆满。然后是改签候补等待,全价都没了,那你们就慢慢等吧。就贝壳印象,最后一个是下午6点多的航班走的。就是等待了8个钟头。因为不是延误,而是不可抗力。所以也没有延误补偿,只有客饭。当然这个贝壳不很清楚,只是和等的人聊到而已。最后就是贝壳这种折扣候补,从早上9点到等到晚上10点半起飞,落地后已经是半夜一点了。如果不是空管局取消了红眼航班的限制,贝壳当天就又要打的回家重来。 而后,就是候补的签发具体时间。一般是起飞前30分钟。由于时间太过紧张,所以是很难托运行李的。但是由于空管局的规定,飞机上禁止携带液态行李物品。除非必须,而且需要开瓶检验。所以一般情况下,候补票是无法携带液态物品的。这点对改签候补的尤其麻烦,因为他们往往是可以托运携带物品的正常旅客,所以往往已经在要托运的行李里面放了液态物品。当然,多数情况下如果出现这个纠纷,可以交涉一下。拿到等机牌后态度可以强硬点,因为这个座位已经是你的了。而且你也应当可以正常托运,只要别弄的没赶上飞机。没拿到就别那么嚣张了。到时候说,阿——没座位了。我们又不知道是不是真的没了还是在整人。 再然后就要说到传说中的京沪快线了。北京到上海的飞机因为人数太多,专门处理,俗称京沪快线。这系列的航班候补签发时间是起飞前20分钟。今天早上贝壳就是多次死在了这个时间上!!! 在北京首都国际机场2号航站楼(2 terimal station of beijing caption national airport)坐过飞机的旅客都应该在安检后看到过一个告示。从此到最远的登机口步行需要12分钟,请酌情考虑以免延误航班。如果参考这个告示,我们从拿到登机牌到上飞机的20分钟里面,差不多就有10分钟需要消耗在走路上。(当然可能实际只需要走一分钟,不过要是能次次保证这种运气,你可以去买彩票了)如果飞机没有延误,登机口会在起飞前五分钟关闭。所以,我们还有五分钟的时间从办票柜台到完成安检。然后安检的时候需要将电脑包打开查验,至于原因别问我为什么。根据贝壳的经验,安检通道在没有人的时候需要一分半通过,排1个人大约是20秒。也就是说,排超过10个人——当——时间到。 当然,上述种种好运不一定会同时发生,虽然贝壳今早就碰到了一次。贝壳从小在机场长大,三个航站楼是无比熟悉。(包括那个已经废弃的老机场)就算不能背出准确位置,可也绝对不会走错路!老妈又熟悉流程,所以专门申请走的急客通道。理论上是最快流程了,可是赶到的时候,登机口已经关闭了。当场把贝壳气的够呛。于是贝壳只能再重复一次快速跑道,乘坐8点30的CA1501(这原来是老妈老飞的航班,贝壳听航班号就知道是干嘛的)。8点15取的票,有录像为证。一路跑步到急客通道——好,没有人。然后8点16多点通过的安检。掉头一路小跑到登机口——快跑已经跑不动了——所有旅客已经完成登机,通道准备关闭了。贝壳通过通道,8点20,然后喘了口气,通道就关闭了。贝壳和机组(不是乘务组)人员一起上的飞机。上去后行李还没有放,飞机已经开始滑行(taxi)了。 这种让旅客来回跑,还带卡点的登机方式。难怪国航能赞助奥运,让我们和刘翔一起跑。 8/1/2007 笔记本电脑维修问题 最近贝壳碰到一个非常恶心的问题。 大家都知道吧,贝壳的电脑是托Nicole同学从LA带来的,中间过程煞费周折。不过到手之后用起来还不错,感觉物有所值。 但是,最近贝壳碰到一个非常悲惨的事实――电脑烧了―― 7月16号晚上,贝壳生日刚刚过一天,晚上贝壳正在看电影―― 突然,屏幕上的人呆住了,维持在一个傻傻的样子―― 贝壳开始没有在意,刚刚升级过系统,可能是不稳定吧。因此贝壳重启了电脑,然后再次进入系统,可是出现执行异常! 贝壳觉得不大妙了――于是重启进入2.6.18内核,这个比2.6.21稳定很多,贝壳用了很久――照旧执行异常! 再进入windows――根本不行―― 再重启――黑了―― 从此后,贝壳开机最好的情况就是进入系统选择单――然后不是死机就是花屏。一般情况下根本没有自检――一律黑―― 贝壳基本肯定是CPU或者内存问题,于是第二天打给了宏基维护人员。得到答复是,全球联保必须带护照! 这不是和没有一样的条约么?贝壳哪里来的护照?加上贝壳公司着急需要其中的程序,贝壳就按照维护人员的推荐――拆机器了。 幸好,硬盘是好的。挂在一个公司电脑上照样跑。 这时候就要感慨下Linux的彪悍了。windows开始是鼠标键盘不能用,因为只有USB的。后面是网卡不能用。Linux就修改了几处配置,一路畅通无阻。 贝壳这个时候后悔自己的轻率了,虽然贝壳买电脑是没有护照的,不过老妈应该能弄到一个旅美的护照。可是硬盘已经拆下来了――怎么办呢? 算了――明天先让老妈送修看看――如果便宜的就不搞事了。否则让老妈吵吵看,两个月就故障也太过分了。 7月18日,老妈拿去送修了,说是先到蓝岛的一家代理,因为近。 过不了两个小时,老妈超级气愤的打电话回来,说那里要这要那的,一点诚意都没有。然后准备去中关村的总部碰碰运气。贝壳心想,这次可能要上备用方案了。 不过还是没有用上,中关村那边爽快的收下了,压根没有提证件,也没有说拆下笔记本硬盘的问题。就说检查是否是人为故障,如果是还需要付钱。电池先拆下自行带回,省得说他们换电池说不清楚。老妈乘机投诉蓝岛那里的代理,被告知原来其实也很繁琐的,不过最近简化了。蓝岛那里是代理,因此很多事情不敢作主,所以啥都要。 过了两天,贝壳打电话过去问,据说是主板坏了。和贝壳预期的一样,反正就在主板内存CPU之一了。问多少时间修好,回答说不好说了。因为是国外发行产品,需要从国外调货,如果没有货还需要付费升级。贝壳不由腹诽宏基总部的白痴,这电脑型号也不是太老,怎么会没有全球备货呢?不过腹诽归腹诽,事情还是要处理的。贝壳着急要硬盘中的数据,所以问是否可以先把硬盘要回来。对方态度很好的,说你提前打电话通知预约就可以拿。 7月25的上午,贝壳的老妈又跑了一次中关村那里的总部,顺利的将硬盘先取了回来。没鱼虾也好,至少可以顺利的升级系统和收发邮件,工作不至于耽搁。不过贝壳要求北京总部这里在修好后写明修理内容和时间,需要的话回头找宏基总部算帐去。 7月26日的上午,总算通知修理好了,虽然很高兴,不过心里却有点被耍的不爽。昨天我才刚刚去拿硬盘,今天就修好?算了算了,至少比再过两天好。最后的单子上写的是CPU损坏,不知道怎么回事情。 总体来说,北京这里的服务还是非常不错的,办事人员都很通情达理。不过最好不要去蓝岛的代理那里,太麻烦了,而且还可能有服务质量问题。总部的管理很难说是否有瑕疵,不过修理时间的公示是两天,实际却已经一周以上了。虽然事出有因,但是网上压根不用写那种疯狂的公示。送修最短一天,最多两周,都尚在可以接受的范围内的。 4/16/2007 地铁再次延误 2007年4月11日星期二,上午8时40分,在宝山路发生延误。当时我所在的,8时18分自兰村路发车向大木桥路方向的四号线班车延误。延误时间20分钟,至9时整,列车开始启动,9时13分到达曹杨路。 这次连和他们废话都懒了,反正在20分钟内,因为地铁造成延误,公司不罚钱。去值班室要了一个延误证明,外面慢慢买了个煎饼,慢慢走到公司,把东西叫给小罗罗,OK,事情就这样了。 1/30/2007 轻轨意外延迟的处理过程 昨天坐轻轨的时候,在海伦路延迟了10分钟,宝山路延迟了4-5分钟,还啥广播都没有。一怒之下干脆打114查询号码,然后打到地铁投诉热线投诉去。当时没说清楚,只说三号线上好像有人跳车,然后答应尽快给出回访结果。 当天下午回访就过来了,仔细的问了延迟的车站和时间(幸好我平时早上的车为了赶点,时间都算过的,而且算的很准)。然后再三道歉,说是车门故障,下次会记得广播。 既然人家都诚心诚意的道歉了,而且单位也知道情况,不算迟到,那么这个事情就这样了吧。 9/5/2006 上海有线通,不爽 最近贝壳要换ISP了。大家知道,贝壳用了5年多的上海有线通。虽然速度不快,偶尔还有降到半速的现象,但是总体来说还是不错的。TTL跃点主要在12到16上下(经过12-16个路由器),极限上传一般在55K/s上下。虽然说和标称有一定区别,不过考虑IP封包头问题,也还可以。只是最近有线通不怎么像话,封了P2P不说,还不告知。去询问,又不承认。幸好贝壳两个月后包年到期,到时就跑了结束。 开始(8.30左右)贝壳的ED速度突然从50K/s持续上传下跌到7K/s持续上传。贝壳以为是电信故障维修,造成数个连线失效,路由重生成后形成瓶颈。这现象照理不会在电信这种大公司发生。不过按照莫菲定律,什么坏事都可能发生。就随他去了。24小时以后,贝壳打电话到96877报修。对方开始说会不会是系统问题,windows新出病毒云云。贝壳两台电脑,平台不一样(Intel和AMD64),系统不一样(WindowsXP和Debian/GNU Linux),所用软件不一样(eMuleVC,BC0.70和aMule)。不会都是出这个问题吧?再说windows出病毒,关linux啥事情? 维修人员看看没法说的通,换了口风。说这种问题不能算是问题,他需要“提交”一下。OK,你本身做维护的,还向谁提交问题?我也不管他,这几天忙,没空和他唠叨。说好好,你提交下看看。 过两天空了,看问题照旧,贝壳坐不住了。莫非我碰到了P2P封锁?贝壳先查看了网络上的评论,说上海有线通有这问题,已经有人在315网上提交了抱怨。贝壳下面做了几个测试。 首先将eMule复制一份,保留原先的配置。然后关闭所有共享,只共享一个文件。名字起的奇怪点,这样就没有别的下载客户了。然后找一个朋友来做下载,速度是5K上下,而且一般有下没上。 然后贝壳打开apache2,共享同一个文件,打开端口映射(ED等软件的端口映射也是做好的,经EtherReal核查没有问题)。下载速度是50K上下,一般有上没下。 再打开BT,勾选其中“加密数据包头”为“优先”。然后在传输测试中,多数客户的速度是2K-3K,但是一个也是BC0.70的客户,本地发起连接,速度高达50K。后面偶尔也会出现这样的客户,估计是因为不是所有BT客户端全支持加密数据包头的。 最后,测试Debian/GNU Linux从ftp.linuxforum.net下载更新的速度。这是ftp和http混用协议,一般在70K以上,最高甚至达到120K。 至此,基本可以下结论,有线通封锁了P2P类软件的使用。 最可笑的是,我再次打电话过去。他们的服务人员开始还跟我念叨机器问题等等。然后我把测试方法一说,他们立刻改口,说从不保证任何P2P类软件的稳定。只保证Http协议的传输速度。什么时候宽带还有条款,说只能保证Http协议的速度了?如果说只衡量HTTP协议速度,那条款应该重新修订。如果说网络速度,一般都是指IP封包的传输速度。或者放松说,底层网络封包的传输速度。有线通此举就是明显的侵权。上述电话可以向有线通查询的,工号7061。 任何愿意起诉有线通的同志,贝壳这里免费提供技术支持,提供有线通的网络数据统计(ntop统计结果)。大家高兴起诉的,贝壳提供声援和支持。并且贝壳郑重表示,有生之年,见到用有线通的就游说用别的宽带,即使他道歉并且解除封锁也不例外。自10月底有线通到期后,贝壳即抽空银行资金,签订解约协议,改用ADSL。 |
|
|