將一個博客拆成了兩個

這幾天把一個博客拆成了兩個,這邊聊政治、技術、旅遊,以及其他事情……那邊聊生活。

就這樣吧。

那邊的地址直接QQ、MSN、GTalk、Email、飛信、短信任何一種方式問我都可以。

又一年七一

今年的香港七一大遊行人數創下近年新高啊。

在香港,七一當天,上午是屬於官方的,官方會舉辦各種紀念活動;而下午則是屬於民衆的,因爲有七一大遊行。

03年董建華強推23條立法,結果把50万人逼上街頭,最後導致董建華下臺;而今年恰逢回歸15周年紀念,特首選舉亂象,候任行政長官(啊,現在應該是現任了)梁振英被爆僭建,胡錦濤去香港,内地六四人士李旺陽被自殺等等一系列事件,於是,今年40万人上街……

2SkyDrive -

3SkyDrive -

1SkyDrive -

紀念一下

Auj8ZZLCQAAbSP1SkyDrive -

神啊,趕緊一勞永逸地解決DLL Hell吧

我所在的項目因故不能用MT編譯,只能用MD。(不要問我爲什麽,我也不清楚,反正就是新依賴的一個東西依賴的另外一個東西只能用MD的緣故)

好吧,把之前所有依賴的庫全部重新編譯一遍……

然後貌似正常跑了幾天。忽然發現某測試機跑不了了。說沒有正確安裝。好吧,一看就是缺DLL,拿Dependency看看,沒有缺呀,該有的DLL都有。用VC打開exe文件看manifest,好傢伙,一下子要依賴三個版本的VC CRT,分別是8.0.50608.0,8.0.50727.762,8.0.50727.4053。

一開始覺得無從下手,直接打開lib看二進制文件也看不出個所以然來,後來死馬儅活馬騎,用ansi搜了一下lib的内容,結果manifest直接就在裏面了……只是不在開頭結尾……

好吧,原來是之前用另外一台沒有打VC SP1的機子編的lib都是8.0.50608.0的。把這堆lib全部重新編譯一邊,至少我引擎的測試程序的manifest就只剩下8.0.50727.762了。

然後客戶端那邊又搞了兩天,發現8.0.50727.4053怎麽也去不掉,看VC的About,是8.0.50727.762啊。

後來我搜到了這篇文章:终结VC2005分发包版本问题

好吧。重點如下:

在安装了Visual C++ 2005 SP1的KB971090安全更新后,VC生成的manifest中引用的ATL/MFC/CRT库的版本从8.0.50727.762变成了8.0.50727.4053。

《囌菲的世界》

這兩天在看《囌菲的世界》。縂算看完了。

我很奇怪爲什麽我現在才看這本書。我之前聽説它好久了,不過一直沒有去看。要不是這次買了Kindle回來並且很happy地往裏面放了很多本書(其中就有《囌菲的世界》),我還不會去看它。

《囌菲的世界》給我的感覺有點像《鏡花緣》,又有點像《藍貓淘氣3000問》那樣,把知識在故事裏面展開。當然,手法上比藍貓高明多了,也比《鏡花緣》高一點點。故事情節本身也在說著一種哲學。情節的安排很有意思,在前期的時候,我甚至想跳過囌菲的哲學課程而想更快地了解故事的發展(幸虧沒有那麽做)。

在我的kindle顯示我已經閲讀了50%的時候,最大的懸念的謎底已經揭開了,不過又有了新的懸念。這種寫作手法讓我感到痛快淋漓,雖然類似的橋段我也見過,不過從來沒有見到過這麽精細巧妙的。

抛去其文學性不談,《囌菲的世界》又一次帶我遊歷了西方哲學史,上一次,應該是重看《偉大的書》的時候……

強烈推薦。嗯。

教育均衡化?

篤爺儅上東莞市政協委員了,先恭喜下:D

新官上任三把火,一來就搞了11份提案。

我才知道原來現在東莞的民辦教育已經比公立教育要好了。我還一直以爲只有上不了好的公立學校的人才會去上民辦學校呢。

本著我一貫右派自由化立場,有點對不起篤爺了,我是大力支持民辦學校和公立學校搶生源的。並且公立學校生源搶不過民辦學校的生源是很正常的。

我的觀點如下:

1、教育是需要花大錢的,而目前國家並不想花那麽多錢,從國家的教育投入佔GDP或者財政縂投入的百分比中就能看出來,具體到中小學生就更少了。這個是事實,不是觀點,但是是我觀點的前提,所以我列出來了。

2、由於1,那麽優質教育由誰提供?民辦教育。因爲國家給不起錢。就算國家給得起,也不可能每所公立學校都達到民辦學校的水平(如果國家不限制民辦學校的話)

3、公立學校是干嘛的?是提供一個相對公平的上學的機會。如果一個國家的底層民衆沒有上升渠道,國家是不穩定的。在古代,這個渠道是通過科舉來完成;在現代,基本上是通過上大學來完成。當然在現在的環境下,上升的渠道不但只有上學,各種途徑都有,但是目前來看,這個還是最大的渠道。

