顯示具有 life 標籤的文章。 顯示所有文章
顯示具有 life 標籤的文章。 顯示所有文章

2018年3月5日 星期一

"人生剩利組"觀後感

 

的確, 很多時候你想要有什麼樣的結果, 最好就先做準備, 也就是 "想要xxxx, 那就先 oooo", 的確這是最直接的, 也就是"現況是選擇造成的", 若這句話放眼在未來, 那麼的確就是要怎麼收穫先那麼哉. 但這不是拍給人生剛起步看的勵志電影, 電影原名"Brad's Status" 其實潛在說明了一些事情, 其實個人看法是電影想談很重要的一點: "每個人並不是總是清楚知道(甚至可能最後也沒能知道), 人生中到底想要的是什麼, 但是事後的在意卻是難以避免."
 
這電影其實有更多可以談的地方, 首先是主角的妻子, 戲份不多但是卻是影響主角很重要的角色, 必須要瞭解他們生活了至少近 20 年. 主角的成就感, 價值觀, 生活滿意度, 工作態度都受到彼此影響, 這些在主角省思時也都提到, 或許妻子讓他不那麼充滿幹勁, 而又變得容易滿足.
個人認為在機場一幕中反覆被提起, 但相較之下又派不上用場, 但最後還是沒法拋棄的航空公司會員銀卡, 其實是人生累積的一種類比與具像. 事先買了廉價機票, 但後來覺得難得的旅程想要一搏, 卻發現自身有的籌碼沒有高人一等, 看到別人的待遇與無法對家人交代, 敬愛的老師過世然而卻沒被通知與參與告別, 這些都不是單純的目標與達成, 而是多少是許多社會運作下的壓抑, 難免的焦慮, 挫折與自我懷疑. 而再對比兒子大學精彩人生剛起步, 而自己能幫得不多, 也或許是希望在過程中能逞一些威風. 另外兒子儘管優秀, 也碰到了一些必定的人生不如預期的事(重要關鍵搞砸, 認為指導老師跟預期落差大.. 等等).
 
主角因為大學同窗的後續種種, 一方面自卑一方面又腦補了一些事情, 然而其實終究也發現, 那些之後自己認為都飛黃騰達的同窗(特別注意, 觀眾對於當年同窗的瞭解, 事實上都是透過主角的幻想畫面), 實則並非如他一直以來想像的那麼夢幻美好. 除了成就上與交誼上的挫折與失落, 另一方面主角兒子的成長也給予主角省思. 儘管因為兒子因素而求於多位以往的朋友, 從而多少得知近況, 然而最後主角也無法自己地吐露真心話而離開了飯局. 而這些都還是無法改變他與以往同窗間客觀的差距.
 
最有趣的是, 主角與兒子的一位愛好社會運動的社團學姐的互動, 儘管因為主角同窗談及的風花雪月讓他有些許遐想(?), 其實儘管電影沒有描述, 但一個人可以談一整晚自己的工作生涯, 多少都是真心喜愛所做的事情, 儘管言語上的自我貶抑, 主角多少是因為有人能夠瞭解與願意花時間談他在乎的專業生涯, 該位學姐在想法上其實與他的妻子有所重疊, 甚至那句 "你很幸運", 其實與一開始他妻子與他在睡前的互動也有著呼應的味道.
 
"人生剩利組" 談的是職業籃球場上, 當已打到第三節過一半, 你亦敵亦友的隊友與對方精英球員都打得比你好, 當下你知道你不會是 MVP, 也不是該場吸睛的鋒頭角色, 但你喜歡長久以來維持的步調與佔的位置, 那麼該用什麼想法與態度看待過去的上半場, 當下進行的第三節, 以及最後的第四節?
 
這些態度與價值是否有標準答案? 因人而異或是完全沒有, 如同最後的結局那般, 只能不斷地以自己的理解, 透過思考修正, 再提醒自己, ...

2012年1月18日 星期三

Xubuntu on EeePC 701 4G

雖然個人有多台機子, 但很少帶來帶去
幾乎是在每個會停留的地方都有台電腦可以使用
在桃園家中, 用的是 2007年推出的 EeePC 701 4G
平日最多的用途就是 Web + Music

以僅有的 4G 容量來說, 對現今系統來說都顯得捉襟見肘
而 Ubuntu 現今預設也都需要 4.x G 才能夠安裝

