Archives

gravatar

99 元的 BT Dongle

Yahoo 拍賣上買的另外一隻新的 USB BT Adaptor,準備是給 windows 使用的,不過順便拿到 Mac OS X 上看看能不能使用。其實 Mac OS X 可以使用,但是不支援 Headset,可以連結到我的 SonyEricsson Z520i 沒問題。先前買給 iBook 用的是 SMC BT-10,這隻就可以使用 Headset。於是找一下差異在哪。99 元這隻的 USB BT Adaptor 是使用 SiliconWave 的晶片,SMC BT-10 是 Cambridge Silicon Radio 的晶片。把手機的 Headset 連線到電腦時,會看到 console 的 dmesg 有這些訊息:

[IOBluetoothSCOAudioDevice][start] 0×23d4c80 (IOService) [IOBluetoothSCOAudioDevice][initHardware] 0×23d4c80 [IOBluetoothSCOAudioDevice][createAudioEngine] [IOBluetoothSCOAudioEngine][init] [IOBluetoothSCOAudioEngine][initHardware] 0×1b41400 [IOBluetoothSCOAudioEngine][pauseAudioEngine] - numActiveClients = 0 - state = 0 - pendingPowerState = 1 [IOBluetoothSCOAudioEngine][createAudioStreams] sampleBuffer = 0xdd0c000 (0×3c00 bytes) [IOBluetoothSCOAudioEngine][initHardware] - done. [IOBluetoothSCOAudioEngine][init] [IOBluetoothSCOAudioEngine][initHardware] 0×1b41400 [IOBluetoothSCOAudioEngine][pauseAudioEngine] - numActiveClients = 0 - state = 0 - pendingPowerState = 1 [IOBluetoothSCOAudioEngine][createAudioStreams] sampleBuffer = 0xdd10000 (0×3c00 bytes) [IOBluetoothSCOAudioEngine][initHardware] - done. [IOBluetoothSCOAudioDevice][registerForDeviceNotification]

接著使用內建的 Bluetooth Explorer 把 Local Bluetooth Device Information 叫出來,Extended SCO 和 Transparent SCO 這兩個 Supported Hardware Features 都是黑色的字體。而 SiliconWave 的晶片,這兩個 Features 則都是灰色的,表示不支援。不過至於在 Windows 上是如何支援 headset,就不得而知。

gravatar

Windows on Mac

完全符合自己預期的破解方式, 利用模擬的 BIOS 來載入 NT. 只是沒想到一點, 原來 Bochs 模擬器的 BIOS 和 VGA BIOS 就可以拿來改, 不需要自己寫模擬 real mode interrupts. Modern OS 都是 protected mode, 不論系統是 BIOS or EFI, OS 都是靠自己的 drivers 去驅動和使用硬體, 因此只要 OS kernel 和 drivers 能夠起來, BIOS 和 EFI 就都已經是過往雲煙. 除非是 windows 95/98/ME, 他的 dos box 還是真的 dos mode, 是利用 virtual 86 模式去跑, 故系統中還是會用到原本 real mode 的 bios interrupt services. 而 2000/XP/Vista 等等核心, console box 真的就是 console 而已, 不是 dos, 而 BIOS/EFI 大概只會在設定系統參數和作 boot loader 才使用吧. 另外比較奇怪的是 NT 開機的方式, 一定會在 C 的 primay partition 裝 NTLDR, 不論系統是裝在非 C 的其他空間, 還是會在 C 裝必要的東西, 而且還要透過傳統 MBR 的 bootloader 才能開機. 因此還得透過模擬 BIOS 去載入 MBR, MBR 去載入 NTLDR, NTLDR 才又從 real mode interrupt 去載入 kernel & drivers. 如果完全不用這個程序, 把 NTLDR 和相關 drivers (2000/XP 經由 Safe mode 可以看到 windows 載入哪些必要檔案後才進入啟動程序)直接就放在記憶體中開始執行, 應該就不用去模擬 BIOS, boot loader, 和 MBR 之後的 real mode 開機過程.

gravatar

忙裡偷閒 (*24 雷*)

之前趁放假把 iTerm 的 patch 更新到 0.8.2,不過非常不幸的,原來 iTerm 網頁上的 source code tarball 沒有更新,還是舊的。忙了半天,結果等於白忙一場。這幾天趁有空把 iTerm 直接從 SourceForge 的 CVS server 直接 check out 出來改。陸陸續續把幾個需要 patch 的地方趁有空就補一下,目前應該沒有什麼問題吧,花點時間再試用看看。而且 iTerm 把一些 VT100Screen 的 data structure 做些小變動,還花了點時間在調整些微的 code。不過發現 XCode 還是在 2.1,之前抓的 XCode 2.2 沒有更新,現在還是要在重抓一次再來編譯 iTerm。
不過 Mac OS X 上的 FileMerge 算不錯用的工具,拿來比對 source code 和 merge 蠻方便的。這個工具算是從 NeXT 時代就有了,現在繼續沿用到 Mac OS X。當然在 Linux 上也有類似的東西,像是 meld,不過缺點就是要裝 python 和 gnome。Windows 上也有類似的東西,當然就是軟體與 $$ 的關係而已。
當然不可避免的,每個禮拜二就是該看 24 的時間。這禮拜一次播出兩集,本來蠻興奮的,至少少一次苦苦等待的感覺。不過看完之後卻是大大的落寞感,因為 CTU 被 comproised,Nerve gas 釋放到整棟大樓,除了幾個重要的人外,應該整個 CTU 都掛光了。這個都是討人厭的哈比人 Lynn 造成的,除了那一次在機場意外發現 Jack 的暗號用語外,其他時間都在拖油瓶。6:00pm~7:00pm 結尾就是 nerve gas 造成的大屠殺,最後連 Edgar 都來不及進入 sealed room,和 Chole 隔著玻璃對看,接著就倒下掛了,最後還給他來個 Slient Clock 紀念一下。畢竟 Edgar 也是大家看蠻久的角色,也是很重要的一員,竟然很出乎意料且遺憾地在這個時間點走了。
不過還是有點小 bugs,Nerve gas 是在約 6:43:09pm 的 clock tick 之後,搬上去通風口才被設定啟動,倒數 15 分鐘,不過到後來約 6:57:32pm 就散發出去了,有點太早的樣子。再來大家擠在完全 sealed room,毒氣進不來是沒錯,但是不少人擠在裡面會不會缺氧掛點。
ps: Wordpress.com Invitation 新增一枚,意者請 mail :) 。

gravatar

Object-Oriented Programming

我是在寫 OO 嗎?我覺得不是。如果說只是把中文辭彙換成英文,文法還是中式,你會說我在講英文嗎?寫過 MFC 或是 Cocoa 的人都可以發現,MFC 使用的是 Document/View 架構,Cocoa 是 MVC(Model-View-Controller) 的架構。舉 Safai 為例,Safari 做的是 Controller 角色,負責視窗和各種按鈕間的動作,WebKit 做的是 Document (WebDocument) 和 View (WebHTMLView) 的工作,如此組合出一個完美組合的軟體,甚至在 Safari 裡面可以有各種的 Plugin,像是 QuickTime, MediaPlayer, Acrobat PDF Reader 等等。當 user 按下 Go back 按鈕,Safari 送出 message call 給 WebView 的 goBack 後,WebView 再由他內部的 backForwardList 去得到 backItem,再由 goToItem 去回到前一頁。應該不會有人覺得一件簡單的事情,怎麼要用到那麼多層的 class?(Safari -> WebView -> WebBackForwardList),怎麼不在 Safari 這邊解決掉就好了。反正 Safari 叫 WebView 到網址就載入那個網頁和 render 出來,WebView 只要負責畫網頁不就好了?如果像這樣子,class 之間的分工清楚,各司其職,才叫做 OO 的話,那不就變成每個要用 WebKit 做 Web Browser 的都要自己寫 BackForwardList?或許在非 GUI 的領域可能可以如此,但是在 GUI 裡面,我看到的不是 Document/View 就是 MVC。如果一件事情分三個人做,叫做累贅,那把他們合在一起好了。假使今天有人叫做 Adium 要用 WebView 來呈現 RichText 訊息,那大家看到的大概會是對話框裡面有個 Safari 而不是漂亮的 Conversation format。而且 WebKit 的 Reusability 應該等於 0,因為沒辦法直接用 WebKit 來變成 customized widget。而這樣的 OO 等於是廢物。
工作上,或許來說充其量,只不過是用 C++ 寫些很像物件的東西,使用一些包成物件的東西。但是對我來說,感覺就是根本不是 OOP。我只覺得我在寫 C。

gravatar

MS 設計 iPod 包裝

如果由 Microsoft 來設計 iPod 的包裝外觀的話,可能就會如同 這個影片:microsoft ipod packaging parod 所呈現的,充分展現出 MS 風格的包裝外觀和主義。

gravatar

陈水扁宣布“废统” 台湾股市下跌约300点

對岸新聞 陈水扁宣布“废统” 台湾股市下跌约300点。本文無關政治議題,純粹是笑話。一堆資訊公開透明,唯有某些人關起門來自己爽。哈!

gravatar

自以為聰明的台鐵跟中華電信

算你要防止大量訂票, 做了一堆保護措施, 但是搞得連正常使用者都更難使用, 這是哪門子的方法. 變成我可能自己來寫個 script 訂票反而比在網頁上用滑鼠按按點點還方便. 用 firefox 訂票, 漬漬, 這是什麼畫面.
I'm ordering ticket normally
連 IE… 要防止大量訂票的方法, 竟是定時更換 server side script 的名稱. 現在連 clear cache, reload 後, 一樣會 post 到錯誤的 server side script.
I'm ordering ticket normally, too
看來來寫個訂票 script 比較實在, 花這種鳥時間受罪, 台鐵真是會對待客戶.

gravatar

Safari2PNG

寫了一個 Safari 的 InputManager,用來把 Safari 的網頁直接存成圖檔。這個功能應該有類似的程式做過,像是 webkit2png.py、Paparazzi,不過這些都只能直接從指定的網址抓下來;SnapWeb 這個軟體則比較界面化的 WebKit,而且雖然可以在裡面操作然後抓圖,但是遇到較大的網頁可能會錯誤,或是剛好在 Safari 遇到的就無法立即使用,而且需要註冊。比較想做的是瀏覽時候,可能在某些需要登入或是 form POST 結果的網頁中把圖抓下來。因此最好在選單中有個選項可以使用,然後把正在觀看的網頁抓下來。
Safari2PNG
目前初步的結果已經有了,但是遇到不少問題,也解決了不少,剩下某些問題待解。抓下來的網頁內容圖片就像這樣子。

gravatar

KDE on MacOSX

KDE Qt/Mac 是利用 Qt/Mac 的版本,讓 KDE 能夠在 Mac OS X 使用 Aqua 的界面執行。雖然 fink 已經有 KDE,不過我想他是透過 KDE for X11 和 Qt/X11 來執行。但是有個問題還是存在,就是 Qt/Mac 對於中文輸入支援上還有問題,所以 KDE Qt/X11 和 KDE Qt/Mac 用起來的感覺應該差不多吧,只差在 widget 不一樣。

gravatar

GTalk in GMail

GMail 已經整合了 GTalk,除了可以把 GTalk 的對話內容存到 GMail 裡面,方便儲存和尋找外,還可以在 GMail 裡面直接跟對方傳訊息。平常大都會用的是 Safari 或是 Opera, 可惜這兩者進到 GMail 裡面並不會有這樣的功能,雖然一開始用 Safari 在 GMail login 畫面有提到,可是進到裡面,還是跟傳統上沒什麼太大差別。直到在公司使用電腦,利用 Firefox 來讀 GMail 的信,才發現 GTalk 被整合進來了,而且進到 GMail 就會讓自己的 GTalk 帳號上線,並且可以與 contact 用戶直接傳訊。而且蠻簡單、方便的,把網頁瀏覽在 GMail 的地方,就能有打字、訊息過程的小格子,比起 MSN Messenger 真是簡樸多了,其實溝通時的功能也就是這樣而已。只是因為他是擺在 GMail 中,不像 MSN Messenger 收到訊息通知可以跳出視窗,可能使用上有些缺點。而簡單的說這也是一種 Web 版本的 GTalk 吧。圖中的是 Mac OS X 下的三種瀏覽器畫面,只有 Firefox 能順利使用。
GTalk in GMail

gravatar

富x邦金控網站被植入Rootkit !!

http://x-solve.com 上面的文章 公告(2006-0214):富x邦金控網站被植入Rootkit !! 還是沒事不要用 IE 到處亂逛比較好.

