2010/01/31

一人樂團




說到一人樂團,上面這部影片是我看過最強的,一人飾演五個角色卻幾乎挑不出瑕疵。

音樂的三要素:節奏、音準、音色。

一般節奏能夠對在一起就很厲害了,但 Daiyel 不止五個聲部節奏一模一樣,連音準也很一致,所以合聲聽起來很漂亮。一個人唱能合又能 beatbox 實在很威!



今天試著自己錄一段 Canon in D,起先以為先跟著 CD 走第一部,錄第二部時在播放第一部的影片跟著走,等到錄好剪接完畢,才知道聲音、影片播放時速度的和錄製時不一樣。

結果前半段合奏還不錯,音準都有對到只是節奏不太穩,到了後半部卻因為其中一個影片比另一個影片慢,節奏就慢慢挪開了,到快要結束時差了將近二拍 .... Orz

Youtube 這影片實在很威,真希望以後可以玩樂器到這個境界。

ps. 剪接影片時找到 AviDumex 這套軟體,免費、操作又簡單!

2010/01/30

Install Boost library in Ubuntu

$ sudo apt-get install libboost1.38-dev libboost-doc

C/C++ 筆記

之前和 CA 聚餐聊了不少東西 (其實大部分都是他告訴我,我會的他也都會了 Orz),有 Linux、C/CPP、cmake、Code Blocks IDE 等等,其中比較有興趣的是 SmartPtr 和 ffmpeg 某部份的程式實作方法。

已經很有沒有碰 C 幾乎忘光,先做的筆記以後經驗值到了再來加點數。

SmartPtr
http://www.boost.org/doc/libs/1_41_0/libs/smart_ptr/smart_ptr.htm


ffmpeg.c in git repo
3856 行的寫法,用文字當作索引。

2010/01/27

17 歲就寫 Open Source

Mosky 大大 17 歲就已經在寫 Open Source 了,我們還在做什麼 T_T

2010/01/26

主機掰掰

硬碟壞軌總算把資料救回來,但是現在硬體開始有問題。

風扇不會轉,換了一個風扇,現在變成主機版開始不高興。開機一段時間以後,主機板會突然嗶一聲直接斷電。

沒有錯誤訊息,硬體配備也不知道哪些是好的哪些是壞的,所以就直接說再見吧。

錯覺與圖形驗證



以前和朋友討論很久,如果單單使用扭曲、變形、雜訊的方式,以現在電腦的圖形運算能力要破解圖形驗證碼不錯太難。在一次機會下看到一個專門收集視覺錯覺的網站:Optical Illusion Galleries,再加上一個在日本多媒體公司工作的朋友告知,已經有研究想要使用錯覺來使電腦可以計算 2D 圖形來產生 3D 畫面的效果,覺得圖形驗證碼也可以網這個方向嘗試。

人類的眼睛對平面「邊界」特別敏感,所以上面的圖形看起來眼花,但是能很清楚的看到其中的英文字。不過為了製作圖形,在 Phoroshop 裡面開了三個以上的圖層外加一個文字遮罩,要即時產生很耗電腦資源;如果針對這個圖案進行邊緣偵測,說不定還是可以描出大致的輪廓吧。

但是還有很多種錯覺可以善加利用:


順時鐘?或是逆時鐘?



圖行在旋轉?



A、B 區塊的顏色其實是一樣的



上個月發現 Plurk 的圖形驗證碼也很有趣:在 Flickr 搜尋工具下區別很大關鍵字,利用搜尋結果的圖片作為驗證工具。



這個作法的好處是完全不用自己處理影像,因為「人」已經全部做好了:影像中的物體辨識、上標籤、定關鍵字 .... etc。就像之前 Google 出的遊戲「Image Labeler」一樣,用人的頭腦來做計算 XD

2010/01/25

FreeBSD 壞軌處理方式

壞軌時可能會看到「TIMEOUT : Write_DMA / Read_DMA」的錯誤訊息,情況好的時後 retry 成功會繼續,壞軌嚴重的話看到這個訊息可能直接當機。