這篇算是留個紀錄, 最終調整好的結果:
champ@champ-eee701:~$ df
檔案系統           1K-區段      已用     可用 已用% 掛載點
/dev/sda1              3783213   1685305   1902584  47% /

使用約 1.6G (而WinXP SP3 版, 裝完就使用了 3.xGB(80%~83%) 左右)

在這之前, 做了小小的前置作業
為了不額外安裝控制軟體
安裝前將BIOS 升級為能夠選擇 CPU 速度的 0511 測試版本

安裝採用的方式是製作Xubuntu Deskop ISO 製作開機 SD Card
開機不選擇直接安裝, 而是進入 Live環境
進入桌面後編輯 /usr/lib/ubiquity/plugins/ubi-prepare.py
搜尋 min_disk_size = size * 2 一行, 並將" * 2 "移除
如此最低要求就會是 2.1GB

接著安裝與後置步驟所參考的是
https://wiki.ubuntu.com/ReducingDiskFootprint
使用Live 環境terminal, 自行先以 mkfs.ext4 -T small /dev/sda1 格式化作為 / 的 partition
之後安裝過程中選用為 / , 並且不再格式化
光這個步驟, 就會將使用的空間自原本的 65% 降到 59%

以這樣的方式安裝完後,  接著移除不需要的 package
大致上移除了與下列相關的套件
gimp, thunderbird, transmission, gnome-games, linux-headers, gcc, xorg drivers, bluetooth, cups, sane, abiword, gnumeric, nvidia-common, manpages-dev
套件部份, 熟悉套件內容的可以再自行斟酌
移除不需要的package後, 先 apt-get clean
再請參考ReducingFootPrint 的 disable apt cache 之後再進行系統更新

接著可以參考
上述的ReducingFootPrint 的 document/locale 部份



最後如果沒有在使用 synaptic, 單純用 apt-get 可以再參考 Compress File 部份
對 apt 的 index 做壓縮 (否則 synaptic  會很慢)

剩下的 5x% 空間可以有相當的使用彈性
安裝喜歡的軟體, 放資料與音樂...etc


原本有意使用 btrfs 搭配 compress option
然而 btrfs 的 metadata 以佔去相當容量, 已經佔不了便宜
加上ubuntu 這幾版使用 btrfs w/ compress 似乎都有問題
而且在 SSD 上沒有節省到時間外,  反而更慢

2011年7月20日 星期三

Linux Undervolting - Toshiba NB550D

再調整過 MSI X410 後, 不再那麼燙手了
(最後還將最高頻率設為 1.3Ghz)
就能享受其帶來的輕薄大螢幕的好處.

於是又看看另一台 Toshiba NB550D有無機會
如之前所說, 這台使用的是 AMD APU C-50
透過搜尋, 找到了一篇文章講述詳細內容的
要降低電壓, 主要是調整 msr 中對應 VID 的數值
按照文章說得, Acer W500 使用電壓組合為
1.0625V/1Ghz, 0.9375V/800Mhz

按文查表, 發現, NB550D 使用的電壓組合為
1.2250V/1Ghz, 1.025V/800Mhz

找到方法了, 接著就是測試, 並且寫入  /etc/rc.local 中
以下為我加入的內容
主要是改為0.9375V/1Ghz, 0.8250V/800Mhz
按照文章說明, 這樣應該可以降低功耗 2~3Watt
找機會來測試電池使用時間是否增加.

#to allow msr manipulation
modprobe msr

#here we undervolting C50 to 0.9375V/1000Mhz 0.8250V/800Mhz
#original is VID:34 - 1.225V/1000Mhz, VID:54 - 1.025V/800Mhz
#CPU 0
wrmsr -p 0 0xc0010064 0x800002ba00006230
wrmsr -p 0 0xc0010065 0x8000026a00007440

#CPU 1
wrmsr -p 1 0xc0010064 0x800002ba00006230
wrmsr -p 1 0xc0010065 0x8000026a00007440

相關資訊在該文章都有, 有需要可以參考

2011年7月13日 星期三

Linux PHC Undervolting - MSI X410

老婆偶爾玩 Facebook 的 flash game, 閒買給她的 X410 慢
於是好一陣子之前, 拿先前的 MSI CX420 跟老婆換
(這麼說我還蠻愛 MSI 筆電的, MSI 是否該找我寫測試文...XD)

