移除 OSX 上多事的 iCloud 使用者詞典

身為一個無蝦米使用者, 在 iPhone 上想打無蝦米也是很合理的.
於是参照了這個 教學 之後, 順利達成目的

但問題發生在 Mac 上 ...
由於 iCloud 同步的關係, 所有 iPhone 上的使用者詞典全部被同步進 Mac 裡
於是就出現了, 用英打也會選字的慘狀, 彩球 Lag 就更不用說了有夠煩人...

稍微查了一下, 發現只要在系統的 iCloud 裡把 文件和資料 反勾選即可不同步使用者詞典
可喜可賀~

實體主機轉移到 AWS EC2

先說結論, 要從實體主機搬上 EC2 的話, 請愛用 Cloudscraper


日前某客戶的實體主機想要整組 ( Windows Server 2008 R2 + MSSQL Server 2008)上雲端.
在 Survey 的時候發現 EC2 可以接受 VMDK、VHD( 虛擬機器硬碟 ) 直接匯入產生 Instance
於是我就採用了 ec2-import-instance 這個方式.

首先我在實體主機上安裝了 VMware vCenter Converter Standalone 將主機上所有磁碟轉成一個 Virtual Disk File
接著使用 EC2 API Tools 試圖將 VMDK 檔上傳到 S3 並 import 成 instance.

但天不從人願, import 失敗啊!!!!

在這邊小聲譴責 ec2-import-instance , 文件提供的資訊過少, 符合你頁面上說的條件結果還是 import 失敗XD

再次尋找解法發現這套佛心軟體 Cloudscraper

姑且一試之下竟然成功了 !!
雖然 GUI 有待加強但他真的可以轉可以 import 也可以 run, 以下是簡單的說明

1.下載並安裝在你想要搬家的Server上 (無需關機)

2.執行並選取你要轉換的磁碟

3.選擇EC2的地理區域, 及填入 AWS Access Key ID / Secret Access Key

4.確認無誤, 按下開始, 放下鍵盤出門走走, 因為至少要一小時XD

5.轉完後記得去 EC2 主控台打開 instance, 別忘了將 RDP 加入 Security Group

6.恭喜你得到一台可遠端桌面登入的 EC2 instance !

VSFTPD and CHROOT

如果你用 VSFTPD 然後只想要使用者在自己的家目錄裡玩, 然後管理者登入可以看到全部使用者的 folder.
你需要

  1. 將 /etc/vsftpd.conf 裡的這些選項開啟
    chroot_local_user=YES # 對 /etc/passwd 表裡的使用者, 開啟change root功能, 將該user家目錄重設為 root
    chroot_list_enable=YES # 啟用 chroot_list, 在 list 內的使用者可不受 change root 限制
    chroot_list_file=/etc/vsftpd.chroot_list # 名單內帳號不受限制
    
  2. 將 VSFTPD 更換成支援 allow_writable_chroot=YES 的版本

    sudo add-apt-repository ppa:thefrontiergroup/vsftpd
    sudo apt-get update
    sudo apt-get install vsftpd
    
  3. /etc/vsftpd.conf 加入 allow_writable_chroot=YES

    echo allow_writeable_chroot=YES >> /etc/vsftpd.conf
    
  4. 重啟 VSFTPD

  5. 配合 shell script 即可建立 ftp user 並限制在該 user home directory 裡 ( by Vincent )

    add_ftp_user.sh
    #!/bin/bash
    if [ "$#" -eq 0 ]; then
    echo "Usage: add_ftp_user.sh USERNAME"
    exit 1
    fi
    username=$1
    sudo useradd -s /bin/bash -m -d /home/ae_staff/${username} ${username}
    sudo chgrp ae_ftp /home/ae_staff/${username}
    sudo chmod 770    /home/ae_staff/${username}
    echo -n "Setup user password. "
    sudo passwd ${username}
    echo "Created ftp user ${username} successful."
    
  6. ae_staff 是某個管理所有 ftp user 的帳號, ae_ftp 是繼承 ae_staff 的群組, 這樣方便管理者處理user上傳的檔案

黑蘋果筆記

前言

研究了一陣子發現黑蘋果好像不難裝, 再加上 LoL 和 Humble Bundle 跑很慢各種不爽, 於是花了一點時間金錢把桌機昇級成 OSX, Win7, Ubuntu 三系統. 開進 OSX 的瞬間超爽 XD

硬體

品 名 產 品 名 稱 備 註
處理器 CPU Intel 第三代Core I5-3570K四核 3.4GHz(Turbo 3.8GHz)/HD4000 ★
Intel Ivy Bridge 1155腳位 22奈米
主機板 MB 技嘉 Z77-DS3H/ATX/1A1D1H/前置19Pin U3/全固態四年保 ★ 熱賣
Intel 1155腳座/Z77/合板
記憶體 RAM UMAX DDR3 8G-1600 單支【整組搭購價.限一組】 ★ 熱賣
桌上型 DDR3單支
內接硬碟HDD Seagate 1TB 64M/7200轉/單碟1TB/ST1000DM003-2Y/P 【二年內非人損.一律換新】 ★
3.5" HDD硬碟Sata3
顯示卡VGA Sparkle斯博科 GTX650Ti 1G DDR5/三年到府 ★
PCI-E介面 nVIDIA GTX650

以上這些硬體是我從 tonymacx86 挑出來最符合需求又在預算以內的 ( OSX, Win7, maybe Ubuntu )