建議儘快把硬碟拆下來,到另一台裝有 FreeBSD 的機器上救資料 (Linux 一般對 UFS 只支援到讀取,之前在 Ubuntu 掛載失敗)。FreeBSD 內建 recoverdisk 工具讀取有損壞的硬碟,和 dd 一樣都是以低階的方式讀取資料,但是 recoverdisk 除了會顯示 status 以外,在遇到壞軌時會先記錄並跳過,等到整個磁區或磁碟讀取完成後,在以較小的 block 去讀取有損壞的磁區。

# recoverdisk /dev/bad_disk disk_dump.img

讀取完成以後可以掛載使用:
# mdconfig -a -t vnode -f disk_dump.img
md0
# mount /dev/md0s1a /media/disk

2010/01/24

硬碟品牌參考資料

節錄自:http://www.plurk.com/p/3hksc9

Seagate:維修送新加坡

WD:SATA 1/2 自動判斷的問題到現在都沒有完整解決過、壞軌死之前也不會通知,維修送當地代理商

HITACHI:根本不會壞軌,讀寫頭直接鎖死

MAXTOR:以前直接燒電路板



個人只用過 WD,對其他品牌沒有研究。歡迎大家提供意見。 ^_^

R-Studio

這次硬碟壞軌讓我頭大了很久,雖然目前處於擺爛狀態....... Orz

原本用網友推薦的 recoverdisk 工具讀分割區,不過不知道為什麼都沒有看到壞軌的訊息,建立的映像檔 mount 起來以後也看不到檔案,最後改用 R-Studio 才救回部份資料。

會特別提到 R-Studio 是因為一般軟體指支援 FAT、NTFS,R-Studio 卻支援 EXT 系列和 UFS,看了看價格只要約台幣三千元,感覺還蠻划算的。

希望不久後能看到 Linux 推出更多自由軟體。

2010/01/23

Apache、MySQL、PHP 效能最佳化

Optimize PHP, Apache & MySQL for performance « webjawns.com
http://webjawns.com/2010/01/optimize-php-apache-mysql-with-tuner-scripts-best-practices-and-more/

Install htop in FreeBSD

make install in /usr/ports/sysutils/htop will get an error message :
***********************************************************
htop(1) requires linprocfs(5) to be mounted. If you don't
have it mounted already, please add this line to /etc/fstab
and run `mount linproc`:
linproc /compat/linux/proc linprocfs rw 0 0
***********************************************************

By message :
$ echo "linproc /compat/linux/proc linprocfs rw 0 0" >> /etc/fstab
$ mount linproc

Then make install again.

2010/01/22

硬碟炸了

上週學校主機突然當掉,請朋友重新開機還是沒起來。回到學校自己開機可以跑,但是跑了幾個小時以後又掛了,跳出一些錯誤訊息:
ad0: FAILURE - READ_MUL, status=51 error=4 , LBA=191g_vfs_done() , ad0s1 [READ] error=5
error issuing READ_DMA command
exec /sbin/init : error 5

在 PTT 上面爬了文,感覺情況並不是很樂觀,看起來應該是硬碟差不多要換新了。明天拿個開機光碟 mount 看看,不行的話就想辦法救資料吧。

ps. 原來乖乖被老鼠吃掉會當機,乖乖「全部」被吃掉硬體會掛.........。

2010/01/20

Be a Hacker, not a Hater

轉貼 gasolin佳句
Hacker 是心存不滿就自己動手改變現狀的人

Hater 是心存不滿就找人開始抱怨的人

而世界是不會因為 Hater 而改變的

2010/01/18

Unix 和 Windows 的文化差異

Unix 和 Windows 程式設計師的文化差異
http://blog.lauct.org/?p=1481

這篇字數多到讓我想翻桌,但實在寫得很客觀。

以目標來區別的話:Unix 的目標是讓其他開發者能更輕鬆;Windows 的目標則是讓使用者能更輕鬆。

玩二個不同的系統這麼多年,我不得不說 Windows 的人機介面真的是我用過數一數二的 (Mac 感覺很棒但是不熟不敢亂說 XD),但是對於一個在 Windows 上開發程式的人而言,在命令提示字元裡面做事實在有夠麻煩,資料夾一堆空白不說,連基本的 rootkit 也很鳥,在 CLI 根本作不了什麼事。