gravatar

好漂亮的數據

台鐵春節疏運的列車到站準點率是 94%,看到真是夠吐血,從來坐台鐵的火車大多數都沒有準點過,即使是非人潮擁擠時刻,而且大多數坐車時候誤點都是 10 分鐘以上。唯一準點的班次,就是從台北那幾站搭的列車,因為離發車地點近當然不太會誤點。再者車票上打的乘車時間是開車時間,所以應該是從台鐵網頁上的時刻表上到站時間作為基準,才算準點。但是即使是最佳狀況下,往往大都還是開車時間後才進站。而且列車的優先是自強>莒光>復興>…,在某些車站或區段時會有同向超車,讓經過該段的車次,時間相近且優先權高的列車先過。因此只要自強一誤點,後面的誤點只會更嚴重不會沒事。台鐵這種很漂亮的 94% 準點率不知道是怎麼得來的。

gravatar

Themes from Wordpress.com

Wordpress.com 的限制就是沒辦法讓使用者自行使用 themes,非得從他所提供的那些 themes 上去選擇。今天又看了一下,多了幾個新的 themes,套用看看試了幾個,不過喜歡的樣式那個卻沒有 search 功能 =_=#。有些在 preview 上有 calendar 的,真正弄上去卻沒有,可能有些 plugin 也是無法由使用者自行安裝使用的。

gravatar

JavaScript speed

JavaScript Speed Test 上測得的各家瀏覽器 JavaScript 效能。iBook 1.2GHz,Opera 8: 9.14sec, Safari: 10.85sec,Opera 9: 13.82sec, Firefox 1.5.1: 22.13sec。雖然是 JavaScript 的 benchmark,但是其中包含有 browser window 的產生、關閉、DOM 物件的建立、移動等等。

gravatar

Opera 9、Opera 8、Safari

Opera 對於 HTML/DOM/JavaScript 的支援還是比 Safari 完整,而 Opera 9 目前雖然是 beta,但是比 Opera 8 多了一些優點。比如說可以直接支援在 Opera 裡面看 HTML source 而非使用 TextEdit,這樣避免因為 TextEdit 的編碼設定與網頁編碼不同而無法開啟,也多了 syntax highlight;增加了 block content,支援把某些 URL 的內容過濾掉,像是廣告。而對於 HTTPS 連線的網頁,無論是有無 address bar,均會在視窗上多一行顯示 HTTPS 的網址和認證者名稱,避免有心人濫用沒有 address bar 和按鈕的彈出視窗進行私人資料竊取。當然因為可能還在 beta 階段,感覺瀏覽速度上比 Opera 8 有稍微慢,以及容易 crash,若能順便拿掉不需要使用的 mail、widget 功能來精簡,則是更棒。但是整體來說比起 Safari 算是有過無不及,除了中文字某些情況下難看點。Safari 同樣是很精簡、系統和UI整合得很好,但是其 single thread 的寫法似乎常常會出現某些問題。例如按右鍵或拉下功能表尚未選取選單項目,其實整個 safari 會停住,尤其正在顯示網頁過程特別明顯。甚至是在多個 tab 瀏覽時,當其中有的網頁 loading 變大時,對於其他網頁上的動作、下載呈現、 tab 上的切換常會有遲鈍感;甚至已經切換到其他 tab 後,又自己跳回剛才載入完成的頁面,造成不少 browsing experiences 上的困擾。

gravatar

移動烹調

Mobile Cooking 教人怎樣用手機來煮蛋, 沒試過可不可行, 看起來蠻有趣的. 不過文章提到的是他使用晚間免費區域撥打手機來煮;台灣的話, 三分鐘的時間所花的電話費可能比 7-11 的茶葉蛋還貴吧.

gravatar

some notes

進公司一個多禮拜,其實都是一直在上 training courses。比起一些同學在其他公司似乎是好了點,有的是自己 K 書,有的是直接上線工作。而上 training 不外乎就是了解公司的 development 和整個系統 architecture,並且做做 exercises,之後會開始解 bugs,一步一步慢慢上手步入公司的軌道。寫程式不外乎就是要看 code,除了看人家怎麼寫之外,也是了解系統的方法。此外,還不外乎要學習一下別人怪異的英文命名法,例如前人把 Initial 拼錯變成 Initail,於是後來的人用這個 function 都要學他的錯誤英文。不仔細看還以為 compiler 發神經,明明是一樣的 function name 還說未定義。或是字彙的縮寫,不知道為什麼要把 Feature 縮成 Ftr 或 Fur; Master 變成 Mst 或是更離譜 Maset,檔名又不是像 “internationalization” 這麼長。每人習慣的縮寫加上拼錯英文,造就了很多奇怪的簡寫。

gravatar

利用 ipfw 限制網路頻寬

使用網路時,避免某些程式或 FTP 把頻寬用光光,而一邊上網打 BBS、看網頁會相對反應速度變慢,可以使用 ipfw 防火牆程式來設定一下。例如針對某個 ip 限制頻寬,可以使用

ipfw add pipe 1 ip from 140.114.69.9 to any in
ipfw pipe 1 config bw 300kbit/s queue 50bytes
若是針對某些 port,可以使用
ipfw pipe 1 config bw 300kbit/s
ipfw add pipe 1 dst-port pop3
而若不想要這些 rules,使用 ipfw flush 就會把這些 rules 全部清光。詳細用法可以參考 man ipfw。

gravatar

Linux/Unix與Windows的漏洞比較

看到 這篇:Unix/Linux居然比 Windows有更多安全漏洞? 原來 Linux 和 Unix 上的漏洞與 Windows 上的比較起來,是這樣來計算和評估的。

gravatar

支援 Mac OS X 平台 Skype 的 USB Phone

在 MacWorld 看到的,一家 Chwang Yi 公司的 USB Phone 可以支援 WinXP/MacOSX 的 Skype。雖然名字是『創意』的拼音,不過這家公司是美國田納西的公司。

gravatar

終於用得到 msn search engine

在 Google 找一部短片,只知道檔名是 yaheetw.wmv,結果 "yaheetw" 或是 "yaheetw.wmv" 都找不到。另外到 MSN 去找找看,果然找出來了。終於 MSN 還是有點用處。

gravatar

免費的 Flip4Mac Player

Flip4Mac 是給 QuickTime 用來播放 wmv 影片的 plugin component,可以由 Microsoft 免費下載 Player 版本。如果要建立、編輯或是輸出成 wmv,則需要再付費升級。

gravatar

MacWorld ‘06

2006年Macworld開幕演說即時翻譯全文,
Macworld San Francisco 2006 Keynote Address,
看了那麼多,更新自己的 Mac OS X 軟體比較實在 :P 。

gravatar

台鐵訂票系統

大概又爛掉了,因為可以開始訂春節的車票,雖然西部還沒開放,但是要訂後幾天的票連系統都進不去,跑車站可能還快一點。訂票系統爛就算了,常常因為 load 太久被 browser 以為 timeout,結果內部還是有訂到,要是不查一下,未取票過多被停用還要自認倒楣。此外,訂票界面寫得也不是很好用,沒訂到票還要上一頁再來一次,難怪別人寫的自動訂票比較好用,雖然被認為是對系統的 DDoS 攻擊 :| 。不過連 blog 或是要註冊的網頁都知道要用輸入圖片中代表的字母或數字來重複大量註冊或是廣告,台鐵放著不管只盯 log 應該不是辦法吧。:P

gravatar

Google Pack

Google 推出了整合性的軟體組合 Google pack,含有 Google Earth、Google Desktop、Google Picasa、Google Toolbar for IE、Mozilla Firefox、Ad-Aware SE Personal、Norton AV 2005 SE、Adobe Acrobat Reader 7。雖然不見 Google Talk,但是在 Add/Remove 的選項內,可以增加不少其他軟體,Google Talk 就在其中,只是沒有預設,還有 Trillian 這套各種 protocol 的 IM client。NAV2005 SE 的 LiveSubscribe 期限只有 6 個月,不需要啟用手續,並且沒有 UnErase Protection & EasyWipe 這些功能(其實以前用 PC 時都關掉,節省系統資源)。

gravatar

蘋果的產品設計

蘋果電腦和數位產品中的設計,像是 iMac、iPod、iBook 皆是出自 Jonathan Ive 和他設計團隊之手。他也獲得英國女皇封爵。

This article was copied from jclin.wordpress.com.

gravatar

最低稅負

在月底時看到的一項最重大的財經新聞,就是台灣飛利浦在 96/1/1 前將持有的台積電股票轉讓給荷蘭飛利浦母公司,同時也創下台股盤後交易的天量。因為 1/1 的最低稅負實施關係,預計可以讓飛利浦省下近 100 億元的稅賦支出。在 EZFINANCE blog 裡面,說明了什麼是最低稅負,分別為:漫談個人最低稅負制(上)、漫談個人最低稅負制(下),以及 最低稅負 實現租稅公平。

gravatar

關西第10週

這週幾乎都是 175m 打靶,一三五的課不是上山去射擊訓練,不然就是在射預場上課。
禮拜一是下午上山打靶,六發命中五發。
禮拜三是上午打靶,器材班一大早五點就起床,五點半前換裝整理完畢,下樓搬器材後六點出發,還要佈器材佈靶。早餐也在山上解決了,雖然是自己花錢買的麵包飲料,不過比餐廳的好吃 :P 。這次上山共打兩表射擊,第一次六發命中五發,第二次滿靶。後來被拉去當靶溝看靶,第一次去蠻好玩的,跑久了其實蠻累的。
禮拜五是全營射擊比賽,同樣又是一大早二三連上山佈靶。這次不知道成績怎樣,不過全連好像平均只有 73,換算成命中率大約是不滿四發。聽說三連跟我們成績差不多,只差小數點的樣子。最後公佈成績跟頒獎,冠軍是三連。獎品是飲料八箱(各連出兩箱)和營長出的獎金兩千元。

下週是期末鑑測,共要測三天。星期三測完又可以烤肉了 :P
最後一週就是準備結訓離營和下一梯次準備,沒課,但是就是公差,出不的公差。

This article was copyed from jclin.wordpress.com.

gravatar

aMSN for Mac OS X

看到 aMSN 在 Mac OS X 上有 webcam 影像功能,看起來蠻不錯的。不過他是用 Tcl/Tk 寫的,要跑 LAServer 和 wish 兩隻程式,也不用跑 XWindow Server。速度蠻不錯的,唯一就是剛載入或是各個視窗功能 module 時候,會停頓,大概是需要載入 tcl script 和 interpret。不過再裡面的功能就沒有再去試試看,因為再一開始輸入帳號的 edit entry,按下輸入法切換功能,想要切換到中文輸入法,卻沒有用處。手動選擇中文漢音輸入法沒問題,但是輸入文字會跑出英數而沒有組字,因此大概這個程式無法使用中文了吧。所以堪用的大概就是 Adium、Proteus、MSN Messenger。

This article was copyed from jclin.wordpress.com.

gravatar

關西第8、9週

在二三街角看到的:

