2007年3月29日星期四
TVBS 台不會被停播頂多罰100萬 ?!
NCC統計一年來無前科 T台不會被停播頂多罰100萬
NCC 這個違憲違法的組織,只會抓抓 WII、限制職業運動的廣告贊助,真的碰到了涉及恐嚇公眾罪的重大新聞事件,竟然如此的無能。以 TVBS 過去的紀錄來看,隨口說說就有一大串:張志輝姦殺女友案、瀝青鴨事件,加上這次助紂為虐的幫拍亮槍恐嚇岸,NCC 竟然能睜眼說瞎話只罰 100 萬,連停播一天都不用。所以套用 NCC 的邏輯,「TVBS 過去一年沒有任何不良紀錄,所以只需處台幣十萬到一百萬的罰緩」,TVBS 今年之內還有一次不會被停播的機會,可以再跟黑道、中國,或者經濟犯合作一次,自導自演播出偽造的獨家新聞,反正只會被罰一百萬,廣告效益還遠大於罰款。甚至,一年過後又是一條好漢,記錄歸零,還可以再來一輪。碼的,真是可笑,記得看看是哪一些 NCC 委員 做出這樣的決定。
日本電視台造假 受嚴厲處分
日本關西電視台製播假節目,包括納豆減肥、萵苣催眠、紅豆助腦、味噌湯減肥等,在我看來只是在綜藝節目炒作話題,嚴重性比瀝青鴨事件造成的破壞鴨農商譽、影響鴨農生計等後果還輕微。但是,民營廣播電視聯盟因此對關西電視台做出除名的決定,使其無法享受信號傳輸線路的優惠價格,並且喪失奧運轉播權和節目音樂的知識產權等等。關西電視台的總經理千草宗一郎後來嚴肅地播出道歉節目,並引咎辭職。
引用前華視副總經理 朱立熙 的話:「對於TVBS這個骯髒的電視台以及它骯髒的主管們,已經不值得再寫什麼來批判了,請看去年八月我寫的這篇舊稿(媒體人骯髒的心)。」
NCC 這個違憲違法的組織,只會抓抓 WII、限制職業運動的廣告贊助,真的碰到了涉及恐嚇公眾罪的重大新聞事件,竟然如此的無能。以 TVBS 過去的紀錄來看,隨口說說就有一大串:張志輝姦殺女友案、瀝青鴨事件,加上這次助紂為虐的幫拍亮槍恐嚇岸,NCC 竟然能睜眼說瞎話只罰 100 萬,連停播一天都不用。所以套用 NCC 的邏輯,「TVBS 過去一年沒有任何不良紀錄,所以只需處台幣十萬到一百萬的罰緩」,TVBS 今年之內還有一次不會被停播的機會,可以再跟黑道、中國,或者經濟犯合作一次,自導自演播出偽造的獨家新聞,反正只會被罰一百萬,廣告效益還遠大於罰款。甚至,一年過後又是一條好漢,記錄歸零,還可以再來一輪。碼的,真是可笑,記得看看是哪一些 NCC 委員 做出這樣的決定。
日本電視台造假 受嚴厲處分
日本關西電視台製播假節目,包括納豆減肥、萵苣催眠、紅豆助腦、味噌湯減肥等,在我看來只是在綜藝節目炒作話題,嚴重性比瀝青鴨事件造成的破壞鴨農商譽、影響鴨農生計等後果還輕微。但是,民營廣播電視聯盟因此對關西電視台做出除名的決定,使其無法享受信號傳輸線路的優惠價格,並且喪失奧運轉播權和節目音樂的知識產權等等。關西電視台的總經理千草宗一郎後來嚴肅地播出道歉節目,並引咎辭職。
引用前華視副總經理 朱立熙 的話:「對於TVBS這個骯髒的電視台以及它骯髒的主管們,已經不值得再寫什麼來批判了,請看去年八月我寫的這篇舊稿(媒體人骯髒的心)。」
2007年3月27日星期二
TVBS - 槍擊要犯的傳聲筒
醜聞!TVBS承認拍攝周政保的嗆聲錄影帶
TVBS 記者竟然幫忙槍擊要犯拍攝恐嚇錄影帶,製造獨家新聞,淪為槍擊要犯的傳聲筒。
不過換個方向想想,既然是 TVBS,反正「傳聲筒」當習慣了,只是換當另一個對象的傳聲筒罷了,也就沒那麼意外了。
TVBS 記者竟然幫忙槍擊要犯拍攝恐嚇錄影帶,製造獨家新聞,淪為槍擊要犯的傳聲筒。
不過換個方向想想,既然是 TVBS,反正「傳聲筒」當習慣了,只是換當另一個對象的傳聲筒罷了,也就沒那麼意外了。
踩到 WWW::Mechanize 的地雷
WWW::Mechanize 是我最常用的 module 之一,用它來寫機器人,除了 JavaScript 不行以外,大部分網站都能快速上手。前一陣子 (www/p5-WWW-Mechanize/Makefile、PR ports/109847),升級到 1.22 以後,程式陸陸續續出現問題,一些網站用 LWP::Simple 抓就沒問題,改用 WWW::Mechanize 抓就變亂碼。這問題一開始也不嚴重,不是每個網站都會發生,所以我也沒注意,直到今天寫一支新的工具,每次執行都是亂碼,才下定決心除錯。
一路往上找 WWW::Mechanize 的上一層是 LWP::UserAgent,而 WWW::Mechanize 的 get 會呼叫上一層的 get,所以我先在 LWP::UserAgent 埋了一堆暗樁,看看是不是 request 或者 response 有什麼不同。反覆執行了好幾次,發現 LWP::UserAgent 抓到的都是正常的,那問題應該出在 WWW::Mechanize。接下來我繼續追 WWW::Mechanize,發現 get 回來的資料還是正常的,一步一步查,最後終於發現問題出在 _update_page。有問題的在這一段:
$self->{content} 的內容在 _update_page 被更動過,檢查一下,果然就是它。原來這一段程式碼在 1.21_01 被加入 WWW::Mechanize,但因為 1.21_0[1-4] 都是測試版,所以直到 1.22 才被公布出來。很不巧的是也許作者認為改這個沒什麼,在 Change 中對於這項改變隻字未提,所以我就這樣踩進了這個地雷。
在 WWW:Mechanize 1.20 以前,WWW::Mechanize 抓到什麼就吐什麼;在 WWW::Mechanize 1.21_01 以後,WWW::Mechanize 優先採用 decoded_content,失敗才採用 content。而 decoded_content 和 content 的差別,是 decoded_content 經過一次 Encode::decode($charset, $content)。因此,若新版 WWW::Mechanize 讀取的頁面是 ISO-8859-1、ASCII 或者 UTF-8 的,應該不會有什麼問題;如果不是,那 decoded_content 就變成一陀亂碼。
解法呢?
請像下面這樣抓到頁面之後,指定轉換為 $charset 編碼,就可以避免輸出亂碼了。這樣好像有點麻煩,也許在之後的版本會多加上一些參數來改變挑選 decoded_content 或者 content 的行為吧。
一路往上找 WWW::Mechanize 的上一層是 LWP::UserAgent,而 WWW::Mechanize 的 get 會呼叫上一層的 get,所以我先在 LWP::UserAgent 埋了一堆暗樁,看看是不是 request 或者 response 有什麼不同。反覆執行了好幾次,發現 LWP::UserAgent 抓到的都是正常的,那問題應該出在 WWW::Mechanize。接下來我繼續追 WWW::Mechanize,發現 get 回來的資料還是正常的,一步一步查,最後終於發現問題出在 _update_page。有問題的在這一段:
sub _update_page {
my ($self, $request, $res) = @_;
....
my $content = $res->decoded_content;
$content = $res->content if (not defined $content);
if ($self->is_html) {
$self->update_html($content);
}
else {
$self->{content} = $content;
}
return $res;
} # _update_page
$self->{content} 的內容在 _update_page 被更動過,檢查一下,果然就是它。原來這一段程式碼在 1.21_01 被加入 WWW::Mechanize,但因為 1.21_0[1-4] 都是測試版,所以直到 1.22 才被公布出來。很不巧的是也許作者認為改這個沒什麼,在 Change 中對於這項改變隻字未提,所以我就這樣踩進了這個地雷。
在 WWW:Mechanize 1.20 以前,WWW::Mechanize 抓到什麼就吐什麼;在 WWW::Mechanize 1.21_01 以後,WWW::Mechanize 優先採用 decoded_content,失敗才採用 content。而 decoded_content 和 content 的差別,是 decoded_content 經過一次 Encode::decode($charset, $content)。因此,若新版 WWW::Mechanize 讀取的頁面是 ISO-8859-1、ASCII 或者 UTF-8 的,應該不會有什麼問題;如果不是,那 decoded_content 就變成一陀亂碼。
解法呢?
請像下面這樣抓到頁面之後,指定轉換為 $charset 編碼,就可以避免輸出亂碼了。這樣好像有點麻煩,也許在之後的版本會多加上一些參數來改變挑選 decoded_content 或者 content 的行為吧。
$mech->get($url);
$mech->update_html(Encode::encode($charset, $mech->content));
2007年3月26日星期一
超簡單 Google Summer of Code in FreeBSD
今天在 FreeBSD Summer Projects 上看到 BSD-licensed Text-Processing Tools,這大概是我看到過最容易的 SoC 了。基本上,要有堪用的 grep、diff 和 sort ,只要從 OpenBSD 抓來改一改就行了。
然後加上幾行的修改:
這樣就能編譯執行 diff、sort 和 grep 了。至於其他參數和功能整合的問題,難度也不高。可惜一來我不是學生,二來報名也截止了,不然我應該會去申請這個專案吧。
# cvs -d :pserver:anoncvs@anoncvs.ca.openbsd.org:/cvs get src/usr.bin/sort
# cvs -d :pserver:anoncvs@anoncvs.ca.openbsd.org:/cvs get src/usr.bin/diff
# cvs -d :pserver:anoncvs@anoncvs.ca.openbsd.org:/cvs get src/usr.bin/grep
然後加上幾行的修改:
- 拿掉 diff/diff.c 裡的 __dead
- 把 diff/diffreg.c 裡的 SIZE_MAX 換成 SIZE_T_MAX
- 在 grep/file.c 前面補上 #include <unistd.h>
這樣就能編譯執行 diff、sort 和 grep 了。至於其他參數和功能整合的問題,難度也不高。可惜一來我不是學生,二來報名也截止了,不然我應該會去申請這個專案吧。
重拾 GRE 課本
2007年3月23日星期五
邱毅入監服刑,大家怎麼看?
隨便列舉一些新聞或者民調的結果:
- 民意代表入獄服刑若仍然支領薪水,請問您認為合理嗎? - 很不合理
- 國民黨團聲援邱毅 將動員一切資源營 - 生氣
- 321滋擾案》邱毅「選到底」 藍籲提非常上訴 - 生氣
- 邱毅即將入獄 藍營聲援、綠營叫好 - 高興
- 邱毅將入獄 綠委調侃邱毅頭髮 - 高興
- 邱毅衝撞高雄地院案 最高法院判刑定讞 - 高興
- 中選會:邱毅不能選立委了 - 高興
- 邱毅4/3入獄 立委薪水照領 - 生氣
小貓天使
三月初去了日本,車子放在地下室兩個禮拜。回來後又休息了一天,第二天晚上才開車出門去接老婆回家。算一算,車子有半個月沒去發動了。
那天是禮拜六,三更半夜,開車回到地下室停車場以後,老婆發現我們的車位上有一隻貓。愛貓成性如我,馬上開門下車看看那隻貓。果然,一隻貓躺在我家的車位上。我慢慢的接近,直到我距離牠剩下一步的距離,這隻貓都沒有反應。怪怪的。我仔細一看,這才發現…
牠脫糞、抽筋、口吐白沫、四肢僵硬。牠應該是誤食了老鼠藥,死了。
這下子我嚇了一大跳,心想到底要怎麼辦。心裡想著:怎麼那麼不幸,有一隻貓死在我家的車位;不過還好還算幸運,牠躺在正中央,沒被輪胎碾過。我把車子停在外面,祈禱清掃大樓的阿伯明天會來把牠清掉。不幸的是,隔天是禮拜天。早上出門直奔球場,打完了文山區慢壘春季聯賽的頭兩場,我懷著忐忑不安的開車回家。車子一進地下室,我就探頭仔細張望。唉,牠還在。看來我得自己清理了。
我先把車子停在隔壁鄰居的車位,上樓拿了一個紙箱子,畚斗掃把,還抽了幾個塑膠袋當手套以備不時之需。回到車位,我戰戰兢兢的把箱子口反折,把紙箱子的開口靠在牠身邊。然後拿了兩個畚斗,一個扣住頭和上肢,一個扣住尾巴和下肢,然後兩個畚斗勾起來把牠裝進紙箱子裡,再搬到巷子口清潔隊的活動子車旁邊。
小貓呀小貓,我平常偶爾會追著你們,逗你們玩,但是我從來沒想過要傷害你們。今天你躺在這兒,我就送你最後一程。希望下輩子你能投胎做人,不然至少當一隻備受寵愛的家貓,別再當流浪街頭的街貓了。
那天是禮拜六,三更半夜,開車回到地下室停車場以後,老婆發現我們的車位上有一隻貓。愛貓成性如我,馬上開門下車看看那隻貓。果然,一隻貓躺在我家的車位上。我慢慢的接近,直到我距離牠剩下一步的距離,這隻貓都沒有反應。怪怪的。我仔細一看,這才發現…
牠脫糞、抽筋、口吐白沫、四肢僵硬。牠應該是誤食了老鼠藥,死了。
這下子我嚇了一大跳,心想到底要怎麼辦。心裡想著:怎麼那麼不幸,有一隻貓死在我家的車位;不過還好還算幸運,牠躺在正中央,沒被輪胎碾過。我把車子停在外面,祈禱清掃大樓的阿伯明天會來把牠清掉。不幸的是,隔天是禮拜天。早上出門直奔球場,打完了文山區慢壘春季聯賽的頭兩場,我懷著忐忑不安的開車回家。車子一進地下室,我就探頭仔細張望。唉,牠還在。看來我得自己清理了。
我先把車子停在隔壁鄰居的車位,上樓拿了一個紙箱子,畚斗掃把,還抽了幾個塑膠袋當手套以備不時之需。回到車位,我戰戰兢兢的把箱子口反折,把紙箱子的開口靠在牠身邊。然後拿了兩個畚斗,一個扣住頭和上肢,一個扣住尾巴和下肢,然後兩個畚斗勾起來把牠裝進紙箱子裡,再搬到巷子口清潔隊的活動子車旁邊。
小貓呀小貓,我平常偶爾會追著你們,逗你們玩,但是我從來沒想過要傷害你們。今天你躺在這兒,我就送你最後一程。希望下輩子你能投胎做人,不然至少當一隻備受寵愛的家貓,別再當流浪街頭的街貓了。
Port libumem to FreeBSD
話說去年十月在 FreeBSD list of projects and ideas for volunteers 看到 libumem 以後,花了一點時間把 umem 移植到 FreeBSD上,並且丟了一封信給 FreeBSD developers,看看有誰有興趣的就跟我說吧。
然後就過了半年,沒人鳥我。一個人都沒有。
就在我快要忘了這件事的時候,突然有人看到,並且寫了一封信跟我要程式來測試,順便通知我說 umem 搬家了,新家的位置在 portableumem 。我先把我舊的程式寄給他,然後花了一點時間測試新的 umem-1.0 。看來作者花了一些功夫在移植性上面,一些原本有問題的東西在 umem-1.0 裡面都不用修改就可以在 FreeBSD 上編譯執行。所以我就把 umem 給 commit 進 FreeBSD ports 裡面囉,放在 devel/umem 。
有興趣的自己測吧,有問題再通知我。
然後就過了半年,沒人鳥我。一個人都沒有。
就在我快要忘了這件事的時候,突然有人看到,並且寫了一封信跟我要程式來測試,順便通知我說 umem 搬家了,新家的位置在 portableumem 。我先把我舊的程式寄給他,然後花了一點時間測試新的 umem-1.0 。看來作者花了一些功夫在移植性上面,一些原本有問題的東西在 umem-1.0 裡面都不用修改就可以在 FreeBSD 上編譯執行。所以我就把 umem 給 commit 進 FreeBSD ports 裡面囉,放在 devel/umem 。
有興趣的自己測吧,有問題再通知我。
2007年3月21日星期三
花錢消災
花了兩個晚上還是沒辦法搞定 utopia 的問題,決定今天請假一天把它搞定。從 error log 查不出任何跡象,沒有錯誤訊息,沒有 core dump,沒有前兆,機器就是突然失去任何反應。用家裡的幾台電腦反覆測試:
剩下的我就無能為力了。我沒辦法對主機板或者 CPU 偵錯,所以只好再買一台。下午送老婆去上班以後,直奔光華商場,見面就把我的問題跟老闆敘述一次。於是老闆拿了一份套裝電腦的傳單,叫我挑一份最接近的來改。我挑了最陽春的機種,不要硬碟,不要光碟,不要鍵盤滑鼠,記憶體加大到 1GB。
兩個小時後,機器回來了,但是還有一些問題等待解決。首先是硬碟的問題。我按照 ASUS P5PE-VM的使用手冊安裝上原先的硬碟,開機後竟然顯示抓不到 kernel,嚇得我下巴都快掉下來。還好仔細看一下開機過程的訊息,發現我的開機硬碟竟然從原先的 ad0 變成了 ad2,想必是 Primary IDE 和 Secondary IDE 裝反了。我把排線對調以後,又翻了一次說明書,確定真的是說明書寫錯了。網路上傳言這一款主機板是 Made in China 的廉價品,我本來不以為意,只是沒想到連說明書寫反都沒人發現,真誇張。(補充說明:說明書 第 7 頁和第25 頁都說站著的是 Primary IDE,躺著的是 Secondary IDE,實際上應該顛倒過來才對。)
再來是 P5PE-VM 內建的網路卡是 Marvell 88E8001,第一次開機的時候 GENERIC kernel 抓不到,害我緊張了一下,還好上網查了一下資料發現要用 sk 去抓,所以改改 kernel 加入 device miibus 和 device sk,然後重開機就抓到了。當然其他原本針對網路卡設定的一些有的沒的,例如流量統計或者防火牆的設定也要跟著改,改完以後就可以動了。
看了一下舊的 utopia,是 2003 年底的機器,算一算到現在也三年半了。就當是花錢消災吧,為了能恢復暢通的區域網路,個人伺服器和程式開發測試平台,代價是八千兩百元,兩個晚上,再加上一整個白天的時間。
- 把硬碟拔到其他主機裝上,能正常運作,所以不是硬碟的問題
- 從另一台電腦拔來記憶體裝上,仍然持續死當,所以不是記憶體的問題
剩下的我就無能為力了。我沒辦法對主機板或者 CPU 偵錯,所以只好再買一台。下午送老婆去上班以後,直奔光華商場,見面就把我的問題跟老闆敘述一次。於是老闆拿了一份套裝電腦的傳單,叫我挑一份最接近的來改。我挑了最陽春的機種,不要硬碟,不要光碟,不要鍵盤滑鼠,記憶體加大到 1GB。
兩個小時後,機器回來了,但是還有一些問題等待解決。首先是硬碟的問題。我按照 ASUS P5PE-VM的使用手冊安裝上原先的硬碟,開機後竟然顯示抓不到 kernel,嚇得我下巴都快掉下來。還好仔細看一下開機過程的訊息,發現我的開機硬碟竟然從原先的 ad0 變成了 ad2,想必是 Primary IDE 和 Secondary IDE 裝反了。我把排線對調以後,又翻了一次說明書,確定真的是說明書寫錯了。網路上傳言這一款主機板是 Made in China 的廉價品,我本來不以為意,只是沒想到連說明書寫反都沒人發現,真誇張。(補充說明:說明書 第 7 頁和第25 頁都說站著的是 Primary IDE,躺著的是 Secondary IDE,實際上應該顛倒過來才對。)
再來是 P5PE-VM 內建的網路卡是 Marvell 88E8001,第一次開機的時候 GENERIC kernel 抓不到,害我緊張了一下,還好上網查了一下資料發現要用 sk 去抓,所以改改 kernel 加入 device miibus 和 device sk,然後重開機就抓到了。當然其他原本針對網路卡設定的一些有的沒的,例如流量統計或者防火牆的設定也要跟著改,改完以後就可以動了。
看了一下舊的 utopia,是 2003 年底的機器,算一算到現在也三年半了。就當是花錢消災吧,為了能恢復暢通的區域網路,個人伺服器和程式開發測試平台,代價是八千兩百元,兩個晚上,再加上一整個白天的時間。
utopia 又快爛掉了
我的 utopia 這幾天拼命死當,整台工作站突然就 hang 住,只能按 reset 重開機。看來又得換一台新的電腦了。
leeym ttyp0 192.168.0.3 Thu Mar 22 11:45 still logged in
reboot ~ Thu Mar 22 11:41
leeym ttyp0 192.168.0.3 Thu Mar 22 11:26 - crash (00:15)
reboot ~ Thu Mar 22 11:24
leeym ttyv7 Thu Mar 22 10:51 - crash (00:32)
reboot ~ Thu Mar 22 10:51
shutdown ~ Thu Mar 22 18:42
leeym ttyv7 Thu Mar 22 10:00 - shutdown (08:41)
reboot ~ Thu Mar 22 09:57
leeym ttyp0 192.168.0.3 Thu Mar 22 09:50 - crash (00:07)
reboot ~ Thu Mar 22 09:50
leeym ttyp0 192.168.0.3 Thu Mar 22 09:42 - crash (00:07)
reboot ~ Thu Mar 22 09:42
leeym ttyp0 192.168.0.3 Thu Mar 22 08:14 - crash (01:28)
reboot ~ Thu Mar 22 08:13
reboot ~ Thu Mar 22 00:16
leeym ttyp1 192.168.0.3 Wed Mar 21 23:59 - crash (00:17)
leeym ttyv7 Wed Mar 21 23:56 - crash (00:20)
reboot ~ Wed Mar 21 23:54
shutdown ~ Thu Mar 22 06:26
leeym ttyp0 192.168.0.3 Wed Mar 21 22:06 - shutdown (08:20)
reboot ~ Wed Mar 21 22:05
reboot ~ Wed Mar 21 19:28
reboot ~ Wed Mar 21 19:14
leeym ttyp0 203.188.207.1 Wed Mar 21 11:49 - crash (07:25)
reboot ~ Wed Mar 21 11:49
leeym ttyp0 203.188.207.1 Wed Mar 21 11:35 - crash (00:13)
reboot ~ Wed Mar 21 11:33
leeym ttyp0 192.168.0.3 Wed Mar 21 09:35 - crash (01:57)
reboot ~ Wed Mar 21 09:35
leeym ttyp0 192.168.0.3 Wed Mar 21 09:01 - crash (00:33)
reboot ~ Wed Mar 21 09:01
leeym ttyp0 192.168.0.3 Wed Mar 21 08:50 - crash (00:11)
reboot ~ Wed Mar 21 08:48
leeym ttyp0 192.168.0.3 Wed Mar 21 01:15 - crash (07:33)
reboot ~ Wed Mar 21 01:15
leeym ttyp0 192.168.0.3 Wed Mar 21 00:59 - crash (00:16)
reboot ~ Wed Mar 21 00:58
leeym ttyp0 192.168.0.3 Wed Mar 21 00:48 - crash (00:10)
reboot ~ Wed Mar 21 00:47
shutdown ~ Wed Mar 21 08:41
reboot ~ Wed Mar 21 00:28
leeym ttyp0 192.168.0.3 Wed Mar 21 00:18 - crash (00:10)
reboot ~ Wed Mar 21 00:18
2007年3月15日星期四
2007年3月4日星期日
Something wrong with my blog
I'm now in Japan, and will be here for about 2 weeks.
I'll fix my blog after I am back to Taiwan. Sorry for the inconvenience.
I'll fix my blog after I am back to Taiwan. Sorry for the inconvenience.
訂閱:
文章 (Atom)