X410當時也是我決定買的, 主要看上輕薄又有 14" 大螢幕
安裝Ubuntu 使用一陣子後, 發現CPU效能對我倒是其次
總是最大轉速的風扇聲, 與左手腕放置地方過熱

搜尋了一下, Windows 上有人使用 RM CPU Clock Utility 來降壓
除了降低CPU電壓, 另外還可以使用額外的 P-state
而在Linux 上要靠 Linux PHC kernel, 達到相同的效果

MSI X410 使用的是 AMD Neo MV-40
基本上預設電壓 1.0V
也只提供 800Mhz 與 1.6Ghz 兩種頻率切換

有了這些資訊, 就開始使用 Linux PHC 來降壓
首先可以透過下列指令加入 Linux PHC PPA

sudo add-apt-repository ppa:linux-phc/ppa

接著更新套件庫與安裝 Linux PHC kernel
sudo apt-get update

sudo apt-get install linux-generic-pae-phc linux-headers-generic-pae-phc linux-image-generic-pae-phc

如果不需要原本 kernel 可以順便移除..
安裝完成後, grub 選擇 phc 的項目重開即可

登入後, 接著要安裝 phc-k8 module
請到此下載

安裝phc-k8前請安裝 dkms
sudo apt-get install dkms

接著以 root 做下列動作
1. cp phc-k8_v0.4.4b1.tar.gz /roo
2. cd /root
3. tar jxvf phc-k8_v0.4.4b1.tar.gz
4. cd phc-k8_v0.4.4b1
5. make dkms install

到這如沒出現錯誤訊息 phc-k8 安裝就完成了
重新開機讓系統載入 phc-k8 module

要測試是否 OK 可以用下列指令
cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
這時候你應該會看到下列資訊
8:22 0:22

這是 FID:VID 的組合, 按照說明文件
FID 的意義是 Freq = 800Mhz + (FID*100Mhz)
以筆電預設電壓 1.0V 去看
VID 的意義似乎是 Volt = 1550mv - VID*25mv

為了能夠切換更多的頻率
編譯 /etc/modprobe.d/phc-k8.conf
將  options phc-k8 direct_transitions=1 行前的 # 移除

接著在 /etc/rc.local 加入一行
echo "8:26 4:31 0:35" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
即可
(這裡 上述的 26,31,35 是保守值, 可以自行將上述指令調整輸入, 找出最適合的數值)

重新開機後就可以感受不同了...

可以重開機後交換輸入下列指令, 去體會風扇的變化
echo "8:22 4:32 0:22" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
echo "8:26 4:31 0:35" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls

Update:
最近看這篇, 發現, X410 其中用了散熱'墊', 其實散熱效果很不好, 於是也塗了之前存放的散熱膏, 效果的確不錯. 廢熱明顯不容易累積, 搭配上面的方法, 就不再燙手了.

2011年1月26日 星期三

理想的 Linux Netbook - Toshiba NB550D

使用 Asus EeePC 900 邁入了第三個年頭
除了當時就略顯過時的 Intel Celeron M ULV 353
另外感到最不滿意的即為 Intel GMA 9x0 IGP
而當時俱備相當顯示能力的機種, 多半體積大&過重/過熱/價格過高 (ex:Asus N10J)

個人理想 Netbook 的條件為:
1. Dual-Core
2. 支援OpenGL 3.2以上版本
3. 支援OpenCL 1.x
5. 電力連續使用 5 小時以上

於是在 AMD APU規格公開後, 相當吸引個人
近日AMD 發售 APU 後, 各大廠也紛紛宣佈使用 APU 的機種
在台灣, Toshiba NB550D 算是其中最早發售的

原本還想觀望 Asus 1015B (使用較高一階的AMD E-350, 但是怕跟1015N一樣遙遙無期)
然而逛店家時發現, NB550D 的喇叭效果令人驚豔
經詢價後也感到不錯 (13.1K), 於是就入手了

TOSHIBA NB550D :
Processor: AMD C-50
RAM: 1GB DDR3
Graphics: AMD Radeon HD 6250
WIFI: Atheros AR9285 PCI-Express
Ethernet: Realtek RTL8101E/RTL8102E
WebCam/SD: Realtek USB device (WebCam: 0bda:5801, SD: 0bda:0138)

