[Note] Turn on/off MAC WIFI by Command line

我的 MACbook 如果同時開放 WIFI 和 Bluetooth 時,如果離開 Bluetooth touchpad 會自動斷線。但如果這時候靠近時, Bluetooth 會怎麼樣都連不上,包括開關 Bluetooth ,感覺 Bluetooth & WIFI 會相衝。

這時只剩下一個解法,就是把 WIFI 關掉,這時 Bluetooth 會馬上連上我的 touchpad 。但因為螢幕闔起來了,沒有滑鼠 or touchpad ,只剩下外接鍵盤可用。上網找了一下,發現下面的指令可以直接關掉 WIFI。

$ alias wifioff='networksetup -setairportpower airport off'
$ alias wifion='networksetup -setairportpower airport on'

$ wifioff
airport is not a Wi-Fi interface.
Turning off the only airport interface found: en0

$ wifion
airport is not a Wi-Fi interface.
Turning on the only airport interface found: en0

Reference:
* Enable and Disable AirPort Wireless from the Command Line in Mac OS X

在 Console 底下簡單的 Yaml syntax check Script

介紹

在編寫 yaml 檔時,如果沒有使用任何的 IDE, 或是想 automation 作檢查,勢必需要在 CLI 可以檢查的方法。Yaml 檔發生錯誤是很擾人的,尤其是一個yaml 檔可能上百行,要找一個空白空錯沒有什麼好方法。最近就遇到因為前一版 commit 設定檔的人沒有檢查語法,設定檔裡面少了一個空白,結果造成 indent 就不對,接著程式沒寫好就直接停止執行的問題。但後來想想,應該要有一些方便的 tool 在編寫 yaml 檔結束後,作一些簡單的檢查,來減少浪費大家人力來追問題。

實作方法

  • 安裝 ruby
  • 安裝 awesome_print 的 gem 檔
    # sudo gem install awesome_print
  • 執行 ruby 指令
    $ ruby -e "require 'yaml'; require 'awesome_print'; y=YAML.load_file('/tmp/example.yaml'); ap y"

在 MAC 下只要安裝一個 gem 檔,然後用內建的 ruby 指令馬上就可以看出來了,而且畫面還非常的漂亮。

DEMO

我們以 wikipedia 上的 yaml 範例檔為例:

--- receipt: Oz-Ware Purchase Invoice date: 2012-08-06 customer: given: Dorothy family: Gale items: - part_no: A4786 descrip: Water Bucket (Filled) price: 1.47 quantity: 4 - part_no: E1628 descrip: High Heeled "Ruby" Slippers size: 8 price: 100.27 quantity: 1 bill-to: &id001 street: | 123 Tornado Alley Suite 16 city: East Centerville state: FL ship-to: *id001 specialDelivery: > Follow the Yellow Brick Road to the Emerald City. Pay no attention to the man behind the curtain.

Result:
如果一切順利的話,可以看到下面的結果,除了可以驗證內容打的對不對之外,還可以看結構是否正確。
yaml parse result

如果結構有錯,或是語法有錯,他會顯示錯誤的行數,這樣就比較好 Debug 了。
parse error

結論

如果有 vim 的 plugin or sublime 的 plugin 在即時編寫時,就可以直接列出語法有問題的地方應該會更好更直覺。不過現在這個方法比較適合在 CI commit build 預先作檢查,減少錯誤的程式上到 production 。

參考

[1] http://stackoverflow.com/questions/3971822/yaml-syntax-validator
[2] http://stackoverflow.com/questions/17289399/how-do-i-pretty-print-a-hash-to-a-rails-view
[3] https://github.com/michaeldv/awesome_print

Mercury 的 growl 設定

在 MAC 上找了許多支援 msn 的軟體,後來發現最實用的只有 Mercury ,傳檔、視訊、自定圖片、和離線訊息都可以使用。但是他的通知都是醜醜的自訂通知方式。後來在官網上找到了支援 growl 的方式,方法如下:

  • 下載下列二個檔案,並且放置於 application 下的 mercury 裡面。
    Growl.jar放到 directory/lib/Growl.jar 。
    libgrowl.jnilib 放到 directory/libgrowl.jnilib
  • 編輯 info.plist 把 Growl.jar 新增至 classpath
  • 在聊天的對話框裡輸入 /setglobal growl.impl jni
  • Restart

完成上面的步驟後,就可以找到美美的通知了。

參考文章:Growl jni

How to Build a Hackintosh ?

之前非常多的同事在更換電腦時,就換了 Mac Book Pro ,另外我也看到了一篇文章說在討論「為什麼我用Mac」。所以我非常的好奇, MAC OS X到底有什麼魔力可以讓這些人讚不絕口。在前些日子裡,我就有聽說在 pc 上其實是可以裝 MAC 的,但最主要的問題還是硬體支援的問題。所以下面我列出我所使用的硬體,而CPU、主機板、和顯示卡為三個最重要的要素,如果你的這三個硬體有 MAC OS X 支援的話,在安裝上就沒有太大的問題了。

第一步:準備硬體
我所使用的硬體如下:

第二步:準備軟體
所需要的軟體如下:

並且把 iboot 燒錄成 CD 等等要拿他來作為開機使用。

第三步:設定 bios
依照「How to Install Mac OS X on a PC (Without Using a Mac)」這篇所示所需更改的 bios 選項如下:

  • 把 cdrom 改為第一個開機選項。
  • 進入 Integrated Peripherals 選單,把 PCH SATA Control Mode 和 Onboard SATA/IDE Ctrl Mode 都改為 ACHI 。
  • 接著進入 Power Management Setup 選單,把 HPET Mode 調成 64-bit 模式。

第四步:安裝 MAC OS X
將剛剛燒好的 iboot 光碟放入光碟機中,然後先利用他作為光碟開機。看到 iboot-supported 畫面出現後,把 iboot 光碟拿出來,放入原板 Snow leopard DVD 進去,接著等三到五秒,然後按 F5 。你就會看到安裝的選項跑出來了。其他的安裝方式其實就下一步一直按而已,沒有很難。安裝後第一次開機,請記得使用 iboot 片來作為開機片,否則會出現錯誤。

第五步:安裝 boot loader & drivers
如果你的硬體跟我一樣,哪其他的步驟就照著我所說的選擇就好了,如果不一樣,可能就要上 「OSx86 Project」找看看別人怎麼選驅動程式。

<

ul>

  • 下載 MultiBeast

  • 下載 DSDT for the Gigabyte GA-H55M-USB3,然後改名為 DSDT.aml 並且放置於桌面上,等等開啟 multi beast 時才會自動抓到。

  • 開啟 mult beast ,並且選擇下列這些選項:

    • UserDSDT
    • System Utilities
    • Advanced Options > Kexts > Audio > LegacyHDA > ALC889
    • Advanced Options > Kexts > Graphics > NVEnabler
    • Advanced Options > Kexts > Network > RealtekR1000SL
    • Advanced Options > Patched Kernels > 10.3.1 Supported Kernel

    安裝完後,重新開啟,你就可以快快樂樂開開心心的使用黑金塔了!!

    在剛開始不習慣使用 MAC 的情況下,很多的思維可能不一樣,想找個偏好設定都找不太到,現在越來越順手了,以後再分享一些心得出來。

    參考網址: