Linux Mint Debian

[華語, cmn-Hant-TW]

一向就對 UBUNTU 這種半年就來大更新的 distro 很感冒,畢竟也不是說非常常玩 Linux,每次心血來潮想碰一下的時候都在灌大更新也很煩,所以就想找看看有沒有適合的滾動式發行套件 (rolling distro) 能符合我的需求。

滾動式的概念很簡單,就是他沒有一個固定的版號,反正 update 就能跳到最新的就是了,所以也不用管啥 11.04 哪天過期啦、我要不要升到 11.10 啦之類的。最有名的應該算是 archlinux 了吧,其實公司的某幾台早就是灌 archlinux (前一篇才剛提到)了,不過我跟 Linux 不太熟,要像在 FreeBSD 下面一樣能自己手工把桌面弄出來大概還要花好幾個月的時間研究,不符合本次玩票性質的需求。在網路上找了一下發現 Linux Mint Debian 似乎不賴,首先 GUI 是包好好的,有 gnome 跟 xfce 可以選用,然後底層是 debian testing。剛好 debian 算是在我不太熟的 Linux 中比較熟的一套,二話不說挑了個人比較偏好的 xfce 灌來玩看看了。


灌起來沒遇到啥問題,沒看錯的話語系有 nan-Lant-TW (台灣福佬語羅馬字),不過我沒有試下去就是,整個介面其實很不 xfce,不過懶得改而且其實也不會太難用,就不去動他了。網路設定在右下角時鐘的左側,一般 DHCP 的話應該不用設定啥就直接上網了。再旁邊的那個圖示則是更新的通知,一開始應該一定會有東西可以更新,套件的更新可以透過圖型化介面的 Update Manager 來完成,這其實就是 GUI 版的 apt-get,所以不想用這東西要自己下 apt-get 指令更新也是可以的,更新的時候倒是有遇到一些問題,不過移掉問題套件重裝之後問題就解決了,滾動式發行套件難免會遇到這樣的問題,畢竟更新是持續不斷,穩定性總是會稍低些。

整體而言 Linux Mint Debian 算是相當符合我的需求,如果有人對升級感到厭煩的也可以考慮來玩一下這套看看。

Posted in FreeBSD. Tags: . No Comments »

collect entropy

[華語, cmn-Hant-TW]

幫一台 archlinux 更新時遇到的。 pacman 的新簽章機制需要跑一次 pacman-key –init,結果吃到這錯誤:

Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy! (Need 279 more bytes)

結果在這篇找到解答了,只要跑 ls -R / 就能「收集」到大量的 entropy,問題於是解決。不過實測時發現先跑 ls -R / 再執行 pacman-key 似乎還是會吃到錯誤,要兩個同時跑才行,也許是因為只有在 ls -R / 正在跑的時候亂度才足夠吧。

Posted in FreeBSD. Tags: . No Comments »

vim syntax 及 modeline

[華語, cmn-Hant-TW]

vim 只要設定好的話,只要他認識的檔案都會用正確的語法上色,不過其實也不是每次都會判斷正確,或者有些檔案就是沒辦法直接判斷,要告訴 vim 內容是啥他才會動,這時候可以用 :set syn=syntax 指定語法,不過每次開檔案都要設定一次會覺得有點煩,還好有 modeline 可以幫忙解決問題。

預設情況下 modeline 是開啟的可以直接使用,使用方式也很簡單,例如想用 tcsh 語法上色,就直接在要編輯檔案開頭加上這條敘述即可。

 /* vi:set syn=tcsh: */