4、那是不是意味著窮人的孩子就輸了很多呢?剛好因爲民辦教育要打好牌子,吸引更多的優秀學生,肯定會對優秀學生進行一些減免學費甚至提供生活費之類的優惠措施,反而讓某些特別優秀的窮人的孩子能享受到他原來享受不到的優質教育。

5、是不是意味著公辦教育就一定競爭不過民辦教育呢?在中小學層面上,恐怕這不可避免了。因爲篤爺提到的《義務教育法》。當然,《義務教育法》是用來保證社會公平的,是爲了盡量消除公立學校之間的不平等。在民辦學校出現之前,所謂的重點學校其實就有點這個意思,通過收有錢人的擇校費提供優質教育,考上去的就不收擇校費吸收優秀學生。但是重點學校的政府撥款會比較多,所以實際上就是用全部人的錢補貼有錢人和有權人的孩子。而《義務教育法》的根本目的,就是:公立學校盡量全部都一樣,哪傢差別都不大。這樣會少一些權力尋租,而且能讓孩子就近入學,窮一點的孩子和有錢一點的孩子,不管住哪裏,都能在家附近享受到差不多的教育。如果我想得到特別優質的教育(我不是說公立學校不優質),那麽你要麽特別優秀,要麽特別有錢,去民辦學校。當然,這是理想情況,在這種理想情況下,要提高公辦教育的競爭力,那麽就意味著所有的公辦學校要一起提高,相對民辦學校要難多了。如果我先提高一兩所公立學校的質量不可以麽?但這就違背《義務教育法》的目的了。我不是說《義務教育法》不好,但是它的理念就是公立學校只提供基礎的普遍的而不是優質而小衆的教育

6、具體到東莞,問題在哪裏?問題可能在東莞有錢人太多了,或者是民辦學校太多了(其實這是好事,不應該限制民辦學校的數量,更不應該減少東莞有錢人的數量- -b),以至於本來應該是小眾化的民辦教育成了普遍。不過話説回來,這樣子公立學校如果招生少了的話,平攤到一個學生身上的資源就多了啊,這樣子教育應該更好才對……

=========================================================

再補充一下:

1、爲了達到公立學校盡量公平,所以教育資源(包括行政撥款和人力)應該向比較“差”的學校傾斜。優秀的老師應該從相對較好的學校調到相對較差的學校裏面。這個也是爲什麽我說上面第5點的第一句話

2、那麽篤爺說的要不要都在同一天呢?自然答案也是很清晰的。爲了保證一些優秀的窮困孩子能享受到民辦學校的優秀資源,所以必須提前考試(或者是入學面試之類),讓窮困孩子有機會去民辦學校上學,就算沒有通過考試,或者雖然通過了,但是沒有拿到獎學金,也能進入公立學校享受普通教育;而不是在同一天舉辦,堵住嘗試選擇民辦學校的孩子的退路。

密碼洩露那事

2011年末,2012年初,IT界最熱鬧的事情就是各網站的用戶密碼洩露了。

最開始是一個程序員常上的網站,CSDN。到後來,什麽人人網、天涯、開心之類的密碼庫都不約而同地被爆了出來。元旦過後第一個工作日,新浪微薄也爆出了SQL注入漏洞,於是,新浪微博的密碼也暴露了(不過沒有大規模洩露給公衆,至於黑客圈内有沒有流傳開,目前就不是我等人能知道的了)。

是網站就有漏洞和Bug,這個不奇怪。但是問題是,爲什麽各大網站都會選擇明文保存密碼?

我在高中的時候架設了一個ASP班級論壇,用的是動網BBS2.x的源碼,那時候也是用的明文,我就覺得不安全。那時候我也不知道居然有不可逆的加密方式,更不知道什麽MD5、SHA,爲了不讓人一眼看出來直接的對應關係,我的加密方法是ASCII碼減去它在字符串裏面的位置。例如bcde,就會加密為aaaa(其實我忘記了是aaaa還是bbbb了)。這個比簡單的一一影射式的加密好那麽一點,但仍然是簡單的,而且,最重要的是,它是可逆的。後來和Donald、Wing他們聊天說起來,Wing分析了她自己的密碼的密文,又註冊了個新的賬戶,用了很短的時間,印象中不到10分鐘,就把我的加密算法搞出來了。

後來我發現我用的動網論壇早就有高級版本了,在這個高級版本裏面,我驚訝地發現了一個名字叫MD5的函數。我很快地就把我的密碼加密算法替換成MD5了。(我忘記我是直接升級了論壇還是只是替換了密碼加密方法,印象中好像沒有直接升級論壇,或者就算升級也是很後來的事情了,我在這個版本的動網論壇上做的二次開發還挺多的,包括做的一個不記名投票系統,後來用它選班委會的時候被它坑了一把:作爲全班最不擅長運動的人(沒有之一),我被選為了體育委員)