” … 你想想看, 這多難得, 全國頂尖的碩博士生同在一堂, 討論著偉大的憧憬 (指我們在聊天的這一群人) 彼此交換心得感想 — 這是何等難得的機會阿 ! 不要說幾年後了, 結訓之後, 還有什麼機會可以跟一群來自不同領域的人才這樣長時間的接觸呢 ? … ”
大家在一起聊天,最多問到哪畢業,去哪工作,做哪方面領域,待遇怎樣,股票怎樣,就差不多開始岔開話題了。在軍中能夠做的,最多到打屁聊天、打混摸魚、幹譙幹部、看書小說雜誌,等到結訓拍拍屁股走人,就是大家最歡樂的事情了。
鑑測過後,這兩週堪稱最無聊之最。打175m也只有鑑測那次,到現在完全就沒再打過。剩下徒手基本教練(立正、稍息、敬禮、左右後轉)、持槍基本教練、刺槍術、單兵戰鬥教練、五百公尺障礙超越、手榴彈投擲這些課程在反覆排列組合。都快到結訓了,還在徒手跟持槍基本教練。課表上的備註欄應該是時數,現在除了射擊以外,看來上課節數都已經滿了,課還是照樣排,時數一樣寫 12/12,實在是寫好看的,大家剛開始還以為上完最後一堂了,結果下禮拜還是照樣上課。
接著下一週(第10週)就輪到我們上山去打靶,大概又是排schedule的關係,不知道誰排的,把剩下打靶排在一週一起上完。所以下禮拜室外課就是全部都上山去打靶,175m射擊的路程和器材又要累死器材班了。而一些人發燒的發燒,還有不能激烈運動或傷兵的,剩最後幾個星期真是刺激。
連長從我們剛入伍就說要退伍,等到這禮拜終於真正走了。換副連長升上來當,又從營部連來了個新的副連長。聽說不曉得發生什麼大事,連旅長都被撤換掉了。還有三週才結訓,每個禮拜的重要命令宣導就沒冷笑話了。本來可能有 1400 or 1500 放假,現在換新旅長應該不會再提早出大門了吧。假單寫的是 1800,目前還能 1600 出大門,算是還幸運的。新竹風很冷,寒流來天氣本來就冷,新竹風又大。穿再多成天在外,只要手腳冰冷就還是一樣覺得很冷。身體能保暖就好了,穿太多真的是很難過,運動太多又流很多汗。
第八週週末去新竹找房子,準備結訓後待公司要住的地方。很久沒去新竹逛逛了,不過還是一樣完全沒有太大變化,車子和交通一樣讓人很討厭。在金山街看了不少房子,幾乎貴又不怎樣,價格可以喊到 8k 以上。不過至少還覺得幸運,找到一間套房覺得便宜點,傢具家電和房間覺得很值得。鄰兵也在新竹工作,雖然也租到 8k 的套房,不過與金山街一堆 8k 套房相較之下比起來,他的套房真的是超值得且划算。
再過一週,下下週就是鑑測,然後最後一週就沒課了吧,準備離營和下梯次的東西吧,我猜。

This article was copyed from jclin.wordpress.com.

gravatar

關西第 7 週

過七週了,剩下五個禮拜在關西的日子。第七週為期中技測、第十一週為期末技測。三營技測時間為一三。
星期一,早上一大早起來就是引體向上(單槓)。早上上山去測單戰,臉上塗炭與泥巴,身上紮草。不過每一班抽測一項後,其餘時間就是等待與聊天。中午回三營吃飯,下午上175公尺靶場。三營的還沒打過175,期中測驗就直接上。自己沒有滿靶,不過合格。聽說三營成績不錯。第一次上 175m,路途真是遙遠。打靶後測大部分解結合。晚上測夜間著裝。
星期二沒事,就是被拉去練習星期三的項目。早上是刺槍術,下午是小500公尺障礙與手榴彈投擲。
星期三是仰臥起坐與伏地挺身,接著是500公尺與手榴彈,再來下午是刺槍術與CPR。接著跑 3000 公尺。晚上就烤肉。又聽說刺槍術連上拿到第一。
星期四為莒光日,看電視、聽演講,晚上看電影。跑到餐廳看三連放什麼片子,發現投影幕上是 Mac OS X,真炫呀。一看是大白,在營區內看到這種東西真是令人驚艷。
星期五只有早上的課,結果是單兵徒手基本教練,上立正、稍息、原地肩轉法、敬禮。真是無聊的早上,開始懷念射擊預習可以趴在那邊休息。

This article was copyed from jclin.wordpress.com.

gravatar

OpenVanilla 0.71 與 iTunes 輸入時選字

記得很久以前,在 #osxchat 看到有人說,在 Finder 改檔名時,叫出選字候選視窗後,選完就變成彩球一直跑(not responding)。我的 MacOS X 10.4.3(8F46) 也屢試不爽,也似乎沒找到過是什麼問題以及解法。最近在 iTunes 裡面的 Get Info 視窗內改 ID3 資料時,又遇到同樣的問題。但是換回漢音輸入法,就沒有這樣的問題。又,似乎有些人卻不會有這種問題。暫時換回漢音輸入法用用。附加檔案是 iTunes’ not responding 時候的 Shark time profile.

This article was copyed from jclin.wordpress.com.

gravatar

好久沒中獎了

感謝您參加中央研究院資訊科學研究所自由軟體鑄造場今年所舉辦的「第二屆台灣自由軟體社群調查活動」。配合本次問卷調查進行的抽獎活動,已於2005年11月29日經由律師現場公證,透過電腦亂數抽出所有幸運獲獎的朋友。恭喜您獲得
● 獎項: 12獎 微型樂園馬克杯+數位藝術作品集

雖然不是什麼大獎,但是非常讓人訝異。很好奇是什麼樣外觀的獎品。

This article was copyed from jclin.wordpress.com.

gravatar

MacOSX 10.4.3 與 D-Link DI-524 WPA2-PSK

因為住的鳥地方買不到像白豆腐的 AirPort Express,只好挑便宜買有聽過的牌子 D-Link,剛好 DI-524 Wireless Router 在特價。雖然 AirPort Express 貴不少,但是看在外觀、體積、無線音源孔、USB 印表機支援,實在很心動。不過就是需要用,等不及從別的地方買再帶回來。
DI-524 原本的 firmware 支援 WEP、WPA 等等,更新到最新的 firmware 後,支援了 WPA2。於是好奇就把加密方式改為 WPA2-PSK,不廣播 SSID。結果使用小白的 AirPort 再次連線,輸入 SSID 後,提示輸入 WPA2-PSK 的 passphrase 後,卻是不正確無法連線。只好硬來 reset 之後,重新設定 = =。然後就不趕再試 WPA2 了。
內建的 web management 介面雖然齊全,但不是很好看。而且只是透過 wireless 的 LAN 把管理的頁面讀出來,感覺速度有點差強人意。

This article was copyed from jclin.wordpress.com.

gravatar

很扯的軍中信用卡業務

這個「國軍暨家屬扶助基金會」先不管是怎樣的組織,怎麼照顧軍人。不過用太過美化的手法來宣導辦理信用卡,讓一堆國軍弟兄辦卡,即便基金會只是要透過刷卡銀行回饋的機制和捐款來增加經費,但是宣傳的手法卻覺得讓人唾棄和不屑。angel 卡由明年 2006/2/1 起改由台北富邦銀行接手,因此原先全部是匯豐銀行所發行的卡片,不論到期日,都會到 2006/1/31 無效(應該能轉成銀行卡繼續使用)。但是宣傳時,他說,angel 卡意外險 50 萬,先申請起來放著保平安。11 月中會升成 100 萬,到時候他再拿 100 萬的認證書來給大家簽。結果拿來的「認證書」,就是台北富邦銀行的信用卡申請書。其實他已經早就知道明年要改由富邦接手,且提供的保險額是 100 萬。所以明明就知道匯豐銀行 angel 卡停用在即,還是完全不提,就講了一堆權益,吸引大家辦卡。接著什麼100萬保險認證書,根本是胡謅,其實就是另外一家銀行的信用卡申請書,有哪家的保險簽「認證書」就可以獲保。而且意外險內容也沒有寫得很仔細,因為只是申請書上宣傳的大標題。接著,因為信用卡有年費的關係,所以宣導了說每個月小額捐款(最少50元),這樣一年就有12次消費,相信應該有不少人在年費的關係下,選了每月至少50元的捐款給基金會。而同樣的他給你先辦HSBC到2006/1/31要停止的卡,然後再辦2006/2/1開始的卡,其實原因也應該是為了基金會的捐款來源不中斷。如此下來,基金會「合法捐款」的經費來源倒是多了不少。
雖然辦了卡,不過自己該要的目的是達到了,很簡單的管道就辦到了白金卡,不用再用一堆資料證明來給國內銀行提昇信用額度。捐款也沒勾,雖然不會非法惡搞你的資料或騙錢,但是這種怪里怪氣,沒有說清楚講明白地拉了一堆人辦卡。即使每個月捐 700 認養國外兒童,也不想勾那小小款項的每月 50 元捐款。

This article was copyed from jclin.wordpress.com.

gravatar

關西第5週

星期一又是上山,想單然爾,器材班又是要拉著一堆器材的推車上山。整天在野外上單戰,從早到晚。而這天晚上也有排課,全營到射擊預習場,上夜間著裝教練。雖然風大涼了點,但還好不至於會冷。另外連上管線不知怎麼了,結果沒水洗澡,被帶去營部連洗。因為晚上有課,又一堆人要洗,結果很晚才洗,又洗得很趕,好像剛入伍前幾天。
禮拜二通識課,算是第二涼的日子。聽課的聽課,看書的看書,睡覺的睡覺。一天就這樣過了。
禮拜三上靶場,上的是 25m 歸零。器材班也是一早先去吃飯後佈置靶場,然後副連長開始打了三發之後,接著就是全連依照波次上去打靶了,總共三靶三槍。其實槍聲蠻大的,大家一起開槍時,倒是比較像放鞭炮。因為眼睛看著覘孔瞄準,就像是鞭炮在耳邊爆炸的音量吧。不過倒是因為注意力比較放在瞄準,同時也是聽幾次就習慣了,所以音量倒不覺得是一回事了。不過明明每個人只有 9 發子彈,我的靶上多出了兩個彈孔,因為隔壁的第三靶瞄錯了 = =”。
禮拜四算是最涼的日子,早上聽愛國教育讀本朗讀,看莒光園地,聽幹部或福委、車委宣佈事情;下午午休後聽演講,之後自由活動時間到吃飯,晚上看電影。一天又過了。
禮拜五又是射擊預習,槍枝分解、三角瞄準、射擊姿勢練習等等,都是上過的課,因此蠻無聊的,因為都在重複同樣的東西。幹部也不太想上,反正也是作給上面看的,因此上課時就叫同學輪流去趴著拿槍瞄準,然後幾個幹部就聊天或找學生聊。XD
因旅長說沒有違紀事件,告知各營長提早到四點發車放假。不過是第一次提早放假,而中午的午休時間也取消了。提早把裝備和槍枝保養完,打掃和整理完畢,理論上應該就可以從容換裝,離營教育和上車。不過士官長說要選實習幹部,只不過要選三個人,就花了約半小時。其實就算禮拜五選了也用不到,不如禮拜天收假回來再選,否則搞得大家換裝時間整理內務都很趕。同時也是大家同學自己搞的問題,明明舉手報數也不用多久,一堆人聊天的聊天,起鬨的起鬨,拉票的拉票,搞掉半小時自己的時間和大家的時間,結果換裝時間很趕,又要被幹部催。

目前雖然是位於,有時會接訓國防訓儲役學生,平常也會接訓一般兵,屬於後備司令的關西某營區。這禮拜離營教育,營長趁機向大家答覆一些同學所提的生活上的問題,雖然大部份都是鳥問題。但是談到未來營區規劃,射擊預習場會蓋新的營舍,步三營會打掉重蓋成兩個營。一兩年後中山室與寢室會有中央空調。當兵真是越來越爽了,越來越像是在戰鬥營或夏令營。對於一兩年後要服役的畢業學生,除了兵役可能縮減到一年左右,加上這種福利,就直接去當兵好了。

This article was copyed from jclin.wordpress.com.

gravatar

Safe Sleep

Mac OS X 上終於有類似 windows 休眠(hibernate mode)的功能了。可以把記憶體的資料寫入硬碟後,完全不耗電源地保存目前狀態,缺點就是耗費硬碟空間,以及比一般的 sleep 模式啟動慢。不過比較不解的是硬碟空間需要使用記憶體大小+750MB的容量,多出來那750MB不知道是什麼東西。windows 的話則是只耗費記憶體大小的空間。來源連結:How to Safe Sleep (Hibernate) Your Mac

This article was copyed from jclin.wordpress.com.

gravatar

Mac OS X 10.4.3 與 windows 網芳

連接到 windows 的分享資料夾後,忘記把 Mac OS X 上的目錄拉到垃圾桶去 unmount,就把 windows 關機。結果Finder 就幾乎反應遲緩,其他應用程式也不是很快的回應速度。過沒多久,彩球就拼命轉,所有程式也都沒有反應。按下 ibook 的暖開機也沒用,只好長按住電源把電腦關掉重開。
記得在 10.4.2 和之前,也有幾次是不小心忘了 unmount,就把 windows 關機了。回到 Mac OS X,再把分享的目錄拉到垃圾桶,雖然也是會停頓一下,不過一會兒就會有 Finder 的訊息視窗出現,反正一些錯誤訊息按下 OK 後就好了。更新到 10.4.3 之後卻好像更有問題,不知道是個例還是新版的 samba 和 finder 造成相關的問題。
重開機後,登入使用者後,這次連 .png、.jpg、.pdf、.xls…等等的圖示都不見了,變成空白文件的圖示。不過再次 logout 後登入,就又好了。真是莫名其妙的問題。

This article was copyed from jclin.wordpress.com.

gravatar

OpenOffice.org 教學 flash 影片