用 C 的註解語法包起來 (shell script 可能要在前面加 #), 兩個冒號之間就是要下的指令。除了 syn 外,有需要特調 ts(tabstop), sts(softtabstop), sw(shiftwidth) 之類的都可以一起加在裡面,以後每次開這個檔案就會套用這個設定,當不同計畫案的 coding style 規範不同的時候就很好用。

 /* vi:set syn=tcsh ts=8 sts=2 sw=2: */

要注意在 7.0 某版之後因為安全問題 root 使用者會無視這行,這種用法只對一般使用者有效。詳細設定可參考官方網站的 Vim 文件

Posted in Applications. Tags: . No Comments »

Grand Central Dispatch 試玩

[華語, cmn-Hant-TW]

因為開有多執行緒的需求,就研究了一下 mac 的 framework 有提供哪些東西可以用。初步看來就是傳統 pthread 跟 NSThread 可以用,不過 Thread 程式寫起來一向就很煩,所以就想找找有啥替代品可以用,後來就注意到 Mac OS X 10.6 (iOS 4)之後新加的 Grand Central Dispatch。

基本概念很簡單,就是把你要做的東西加進 queue 就好了。把要做的事情放在同一個 queue 的話他就會照順序一個一個執行,當然你可以開很多個 queue 同時跑,那就可以一次做很多事情,直到把系統榨乾為止。

首先要開一個 queue
dispatch_queue_t queue = dispatch_queue_create("cc.pighead.queue", NULL);

第一個參數可以隨便打,第二個參數在 10.6 沒用,10.7 以上才有用途。

然後把要執行的程式碼放進 queue 裡面
dispatch_async(queue, ^{
  printf("this is a block!\n");
});

裡面包住的東西叫 block,至於 block 是啥這邊先不管他,反正就是包在裡面的程式碼會被另外開一個執行緒來跑就是。

然後把他 sync 回來
dispatch_sync(queue, ^{});
最後 release 掉
dispatch_release(queue);

要同時跑很多的話就多開幾個就可以了,想開幾個就開幾個,在 sync 之前所有的 queue 都可以同時跑,如果有變數會共用的話記得用 lock 或是 @sychronized 這些的東西來控管,大致上就是這樣。另外還有 queue 群組跟 for loop 拆解成平行處理的用法,這次沒用到所以就沒特別去注意了。

話說 FreeBSD 上也是可以用 Grand Central Dispatch 的,用法也差不多,需要的是新一點的 kernel、llvm/clang 編譯器以及 devel/libdispatch 這個 port。

參考文件

A Simple Job Queue With Grand Central Dispatch

Multithreading and Grand Central Dispatch on iOS for Beginners Tutorial

Nullified Construction

Mac OS X (Cocoa) NSLock

GCD on FreeBSD

 

Asus M*A Series

[English, eng-Latn-US]

  • M2A-VM HDMI
  • M3A78-EM
  • M4A785D-M PRO
  • M5A88-M

Phenom II X3 720 BE works with ALL these motherboards, from 2 to 5

Posted in Hardware. Tags: , . No Comments »

Sanyo eneloop KBC-L54D

[華語, cmn-Hant-TW]

三洋 (現併入 Panasonic ) 的新 eneloop 行動電源也推出一陣子了,台灣現在應該也不算太難買到,當初是沒啥耐心在逛 Bic Camera 的時候剛好看到就順便入手一下,稍貴了點就是。

照慣例隨手寫不照順序:
  • 標示的容量變多,但是沒有感覺,而且舊的已經用很久,就算新舊拿來實測比較也不會準,就不管他了。
  • 充電端從二個 (DC in + mini USB) 變成單一 micro USB,附的變壓器從圓頭的改成 micro USB,附的 USB 線也從 USB to mini USB 變成 USB to micro USB 線,總之就是全面 micro USB 化。現在一堆行動裝置像是手機啦藍芽耳機啦甚至無線鍵鼠都是用 micro USB ,規格一致線材就可以共用,便利性提升不少,出外也可以少帶幾條線。

新(左)舊(右)對照

  • 放電端還是 2 個標準 USB 頭,不過配合 ipad 所以可以衝到 5v/1.5A (USB 規範是 0.5A),附的 micro USB 線除了充電外也可以拿來放電,某些情況下甚至只要一條線就可以滿足所有充放電需求 (手機跟藍芽耳機搭配一台電腦), 用 iPhone 的人還要另外準備一條 30pin 的傳輸線,下圖就是一般出門時的組合,只要二條線就能解決掉大部份的充放電需求。

供電的狀態

  • 燈號從原本只在開關時亮一下的藍色 LED,改成在放電時持續點亮的黃綠紅三色 LED 來表示電量,也許多的電池容量就是用在這邊吧,當然了用顏色來指示電量遠比原本用不同閃爍頻率來指示清楚許多,這樣的改變算是加分。
  • 開關一樣是按鈕,但是和舊款不同的是舊款要先把要充的行動裝置接上去之後,長按才能真正開啟,如果沒接東西就長按的話他會自動關掉。新款不管你接不接東西上去只要長按就是開啟,沒有手動關掉或是沒電的話他就會保持開啟狀態,東西一接上去就會開始充。對手機來講這差別不大,但是對某些吃電不多的藍芽耳機就差很多,舊的只插藍芽耳機他會當作沒看見就自動關掉,要跟手機一起接上去才能順便充到,新的因為開關明確所以不會遇到這種問題,也算是有改進吧。
結論:

該改良的重點都有改到,再加上一些小修改讓他更直覺易用,整體而言讓人相當滿意。

Posted in Accessories. Tags: , . No Comments »

MacBook Pro加 RAM 到 6GB

[客家話, hak-Hant-TW]

看到有人講 2008 年的 MacBook Pro 官方講可以加到 4GB,毋過實際上可以加到 6GB – 要用 DDR2-667 就是,講實在的 DDR2-667 又貴又毋好買,不過差這 2G 用起來差當多,就花錢加上去了。

正經可以用,毋過要用 1條 DDR2-667 2GB 加 1條 DDR2-667 4GB,本成想要用 DDR2-800 2GB + DDR2-667 4GB,開毋起來。

加 2G 後,開 vm 毋會再古看到硬碟狂轉了,毋過這隻 kernel 是佇該做麼介,食按多記憶體?!

Posted in Mac. Tags: , . No Comments »

samba + bonjour

[華語, cmn-Hant-TW]

之前這篇有提到開 AFP 分享以及用 Model Name 偽裝成某種型號的 Mac 的方法,其實用同樣的機制也可以把 SMB 的伺服器包的漂漂亮亮的,而且多這層之後用戶端的 Finder 找分享的速度也會比較快,不管從美觀或實用的角度來看都是值得打開。和那篇一樣有 avahi 或 howl 兩種選擇,設定上也和那篇類似,只是把 AFP 的設定換 SMB 而已。 (SMB 伺服器當然要另外安裝,這邊假設 SMB 本來就通的,沒有的話去 ports 找 net/samba3x 挑一個來裝,samba 設定就不詳述了)

/usr/local/etc/avahi/services/smb.services (avahi)
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
 
<name replace-wildcards="yes">%h</name>
 
<service>
<type>_smb._tcp</type>
<port>445</port>
</service>
 
<service>
<type>_device-info._tcp</type><port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
 
</service-group>

smb.services 檔名一樣是可以自訂的,除了 type 要改成 _smb._tcp 外其他和 afp 的設定都相同,細節請參考 AFP 那篇

/usr/local/etc/mDNSResponder.conf (howl)
"ServerName" _device-info._tcp local. 1 "TXTVersion=1.0" "model=Xserve"
"ServerName"  _smb._tcp            local.      445

用 howl 的話那所有 service 的設定都會在這個檔案裡面,如果 AFP 已經開了的話就直接加上一行 SMB 的設定即可。

值得注意的是雖然平常 SMB 服務是用 139 這個埠,但是 Mac OS X 10.7 Lion 不吃這個埠的 SMB 分享,所以用 445 比較保險。

Posted in FreeBSD. Tags: , , . No Comments »

Mac OS X Lion 初探

[華語, cmn-Hant-TW]

因為沒時間、工作進行中、想順便換硬碟、初版觀望一下、等 iCloud、東西還沒整理好這總總理由,雖然第一時間就買了 Lion 但是一直沒去升級他,只有拿外接盒小玩一下而已,畢竟 10.7 的操作哲學和 10.6 有不小差異,而且 xcode 也得升級,所以得找比較空閒的時候,才能開始升級。

這次趁 MBP 送修的空檔順便換了顆硬碟,然後灌新的 Lion 後直升有 iCloud 的 10.7.2 接著把舊的使用者倒過來,經過幾天的陣痛之後目前大致上使用起來是沒啥問題了,照慣例來隨手亂寫一下心得,沒照順序。

  • 安裝好第一個畫面就是要你適應反向捲軸,拍勢這個我無法接受,第一個時間就開系統偏好設定改回來。
  • kernel 預設 64 位元了,和 10.6 開機時要同時按鍵盤 6跟4 才會用 64 位元 kernel 開機的情況相反,現在要按 3跟2這兩鍵才會開成 32 位元。然後 10.7 的 kernel 吃記憶體吃得比 10.6 兇不少,一度看到吃了 7xxMB,這 kernel 吃那麼多是想幹嘛…
  • 所有的 PPC 的軟體都不能用了,這也就表示我在 10.3 弄的 rxvt 終於不能動了,雖然說到 10.6 都還能跑這點就已經很夠本,而且其實現在用 x11 的 rxvt 機會已經很少,其他純 PPC 軟體也幾乎都有替代方案可用,所以影響不大,但是看到那些圖示上面被印了一個大大的禁止符號,還是會讓人有點感傷…

  • Space 完全被吃掉,使用習慣必需改變,可以開全螢幕的軟體會跟 Space 併排,然後用左右滑動切換,有點像 iOS 的換頁,而且預設情況下順序會照使用頻率自己跳,本來覺得這樣很麻煩記不起來在哪,後來發現 Space 直接切換(預設是 ctrl+1~4 ) 的熱鍵還是存在,那就隨便他排無妨,反正可以直接跳到要去的頁面。跳頁最重要的是回到首頁 (ctrl+1),從這頁的 dock 上可以直接點要操作的軟體,如果是一般模式的就在同頁跑出來,如果是全螢幕模式就會直接跳到那頁,整個流程就會是:首頁->(點選)->軟體1->(ctrl+1)->首頁->(點選)->軟體2->(ctrl+1)… 這樣的切換很流暢,也不用去記排列順序,也不用開 Mission Control 找半天,如果嫌 ctrl +1 要按兩個鍵的話就另外對應,或是用 BTT 用手勢來切 (我用 Three Finger Tip Tap Left 也就是右手後三指按住用食指點一下) 都可以。
  • Launchpad 有點雞肋,而且只能找 /Applications 跟那幾個目錄而已,quicksliver/alfred 還是比較好用些
  • Finder 側邊欄變單色是已知,我沒意見,但是之前有自訂圖示目錄拉上去會顯示自訂圖示,現在通通變成預設的目錄樣子,沒辦法用圖示一眼就認出是哪個目錄,感覺就非常之鳥。
  • 四指縮放預設是拿來展開桌面、叫 Launchpad 用,我這台 MBP 是古代的小 Multitouch 觸控板,只能說有夠難按,還好這兩個功能也沒有很常用就是。
  • Time Machine 備份可以加密了,可惜只用在直接連接的裝置,透過網路的備份依然不能加密,所以沒用,話說我一直覺得備份加密是很需要的,但是忘記密碼是很麻煩的事情,所以應該要加上強制密碼提示的機制,希望這種備份工具有一天能夠出現。
  • 桌面背景設成多張圖片切換時,每個桌面的圖片不再是都長一樣了,這功能居然是在多重桌面 Space 退休之後才實作出來……
  • 螢幕保護程式花樣變多了,然後螢幕鎖定的相關設定在安全性及隱私裡面設,這邊的新花樣就更多了,包括螢幕鎖定時要顯示什麼訊息等,實際鎖定的畫面也比之前好看很多。
  • 在 Wi-Fi 選單裡面,由 iPhone 分享出來的個人熱點會被顯示成不一樣的符號。
Posted in Mac. Tags: . No Comments »

MCEBuddy and MC-TVConverter

[華語, cmn-Hant-TW]

MCEBuddy

有蠻長一段時間都是用 MCEBuddy 1.x 在定時把 DVR-MS 轉成比較小的 MP4 檔,不過轉檔的缺點是 meta-data 通通沒有,不過就加減用,後來太懶了乾脆就連轉都不轉了,直接買大硬碟硬存 DVR-MS,後來 MCEBuddy 也暫停開發,也有段時間沒去注意他,某天偶然發現他 2.x 開始重新動作,而且 GUI 的 beta 都跑出來了,就來試看看,試的結果感覺不是很好,只要碰到有漢字的檔案通通轉不動,也只能等看看新的 beta 會不會解掉這問題…

MCEBuddy 2.x http://mcebuddy.com/beta-releases/

MC-TVConverter

偶然發現了這東西,一樣是定時轉檔用,小試了一下發現 meta-data 有進去,多國語系文字似乎也沒問題,而且還可以自動把 MP4 加到 iTunes 裡面去,頗威! 就現階段來講,似乎用這個比較順,不過流量跟畫質還要再喬一下就是,另外 meta-data 補齊也需要人工處理,還要再研究看有沒有自動加特定 tag 的功能。

MC-TVConverter http://www.videohelp.com/tools/MC-TVConverter