在安裝Ubuntu時原以為會奮戰許久,
然而在 LiveCD下使用時,
Hotkey, WebCam, Wifi 到 SD slot 無須特別處理, 就可以正常運作
另外發現APU除了省電外, 溫度上也相當低,
比起用過的 Atom/Celeron Netbook 都低許多

另外剛入手時, 一開始最為惱人的是Ubuntu 安裝 fglrx 後,
右下角會有 "Unsupported hardware" 浮水印
安裝今日 AMD 釋出 11.1 版 driver 後, 就無此問題了
(網路上有個能去除的 script,
但是我試用發現僅對手動安裝的AMD driver有效,
如果是透過apt 安裝的版本並無效果)

如果有類似考量者, 建議可以考慮 NB550D

2010年11月12日 星期五

AMD Phenom X4 9450e vs Core i5 430M

這樣比較, 是蠻怪的
主要是因為近日升級了原有桌機 Acer Aspire X3200
自 Athlon 64 X2 4400+ 換成 Phenom X4 9450e
(礙於X3200 僅有 220W的電源, 搭配 ATI 5570 1GB 顯卡)
而目前在用的 Notebook 用的是MSI CX420其CPU為Core i5 430M

沒有做甚麼各項評比,無論NB/Desktop換硬體都是希望編譯時間短些

兩者都以 make -j8 方式去編譯同一份 Android code
Phemon X4 9450e: 44 mins
Core i5 430M:  50mins

參照PassMark 的評比分數
Phenom X4 9450e: 2663
Core i5 430M: 2361

換算下來的確 2663x44(117172) 約略等同 2361x50(118050)
看來PassMark還蠻值得參考的

2010年10月20日 星期三

續 Xubuntu On MSI CX420 - RT3070 dkms support

昨日更新系統到 Xubuntu 10.10

由於kernel版本更新, 一再重複安裝 rt3070 驅動程式, 也是相當煩瑣
想要讓它像目前使用的 fglrx 一樣透過dkms 更新

其實一方面也是因為沒嘗試過dkms
於是參考了RT3090的範例, 昨晚花了點時將 rt3070 driver 打包為 dkms 形式

由於kernel 2.6.35改動了一些usb function的名稱, 所以ubuntu 10.04 與 10.10 稍有不同
(其實正確來說是 kernel <= 2.6.34 用 10.04, kernel >= 2.6.35 用10.10)
有需要者請自行取用: 10.04版 10.10版

後註: 其實 RALINK 官網上有對應新版的 RT3370 驅動程式, 然而 dmesg 看來雖然有驅動, 但卻無法正常運作, 所以這裡使用的是次新的版本, 有時間再來看新版的問題

2010年9月22日 星期三

續 Xubuntu On MSI CX420

由於有人向我詢問CX420 WIFI on Ubuntu 的驅動方式

近日我針對ubuntu 10.04打包了最新版本的driver
有需要者可以下載 i386版 與 amd64版
有人回報結果是可以正常驅動的

下載測試者, 煩請留言告知版本與狀況

2010年9月2日 星期四

Blogger 的另類用途

在碩士時期, 曾因為lab計劃認識一個很不錯的朋友
當時就曾聽他說打算要出國留學的事情

後來隨著lab計劃的告一段落, 加上之後各奔東西
雖曾斷續地聽到它的消息, 但也就因此失了聯絡

昨日驚喜地收到他寄來的 Email
即將要取得學位了,我在這裡也再次恭喜他

只是我沒想過 blogger 還有這點功用 ^^

2010年8月18日 星期三

Emerald 佈景 - Moka.改













自從為了簡潔因素而改用 Xubuntu 後
即無法繼續在EeePC 701/900上使用GNOME上慣用的Almond Mini metacity佈景
(主要還是因為其Window Decoration 佔用空間小)
為了享受Desktop的硬體加速, 個人習慣使用 Compiz (scrollbar 比較順...)
而xfwm無法在compiz下使用, 而必須以 Emerald 取代
原本用的是仿 Xubuntu 下預設的 Albatross 佈景
無奈於視覺上感覺佔用了太多空間

搜尋了一下 Emerald 佈景, 發現可以接受的 Moka 佈景
按鈕圖案上, 個人偏愛Shiki Minimal Match所使用的風格
(Shiki Minimal主要在於視窗沒有文字標題)
於是花了點時間做圖案的剪裁與替換
修改inactive window 的標題文字顯示(看設定是有顯示, 但是根本看不出來)
並且減少了Window Border(3->2)
效果上比原有 Moka 來得令我滿意
有興趣者可以到此下載