但是換成 Unix / Linux 系統上,開發程式顯得輕鬆很多,撰寫程式、編譯、除錯都有免費又方便的程式可以用,也不需要花大錢買個 XX Studio 或是找破解,參加完 SA@Tainan 的「終極密碼戰」才知道,連 Hack 掉一個全 bunary 的程式也只需要基本的幾個免費工具。但是說到人機介面,Unix 上的軟體就實在很不人性化,很多時候會讓人想不透為什麼這個功能會放在這裡,那個功能卻跑到另一個地方去,而且很多很基本的問題甚至要使用 command line 才能解決。

不知道為什麼在台灣很多所學校都把「人機介面」的課放在選修甚至不用修。以前寫程式大多都是專用程式或只針對某用途而客製化的程式,但是現在電腦普及,大多數的程式已是為了一般使用者而撰寫,但是為什麼把使用者操作的感覺拋到腦後?

2010/01/16

Google 攻擊事件

2010 年 1 月 12 日 Google 官方發佈聲明表示要退出中國:

A new approach to China
http://googleblog.blogspot.com/2010/01/new-approach-to-china.html

中文翻譯:寧為玉碎不為瓦全 Google不排除退出中國
http://miranda0503.blogspot.com/2010/01/google-search-giant-rather-die-on-its.html


在 Google 說明中所利用的微軟系統漏洞,以存在數年 (聽說可能在 2000 年就已經存在),而微軟在 2010 年 1 月 14 日才正式宣佈漏洞相關資訊,收影響的包涵微軟所有的作業系統及瀏覽器,最慘的是「目前仍然沒有發佈補丁」。

Microsoft Security Advisory (979352)
http://www.microsoft.com/technet/security/advisory/979352.mspx

在中國有疑似 Google 員工發佈「Google 事件真相」,而該網站在數小時候被河蟹掉了。備份的文章內容如下:
Google,祝賀你回到仁慈的主的懷抱。是的,我們在此祝賀而不是哀悼你。當耶路撒冷的太陽終於照耀你冷寂的墳墓之時,我們將迎接你的復活。


以下的真相,如果你有懷疑,如果你覺得其他的說法才是真的,那麼請你解釋這樣一個事實:

Google總部在聲明退出中國之後,立刻取消了所有中國工程師訪問Google代碼伺服器的許可權。
他們都是在上班後發現伺服器的home目錄進不去了。事先根本沒有通知。
很多人寫到一半的代碼,就沒法動了,要等幾個禮拜之後,調動到美國才能繼續寫

如果Google是有預謀的撤離,為什麼要採取這種手段?他完全可以讓員工繼續工作,做一些善後工作。 比方說現在Google music,中國公司和美國做的是不一樣的(music.google.cn 和 music.google.com)現在要取消中國的music了,完全可以讓中國的工程師來做這個代碼遷移的工作。

現在是中國的工程師全部帶薪休假,由老外來接手善後事宜。

為什麼Google突然那麼不信任中國這邊的團隊?畢竟他們自己開發的代碼,讓他們自己來做遷移肯定效率更高啊

唯一的原因就是,Google內部的技術人員中被安插了党的特務(就在Google上海辦公處)

事實真相就是,這個人在受到黨的派遣,應聘Google成功之後,就把Gmail的關鍵代碼down下來然後上交給了組織。

而這個組織破解gmail系統的目的就是為了獲取“人權團體”的郵件,這些在Google官方的聲明都有

這樣一來會暴露gmail系統的所有漏洞,而且Google官方不能承認這個事情,否則他在國際上的聲譽會大受影響。他能做的就是停止中國所有的工作,中國這邊所有的工程師已經不能登陸google的代碼伺服器了。然後應該會抓緊幾天時間修改一部分gmail代碼

其實事情就是這樣簡單完全是突發事件,所以Google的官方聲明,你去讀一讀原版,寫的是很倉促的,字裏行間都能讀出他們最高層的震驚,就是Google三個最高層的人臨時討論一致決定的。如果是什麼和美國政府商量好的,你覺得堂堂Google的官方聲明會寫的那麼潦草,一點正式檔的套路都沒有?