在「自由軟體技術交流網」看到的,Newsforge 上有提供 OpenOffice.org 教學和展示的 flash 影片。看起來非常不錯,對於評估 OpenOffice 適不適合拿來取代現有使用的 MS Office 以及對於新手的教學而言,都非常有價值。

This article was copyed from jclin.wordpress.com.

gravatar

關西第 4 週

進入關西營區已經過了第四個禮拜,相當於一個月的時間。總體而言已經算是過了 1/3 的時間。

iBook 上的 Mac OS X 在更新完 10.4.3 之後,全部有關聲音的 icons(.mp3、.m3u、.pls、…) 全部變成空白文件圖示後。搞了好久,原來把 File Info 的 Open with: 改回 iTunes.app 然後 Change All 就又回復成 iTunes 預設的 icons。整體上來說,裝完 10.4.3 完全沒任何問題發生吧。

這裡拜的課不是在射擊預習場就是自己連集合場,不用上山到野外,倒是輕鬆許多。不過倒是室外課時,早上下午都要伍察,可憐的器材班就要把飲水、急救用品、冰桶、教材白板搬到射擊預習場。大家集合完畢,統一”量”體溫、”喝”水後,又把東西全部搬回去。反正國軍就是沒事找事作,以及作些沒有意義的事情。

星期四晚上,營長辦了外燴(俗稱辦桌)以及順便和 10、11 月生日的同學慶生。雖然菜色比起外面隨便辦桌還差,但是至少已經比伙房所煮的平常伙食好很多了。除了吃飯慶生,還有卡啦 OK 可以唱,一堆同學和幹部輪流上去唱。同時幾乎各連同學都會向自己連上幹部、長官去敬飲料,順便喊些口號。倒是一堆人在那邊感謝幹部長官照顧,搞得好像明天要結訓一樣。

禮拜五只有早上有課,小五百公尺障礙跟刺槍術。小五百公尺就只有爬竿跟翻牆,反正就是講解、練習,每個人作一次就差不多了。倒是有一堆同學翻牆時,感覺好像在撞牆一樣。至於刺槍術課程,幸好要照 X 光,就不用上了。

下禮拜起好像要開始打靶了,摸了幾個禮拜的槍和大部分解,以及上了幾堂射擊預習,接著就真正要去靶場打靶了。

This article was copyed from jclin.wordpress.com.

gravatar

關西第 3 週 and MacOSX 10.4.3

在關西營區的日子已經過了三個禮拜,等於是過了 1/4 的時間。回家用 iBook 上網,看到 10.4.3 update 釋出,且有一堆人似乎發生不少問題。還好我的 iBook 更新完,只有發生 spotlight 熱鍵被改為 cmd-space,一堆用 CandyBar 自訂的卡通類型 icons 幾乎又回到原本內建圖示,以及一堆檔案類型的圖示像是 .pls、.mp3、.avi、.wmv 等等都變成空白的文件 icon。而整體來說系統似乎沒有什麼影響,還是正常地運轉著我平常會用到的程式。

關西營區的生活裡,這週戰技課程主要是射擊預習以及野外課,三行三進和單兵基本戰鬥教練。射擊預習在射擊預習場倒是不遠,但是需要搬移和佈置不少器材。而野外課就需要上山,拉著推車把必需品跟教材拉上山去。反正課程內容就是如此,需要體力、勞動的地方就自然大家都一樣,也沒什麼需要特別講。這些單戰也後也用不太到吧,知道個大概就好。

此外,這禮拜旅長的話倒是不少,連兩天晚餐後要去旅部集合聽話。上完課進餐廳理想上是六點,但是稍微拖一下以及一班一班輪流進去,稍微花到十幾二十分鐘都有可能。而七點就要在旅部集合完畢,三營又是離旅部最遠。才進餐廳,幹部就說吃完飯 6:35 連集合場集合完畢。全部的人吃飯時間跟洗餐盤碗筷時間加一加大概連半小時不到吧。雖然說旅長講話並不是訓話,而是愉快幽默中談談一些生活和規定。但是連兩天這樣搞,不僅時間趕,大家也都吃不消吧。

再來是聽完旅長講完話回來後,有什麼國軍家屬扶助基金會來宣導,講了一堆,其實就是要辦他們的信用卡。雖然說一堆照顧國軍福利的話,說穿了就是假借這個名義推銷信用卡。一方面其實並不太想鳥他們,也不太想辦。但是全部的人還是得等要辦的人辦完後才能一起帶回洗澡 -_-#;而持卡期間又有保險理賠;且自己並沒有白金卡。雖然有想過要辦辦金卡或白金卡拿更好的優惠,以目前的能力向中國信託升等為金卡或白金,消費狀況和財務能力可能成為無法核可的原因。既然眼前匯豐銀行的國軍 angel 白金卡,聽起來以國防役和少尉官階的能力似乎可以辦得到。所以至少就先辦一下好了,以後要升中國信託白金卡,至少在徵聯資料裡面有這樣的紀錄,應該不難從目前普卡往上升吧。至於福利,生日當天有兩張免費的華納威秀電影票,不過生日當天根本就在營區出不去,至少大約一年左右用不到吧。ha

This article was copyed from jclin.wordpress.com.

gravatar

grade 8 Math…

You Passed 8th Grade Math

Congratulations, you got 10/10 correct!

gravatar

關西營 1~2 週

這個週末是新訓的第一個放假,也是第二週;第一週週末兩天為會客懇親日。

從第一天起,在營區門口等待士兵帶入營區。接著在大操場(射擊預習場)上校對身份、資料後,分配到第幾營第幾連。接著由各營幹部帶回,本營剛好距離不遠,連上又離餐廳很近。

第一天其實沒什麼事情要做,因為該作的事情就是換服裝、理髮、體檢。一開始進去中山室就是領所有的衣服裝備,從頭到腳,領了一堆東西真的是不好拿。而幹部就是反正東西拿給你就好了,不管你帶著行李,還要拿一堆衣服、鞋子、統購物品。而體檢最主要大概就是量體重身高,其他視力、身體問題都是自己填寫或告訴醫官。然後就依照身高排班,分配床位。

其他第一週的日子,已經不太記得。大概只記得大部份都是在吃飯、寫資料、集合、出公差。因為第一週很多事情要做,很多文書要辦。幹部也是忙不過來,一下子要調查什麼,一下子要填什麼資料。連幹部自己都搞不好,例如某時段是輔導長的工作,另外一個班長說要發資料填寫,結果輔導長就說沒有剩餘時間。但是班長很急趁機發資料,然後就被幹了幾句。其實大家看了幾天,應該都會班長都很累,因為是最底層幹部,要做很多事情,睡覺時間又少。有的班長比較菜,才到連上沒多久,很多事情都找他,做不好也是被幹。而快退伍的班長倒是老神在在,比較不想理事,對學生也比較和善,又比較多在休假不在。第一週也是調適用的,除了準備的通識課程外,幹部不是在宣佈事情就是告訴你什麼事情要怎麼做。

雖然不是監獄,不是被關在鐵籠裡,但是整個生活範圍只有連上和餐廳。不能去營站或是太遠,連沒事要到別連都可能沒時間,因為很多活動或課都接得很緊,一下子又要集合或去哪。第一次覺得生活空間被限制得那麼小。

第二週起,就完全正常按表操課了,一三五是室外課。但是星期五下午都會是裝備保養跟準備休假,通常應該是沒事情了。禮拜二是通識課程,就是類似外面的上課,不過是全營一起上。星期四是莒光日,看看電視寫寫心得。下午通常是運動時間,第二週舉辦了拔河比賽。通常前幾個禮拜晚上會被幹部主官運用,到最後晚上就是洗澡,看電視或自行運用了;或是可以自己帶影片去放。

有很多幸與不幸,不幸的是排在器材班。大概要一直累到結訓吧,因為本營離最遠,最後要去射擊或什麼訓練課程,還要爬過山頭。器材班要在上課前把水、冰桶、急救用品、教材推到那邊。幸運的是不用當打飯班、不用站哨、出一般公差次數比較少;離營站又近。

按表操課後會覺得時間過得比較快,因為很多時間在忙碌或不知不覺中就過了。晚上也會有比較多自己的時間做自己的事情或看自己的書。一到週末週休二日,大概沒人會想留在營區留守。關西新訓總共 12 週,現在已經過了 2 週。

gravatar

輪到二梯入伍了

這個日子終於到了,明天就要出發去新訓了。身邊的所有事情都先暫停三個月。

gravatar

copyblog.pl

gslin 的 copyblog.pl 對於 blogger 的中文似乎有點問題,是有複製過來了,但是看不到中文,只剩下英文部份。看一下 gslin.blogspot.com 似乎也有這樣的問題,只剩下英文的部份。而 CPAN 上找到的 Net::Blogger 可以使用 SOAP XML 來發表 blogger 文章,但是卻沒有 title 可以用。然而看了 Blogger 自己的 API 文件,裡面的 XML 格式卻是有 title tag 可以使用。最後自己用 wget 來做了。
首先 copyblog.pl 裡面的 title, content 抓到後,寫到一個檔案(如 post.xml),這個檔案內容就是類似這個 XML 檔案。然後使用 wget,命令如下:

wget -O- --header='Content-Type:application/xml'
--post-file=post.xml --http-user=foo –http-passwd=bar
 https://www.blogger.com/atom/BLOGGERID

gravatar

Got an Invitation from WordPress.com

等了好久的時間,其實應該也不算太久,終於等到 WordPress 的 Invitation,申請了 jclin.wordpress.com。雖然同樣與 Blogspot 一樣都是免費的空間,所以還是有很多限制的地方。不過比較多的不同是,有內建直接的 Category、Trackback 支援,更豐富的管理介面。但是 theme、plugin、upload 功能幾乎就只有那些。來用 gslin 寫的 copyblog.pl 同步這兩邊好了。然而,要去關西新訓了,大概沒什麼時間玩玩程式和寫 blog,雖然周休二日,放假又去玩,只能讀讀信件和 bloglines 就差不多了。

gravatar

WebKit supports bold & italic Chinese glyph