2010年8月15日 星期日

續 Firefox on Netbook












在女兒開始會爬之後, 就需要有人隨時在側的陪伴
原本用來利用來做監視系統的EeePC 701也就又成為我的床頭機

在長時間不常使用 800x480 解析度後, 對於垂直解析度的浪費變得更無法容忍
對於這樣的topic原本寫了篇Firefox on Netbook

經過如此調整後 titlebar 還是覺得太粗了
於是又加入 Compact Classic 與 Compact Classic Options
最後就是把系統的 task panel 改為直式

這麼一來就從畫面上榨出最後的垂直顯示空間
使用 FireBBS 甚至還可以將字型大小設到 18, 還算堪用

2010年7月20日 星期二

Xubuntu On MSI CX420

近日由於工作需要編譯 Android 環境, 原有的配有 Sempron Mobile 3800+ 筆電不敷使用
到了附近的賣場看了後, 決定了購入新的筆電 - MSI CX420
所俱備的性能與價格搭配看來是具有相當高性價比的機子

當然, 拿到手第一件事當然是想辦法安裝 Linux 環境
安裝本身並不是難事, 問題發生在安裝完成後

1. 安裝 ATI 驅動程式, 無論透過 Ubuntu 的啟動ATI專有驅動程式, 或是手動安裝ATI Driver, 安裝後重新開機都會是黑螢幕(Yap, 為此我重裝一次....).
這部份的線索是從 MSI CX420 驅動程式頁上對於 XP 需要設定 Primary Display為 PEG
是的 Linux 同 XP 不支援 SG(Switchable Graphics) 特性
需要刷新 BIOS 版本, 將 Primary Display 設為 PEG(PCI-Express Graphics)
刷新後, 原本黑濛濛的畫面就變得非常亮眼~ (無需重裝Linux, 刷新後就正常了)

2. Ralink 1T1R 802.11bgn 無線網路裝置無法驅動
從 Windows 上可以看到為 USB 裝置, 也可以看到所在的 Port & Hub 位置
於 Linux 上 lsusb 可以得到下列訊息:
Bus 002 Device 002: ID 8087:0020
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0db0:3870 Micro Star International
Bus 001 Device 002: ID 8087:0020
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

喔!? 竟然顯示微星 (lsusb -v 的 verbose mode 也只能看出是 Ralink裝置, 就省略了)
搜尋 device id 0db0:3870 可以看到 rt2800 的訊息
加上看到MSI官網上的驅動程式, 解開後閱讀 inf, 標明為 rt2870, 第一時間我就以為是Ralink RT2870
跑到 Ralink 的Linux驅動程式頁面下載RT2870USB 驅動程式
還自作聰明地將device id 加入來偵測, 結果是裝置驅動了, 然而無法scan ap 與連線
不能 work 的 driver 等於沒有, 於是回到了原點

接著想找社群的 open source 方案
由於 google 0DB0 3870第一時間會看到這個頁面
這表示 rt2800usb 還是與 CX420 上的裝置有關
從頁面聯結的 rt2800usb.c 原始碼可以看到 裝置歸類於 RT2800USB_UNKNOWN
然而這檔案看來也不是最新的, 當然立刻看 git.kernel.org 上最新的 rt2800usb.c
ok, 這裝置在 rt2800usb driver 中被歸類為 RT2800USB_RT30XX
於是, 這時恍然大悟, 被搞錯的型號也呼之欲出
0x0db0:0x3870 的 Ralink USB 裝置應該為 RT3070
重新去網頁下載RT3070USB驅動程式, WIFI 速度非常!

到此終於解決了 Video 與 Wifi 兩大問題.
WebCam 後來測試是ok的, bluetooth 我沒在用也就無從測起了..^^

2010年4月21日 星期三

VIA ARTiGO A1100 released


在facebook上注意到威盛電子(VIA) 本週釋出了新款 PicoITX-based 產品 ARTiGO A1100
與上一代產品 ARTiGO A1000 最大的不同點在於:
使用了新一代的 Via Nano 與 VX855 取代了原有的 Via C7 與 VX700