Google撤離也不是因為互聯網審查,這個當然是一件很讓Google不舒服的事情,但這幾年他不也就這麼忍下來了嘛

特工這次的竊密行動,使Google有面臨全面破產的危險(Google官方博客也說了,牽涉到知識產權的問題),說白了,再在中國呆下去,可能要威脅到整個公司的生存,所以才如此倉促的把中國部門的一切工作全部停掉

所以Google一開始還說打算和中國談判,但是今天馬上就放棄談判的打算了,因為就算政府讓步,Google也不能再留了,再留就有性命危險。也不是中國市場賺錢不賺錢的問題了,賺這點小錢,把整個公司的性命搭進去,風險太大了

關於Google工程師訪問Google代碼的許可權,Google對於技術人員的誠信是相當信任的。即使是一個實習生,也可以訪問99%以上的代碼。 Google只有一個代碼庫,每個進去的人學到的第一條開發原則就是:搜!從代碼庫裏面儘量搜索功能相似的代碼,然後給原作者發Email。講究這種整個公司的代碼共用,才會達到有那麼高的編碼效率。而且Google的代碼,注釋,和技術說明文檔是一體的,對每一個工程師都是公開的

你可以噴我,也可以提出其他的說法,但是請你在回復之前先看完全文,然後想想自己的說法能不能自圓其說!!

我只能說,特工你太辣手了,實在逼得人家混不下去了

補充一:
這個事情還在調查中,有一個人,他是黨員,來了Google沒多久,就把gmail核心代碼下載下來,而且現在這個人已經不知所蹤了,這些是可以肯定的

至於他是誰指使的,我們只是猜了

這兩天Google總部派人過來和中國每一個工程師喝咖啡談話,調查是不是這個人還有同夥

同時總部在評估,這件事情造成了多少代碼洩漏,哪些代碼需要重寫

等這些工作做完,就會開始轉移中國這裏的工程師(要是沒有調查就轉移,豈不是讓別的臥底混入美帝了嘛)

然後這個時候總部應該會給一個說法,讓真相大白於天下,等再過一個月左右大家再回來看這個帖子吧!

補充二:
算了我來說吧。

裏面一共三個臥底,裏面居然還有共產黨支部。

裏面的支部書記是國安四年前就布的局。

這個朋友本科就是交大出來的,後來去了信安部。

信安部派他會交大信安學院念電腦,天天做演算法題, 畢業就進了Google。

之後發展了兩個內線,其中一個內鬼暴力破決Gmail的源代碼系統,
把代碼偷出去給了政府。

政府主要是要監控用Gmail的反共分子。

裏面不得了,居然還有國安局的黨支部小組。

這個老兄拿了100萬獎勵,外加公務員待遇。

這幫人一下班就偷偷去陸家嘴開黨支部會議。

小補充三:

google是如何發現代碼被轉給特工的?
除非google在每個員工的電腦上裝監控軟體。

要訪問代碼,必須登陸Google唯一的代碼伺服器
伺服器端有你的流覽記錄

現在只知道這個人是黨員,他在很短時間內流覽了很多代碼,而且這個人現在不見了,我只是根據這些猜測他是上交組織了

第一攻擊了很多源代碼管理伺服器,

第二明確地告訴你是非法弄到的。

大家再看會,我的手機就會響起了……

現在同事大部分已經開始準備離開了,少部分技術人員和法律部的會繼續留下來,大家情緒非常失落,誰也沒有想到會是這麼個結果。


Times 網站在 1 月 14 日報導對這次事件的處理情況,表示 Google 在上個月以組織反擊小組展開秘密的反擊行動,並收集到攻擊來自於大陸的證據,但目前無法證明中國政府有參與其中。

After Google’s Stand on China, U.S. Treads Lightly
http://www.nytimes.com/2010/01/15/world/asia/15diplo.html?ref=technology

閱讀新聞的 Google 中文翻譯


1 月 18 日,Google 轉而否認將關閉中國網站和分公司。
Google可能繼續留在中國
http://news.chinatimes.com/2007Cti/2007Cti-News/2007Cti-News-Content/0,4521,130504+132010011800448,00.html