webkit-bold-italic.jpeg執行 WebKit nightly build 的畫面結果,發現一個比較不一樣的是粗體/斜體的中文字支援。看來似乎 Safari 也要開始支援 bold/italic chinese glyph 了。目前的 official Safari 是 412.5,而使用的 WebKit 版本是 420+。
Update: 如預料的方式,中文字型本來就沒有 bold/italic 字體,而新的 WebKit 所使用的方式為:粗體就是移位再畫一次;斜體就是加上 Quartz 的 transform matrix,讓字體 skew(-tanf(14 * acosf(0) / 90)。

Tags: | WebKit | safari。Category: software

gravatar

WebKit nightly build

Safari 是使用 KDE project 的 KHTML 來當作核心,其使用的是 C++ 與 Qt 所撰寫。而 Apple 則將 KHTML 部份拿來使用,並且寫了銜接 Qt 與系統 Interface 的 WebCore 與 WebKit。搭配 Safari 主程式就是目前的 Safari browser。

想要嘗試新的 WebKit 或是 SVG(Scalable Vector Graphics),但是又不想自己花時間慢慢 checkout source code 和花很長時間與大量 CPU 資源來 build WebKit 的人,可以到 這裡 下載 build binary 來執行。有單純的 WebKit,也有 WebKit + SVG。

Tags: , Safari。Category: software

gravatar

Download WMV via MPlayerOSX

MPlayerOSX 是 MPlayer 的一個 front end GUI,雖然目前無法觀看 WMV3(vc-1、WMP9)的影片。而在 Mac OS X 上並沒有直接提供下載 MMS streaming 的方法,因此要透過其他程式來下載這種串流格式的檔案。因為很多人都應該會裝 MPlayerOSX,因此也可以透過 mplayer 來下載。mplayer 位於 MPlayer.app/Contents/Resources/mplayer.app/Contents/MacOS/mplayer,透過這個指令 mplayer -dumpstream mms://some.host/foo.wmv,就可以把 wmv 檔存成預設 stream.out 的檔案。如果再進一步寫成 script 或是 automator 方式,就能更方便地使用。

Tags: , WMV, mplayer。Category: software

gravatar

zh.wikipedia(UTF-8) == Simp. Chinese ??

zh_wikipedia_hei.jpg越來越搞不懂 mozilla 中到底是怎麼對待網頁編碼與字型,像是 zh.wikipedia.org 是 UTF-8 編碼,但是顯示出來的字型很難看。感覺經過 Antialiasing 很容易糊掉顏色不深,也看不出來什麼字型。zh_wikipedia_tahoma.jpg於是就更改了 unicode 字型的設定,但是一如往常的,網頁上的內容一丁點都沒有更動。我的 western、Trad. Chinese、unicode 都設為 serif:Times, sans-serif:Tahoma 了。突然想到 Simp. Chinese 的字型沒改,於是就同樣把他改了,由原來的 sans-serif:Hei 改為 Tahoma。接著 UTF-8 網頁的英文字型就變得比較好看了。真是搞不懂 gecko 到底是怎樣對待字型和編碼呀。

Tags: 。Category talk

gravatar

Firefox 1.0.7 CJK ATSUI

Firefox 1.0.7 with CJK ATSUI patch. Update:Now can download。

zh.wikipediaa.org news.google.com 台灣版 with Serif news.google.com 台灣版 with Sans-Serif

Notes: 維持使用 QuickDraw Port,保持 gecko 內部的 QuickDraw 繪圖相容,因此文字還是 4-bit aligned antialiasing 不是 CoreGraphics 8-bit sub-pixel antialiasing。(等上傳至大頻寬主機再更新下載連結)。UPDATE:下載位址 http://140.114.75.237/~jclin/files/Firefox(CJK ATSUI).app.tbz

Tags: , Firefox。Category:Software

gravatar

Font smoothing of White on Black

在 Mac OS X 下,預設的 Font smoothing style 是 automatic - best for main display,即使把它設為 Medium - best for Flat Panel,在黑底白字的程式下,像是 iTerm.app or Terminal.app,文字會變成超黑的字體,幾乎快糊成一塊。而設成 Standard - best for CRT,一切就正常了,深底文字看起來就不會那麼粗。但是設為 automatic 或是 medium 在有些文字卻比較清晰,不過到了 Terminal/iTerm 這種程式就快糊成一塊。

上:Automatic; 下:Standard for CRT

在 iTerm 中,透過 Quartz 的一個 function ''CGContextSetShouldSmoothFonts'',把黑底白字的 font smoothing 關掉,看起來似乎比較正常,且還保有 Antialiasing。
於是,這個就加到 iTerm-b5e 了。

Tags: , , 。Category: programming

gravatar

到底誰是壞人?

常常接到詐騙電話,不是直接聽一半直接掛掉就是不講話看他能怎樣。結果有次直接掛掉電話,對方還打了兩三次過來,然後接起來對方就馬上掛掉,意思就是故意要吵你。故意悶不吭聲不講話的情況,就在那邊罵說是啞巴還聾子。拜託,你是詐騙集團,人家不鳥你掛你電話是自然,不然還要跟你客客氣氣廢話一堆說再見?真是壞年冬,瘋子一堆。

Tags:

gravatar

Safari's 字體

自從有一次看到使用 3xx MB 記憶體空間的 Safari 奇景後,就沒有再看到什麼新奇有趣的怪事。在瀏覽 CNet Taiwan 時,第一次看到這種特殊的景象。如圖所示,奇怪的地方已經使用 magenta 顏色畫出來。對於這種問題一點頭緒都沒有,而字型的設定是 Helvetica。且不單單只一個網頁,連後來其他網頁相同的字都會變成這種字體。大概是 WebKit 的 Glyph cache 出槌了吧。

Tags: , apple

gravatar

iTerm 0.8.1.07 (big5ext) UPDATE!!

iTerm-b5e 0.8.1.07. Replacing Objective-C/Cocoa NSString drawing with C/ATSUI code. However, Terminal.app is always faster than iTerm. It fully utilizes ATSUI & CoreGraphics with only very small portion of Objective-C. (messaging everywhere is slow).
UPDATED:

  1. 修正 gugod 說的 New window 不會顯示文字。
  2. 修正視窗隱藏後再出現字會消失(原來 CoreGraphics context 會改變)
  3. 輸入狀態從透明底色改為藍色,避免文字重疊

Tags: , iTerm

gravatar

Google maps 上的台灣

在 slashdot 也出現 google map 上的台灣問題討論。其中第一篇留言,也算是個 joke 吧,就像有些人想把台灣變成美國的一洲。

So instead of saying it is or isn't a province of China, you just call it West Hawaii.

Tags: , taiwan

gravatar

Win32 EXE/DLL Injection & An Winamp Example

Windows EXE 執行檔的格式有很多 sections,常見的有 code, data, rdata, res 等等外,還有 EXPORT/IMPORT tables。通常 EXE 比較少有 EXPORT table,因為 EXE 主要是用其他人的 APIs, functions;相反的 DLL 會有 EXPORT table,提供該 DLL 內部的 function name or number 給其他程式使用。

因此在執行一個程式時,windows 載入執行檔後,需要去 resolve 該執行檔需要的 DLL function entry points。因此載入該 DLL file 後,會去查 function address 填回/修改執行檔在記憶體中的 IMPORT table。因為每台電腦的 DLL 版本或是執行時載入的 function address 可能會不一樣,所以需要執行前作這一步動作。然後 EXE 執行時就可以靠著某地方的 pointer 作 jump/call 就可以呼叫想要用的 APIs/functions。

因此,有個很好的機會來作 Injection,也就是只要寫個 DLL,export 同樣 function name。程式就很有可能載入到你自己的 DLL,然後在自己的 DLL 只要呼叫原本的 function,基本上程式運作並不會受到影響。

在以前寫過一個用於 winamp 的 DLL,主要是來擷取聲音資料。winamp 是用一堆 plugins 構成,像是 in_xxx.dll 和 out_xxx.dll 等等。試想,不管怎樣,player 要播放音樂,總得透過 Windows 的 API 來寫入 wave 的資料,因此經由 Injection,可以嘗試把 streaming 或是不能下載或轉換的聲音檔轉出來,而且並不是透過 soundcard Wave in/out 之間的介面,因此 DA/AD 失真就不存在。

所以,這個範例的主要對象是傳統的 wave 開頭的 API 為目標。winamp 可以選擇 waveOut 介面來作為聲音輸出,使用的是 out_wave.dll,而 system waveOut API 則是 winmm.dll。因此在這個範例,我寫了一個 DLL 會 export 與 winmm.dll 相同的 function names;並且會呼叫 winmm.dll 中的相對應 APIs。為了確保 winamp 所載入的是我的 DLL 而非 winmm.dll,於是利用 hex editor 把 out_wave.dll 中的 IMPORT table 的 winmm.dll 改為 winmf.dll,並且把我寫的 dll 檔名也取為 winmf.dll,擺入 winamp 目錄下,如此一來它便會載入我的 winmf.dll 而非 winmm.dll。然後執行時,例如播放 streaming,當 winamp 透過 out_wave.dll 來將 wave 資料送給 soundcard,於是就會經過我的 DLL,透過 "側錄" 方式,把 wave 內容存下來,並且呼叫原本的 winmm.dll 執行正常的功能。

在這個範例裡面,可以看到如何寫一個簡單的 DLL,如何把 function name export 出去成為想要的 Export name(因為不可能在程式寫成與目標 DLL 同樣的 function name,否則等於重複定義,也會變成遞迴)。以及怎樣使用 blade/lame3 mp3 encoder。不過程式使用上會有些限制,例如沒有寫太多 configuration,所以設定便是寫死不夠 flexibility。而且 runtime 可能有些 timing 問題,因為不是 threaded,而 MP3 encode 通常時間要比較久,且又是在 winamp 送出 wave 資料給系統時候即時處理聲音輸出,因此可能會有 timing、thread 方面的問題。不過可以當作一個參考範例,或是不要直接 on-the-fly 壓縮,都應該是可以用的範例。原始碼下載處

Tags: , EXE, winamp

gravatar

font mapping

很多人或像是 yahoo 新聞,喜歡把"細明體"寫到 css 中,不過這種字型通常對跨平台會有問題。
新細明體 -> Apple LiSung Light / MS Mincho(MAC office)
細明體 -> LiSung Pro / Apple LiSung / MS PMincho(MAC office)
標楷體 -> STKaiti / BiauKai / Kai

gravatar

about Firefox Gecko

在友人的通知下,才看到這個冰果室文章,嚇了一跳 XD。不過非常不好意思,敝人修改的 Firefox ATSUI code 並還沒完全寫完,也沒有任何 release,,對於這個下載,僅僅只是之前 blog 中提到的,改掉 Firefox 中某些 font mapping cache 來改善掉字情形。但是還是有部份問題,例如某些文字寬度不對,文字 rendering 依然不美觀的情形。當然比原本的 firefox 掉字有改善不少,如果喜歡用 firefox 還是可以嘗試使用看看。

gravatar

ATSUI GFX preview

舊的 firefox gfx rendering 結果:

新的 ATSUI gfx rendering 結果:
(字型大小測量還是沿用舊的 gfx,因此有些地方會重疊)。但是新產生的問題是,與 Safari 一樣,中文不會有 Italic 或是 Bold。還有不少字型 handle 的部份程式要作,才能全部完整。

Tags: , Firefox

gravatar

Two weeks

現在,距離被發配到新竹關西營的日子,大約剩兩個禮拜。

gravatar

Firefox Gecko GFX

利用 ATSUI 來把 Mozilla Firefox 文字部份的 rendering 重寫了一遍。原本 Gecko GFX 並不是用 ATSUI 而是用 QuickDraw 來繪圖並且自己處理 unicode font mapping, char glyph 等等。其實我猜大部份的程式碼應該是來自於 Mac OS 9(程式碼都還看得到 OS 8/9 這些文字的註解),畢竟 netscape 出來的時候,Mac OS X 還不知道在哪,那陣子 transition 的陣痛期,大概很多程式碼還都使用 QuickDraw 的部份。而 mozilla/gfx/src/mac 裡面的程式碼份量,足足比其他平台像是 GTK, Windows, Xlib 多了三到五倍之多。可見有很大部份的相關處理都不是由系統來完成。

雖然說 Mozilla 核心是跨平台,支援 W3C HTML 最標準的 browser,但是實際上是可能在某些平台和某些語言是如此。像是 Gecko rendering engine 目前在 Mac 上並不支援由右到左的書寫方式;甚至 CSS 可以寫 font-family: Arial, Tahoma 這種字型定義,但是在 Mac 部份卻無法達到設計者的要求。比如說可能 A 字元在 Arial 有,B 字元沒有,則在 Mac GFX 的處理上,的確會以 Arial 來繪出文字沒錯,但是沒有的 B Glyph,則直接 fallback 隨便找個字型就畫出來(中文缺字也大概是在這問題上)。在這兩個問題上,Safari 程式碼明顯都比 Mozilla GFX 好,因為 Safari 程式都有如此的設計。雖然 Safari 在某些網頁的相容性並不比 Firefox 好,甚至有 JavaScript 跑不出結果。但是 UI/Layout 上絕對是完全領先 Firefox 沒話說。

至於要使用 QuickDraw 還是 CoreGraphics (Quartz 2D)?因為並不是完全重寫 Mozilla 視窗部份程式碼,因此還是使用 QuickDraw 來作比較沒問題。至於 CoreGraphics,雖然說一堆網頁和 Apple 說 Quartz 會比 QuickDraw 好,但是實際上並不完全如此。比方來說,Quartz 2D Extreme 僅在 ATI 9800 or GeForceFX 以上的平台有支援,在像 iBook 這種 ATI 9200 上來說,缺乏 GL_ABR_fragement_program 的功能,是沒辦法支援 Quartz 2D Extreme。(有些人可能只會覺得 GPU 只有差 Dashboard 水波紋,其實裡面還有其他文章,價格差那麼多不是騙假的)。至於嘗試在 Firefox 開 CoreGraphics context 並且叫 ATSUI 畫到上面,雖然文件說 ATSUI on CG 會有 8-bit sub-pixel Anti-Aliases,一般 ATSUI on QD 只有 4-bit aligned AA。但是比較一下原本官方的 Firefox 畫面結果,放大後覺得字型邊邊反鋸齒的效果並沒有差太多。看來不是 Tiger 的 Quartz 2D 作得很好,就是 iBook 看不出來效果。因此 CoreGraphics 擺一邊,直接拿 QD 來用 ATSUI 就夠了。

而 Safari,當然是兩套都有寫進去,CoreGraphics 和 ATSUI 兩種都有各自程式碼,但是預設當然是用 CoreGraphics 來畫文字囉,不過有些特殊字元也會交給 ATSUI 來畫。如果有開啟 Debug Menu 的話,其中有一個 Use ATSU for All Text,便是直接全部使用 ATSUI 來作文字繪製囉。題外話,當 mozilla & safari 相較起來,safari 的程式碼明顯很容易看懂,mozilla's GFX on mac 實在很難懂 XD。此外,對於基本的 ATSUI rendering 程式測試也差不多了,再來就是把它尚未弄好的缺失弄齊。程式碼現在真是大雜膾,有 C++(mozilla的)、Carbon(mozilla的,部份自己的)、還有 Cocoa(來自WebCore和自己的)。

Tags: , Firefox

gravatar

Aquamacs Emacs (UPDATED)

設定終於搞好了,跟以前在 Solaris/Linux 下用 xemacs 的感覺差不多。只是有些按鍵可以用 apple cmd key 來打,有時候會把需要用 ctrl 跟 cmd 按錯,因為 cmd 按起來比較順手。不過很怪異的是不管 open file 或是切換不同的 buffer,視窗雖然沒變動大小,但是內容總是要 resize & refresh 一下,用起來不是很順暢。(UPDATED) 把 Aquamacs Emacs 特定的 Option Settings 移除掉或是取消,就恢復到原本 Emacs 視窗行為,但是 MacOS X 熱鍵還是能用。像是亂改變顏色、隨便開新視窗、內容refresh等等都消失了。

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(aquamacs-buffer-specific-frame-themes (filter-fonts (quote (
    ("*Help*" (toolbar-lines . 0)) ("*Messages*" (toolbar-lines . 0))))))
 '(aquamacs-customization-version-id 95.5 t)
 '(aquamacs-quick-yes-or-no-prompt-flag t)
 '(one-buffer-one-frame nil nil (aquamacs-frame-setup))
 '(smart-frame-positioning-enforce nil nil (smart-frame-positioning))
 '(smart-frame-positioning-mode nil)
 '(special-display-regexps nil)
 '(tool-bar-mode nil)
 '(transient-mark-mode t))

Tags: , Emacs

gravatar

QuickDraw & CoreGraphics

ATSUI's default is only 4-bit pixel-aligned rendering. However, on Quartz context (CoreGraphics) ATSUI uses 8-bit sub-pixel rendering. Therefore, the text rendering in Safari is better than that in Firefox.

Tags:

gravatar

The Widget/Gfx2 redesign

位於最新的 Mozilla CVS tree 中的 proposal.html,目錄是 mozilla/gfx2。看起來目的似乎是要重寫 Gecko 方面有關 rendering & widget 的 engine, 因為原先 Gfx 的 code 已經是好幾年前的,而現在 advanced OS GUI 都有很多加速的功能。希望中文掉字的問題能根本解決,以及畫出來的 non-western 字型能漂亮些。另外一項是要不要像 gfx 一樣實作成為 XPCOM 的元件,因為缺點就是使用 XPCOM 的話,會有太多 virtual function 的問題,造成執行速度上的 overhead。而最新的 source tree 中也包含了 Qt 的 gfx/widget,就像 KHTML 利用 Qt 來作一樣。如果能夠把 WebKit 中,Apple 自己寫 Qt classes 來包裝 Cocoa,銜接 KHTML 的 Qt classes,照這種模式拿來接 mozilla 的 Qt gfx/widget,一定很有趣。只可惜 Apple 只有實作需要用到的 Qt classes methods,並不是完整的 implementation,也無法 standalone。

Tags:

gravatar

Notes on building Firefox

The environment: Firefox 1.0.7, Mac OS X 10.4.2, Xcode 2.1, Fink.

  • xpcom/MoreFiles/MoreFilesX.[ch] 裡面的 FSLockRange & FSUnlockRange 名稱改掉,因為會和 Mac OS X 10.4 內已經包進來的 FSLockRange & FSUnlockRange 有 prototype conflicts,且這兩個 functions 並不會被用到,因此可以改成別的名稱,如 FSLockRange_unuse。
  • modules/libreg/src/vr_stubs.c 裡面的 strdup() 會造成 link 時候與 libm.a 有重複的 conflict,因此可以把他 comment 起來
  • modules/plugin/samples/default/mac,因為 Xcode 2.1 已經改成 build/Deployment/xxx or build/Development/xxx 而不是原先的 build/xxx,因此需要 make 到一半生出來這些 binary 後,自己 ln -s Deployment/Default\ Plugin.plugin . 和 cd DefaultPlugin.build ; ln -s Deployment/Default\ Plugin.build . 然後再繼續 make
編譯完成後,執行檔 Firefox.app 位於 dist/。

Tags: , Firefox

gravatar

Country countdown

位於加拿大 Roughstock Network 的 Country countdown。由 Don Steel 主持,每週可以聽到不同排名或是新進的 Country Music,網友可以透過網路票選自己最喜歡的音樂。類似國中高中時候聽中廣流行網,每個禮拜的中文流行音樂排行榜。之前,Live 是用 Windows Media Player 格式來給網路聽眾收聽,現在看到網頁上已經改成使用 RealPlayer 來收聽。在這裡可以收聽到整首完整的第一手 Country Music,不像 iTMS 的幾十秒。而台灣地區音樂公司進口的速度大概是慢 3~6 個月以上吧,或者甚至不會有。每個禮拜沒什麼空閒時時注意,而喜歡聽 Alan Jackson、Tim McGraw、Faith Hill、LeAnn Rimes、George Strait、Toby Keith、Willie Nelson…等等歌手音樂,可以每個禮拜週末聽一下最新排行榜、新歌,更新一下資訊。

Tags: , Realplayer

gravatar

Play & save MLB videos in VLC

首先利用瀏覽器開啟 URL,Firefox 會問是否啟動 MMS 相對應的程式,答否。(Safari 會直接啟動 Media Player)。接著會如畫面,出現 MMS 全部的網址。然後選取並複製該網址。

開啟 VLC,選擇功能表 File -> Open Network... 選取 HTTP/FTP/MMS/RSTP 並把剛才複製的網址貼入;並且選取下方的 advanced output 選項,並且進入 setting。

把 play locally 選項打開,則可以一邊觀看一邊存檔。另外在 File 地方填入要存檔的路徑與檔名,並且於 Encapsulation Method 選擇 ASF 格式。

都設定完畢之後,就可以一邊觀看 MLB 影片,一邊會把下載的影片封包存入檔案,看完一整場比賽或是片段 highlight,硬碟中也就多了這個存檔 ;P。當然,就算不存檔,用 VLC 看還是有很多好處。雖然說 media player 直接開啟很方便,但是用 VLC 更能享受無馬賽克狀的畫質,而且 WindowServer(CoreGraphics) 的 cpu loading 會幾乎沒有。

另外不存檔的話,也可以把 VLC 自己當成 stream server,給其他人的 player 連線觀看,如此雖僅有一個 MLB.tv account,但是也可以讓很多人在自己電腦前觀看。另外,由於 MLB 的影片是 WMV3 codec,因此 VLC 必須是內含有編譯入 VC-1 codec 的版本才行。

Tags: , MLB.tv

gravatar

External USB HDD Box

先前買了這款 USB 介面的硬碟外接盒,跟 Mac OS X 一起用起來沒什麼問題,但是缺點感覺不少。

  1. 有小風扇設計,但是卻沒有任何氣孔,真不知道氣流要怎樣流動來散熱。
  2. 小風扇轉速應該蠻高的,但是卻固定不理想,風扇品質不佳,容易共振產生噪音。
  3. 硬碟要設成 Cable Select,否則會抓不到。
優點就是,像 USB 2.0 一樣運作正常。鄉下地方,找不到多種廠商的外接盒,看來看去還是這個算是可以接受。反正吵,就把風扇拔掉;散熱,就把前面多到像是裝飾用的 LED 前方的透明塑膠拔掉。給看倌參考參考。

gravatar

screen - virtual terminal manager

screen 的常用用法與一些指令:
命令列參數:

-U: unicode
-d: detach an attached screen
-r:attach to a detached screen
-wipe: clear the dead screen(s)
screen 中的熱鍵: (^a is ctrl-a)
^a ^a   ^a key itself
^a c    create new screen window
^a 0~9- select the screen 0 to 9 & -
^a d    detach current screen
^a z    suspend current screen
^a S    split the screen into two windows
^q Q    one window mode
^a i    focus move
^a K    force kill current screen
^a x    lock screen
^a A    change the window title
^a l    refresh
^a ^g   toggle visual bell
^a ?    help
^a :    colon
useful commands in screen:
height [-w] [-d] rows [cols]:-w: window only; -d: display only
help:help screen
in ~/.screenrc
caption [always|splitonly] "%C %-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
如抓圖的 screen 方式之用法過程
screen // start screen
irssi // run irssi in one screen
^a c // create another new screen
telnet // log in to bbs
^a S // split the screen
^a 0 // return the first screen
// resize the terminal to 36 rows
^a :height -d 36    // adjust the display height to 36 rows
^a :height -w 11    // adjust the first screen's height to 11 rows
^a ^i:              // change to the next window in the splited screen
^a :height -w 25    // adjust the bbs screen's height to 25 rows

Tags:

gravatar

Nemesis - man in the middle

Nemesis 是一套使用在 LAN 的工具程式。由 jclin 於大四寒假~畢業期間所開發,之後就終止開發。一來是已經用不到,二者是沒有那個網路環境可以用。發展工具為 Microsoft Visual Studio 6.0、Win32 SDK/MFC、WinPcap,環境是 Windows 2000。

Nemesis 的目的和作用是,透過 MAC spoof,把自己的電腦當作 man-in-the-middle,建立為 victim 和 gatway 之間 packet forwarding 的電腦。在使用這個程式且為運作階段,電腦的網路卡會變成 promiscuous mode,抓取全部 LAN 的封包,但是透過 Winpcap library 只擷取感興趣的 victim TCP 封包。例如有興趣的 port 是 23、25、80、和 110,那麼只會由 pcap 擷取有這些 port 的 packets,然後透過自己的電腦轉送原本 gateway⇄victim 的 packets(也就是變成gateway⇄HOST⇄victim),來達成 victim 這些 port 的網路連線正常。相對的,其他的封包則不理會,因而造成 victim 對 remote host 的其他 port 連線無法運作。利用 WinPcap 除了是封包擷取外,其實透過 Windows NDIS(Network Driver Interface Specification) API 也可以做到相同的功能,但是 WinPcap 可以讓 user 更直覺地使用命令語法,例如 port 23 or port 80 或是 not port (6881 and 4662) ,就可以達到某些 packet capture 的目的。節省 programmer 在處理 Interactive UI 和 BPF(BSD Packet Filter) 上面的時間和功夫。

由於使用 ADSL+NAT 的分享狀態,當有人狂用 P2P 下載卻不限流,會造成其他用戶很大的困擾甚至網路無法正常運作、斷線。透過這個程式,讓 victim 的一些正常 services 還是可以連線,並且限制他使用其他非允許通過之 port 的網路傳輸。因此這就是該程式主要的由來和目的。但是由於後來沒有機會繼續用該網路,也沒有測試環境,目前也大部份使用 MacOS X 而非 windows,因此中止很久的發展階段,並沒有想繼續再維護下去。透過 Open Source,如果有人能夠再行擴充或讓他更強大,倒也不失為一種方法。原始碼下載。

Tags: , LAN

gravatar

CopyURL+

自從 Firefox on MacOS X 可以不掉字後,就多一點時間花在 Firefox 上,畢竟有些網頁 javascript 在 firefox 上比較沒問題。最重要的是,有很多 extension 可以使用。在 終極邊疆BLOG:複製 URL 的好工具:CopyURL+ 看到這個 CopyURL+ extension,真的是方便又蠻棒的工具。

Tags:

gravatar

Solar OS

在 Virtual PC Guy's Weblog 看到的 SOLAR OS。作業系統本身非常的小,功能也很精簡,介面很類似 NextSTEP 或 OpenSTEP。但是本身是用 assembly code 寫的,因此要 port 到其他系統應該非常不簡單,而且本身需求是要 P2 等級的 CPU。因此以目前的功能和 Platform 來說,可以用 Bochs、Virtual PC、VMWare 來玩玩。

Tags:

gravatar

Firefox 1.0.7 CJK testing for MacOS X

Firefox 1.0.7 build 922,由 jclin 所編譯的 Mozilla Firefox 版本。原本預定釋出的是 Firefox 1.0.6,剛要丟出去就看到 Firefox 1.0.7 official 發佈了 囧rz,只好重來再做一次。修改 mozilla/gfx/src/mac 裡面部份程式嘗試解決在 Mac OS X 上掉字的老問題。下載:連結1(nthu)、連結2(ccu)。 (PowerPC G4最佳化版本、不含SVG、MathML。)

Tags: , Firefox

gravatar

Potentially Fix the Leakage Problem of CJK Glyph in Firefox on MacOS X

Hope that it is a way to solve the glyph leakage problem of Firefox on Mac OS X. However, it costs much time in compiling Firefox.

Tags: , Firefox

gravatar

The price of music

CNet|Taiwan - 蘋果CEO砲轟唱片業:「越來越貪財」,這種問題是避免不掉的,歷史上來看總是如此。當錄音帶轉換為 CD 時代,壓片速度和製作成本是否比錄音帶還貴?看看現在滿街的 $49、$99 元卡通、電影VCD、老歌,滿山滿谷都是。唱片公司再以CD製作成本,作為高售價的理由就更貽笑大方。而當時代進入線上販售,一首音樂只需要提供數位檔案,便可由多家線上商店販售。頂多格式不同,需要製作 AAC 或是 WMA 版本。但是省掉了 CD 的壓製、包裝、歌本…等,原本在線上銷售 USD$0.99 單首,或是 USD$9.9 的專輯其實並沒有真正比 CD 便宜很多。而甚至先前這些音樂公司與線上銷售公司談判時,還想把熱門的歌提高到每首 $1.5 USD。當然生意難不難作不是一般人就可以三言兩語評斷,但是市場逐漸越來越廣大,而業者給消費者的感覺,則更是貪心地想要從消費者榨取更多的金錢。

gravatar

Opera 8.5

Opera 8.5 推出了,連網頁都改版,一進去 www.opera.com 就是一個 "Feel Free" 的網頁,並且移除內建整合式的 ad banner。先前在 operawatch 有提到相關的改進,可以下載來試用看看表現如何。

Tags: , browser

gravatar

中國信託點數兌換哈利波特六中文版

在金石堂書店(非網路),可用中國信託點數兌換哈利波特六中文版。預訂原價一本要 418 元,使用點數兌換,需要 4180 點(10:1,與點數當飯吃的 7-11 價格一樣)。使用金石堂聯名卡,只要 2090 點(5:1)。算一算比拿去 7-11 拿去當飯吃好多了。7-11 東西本來就比較貴,也是 10:1 比例的兌換。拿去金石堂兌換哈利波特,可以多賺一倍的價值。雖然看起來點數蠻難賺的,刷 30 元才一點,去特約商店買一定價格以上才有兩倍、三倍點數。因此 2090 點最多需要花掉台幣 62,700 元才賺得到。不過其實很多是銀行送的,像是申請電子賬單 1000 點,VISA 金融卡首刷 500 點…等等。最多的就是推薦辦卡,推薦可得 6000 點。

Tags:

gravatar

photonic clocking

在 Slashdot 看到的一篇文章,原始文章 Shifting to photonic clocking。據說 Intel 也在研究 Photonic Processor。畢竟用電子導線做出來的 clock,用在現在微處理器上,看到 Intel 的 3.8GHz CPU 再也很難上去,就大概知道有很多侷限難以突破。雖然有 10GHz 的 ALU,但那也只是小小的一個 IP,若把 CPU 頻率往上拉,現在作法都是把 pipeline 的 stage 切很多。

The good news is that acceptable photonic clocking solutions should be cost-viable in a 2008-2012 high-volume manufacturing cycle.
文中有提到 photonic clock 可以做到 100GHz,但是其他運算元件是否能夠做到那麼高?當然如果只是產生 pulse 要多高就多高,可是像 ALU 加法、乘法、除法等等,還得看架構設計如何,longest path 要多少時間等等。就像現在很多 clock generator 都可以做到 1GHz、2GHz,但是又有多少應用或產品作得到那種時脈?

Tags:

gravatar

The Dashboard in Tiger

在 Tiger Secrets: Dashboard confidential 這裡介紹了一些 Dashboard 的用法。其中一個是一直按住 F12,可以叫出 dashboard,一段時間後放開 F12,就可以讓 dashboard 消失。因此可以避免只是要看一眼 dashboard 上的東西而按兩次 F12。另外一個是利用 "defaults write com.apple.dashboard devmode YES" 來讓 widget 擺放在一般桌面上。再來一個是熱鍵,使用 cmd 和 = 可以等同於按下方的開關(這個在之前不小心按到有試出來)。然而要啟動一個 widget 則只有使用滑鼠,沒有任何熱鍵。(另外一個自己試出來的是 cmd+←/→ 可以捲動 dashboard 下面所列 widgets 的頁面)。

Tags: , dashboard

gravatar

iTerm 0.8.1.06 (big5ext)

原來那個放 iTerm b5e 的網站不見了(迷之音:大概被回收了),改在這邊放個 link 好了。雖然後來改用 built-in Terminal,上 bbs 改用 AlienBBS,速度較快一點,且文字繪(點陣圖)比較好看。不過最近又給回用 iTerm 了,一方面可以當 Terminal 用,可以開 tab(Terminal 要開好幾個視窗),又可以不同的編碼設定。全部擺在一個視窗真是方便極了,不然用 Terminal 的話,remote host IRC(UTF-8)、local shell、BBS(Big5),或是用 AlienBBS,這樣螢幕上光是這類視窗就三四個,找起來也不方便。而 AlienBBS 掛站似乎沒有防 idle,且閒置仍然會佔 2-3% CPU loading。所以 iTerm 的 terminal tab + locale setting 真是好用極了。全部終端機內容擺進一個視窗,桌面就簡潔整齊多了,至於打逼,反正對文字繪不太在意。下載連結(右鍵另存檔案)。

使用:建議字型用等寬的 Monoca、Osaka 等等,若有華康字體,可以用華康中圓體,文字繪也會很漂亮。繪圖方式有更改,比原本 iTerm 快。若是小字設定,會有行與行之前重疊問題,可以調整設定中的行距。

Tags: , iTerm

gravatar

A Word .doc as an Email

清華大學學務週報第一期,沒有內容,只有一個 word doc 檔案。意思就是請您打開信件,開啟附件,啟動 Word,才能看到週報內容。很像現在過度包裝的月餅禮盒,要打開外包裝紙盒,然後再打開一小盒的塑膠盒子,然後拿出塑膠紙包裝的月餅才能吃。不過 email client 都支援 HTML / Rich Text 文件,不知道寄 word 檔當附件是什麼意思?一看到這種東西就可以直接 Move to trash 了。

gravatar

Repair dead pixels on LCD

在 HardMac.com 看到這篇 How to repair dead pixels,原始來源的出處應該是 Stuck Pixel Fixer。裡面有個影片,據說可以修復 LCD 上面的 dead pixels。下載回來看,檔案蠻小的,其實內容就是 RGB 三原色快速切換播放的影片。不過它的原理是怎樣也不清楚,看起來很玄,也好像有人真正就修好了一些暗點。不過在 MSN conversation 的同學講的原理好像還有點道理『閃完眼睛都花了, 當然看不到壞點』。:P

Tags:

gravatar

Backup the home directory

雖然 Apple 有提供 Backup 程式,可以備份自己帳號的各種資料,例如 Address box、iCal calendars、Safari settings、Keychain、和其他檔案。但是麻煩的是它需要與 iDisk server 連線檢查,需要用 .Mac 帳號。因此想要透過簡單步驟把自己 Home 重要的檔案目錄備份下來,還是用 tar 就夠方便了。首先設定不想備份的 list file,例如檔名為 backup.exclude,內容如下:

.Trash/*
Music/*
Movies/*
build/*
Library/Caches/*.cache
Library/*/Firefox/*/Cache/*
Library/Caches/Safari/*
Library/Caches/QuickTime/downloads/*
Library/Caches/Desktop/*
Library/Caches/com.apple.SoftwareUpdate/*
Library/Caches/DashboardClient/*
Library/Caches/Opera Cache/*
Library/Caches/Camino/Cache/*
Library/Caches/Java Applets/cache/javapi/*
Library/Caches/Adium/*/MSN.*
Library/Caches/Adium/*/TEMP-*
然後寫個 shell script 來執行 tar 作備份就好了。
cd /Users
nice -n 10 tar -cvz --exclude-from jclin/backup.exclude -f /Volumes/USB_HDD1/ibook_home.tar.gz jclin
要備份時候,USB 硬碟接上去,打個 terminal 裡的 shell script,就呼嚕嚕開始備份了。

Tags: , backup

gravatar

The speed of MP3 compression

剛才把 Richard Stallman 的演講 MP3 錄音,要轉成較低 Sample Rate 容量較小的 MP3,首先去找了一個 Audion 3 的軟體,免費版本且內建使用是 LAME。似乎找不到太詳細的 Encoder 設定,就只有 bitrate、stereo 等等,光是選了 64Kbps、Mono 的設定,然後讓他重新壓縮 MP3,結果速度竟然是 0.38x。後來直接把 iTunes 這個大怪物叫出來,把 Encoding 設為 64Kbps(VBR)、Mono、22050Hz(resample)。結果 iTunes 重新壓縮的速度是 30x,整整比用 LAME 快上了 100 倍,而且還是有從 44.1KHz resample 為 22Khz。雖然 iTunes 是個重量級大怪物,要重新壓縮一個檔案還要拉進 Library。但是至少 Apple 也在他的 MP3 encoder 下了功夫,利用 Velocity Engine 得到很好的壓縮速度。

Technorati tags: , apple, MP3, iTunes

gravatar

Testing Post from ecto

ecto 真是一個好用的工具,光是可以透過 blogger API 把文章取回來就很棒了。還有提供很多不同 blog platform 的工具,管理、修改和寫文章都很方便,而且還是 Cocoa Native 環境下使用。

Technorati Tags: ,

gravatar

Compiling irssi 0.8.10

本來都在 lab 自己架設的 fedora core 3 linux 上跑 irssi,掛在 irc 上,偶而要用就可以用,順便也能看到先前的對話。不過就是私下用,寫程式、SMB、FTP、HTTP 等等平台,如果有問題弄一弄或重開機,同樣的掛在上面的 screen 和 irc 就因為 reboot 而遭殃。於是想說 lab group 共用的 sun workstations 比較少重開機,用途也比較少,就找一台比較沒什麼人會進去寫程式 run 程式的那台,到裡面自己裝個 irssi。不過機器 OS 太老了,也沒在更新,沒有 glib2 就沒辦法用 recode,要裝 glib2 還要 pkg-config、gettext,結果自己抓回來裝 gettext 到自己目錄,還因為 gcc 2.9.5 stdc++ 與 ld 有問題搞不出來,算了就放棄了 glib2。於是 irssi 就沒有 recode 功能,想想懶得繼續弄就算了,直接設 utf-8 用就好了。

Tags: , irc

gravatar

iPod nano

在這裡有 iPod nano 的介紹、測試、拆解。拆解的話大部份網站都看得到,其實重點在於 stress testing,因為很少看到,而且有很可惜的感覺(好好的一項漂亮產品被這樣蹂躪)XD。

Tags: , apple

gravatar

HiNet -> www.google.com

HiNet 到 google 掛了,沒有 google 還真麻煩,用 yahoo/msn 找的資料還真沒用處。

traceroute: Warning: www.google.com has multiple addresses; using 66.249.89.104
traceroute to www.l.google.com (66.249.89.104), 64 hops max, 40 byte packets
 1  220-131-0-254 (220.131.0.254)  73.664 ms  104.577 ms  62.189 ms
 2  h2.s168.ts.hinet.net (168.95.168.2)  100.725 ms  63.752 ms  67.864 ms
 3  203.74.40.26 (203.74.40.26)  76.701 ms  68.970 ms  63.231 ms
 4  220-128-16-70 (220.128.16.70)  68.565 ms  66.828 ms  63.323 ms
 5  220-128-1-10 (220.128.1.10)  79.476 ms  65.984 ms  67.911 ms
 6  220-128-1-101 (220.128.1.101)  90.247 ms  67.769 ms  67.933 ms
 7  211-75-91-185 (211.75.91.185)  74.232 ms  69.151 ms  67.927 ms
 8  210.65.254.27 (210.65.254.27)  68.284 ms  71.351 ms  71.875 ms
 9  211-72-233-169 (211.72.233.169)  108.023 ms  103.018 ms  107.831 ms
10  po2-0.cr1.nrt1.asianetcom.net (202.147.0.205)  103.863 ms  102.579 ms  107.960 ms
11  gi0-0.gw1.nrt4.asianetcom.net (202.147.1.113)  103.906 ms  98.516 ms  103.804 ms
12  * * *
TANet 到 www.google.com 正常:
traceroute: Warning: www.google.com has multiple addresses; using 66.102.7.104
traceroute to www.l.google.com (66.102.7.104), 30 hops max, 38 byte packets
 1  route75 (140.114.75.254)  9.123 ms  7.679 ms  5.699 ms
 2  c7609-2-cs.nthu.edu.tw (140.114.2.137)  2.015 ms  8.017 ms  7.067 ms
 3  jm160-c7609-2.nthu.edu.tw (140.114.1.185)  9.235 ms  11.544 ms  6.426 ms
 4  c6509-g-jm160.nthu.edu.tw (140.114.1.70)  0.787 ms  11.363 ms  9.009 ms
 5  10G-10GE-CHT-P1.HCC-NTHUE.twaren.net (211.79.59.149)  10.424 ms  9.386 ms  0.838 ms
 6  10G-POS-CHT-P1.TPC-HCC.twaren.net (211.79.59.154)  4.242 ms  14.302 ms  10.719 ms
 7  211.79.59.98 (211.79.59.98)  13.401 ms  4.945 ms  47.701 ms
 8  ge-3-2-1.br0.TaipeiGigaPoP.rt.ascc.net (140.109.251.58)  11.258 ms  6.432 ms  13.255 ms
 9  s4-1-1-0.br0.pax.us.rt.ascc.net (140.109.251.105)  135.349 ms  140.889 ms  135.925 ms
10  core2-1-1-0.pao.net.google.com (198.32.176.31)  141.980 ms  138.541 ms  133.528 ms
11  66.249.94.14 (66.249.94.14)  139.572 ms 66.249.94.12 (66.249.94.12)  144.007 ms  130.146 ms
12  64.233.174.54 (64.233.174.54)  141.682 ms  159.505 ms 66.249.94.29 (66.249.94.29)  138.261 ms
13  216.239.49.146 (216.239.49.146)  139.171 ms 216.239.49.150 (216.239.49.150)  135.170 ms  142.332 ms
14  66.102.7.104 (66.102.7.104)  130.703 ms  139.332 ms  139.601 ms
用 terminal + lynx... 反正只是要找文字資料,但是移動游標很麻煩。

Tags: , HiNet

gravatar

中視亂報氣象

忘記前幾天那一天,我猜應該 9/7 or 9/8 時候,中X(X視)新聞訪問該頻道的氣象主播,就是年紀有點老頭髮有點少那個。雖然氣象局預測颱風路徑是直撲台灣而來,但是它的扇形機率圖很明確地涵蓋整個台灣,就是颱風往南或往北都還有那個機會。但是主播在新聞裡面說了,氣象局10號就會發佈陸上警報,11號颱風籠罩整個台灣,到12號就脫離暴風圈。哇靠,比氣象局預測的還多;不過要是讓他預測對了就不好玩,反而現在颱風朝北走,如果只掃果北部邊緣沒有帶來太大風災,前幾天就隨便預測到11/12號的主播應該抓來打屁股。

不過當時新聞畫面並不是在攝影棚內,而是在室外,就好像作一般人物訪問一樣講講就結束了。雖然不是在攝影棚,沒有雲圖和路徑,但是身為氣象主播,就算用個人身份發言這樣也不好。是不是應該報導氣象局所發佈的消息,而非只看氣象局的天氣和衛星資料就自己亂搞一通。

Tags:

gravatar

gcc -faltivec 的迷思

在一些大的 OSS 上很流行針對某種平台或架構作最佳化的編譯動作,像是 Firefox,以前在用 Windows,通常都會用什麼 -msse -msse2 -mcpu=pentium4 等等的選項,來編譯程式。到了 Mac OS X 也不例外,同樣也是有人提供例如 -faltivec -mcpu=7450 -mtune=7450 的編譯版本,來讓使用者盡可能發揮電腦 CPU 的運算單元,利用可以加速的輔助處理器,加快運算速度。就像 firefox 裡面有 JPEG library,DCT 可以加速等等。但是事實上是這樣嗎?我覺得並沒有,其實這些參數可能沒有幫助到什麼。

正確的說,如果 source code 裡面沒有針對這些 architectures 的個別寫出來的 code,那麼儘管加了再多這類 SIMD optimization flags,也是沒用。

舉下面這兩個 c code,

file: test.c
#include <stdio.h>
int main( void )
{
  vector float v1 = { 1., 2., 3., 4. };
  vector float v2 = { 2., 3., 4., 5. };
  vector float v3;
  v3=v1 + v2;
  printf("%vf\n", v3 );
  return 0;
}
file: test2.c
#include <stdio.h>
int main( void )
{
  float v1[4] = { 1., 2., 3., 4. };
  float v2[4] = { 2., 3., 4., 5. };
  float v3[4];
  v3[0] = v1[0] + v2[0];
  v3[1] = v1[1] + v2[1];
  v3[2] = v1[2] + v2[2];
  v3[3] = v1[3] + v2[3];
  printf("%f\n", v3[0] );
  printf("%f\n", v3[1] );
  printf("%f\n", v3[2] );
  printf("%f\n", v3[3] );
  return 0;
}
接著用 gcc 來編譯:
gcc-4.0 -faltivec -mcpu=7450 -O3 -c -S
然後可以得到 PowerPC 的組合語言輸出檔案,分別為 test.s 和 test2.s。在這邊擷取其中檔案一部份:
file: test.s
lvx v1,0,r2
addi r2,r1,64
lvx v0,0,r9
vaddfp v1,v1,v0
可以看到他把 data 載入到 vector registers 去,然後用 AltiVec 指令(v 開頭)加起來。至於 test2.s,完全是 PowerPC 指令,找不到 v 開頭的 instructions。反而要更多倍的指令來把個別的 entry 各自加起來。

假如程式像 test2.c 裡面的 pure C code,那麼加了再多的參數,也不可能讓 gcc 產生 AltiVec 的指令;除非有 directive #ifdef...#else...#endif 來額外編寫針對某種 architecture 的程式碼。所以總之,-faltivec 只是讓 gcc 認得那些額外的 syntax 像是 vector。如果不加,程式有這種寫法,gcc 便會當作未定義的型別。加了,但是程式卻沒有這種針對 vector unit/SIMD 寫法,gcc 也不會幫你產生 AltiVec 的指令來加速運算。那麼為什麼會感覺比較快呢?我的解釋為,可能加了更多針對 G4 general purpose CPU 的 optimization flags,像是 loops 處理、resource allocation、instruction schedule、frame pointer 等等吧。

Tags: , gcc, AltiVec, firefox

gravatar

iTunes Phone & iPod nano

Apple 與 Motorola 發表 iTunes 手機,功能看起來很棒,但是外觀卻不怎樣。反而是另外一家 Cingular 手機,顏色和外觀上看起來比較符合 iPod 風格。iPod nano 比 iPod/mini/shuffle 看起來更搶眼,不論容量的話。以及其他精彩的內容在Apple Special Event。

Tags: , iPod, iTunes, iTMS

gravatar

Dump MSN Messenger 5.0 into AdiumX

自 MSN Messenger::mac 5.0 出來後,就改用 MSN Messenger。不過用久了問題更不少,雖然 5.0 比 4.0 多了 grouping 和 emoticon 功能,但是 crash 和斷線次數明顯沒有改善。更誇張的是,MSN 竟然跟我說 network lost connection,所以就 sign out。但是 ADSL 並沒有斷線,收聽的網路廣播或下載的檔案依然正常運作。所以這種軟體品質有什麼鳥用,跟 Windows Media Player 一樣感覺都是半成品。換回 AdiumX 繼續用。

Tags: , MSN Messenger, Adium

gravatar

承認中國學歷相關文章

相當值得看的大作。扁政府擺爛也不是一天兩天的事情,也不單只在兩岸關係問題。如果講稿是台灣高等教育所教出來的人寫的,那還真讓人搖頭。

gravatar

Disk Full

其實是 swap partition 的 disk full,有些程式出問題,然後會造成一直耗費記憶體,然後 pagefile 就一直增加。其中一個罪魁禍首是 StuffIt Expander,只要解壓縮未下載成功的檔案(safari 也很奇怪,可能網路慢或連接中斷,下載未完成的檔案就直接當成下載完成)。一解壓縮,只見 StuffIt Expander 的 progress bar 一路慢慢跑到 100%,接著就聽到硬碟一陣機哩括啦,以及系統反應速度變得超慢。因為有好幾次這樣經驗,所以知道大概又是有程式在吃記憶體,Mac OS X 一直在增加 pagefile 的關係。因為反應速度慢,要叫出 Force Quit 視窗或是到 terminal 把程式 kill 掉,可能要花一下子。還好我的 swap partition 只有 1.1 GB,讓他長完就出現 disk full,StuffIt Expander 就自己被終結掉了。另外一個是 VLC,有次 Open Network 開啟 URL,並勾選 Advanced Output 要把聲音輸出到檔案,也是同樣的結果。一按下 play 只見 ATU-R 有在傳輸資料,然後硬碟一直寫資料,系統反應又變慢,同樣又是一直在長 pagefile,最後 VLC 程式錯誤被終結掉。對於這種方式的程式錯誤實在很無力,系統好像快當掉似的沒反應,硬碟好像在做 benchmark 拼命一樣。但是好在 swap partition 只有 1G,讓他長到 1G 長不下去系統就知道該停止了。要是放在一般 partition,讓 swap 繼續長下去不知道還要多久。

Tags:

gravatar

VLC with VC-1(WMV9) codec

這次終於成功將 VLC 與 VC-1 library (WMV9 codec)編譯成功在一起,而且原本不能看的一些 WMV 已經可以透過 VLC 來看,並且還有比 WMP 好的畫質。不過某些地方還是有些小問題,例如某些 WMP 可以放出聲音,VLC 卻沒聲音;或是 VLC 可能會跳格等等,不過算是小小問題,希望 official VLC 出來,這些都不再是問題。

official VLC(左上方)與自己編譯的 VLC(左下方),舊的版本無法開啟。(這個 movie trailer 是遊戲「Grand Theft Auto: San Andreas」。(click image to enlarge)
VLC(vc-1) vs VLC.jpg

VLC(vc-1) 與 WMP 畫面比較,這兩個畫面都是放大為兩倍,可以明顯看出 WMP 的畫面顆粒(雖然已經用 JPEG 80% 存檔了),搞不好 WMP 是程式自己畫上去,兩倍大小就是每個 pixel 變成 2x2 pixel。(click image to enlarge)
VLC(vc-1) vs WMP.jpg

Tags: , VLC

gravatar

ldd in Mac OS X

有個重要的 developer tool - ldd,用來列出一個 executable/library 的 dynamic link dependency,像是使用到那些 dynamic load libraries,對於 developer 與程式包裝非常有用,避免動態連結到自己開發環境的 libraries,release 之後在別人沒有這些 libraries 的平台卻無法執行。因此可以用這個程式事先觀察到底有沒有問題。而 Mac OS X 上沒有這樣的 tool,根據 Apple 網頁,可以使用 otool -L 來作相同的功能,所以可以在自己的 .bash_profile 加入

alias ldd='otool -L'
來符合一般 unix 的使用習慣。使用結果如:
$ otool -L /bin/ls
/bin/ls:
    /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.0.0)

Tags: , unix

gravatar

Unable to compile VLC

學 DVD John 的方法來編譯含有 libvc-1(wmv9)codec 的 VLC,參考的是 VLC Developer 網頁的 Mac OS X Compile HOWTO,然後在 configure VLC 時候是學 DVD John 加入 libvc1 的相關設定。結果會死在 detect ffmpeg 之 -lavcodec 的 avcodec_init() 這邊,看 config.log 是 linking 時候的問題,出在 libavcodec.a 有不少 function 都有 multiple definition 所以無法 link。如果可以用 VLC 看 WMV9 格式的 wmv,那 Windows Media Player 就可以丟掉了,因為用 WMP 看影片,好像在沒有 Graphics Accelerated GPU 上看影片的感覺。

Tags: , VLC

gravatar

VLC & WMV9

在 DVD John 看到的Compiling VLC 已經把 vc-1 加入到 VLC 之中,未來不久應該可以看見 VLC 可以直接播放 WMV9 的影片。且 Reversing NSC 中已經把 NSC format 破解,直接可以用 VLC 看 Windows Media Player Server 的 broadcast 吧。

Tags: , VLC

gravatar

Yahoo! domain name

在 Yahoo! Domain 的促銷特價中買了一個 domain name:''jclin.org'',一年 $1.99,五年才 $9.95。雖然設定方面好像不少限制,至少 forwarding 以及該有的 A/CNAME 設定都有了。:P

Tags: , DNS