除了 Nano 所帶來的效能增進外
由於VX855的關係, 視訊播放的硬體支援除了提升到1080p外
格式上亦新增了H.264 (具有 CABAD, 看來應該到Main Profile)
此外 ARTiGO A1100還具備了 HDMI 界面
VIA 目的應該是想藉由強大的多媒體處理能力來吸引市場注目.
(而這也是採用 ATOM 平台需要額外成本加強的部份)

個人也在 facebook 上提到, 在 x86 市場操作/推廣上
VIA 市場策略應盡量提升 x86 在消費性電子的應用性
在主流的 Desktop/Notebook 上, 可以預見的是由於知名度, 與不願得罪intel等綜合因素
VIA x86 PC接受度上依然是個問題
加上提供的特性&價格上並無讓人眼睛一亮的感覺
接著, 不錯的平台就容易掩蓋在 CPU性能 與價格的單一評比之中..

購買請到此

2010年4月6日 星期二

Firmware 沒有那麼容易 不只 Function Call 來 Call 去...

個人於上個月底離職了
主要因素是需要一段時間休息運動和調養身體
這段空檔時間, 按照慣例一樣作了一些目標設定
算是去年一月空檔時弄Prex的延續, 然而平台已經不是S3C2440
在告一段落後, 希望能藉此能有更進一步的突破

回想這幾年, 由於工作因素不斷地在 linux 與 embedded os 間交錯
對於 firmware 相關工作日漸有些許不平之鳴
而這些林林總總, 多半在所謂良善管理與時程下而掩蓋

改寫"沒那麼簡單"歌詞: "Firmware 沒有那麼容易, 不只 Function Call 來 Call 去"
道出了 firmware 的甘苦辛酸

若以公司為出發點的角度去思考
Firmware 最大的困難之處或許不在於 coding 實作本身
而是在於相關工作難免接手的人來來去去.
這樣的情形下, 一旦 Firmware 在介面與架構缺乏良好規劃的前提
在接手/參與的人無法完全熟悉的情況下, 為了盡快地完成任務, 也只能依樣畫葫蘆
只是如此時間一拉長, 經手的人一多, 就會轉變為一個悲劇.
換來的是, 日漸膨脹混亂, 開發與除錯時間逐漸地延長.
即便在此看來簡短而淺顯易懂, 但諷刺的地方在於, 這部分很容易被管理階層所忽略

這裡舉個常見現象作為例子
一個以 MP3 player作為起始產品時可能僅支援 MP3
而在 IC 中需要 Hw 需要的功能是 Audio playback, SD Card, LED display, Buttons.
軟體上需要的就是 FAT FileSystem 與 MP3 decoder
硬體的 Audio Hw 通常透過 Interrupt 去擷取需要輸出的 audio buffer
這個 case 就是 mp3 decoder output buffer.
接著藉由某種 message 傳遞通知 decoder 繼續 decode
這樣的情況下, 很有可能的方式就是直接在 ISR 中取用 MP3 decoder buffer

然而隨著 audio 格式一多 aac, ogg ... etc
依樣畫葫蘆的結果就是針對不同codec的一堆Audio ISR
最後就是演變成 policy 與 mechanism 混亂的情形
隨著規格要求不同有不同與交錯混亂的 path
這樣的問題並不侷限在這方面, 而是廣泛見於各種軟硬體程式介面上
像是 File System, 多半好一點都會將 FS 與 flash device 做個 layer
慘一點的 flash device 與 filesystem 混著寫也是有的
鮮少見再將 SD/NAND/NOR 的 protocol 與 device 分離的實作

更不用再多說由於多數Firmware 的 monolithic 特性
很容易在缺乏訓練之下或是為了急就章, 任意呼叫不適當的 function
因而造成日後專案維護性與移植性的低落

的確很多時候是用不到 Linux 這樣龐大架構的系統
然而相對而言的lightweight OS更需要心力去維護良架構.

最後是之前隨手改的詞, 博君一笑..

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

沒那麼簡單 就能寫出想要的方案
尤其是在 firmware 年久失修又雜亂
總是不安 只好硬幹
誰謀殺了我的責任感

沒那麼簡單 就能去改 別的全不看
變得實際 也許好也許壞各一半
不愛加班 一久也習慣
被老婆唸勝過被老闆狗幹

靈感來了就快Coding去
感覺累了就聊天打屁
主管的意見 隨便聽一聽 自己作決定
開會不想投入情緒
一杯咖啡配coding
在周五晚上 關上了手機 免得六日被Call去