大逆轉! Google否認撤出中國
http://udn.com/NEWS/MAINLAND/MAI3/5374045.shtml


Google 中國部落格在 19 日正式澄清關閉中國辦公室的謠言,目前辦公室仍正常運作中。
澄清不實的傳言
http://googlechinablog.com/2010/01/blog-post_19.html


1 月 19 日微軟公佈解決辦法:啟用所有版本的「資料執行防止 (DEP)」


1 月 21 日,微軟針對不同平台的瀏覽器發佈修復程式



以下節錄大家在噗浪上討論的有趣對話~~~

By 日落
剛剛收信發現 Google 把「美猴王」改成「瞭解安全性增強的 Gmail」了


By David Huang
(微軟) 有些功能其實是用漏洞寫出來的 XD


By 正義的胖虎
反正中國那麼大~ 鎖起來玩區網也可以的啦


By 史提芬周
中國google疑雲事件,拍成電影一定很賣座...XD

By Google Hacked the Chinese Hackers Right Back @ Gizmodo.com
If you hack Google, they will hack your ass right back


By Pingooo
如果你自覺對黑客的防禦能力比 Google 或其他美國大企業好,就繼續用 IE 吧!(微軟報告:IE6/IE7/IE8 尚無解藥)死亡率絕對比 H1N1 高。不然請注射 Firefox 或 Chrome 疫苗。



Google 事件懶人包 @ ZDNet Taiwan
http://www.zdnet.com.tw/news/web/0,2000085679,20143774,00.htm

CSS 版面設計樣板範例

最近要生一個網頁樣板出來,不過沒碰過 CSS 單單調整幾個區塊也讓我想撞牆,後來阿雷固推薦我一個網站很不錯,把常用的樣板整理出來,將 CSS 複製貼上就可以使用了。



網站名稱:Little Boxes
http://www.thenoodleincident.com/tutorials/box_lesson/boxes.html

2010/01/14

Google.cn 事件的官方聲明稿 翻譯

Google不排除退出中國(節錄Google官方聲明稿)
http://miranda0503.blogspot.com/2010/01/google-search-giant-rather-die-on-its.html

以前看到 Google 會配合中國政府過濾搜尋結果已經感到很訝異,以 Google 「Don't Be Evil」的作風不應該出現這樣的行為。現在總算做出正式的回應了。

目前懷疑去年 9 月李開復先生離職,現在發生的事情以關係。

2010/01/13

電子書取代實體書?



最近 Amazon 的電子書「Kindle」吵得很紅,不但攜帶方便又能節能省碳,國小學生也不必因為眾多不同版本的教科書而攜帶登機箱上學。

但是個人認為電子書有幾項缺點:



老師批改作業較為麻煩





無法任意的作筆記





無法當作兇器,攻擊無力化



由於以上幾點,小弟還是覺得使用實體紙本對學習較有幫助.......。

2010/01/11

GD vs. Imagick (ImageMagick)

由於之前聽到網路上傳言 ImageMagick 函式庫的效能比 GD 還要好,不過找不到實在測試資料,所以自己來跑測試。

測試方式是由自己的一張全景照片 (512 x 512, 340KB) 分別用 GD 與 ImageMagick 的縮圖函式進行縮圖 (256 x 256),並紀錄執行函式所需要的時間。

2010/01/09

敗家:SB-900

由於沒沿買其他鏡頭,所以先衝閃光燈。由於 GN 值高、多段變焦支援 17 - 200mm,就直接敗了 SB-900 .....


Install new fonts in Ubuntu

Copy *.ttf to /usr/share/fonts/truetype/NEW_DIR/.

Then execute command to update cache:
sudo fc-cache -f -v

2010/01/06

查詢系統版本資訊

我一直以為只能用 uname 查詢系統版本資訊:
$ uname -a
Linux johnroyer-laptop 2.6.31-16-generic #53-Ubuntu SMP Tue Dec 8 04:01:29 UTC 2009 i686 GNU/Linux

不過來有另一個方法可以查詢:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 9.10
Release: 9.10
Codename: karmic

也可以到 cat /etc/lsb-release 查看系統資訊。

修改 Wdinwos XP 登錄檔製作快速關機

