选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……
#define DE_CONST(konst, var) do { union { const void *k; void *v; } _u; _u.k = konst; var = _u.v; } while (0)
#define __UNCONST(a) ((void *)(unsigned long)(const void *)(a))
颚的神啊……
Read more...进版画面说:某银行专业版「证书链出错」,暂时不能登录,请耐心等待。不用打9***5了,很难打,而且他们也不懂,提供不了任何有用的信息。基金和银证转帐用电话凑合一下,查询、小额支付用大众版将就一下——9***5如是说。
看起来,哥们已经从强制关闭别人的服务重启别人电脑,抄木马的代码来监控键盘,到禁止别人用虚拟机等等一系列对客户机安全的破坏,发展到连验证服务器用的证书链也敢乱搞了。确实,虽然他们还是没学会怎么写一个正确的Windows应用程序,还是在安全方面做一些掩耳盗铃的鸵鸟式防护,但是我们发现,他们真是越来越有样了,有两下子,不错。
Read more...朋友发来的一首歌,很好听。
Some say love it is a river
that drowns the tender reed
Some say love it is a razor
that leaves your soul to bleed
Some say love it is a hunger
an endless aching need
I say love it is a flower
and you it’s only seed
蛇s同学发的,爱尔兰歌曲。
It was down by the Sally Gardens, my love and I did meet.
She crossed the Sally Gardens with little snow-white feet.
She bid me take love easy, as the leaves grow on the tree,
But I was young and foolish, and with her did not agree.
说实话,我很失望,反对就是反对,不明说,然后挑别的毛病,制造一些困难,我不明白为什么跟家里人总要以这种方式沟通。
有些问题我不想太早下结论,也不想太快做决定,但是在这种节骨眼上这样做,我真的不知道我最后是不是能完全不受逆反心理的影响,做一个理性的决定。
Read more...今天看到一个奇怪的用户订了cnproj的邮件列表,咨询了康神,他也不知道 bsdmailinglist-garchive-37263@ 是不是他们公司的bot,orz!如果这个是bot可就真的太NB了……
Read more...去掉以后,下列症状消失:
pid 11673 (httpd), uid 80: exited on signal 11
pid 25946 (httpd), uid 80: exited on signal 11
pid 26292 (httpd), uid 80: exited on signal 11
pid 13623 (httpd), uid 80: exited on signal 11
pid 27096 (httpd), uid 80: exited on signal 11
pid 31838 (httpd), uid 80: exited on signal 11
pid 30847 (httpd), uid 80: exited on signal 11
pid 38579 (httpd), uid 80: exited on signal 11
pid 38269 (httpd), uid 80: exited on signal 11
pid 34011 (httpd), uid 80: exited on signal 11
pid 38698 (httpd), uid 80: exited on signal 11
pid 32137 (httpd), uid 80: exited on signal 11
pid 38754 (httpd), uid 80: exited on signal 11
pid 38756 (httpd), uid 80: exited on signal 11
pid 38755 (httpd), uid 80: exited on signal 11
pid 38759 (httpd), uid 80: exited on signal 11
pid 38760 (httpd), uid 80: exited on signal 11
pid 39259 (httpd), uid 80: exited on signal 11
pid 39253 (httpd), uid 80: exited on signal 11
在漆黑一片一年之后,charlie重新开始跑起了图形界面。
断断续续装了一个星期(基本上只能在晚上做),Charlie的xorg、gnome总算都装完了,这个版本的-CURRENT出乎意料地稳定。开始,xorg 7.2识别我的显卡有点问题(一块很老的GeForce),不过用xorgcfg生成了一个新的xorg.cfg.new,然后用它替换掉xorg.cfg就好了。
Read more...前几天clive大长辈发了杨维中的《新同事》给我,Jeff Huang的歌词摘录如左:
喔耶,爆炸吧~爆炸吧!
愛用 .lib 嘛… 爆炸吧!
愛亂用 global variable 嘛… 爆炸吧!
愛亂 call function 嘛… 爆炸吧!
愛 copy & paste 嘛… 爆炸吧!
喔耶,我聽到 windiff 了,爆炸吧!爆炸吧~~~
(在 VC6 裡,做 .lib 時,是不會檢查 dependency 的。也就是說,如果你呼叫了另外一個 .lib 的 function,只有 compiler 會檢查該 function 有否宣告過,linker 不會檢查該 symbol 是否存在。因此,如果 include path 有設,header 也有 #include,就不會顯示任何錯誤。必須要等到用該 .lib 的人,在做 .exe 或 .dll 時,才會產生 missing symbol 的錯誤。
另外,.lib 相當於是把所有 function 都赤裸裸地開放出來,這樣就沒有所謂的「模組介面」,因此很容易就會亂呼叫 function,而沒有注意到,呼叫了不應有相依關係的 component 裡的函式。又由於前述不會有 missing symbol 錯誤的關係,而無法察覺這樣的錯誤,因而導致最終程式的 dependency 關係會一團亂。
亂 call function,除了上面「呼叫了不應有相依關係的 component 裡的函式」的狀況之外,還包含了「喜歡自行在 .c/.cpp 檔前面,重複宣告函式,而不是用 #include 將對應的 header 引入」。 這會造成當所依存的 component 更新,prototype 改變時,會無法於 compile-time 察覺,若僅 prototype 改變,function name 不變的話,甚至連 link-time 也不會產生 error,假使 test-time 還是無法測到這個問題,那就等著在客戶那邊爆炸。)
Read more...备份在最近成为了一件越来越让人头疼的事情。我过去采取的做法是把数据刻录成光盘,寄给若干个分布在不同地区的几个朋友,但这种做法正在变得越来越不现实,因为数据的产生速度变得越来越快,而整理和加密其中需要保密的部分所需的时间也越来越长。
如此看来,也许基于多台服务器的备份会成为一种可行的选项。这种备份需要满足下面的条件:
a) 在桌面系统上作为后台进程,将数据发到距离自己最近的节点;数据发出之前全部加密。
b) 加密数据本身在加密后有一个签名,许多人的数据混在一起。
c) 不同节点之间同步差异。
d) 后端为磁盘阵列,采用某种带冗余的RAID。
目前还没有任何一个我认为「尚可」的开源或商业实现。
Read more...