說了那麽多,我只是想說,數據庫裏面的密碼加密這是最簡單的事情,連高中的我也能想到,爲什麽還有那麽多大的網站,包括CSDN這種給程序員們做的網站,還會用明文密碼?在我們公司的RTX某個全是程序員的群裏面反復討論過這個問題,陰謀論一點就說是和政府相關,國寶公安們要大網站的密碼庫來掃描國外的網站例如Gmail。這個事件點貌似能配合得上Google退出中國的事情,不過我還是覺得應該不至於。但誰知道呢。到最後,我最能接受的解釋就是:程序員們偷懶。好吧,雖然我覺得密碼加密這種事情也就會多不到10行的代碼。

還有新浪微博爆出來的SQL注入漏洞,也讓我詫異不已。我最近知道的SQL注入漏洞有連個,一個是新浪微博(嚴格來説好像是愛問知識人?不過這兩個系統用的是同一套用戶名密碼系統),還有一個,是華東理工大學機械與動力工程學院的網站。新浪微博那個漏洞,發現者等到新浪把這個漏洞修復了之後才把它爆出來;而華東理工大學機械與動力工程學院這個就沒有那麽幸運了,於是我就親身實驗了一把……SQL注入漏洞在我高二的時候踫到過一次,那時候我們學校剛上綫了一個學籍管理系統,還沒有正式使用。我碰巧忘記在哪裏看到SQL注入漏洞的原理了,於是我就在上面試了一下……於是就拿到那個系統的管理員權限了……印象中,那個系統好像直到我高三畢業也沒有正式使用,不知道現在怎樣了,也不知道是不是和我那次入侵有關(後來我直接告訴老師了- -b)

此後我做字符串拼接的時候就非常小心了,尤其是字符串拼接的某一段是用戶提交的内容的時候……

好吧,下面提點小Tip,關於密碼分級的,為不同的網站設不同的密碼是最保險的,如果做不到,那至少要有6套不相同的密碼。

級別最高的,長度至少8位,大小寫數字特殊字符都要有。國内外的郵箱、和錢相關的例如網銀、支付寳等。這個至少要三套,國内郵箱一套,國外郵箱一套,和錢相關的一套。

級別低一點的,普通網站,常用的網站,新浪微博、Twitter、QQ之類的,長度至少8位,至少不能是純數字,不能和鍵盤佈局相關(例如1q2w3e4r),也不能是英文單詞。這個至少兩套,國内網站一套,國外網站一套。

級別最低的,註冊一次之後基本上不會回來的,那麽就隨便了。

如果在上面三級的基礎上為不同網站加上網站名的前綴、後綴之類的就更保險了。

wsprintf和swprintf

昨天晚上寫一個小Demo,要把新加的一個浮點變量顯示在屏幕上。因爲我懶得調位置了,所以直接把原來顯示另外一個參數的代碼改一下拿來用,結果發現無論如何都打不出來。

踫到這種printf的東西,我第一反應就是指針啦堆棧啦之類的問題,所以我把相關的東西搬到程序的開頭去執行,然後打個斷點看結果。發現%f還是不起作用,直接把我的%吃掉了,顯示一個f出來。

後來着急回家,也沒有細究,用另外一個方法把這個問題繞過去了。

今天細究了才發現,原來原來那個代碼用的是wsprintf,我平時用的是swprintf……這兩個有什麽區別呢?wsprintf其實是一個宏,對應著兩個Windows API:wsprintfA和wsprintfW。最前面的那個w,不是寬字符(wide)的“w”,而是Windows的“w”。而swprintf是sprintf的寬字符版,是C的標準輸入輸出。而造成這個問題的原因,則在於windows的wsprintf,並不支持浮點數……

好吧。有空可以查一下,爲什麽Windows要搞這個API出來,爲什麽這個API還不支持浮點數……

 

在中國干實業果然很難

之前就知道在中國開公司這種費那種稅特別多,還有傳説中的五險一金,除了住房公積金之外,公司幫員工繳納的部分基本上是落不到員工手裏面的,名義上員工自己繳納的部分也基本上只有一個數字挂在自己名下而已。

然後,最近,公司要成立工會了。不過,所有會費由公司承擔。我搜了一下,員工承擔的會費是月薪的0.5%,單位承擔的會費,是所有員工總月薪的2%。會費按月繳納。而這2%呢,就要上繳一部分給各級工會組織了……其中基層工會(我公司)留用經費的60%,鎮、侷、公司、開發區、及街道辦事處留用10%,剩下 30% (含全國縂工會的 5% ,北京市縂工會 5% )上繳到區工會。

那麽公司爲啥這麽着急成立工會呢?可以看這裡《北京縂工會急收10万中小企業會費遭質疑》。簡單來説,就是北京縂工會試點讓稅務局幫忙收取會費,統一收取。收上來之後再將本來應該屬於公司的60%返回來,但是前提是,公司要成立工會組織,否則就不返還……

Google翻譯API失效了

Google翻譯API失效了,於是我的Blog就不能把我的Blog的標題自動翻譯成英文生成固定連接……我星期日才發現這個問題的。搜了一下,決定改用微軟的API。今天終于搞好了。

詳細内容看這裡:http://www.microsofttranslator.com/dev/