網路上流傳不少加快電腦關機的方法,查了一下是要求系統強制將應用程式關閉。

強制將應用程式關閉有很多風險,應用程式在正常結束時,通常會釋放以使用的記憶體、將執行狀態 (如視窗位置、最後開啟的網頁、最後播放的歌曲等等) 寫入紀錄檔,雖然關機時記憶體沒有釋放沒有關係,但是若紀錄檔沒有完整寫入或是沒有更新,下次開機可能就會出現錯誤,例如 foobar 強制關閉就會導致紀錄檔不完整而無法讀取,整能重新安裝。

目前網路上看到最多的是修改 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control 下的機碼:
  • HungAppTimeout:使用者程序逾時時間,預設 5000 (毫秒)
  • WaitToKillAppTimeout:使用者程序逾時時間,預設 20000 (毫秒)
  • WaitToKillServiceTimeout:系統服務逾時時間,預設 20000 (毫秒)
網路上某些教學會將等待時間改到 1000 毫秒甚是以下,雖然預設值實在太大,不過實在不建議將等待時間改到這麼短,可以依照電腦執行速度的不同稍做調整,個人偏好在 5000 左右。

偷懶修改法:將下面的文字複製到記事本,存檔後將副檔名改為「reg」,點二下執行即可。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control]
"HungAppTimeout"="3000"
"WaitToKillAppTimeout"="5000"
"WaitToKillServiceTimeout"="5000"

參考資料:WindowsXP關機開機速度校正
http://freeinfo.cream123.com/?p=736

修改 screen 視窗上限

上限不在 .screenrc 設定檔內,而是放在 config.h 程式碼當中,將以下設定修改後重新編譯:
/* 
* Maximum of simultaneously allowed windows per screen session. 
*/ 
#define MAXWIN 100

轉貼來源:改 gnu screen "窗" 的數量
http://www.monster.com.tw/archives/1657

2010/01/05

WD EADS 1TB 硬碟效能測試


用 HD Tune 跑硬碟效能測試,不過圖表我看的不是很懂,不太清楚怎樣分別好壞。

就我的經驗而言,84 MB/s 的讀取速度算很高,以前買的硬碟最高都只有 60 MB/s 左右,表示 1TB 這顆硬碟單碟密度應該頗高 (?)。

另外在跑 Access time 時,我幾乎聽不到讀寫頭移動的聲音,比起目前正在使用的幾顆硬碟真的算非常的安靜。

系統規劃

買了二顆 1TB 的硬碟以後,準備把一些舊的硬碟淘汰,因為容量夠大,打算留下其中一顆硬碟安裝 Ubuntu,不過還有些問題讓我很頭大:
  • Windows XP 好像會認硬體,dd 到其他硬碟即使能開機也不一定能操作
  • Ubuntu 要裝在分割區?還是裝在另一顆硬碟?
  • 磁碟空間的分配
印象中把自己的開機磁碟接到另一台電腦,XP 可以執行但是無法登入,所以如果要將現有的系統換到較大的硬碟上,可能會沒辦法使用。

目前手上有 120G、400G、640G 和二個 1T 的硬碟,如果上面的問題可以解決,打算留下 640G 的硬碟把 XP 和 Ubuntu 裝在一起,沒辦法的話就只能留 120G 和 640G 下來用,但是 640G 整個留給 Ubuntu 有點太浪費空間.......。

2010/01/01

2009 回顧

新年新希望!向吸引力法則看齊!

2009 年是我大學延畢第一年 (我一點都不想要有第二年 XD),花了不少時間搞清楚自己大學到底在做什麼。有趣的是以前國中老師說:「現在教的高中就會用到了」高中老師又說:「這些以後大學就會用到了」到了大學又聽老師說「這些工作都會用到」......,但是老師怎麼知道我以後座什麼工作咧?難道賣雞排要微分....喔不....要積分才有錢賺 XD

改變我最大的非 COSCUP 莫屬,另外又看了不少 TED 的演講,才清楚自己要的是什麼,以後應該怎麼做。

以下作為是 2010 年的目標:
  • Free & Open software
  • Innovate
  • Let computer make life easier

熱血繼續衝刺!...... CURRAHEE!