Firmware沒有那麼容易 不只 function call來 call去
過了有理想的年紀 架構翻新不如穩定
架構沒有那麼容易 才會特別讓人著迷
剛出社會的年紀
曾經最用心 所以最開心 曾經

2010年1月9日 星期六

HiRadioTray 20100109 & Hinet Radio Script 20100110

HiRadioTray 20100109
檔案連結: HiRadioTray_20100109_ubuntu910_i386.deb

1. 根據 Hinet 更動了 mms 取得方式
2. 修正 奇美古典音樂網 格式
3. 修正更新功能

由於個人疏忽, 20091010版無法使用更新功能

使用 20091010 版本的使用者:
安裝更新檔者:
請移除 ~/.HiRadioTray 目錄後再執行程式即可

不想安裝更新檔者
請到此下載 update.sh 並覆寫原本 ~/.HiRadioTray 下的檔案, 以修正更新功能
請到此下載 get_mms.sh 並覆寫原本 ~/.HiRadioTray 下的檔案, 以修正收聽功能

Hinet Radio Script 20100110
檔案連結: radio_20100110.tgz
或執行 update.sh 更新即可

2009年12月13日 星期日

打造簡易監控系統 - ffmpeg + lighttpd

(TODO: 附圖)

由於個人與老婆必須工作, 平日就將寶貝女兒託給爸媽照顧
在家中, 女兒目前待在三樓塌塌米房間
然而難免會有需要短時間離開處理一些事務
能清楚知道baby何時醒了和哭了的時間很重要
因此母親希望能夠架設視訊系統, 方便在一樓能知道三樓狀況

的確, 最快的方式就是購買現成IP Cam產品
想想這部份的技術並不是非常高
所以第一時間想到的就是擺放在家中當床頭機的 EeePC 701
(老實說, 現在有點慶幸當時買的是有Webcam的版本, 那時嚷嚷我只需要長效電池)

接著就是作 video streaming 了
其實依開始我想到的是使用 VideoLan 來作
然而設定/使用與過高的CPU loading都不讓人滿意
加上是給父母操作使用, 使用過程愈簡單愈好

朝 flash video 方向尋找方案, 發現 ffserver/ffmpeg 是個不錯的選擇
參考ffmpeg的這篇討論文章, 搭配需求將設定檔做了些許更動
像是加入了Audio部份, (ffmpeg 的啟動指令亦必須加入 -f oss -i /dev/dsp)
另外提高VideoFrameRate至15, 移除了 VideoIntraOnly, 加入VideoGopSize 以降低bitrate
原本只打算使用 swf 格式, 如此browser 可以直接開啟播放
然而個人設定 SWF 搭配 Audio一直無法順利啟動
(如有設置上限制, 歡迎告知指正)
只好轉而使用FLV, 測試後,VGA frame, 15FPS 加上 Audio
在 630Mhz 的 EeePC, CPU loading 約為 50~60% (打開900Mhz 模式, 降低到 33%~40%)
設定好後, 假設存檔為 webcam.conf, 如此執行指令 "ffserver -f webcam.conf"
就可以在 http://MACHINE_IP:8090/webcam.flv 收到 streaming video/audio

使用 FLV 相較於 SWF 比較麻煩的是需要 flv player
browser 上需要 swf 元件來處理 flv video
網路上免費solution不少, 像是37-flvplayer.swf與GPL的flowplayer
最簡單的方式, 就是寫個 HTML, 連到提供該元件的主機, 搭配 flv 來源URL
為了降低對外部網路系統的依賴, 搭配輕巧快速的 lighttpd 來使用是不錯的選擇
(Apache?! 殺雞焉用牛刀.)
下載好 swf 元件, 依照各個swf flvplayer 規格撰寫個簡單的 HTML
放置於 /var/www 後就完成了

如此, 一樓電腦打開browser, 設好首頁, 就完成了

想想, 在 embedded 產品上, 將 hw codec 整合至 ffmpeg 是個不錯的作法
如此很快就可以建立具有網路傳輸功能的分散式 IPCam

2009年10月21日 星期三

My Baby~ Ubuntu 還是比較好用

我家的妹妹


Oct 19, 2009 我家多了新成員 - 我的寶貝女兒
當然不免俗地拿起了相機拍了幾張照片