軟體

  1. Mountain Lion from App Store, 購買後下載到 Mac 的應用程式資料夾裡
  2. UniBeast
  3. MultiBeast

準備

  1. 首先你需要一支 > 5 GB 的 USB, 用來製作 Mountain Lion 的開機碟.
  2. 參考這個網址製作內含 Mountain Lion 的可開機隨身碟.
  3. 開機進入 Z77-DS3H 的 bios 設定畫面, 先讀取 optimized 還原成預設值
  4. 接著將 SATA Mode 改為 AHCI
  5. 關閉 Intel VT-d
  6. 存檔後離開並關機, 再次確認此時 千萬不要插上 PCI-E 顯卡 使用 i5 內顯 HD4000 進行安裝 OSX 即可.

安裝

  1. 將製作好的山獅 USB 插入主機後方 USB 槽, 從後面比較好 (!?
  2. 開機後按下 F12 選擇使用 USB 開機.
  3. 畫面上應該會出現 USB 字樣的蘋果 icon, 不要衝動, 按方向鍵下, 然後輸入-v -x 最後 Enter 按下去.
  4. 開始跑一大堆東西. -v 方便除錯, 如果有問題就把畫面上最後一句拿去餵 Google . -x 則是只讀取最基本的功能進行安裝程式.
  5. 開進安裝程式之後就看圖說故事, 輕鬆愉快.

雙系統安裝方法

  1. 把安裝 OSX 的硬碟拔掉, 只留要拿來裝 Windows 的硬碟.
  2. 將 Windows 安裝在唯一的硬碟裡.
  3. 安裝完畢後將 OSX 硬碟接上, 到 BIOS 調整開機順序, 讓 OSX 硬碟在第一順位.
  4. 從 Chimera Bootloader 裡即可看到類似本篇首圖的選擇系統畫面.

參考資料

ref. 1
http://www.tonymacx86.com/user-builds/89585-success-mountain-lion-gigabyte-ga-z77-ds3h-version-1-1-i5-3570k-ivy-bridge-8gb.html

ref. 2
http://www.tonymacx86.com/mountain-lion-desktop-guides/96536-guide-gigabyte-ga-z77-ds3h-evga-gtx-650-2gb-2.html

ref. 3
https://github.com/tkrotoff/Gigabyte-GA-Z77-DS3H-rev1.1-Hackintosh

jQuery-Fileupload-Rails 0.4.1 配 Rails 3.2.13 的坑

第一坑是 view 的 form_for 裡面的 f.file_field 自己多加了 [].

<%= f.file_field(:image, :multiple => true, :name => "product_photos[image]") %>
上面那段會產生
<input id="photo_image" multiple="multiple" name="product_photos[image][]" type="file">
要改成
<input id="photo_image" multiple="multiple" name="product_photos[image]" type="file">

第二坑是 view 部份的 js 要更動

var fu = $('#fileupload').data('fileupload'), 

to

var fu = $('#fileupload').data('blueimpFileupload'),

第三坑是 controller 的 format.json 要變成

format.json {
  render :json => [@photo.to_jq_upload].to_json
}

to

format.json {
  render json: {files: [@photo.to_jq_upload]},
         status: :created,
         location: new_admin_product_photo_path(@product)
}

文件都不講的, 有夠坑 -_-

Sublime Text 2 Packages for Rails

啊其實是因為我這人沒事就喜歡嚐鮮,所以裝了 Package Control 之後,三不五時就看一下有沒有新東西可以裝來玩。最近玩到一些在開發實務和日常工作上還滿實用的 Package,記錄下來也分享給可能有同樣需要的朋友。

PlainTasks


相當易用的 TODO List,配合適當的快捷鍵及設定,可以在 ST2 裡快速開啟並編輯.

Read on →

台灣鄉鎮市選單helper

日前在實作 麥二手 的時候,需要用到台灣鄉鎮市地區的雙層下拉式選單

而且最好是連動式。找了下github上的專案,似乎大家都土炮刻出來XD

剛好我也想學習怎麼包 rails gem ,於是從頭開始看 Railscast 慢慢來

Read on →

這幾天製作的小玩具

這陣子時間比較多,可以玩一些以前想過的 idea ,於是先從 蘋果我最美 開始執行

這東西簡單來說就是每天去 parsing 蘋果日報的今日我最美專欄,並將文字和圖片存到 DB

parsing 網頁用的是 Nokogiri 這個 gem 來負責切 DOM

然後順便加上了 turbolinks 來減少換頁時重複的 request

結果如下圖

另一個則是正妹比一比 這個 project 其實想了很久,原因是我發現男女對於所謂的「正妹」

Read on →

讓你的 Terminal 更潮

Mac 內建的 terminal 就不說了, 先改用 iTerm2

  1. 安裝 zsh

  2. 改成 agnoster theme

  3. 安裝 sloarized

整型前

整型後

在 Ubuntu 上建立 RoR 環境 (AWS EC2)

如何在 Amazon EC2 (ubuntu 11.10) 上建立 Rails Production 環境 (上)

1.系統更新

sudo apt-get update
sudo apt-get upgrade

2.建立 apps 身份

sudo useradd apps
sudo passwd apps
sudo mkdir /home/apps
sudo chown -R apps:apps /home/apps

3.用 apps 身份產生 ssh public key,並將 id_rsa.pub 貼到 github

sudo su apps
bash
ssh-keygen #詢問密碼時直接 enter 保持空白即可,不然需要多作一步,見 PS.1
pbcopy < ~/.ssh/id_rsa.pub
Read on →