由於怕老婆空檔會想用電腦, 帶的是老婆慣用的 MSI M673
原本想透過Windows XP 來處理照片 (3.5G - Huawei E220 在9.04下還是有點小問題)
然而發現在Ubuntu下能正常使用的內建讀卡機, 竟然一直讀取不到 8GB SDHC
(O2Micro Integrated MMC/SD, 已經是XP SP3, 更新driver)
搞了許久, 插卡後Windows 就直接停在那

一整個火大後重新開機進入 Ubuntu 9.04, 無須特別設定, 就能輕鬆地把照片複製.
於是設定好3.5G後就更新系統到9.10

Baby~ 告訴你喔 Ubuntu 還是比較好用...

2009年8月28日 星期五

這就是淺景深(錢井深)


Canon 500D + 50mm f1.8, 1.8大光圈 的拍攝效果
圖中為老婆的妹妹去日本時購買給我們的平安符, 作為顯示淺景深的效果
光圈快門沒注意, 所以重新調整過色階

用了好一陣子的消費型相機, 一直很想擁有台數位單眼(DSLR)
現今的DC儘管輕巧, 儘管成像也不差, 儘管倍率也很可觀
然而一般DC在成像品質與雜訊處理上與DSLR還是有差距
而更重要的是景深的控制, 操控性上是很難望其項背的
淺景深在一般DC並非不可能, 而是在一些條件下才可以成立
對於我這個不專業的人而言, 都可以感受到DSLR的等級差

今日為了迎接即將到來的家庭新成員, 跑去物色適合的DSLR
最初是想看看有無 Nikon D60庫存品
D5000的旋轉螢幕不敢恭維,
D90的價格實在是讓人下不了手
D3000的CCD成像品質是敬謝不敏

原本一家 D90 + 18-55m kit 開價近 33K, 發現比X發賣的便宜 4K還蠻心動的
後來到另一櫃才發現這個價格還貴了 2K
就在轉向Canon 450D的同時, 被某位店員說服決定夠入Canon 500D
除了整組kit 外還加買了顆 50mm f1.8 鏡頭,
而買了些週邊, 總價格只比D90機身高些
一句關於攝影的俏皮話是"淺景深, 錢井深", 說來也是其來有自

剛拿到Canon 500D的第一印象是"對焦真快"
而f1.8 的大光圈拍攝人像很不錯, 對於練習攝影上也相當方便.
希望這台DSLR能讓我的攝影技術好一點....

2009年8月25日 星期二

Linux 上使用網路ATM



其實, 這是舊聞了, 只是我今天第一次使用
已往想在Linux上使用網路ATM是求之而不可得,
儘管讀卡機在Linux已經都有driver,
然而國內的銀行多以Windows特有的ActiveX建構網路ATM服務

先前就已經在 ubuntu-tw 上看到
玉山銀行(E.SUN Bank)就感心地提供了Linux網路ATM支援
然而一直都沒有使用上的需求, 所以也沒特別去嘗試

今日按照這篇文章, 就順利使用手邊的讀卡機完成匯款
再次感謝玉山銀行提供Linux 網路ATM服務

2009年7月5日 星期日

雜記

晃眼一個月就過了....
一個半月前還在思索這幾年來的歷程
想在一個月前的今日寫下自己而立之年的一些想法

月中, 也有想要把近日比較有心得的3D相關數理做個簡報,
進而探究ES Shading Language
或是把工作相關的系統建構上的issue在blog上做心得討論

然而在工作比較繁忙以及身體微恙下, 就這樣都一一拖了過去
因此blog 的六月也就成了一段空白, 現在想想還有些愧疚

週末好不容易花了點時間
研究了到手一些時日的Devkit8000,
以隨板附上的linux kernel的針對平台修正的部份
已經把ubuntu弄了上去, 接近了初期的目標
而beagleboard也因老婆工作上的需要, 已離開我好一陣子,
近日也在思索, 想購入Rev.C3

如此也算是小有展獲吧...

在 ARM 平台上使用 Function Multi-Versioning (FMV) - 以使用 Android NDK 為例

Function Multi-Versioning (FMV) 過往的 CPU 發展歷程中, x86 平台由於因應各種應用需求的提出, 而陸陸續續加入了不同的指令集, 此外也可能因為針對市場做等級區隔, 支援的數量與種類也不等. 在 Linux 平台上這些 CPU 資訊可以透過...