2011年2月28日 星期一

幾個 AU-4912 無線網卡的使用問題

最近開始比較常用這張網卡,實在是它的體積很小,很吸引人,之前寫了一篇稍為筆記:USB 無線網卡 - SAPIDO AU-4912 超迷你無線N。用了一陣子,開始發現一些問題,這些問題可能是因為我自己的使用問題,環境資訊:



  • Windows 7 64-bit

  • 網卡數目:主機板內建有線網卡 x1、PCI 有線網卡 x1 、VirtualBox 虛擬網卡 x1,另外,就是這張 USB 無線網卡 x1


其中,我的 OS 有架一個 NAT 服務,也就是上述的 PCI 網卡是拿來架 NAT 的。


問題一:


假設把 AU-4912 架起 Soft AP 時,將導致 PCI 提供的 NAT 服務失效。


這邊可能的解釋是:


對外連線使用主機板內建網卡,當 PCI 網卡提供 NAT 模式時,等同於搶了主機板內建網卡的資源,然而,當啟動 Soft AP 時,此時又變成 AU-4912 網卡搶了系統對外連線資源,導致 PCI 提供的 NAT 服務出了問題。


目前我還沒想到好得解法,大概只有把 Soft AP 關掉時,這時候 PCI 網卡的 NAT 服務才能恢復正常


問題二:


AU-4912 + Windows 7 64-bit


出現藍白當機畫面,顯示資訊關鍵字:RTL8192cu.sys


可能的原因以及解法:


這是因為我買了第二張 AU-4912 無線網卡,把第二張插入主機的 USB 孔時,無論怎樣馬上出現藍白畫面!呈現的內容如上圖。


原先有點失落,也準備去購買的店換一下,只不過工程師的直覺,馬上讓我想到可能的出錯問題:驅動程式與資源的存取,於是開始行動!一開始我想透過 devmgmt.msc 來移除舊的驅動程式,但實在不知該移除哪一項,突然腦筋一轉,直接跑去把 C:\Windows\System32\drivers\rtl8192cu.sys 換個位置(移除驅動程式),於是解決了藍白問題。等同於讓他重新抓驅動程式


這個現象可能是第一張 USB 網卡已經將把相關硬體資訊綁在驅動程式裡,結果第二張 USB 網卡插入時,可能會被當成已經設定 ok ,但當要啟用網卡時就產生問題。我不太確定這個是因為 Windows 7 64-bit 的作業系統的問題,還是 AU-4912 無線網卡本身的設計問題,例如 ID 並非 unique 等


總之,這些現象對一般的使用者來說,應該不太會出現,只能說我使用的環境有些特別吧 Orz  在此順便筆記一下。


2011年2月26日 星期六

[電影] 3 idiots


之前在網路上就看過這個短片,幾個禮拜前,大學認識的學弟跟我說了這部片,要我一定要去看!這部片我今晚看了,豈是一個讚字了得!


裡頭有不少的經驗或觀點的分享,我覺得很 Nice !有些小事跟自己的體驗很接近,例如信念這件事,我在大五那年有了很深刻得體驗,我本身算是個無神論者,但最後我選擇了一種信仰,那追求的是一種心靈的穩定。人都需要一個好的信念,這個信念雖然不會很真實地改變生活,卻能讓人穩定情緒的,最重要的是要樂觀以及進取。


除此之外,我也體會得出那電影中所提及的貧困生活,那卑微地只剩數字可以衡量,這在電影裡也描繪的很生動。另外,也讓我想起工作相關事物,看了這部可以更加讓我確信要走的路 :)


很高興能看了這部電影,希望有興趣的可以抽空看看,我啊,真的越來越愛看低緯度的電影囉!


2011年2月24日 星期四

期待下一次,不如靠自己


好像三年前的廣告吧?去年跟幾位同事閒聊,發現大家對工作的衝勁並不多,今年原先很期待新的案子,結果搞到最後不是做當初說的工作內容 XD 一時間就想到想到這則廣告。過完年就好好思考,不能太期待工作能夠給予你什麼,這條船上大家各有各的盤算,我想,更當規畫自己的目標才是。去年就預約了一本 Android 書籍,春節前剛好輪到我,雖然網路上文獻不少,但有書可翻可以看到完整的筆記,只是偷懶的結果,書到期了卻還沒看完,最後把心一橫,就決定買書了,買了一本拍起來會有四條線的書。


在圖書館是借第二版的,買的是第三版,對我可能也算新書吧?!對於第二版的開頭看幾眼也滿有感觸:


"我們當中有太多人一直在等待, 等著做一些完美的事. 結果是一事無成...", By William Feather , 中譯出於 Android 手機應用程式設計入門第二版 gasolin 著


四條線的書


這本書買的時候很猶豫,因為第三本出版是 2010.01.20,現在連 Android 3.0 都有聲有影了,不過算了,當作支持作者吧 :D 而我這本是 2011 年 01 月第三版 9 刷,看來書賣的不錯喔!另外,我也覺得作者也滿有心的把一些觀念寫在網站上:androidbmi


雖然我喜歡寫 Objective C 勝過 Java (單純覺得前者比較靠近C語言),但未來應該會買隻 Android 的手機來玩玩,可以恣意地把寫好的程式擺上去跑是愉快的,過陣子也會來 build 一下 AOSP 好了。最近看著 Android 開發環境的成熟,越來越感到興奮了,唯一會反彈的大概是 Android 模擬器開起來也太慢了吧,Xcode 三兩下就好了 XD


[Python] 使用 Django 提供檔案下載的 CGI 服務

最近用了一點 Django,在 MVC 架構下,有時候有點脫褲子放屁 XD 真懷念以前重頭打造自己的 framework 的點滴啊,只不過工作後開發 project 要以維護為重,所以,還是老老實實地用 Django 吧。


關於提供下載 CGI 的部份:


修改 urls.py,新增一條路徑規則:


from django.conf.urls.defaults import *
urlpatterns = patterns('',
        (r'^get_file/', 'project.download.views.get_file'),
)


修改 views.py,新增檔案下載的對應函數:


from django.shortcuts import render_to_response
from django.template import RequestContext
from django import http
from django.http import HttpResponse
from django.core.servers.basehttp import FileWrapper

import simplejson
import sys, os, os.path
from time import mktime, gmtime, strftime, localtime
import cStringIO as StringIO

def get_file(request):
filename = request.POST.get('filename',None) or request.GET.get('filename',None)
message = ''
if filename <> None:
file_path = os.path.join( "/tmp" , filename )
if os.path.isfile( file_path ):
try:
response = HttpResponse( FileWrapper(file(file_path)) , content_type='text/plain')
response['Content-Length'] = os.path.getsize( file_path )
return response
except Exception, e:
message = stre(e)
pass
return render_to_response( 'error.html' , { 'message' : message } )


有時候若是動態產生出的結果,那就改成:


from django.shortcuts import render_to_response
from django.template import RequestContext
from django import http
from django.http import HttpResponse
from django.core.servers.basehttp import FileWrapper

import simplejson
import sys, os, os.path
from time import mktime, gmtime, strftime, localtime
import cStringIO as StringIO

def get_file(request):
filename = request.POST.get('filename',None) or request.GET.get('filename',None)

       output =  'filename:' + str(filename)

       # 轉 JSON 格式
       # output = simplejson.dumps( otuput )

        out = StringIO.StringIO()
        out.write( output )
        response = HttpResponse( FileWrapper( out ) , content_type='text/plain')
        response['Content-Length'] = out.tell()
        out.seek(0) 

return response


比較重要的是 get_file 之使用 StringIO.StringIO 時,最後別忘了 seek(0) 啊,不小心卡在這邊所以筆記一下。


透過 Google Maps 顯示 GPS 軌跡 (GPX)

gpx


丟一些關鍵字問問 Google ,發現一些討論文都在講透過別的網站作提供 GPS 軌跡服務,還有透過一些 Google Docs 轉換等等,後來看到有人把 KMZ 格式丟給 Google Maps 就能呈現,心一想,該不會他也懂 GPX 格式?(答:略懂、略懂)於是就丟給 Google Maps 測試,發現真的略懂!所以,也省得我用 Python 把 GPX 轉成 KMZ 囉!


2011年2月23日 星期三

免費申請 edu.tw 信箱

台灣有些服務需要使用 edu.tw 的信箱,例如 BBS 認證等,今天突然想起亞卓市,這個大概跟 kkcity 差不多年紀的東西?我記得 10 年前剛開始紅的 BBS 跟架網站服務,其中 kkcity 就提供 bbs 的環境,而亞卓市算是個人網站的服務,當然,還有非常多家網站空間的服務啦,只是剛好讓我想把這兩個年代擺在一起。


只要去申請亞卓市 http://www.educities.edu.tw 的會員,就可以免費得到一個 educities.edu.tw 結尾的信箱啦!如此一來,有一些驗證服務只吃 edu 的,就可以拿來用囉!例如當紅的 dropbox ,邀請 edu.tw 的信箱可以獲得 500MB 的空間容量 XD


2011年2月22日 星期二

在 iPhone 3G, iOS 4.2.1, JB 安裝 libgcc 和 iphone 2.0 Toolchain

沒想到 JB 後,從 Cydia 更新到最新時,對於手上這台 iPhone 3G 來說,有些軟體不會顯示出來或無法安裝,之前還被強者主管說怎可能沒有 XD 花點時間仔細看看,有一些好用的工具都需要 libgcc ,但是預設沒有 libgcc 可以安裝,查看一些資訊可能是因為 iOS 版本不同會產生一些問題,因此軟體清單被過濾掉了吧?!總之,就是要花點力氣弄一下,我的目標是安裝 iphone 2.0 Toolchain ,更仔細來說是使用 otool 這種東西。


解法,就在 Cydia 作者網站: http://apt.saurik.com/debs/,上頭有 libgcc_4.2-20080410-1-6_iphoneos-arm.deb,只要透過 wget 抓到 iPhone 上面安裝就行了



  1. 透過 Cydia 安裝 OpenSSH, 別忘了登入後要改一下 root 密碼,以免被盜用

  2. 透過 Cydia 安裝 wget

  3. 手動安裝 libgcc

    • # cd /tmp

    • # wget http://apt.saurik.com/debs/libgcc_4.2-20080410-1-6_iphoneos-arm.deb

    • # dpkg -i libgcc_4.2-20080410-1-6_iphoneos-arm.deb




如此一來就可以透過 Cydia 安裝 iPhone 2.0 Toolchain 囉!


提一下額外的,其實我是要用 otool 這個工具,此工具可以用來查看軟體到底用了哪些 framework 囉,藉以研究實作上的方向,例如以 iPhoneApp 這套軟體來看,可以先從 /User/Applications 裡頭看到一些序號目錄,想辦法找到 ooxx 這套軟體,並切換進去:


# cd /User/Applications/xxxxxxxxxxxxxxxxxxxxxx
# ls 
Documents  Librarys   iPhoneApp.app  iTunesArtwork  iTunesMetadata.plist tmp
# cd iPhoneApp.app
# ls -la iPhoneApp
# otool -L iPhoneApp
iPhoneApp:
        /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 359.16.0)
        /System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 678.60.0)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
        /System/Library/Frameworks/QuartzCore.framework/QuartzCore (compatibility version 1.2.0, current version 1.6.0)
        /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (compatibility version 1.0.0, current version 289.0.0)
        /System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 1100.0.0)
        /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.1.0)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
        /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 478.61.0)


可惜的,超強主管已離職了,在這之前我也被分配到作其他案子,也來不及去驗證某個程式是不是用某個方向實做的。當初我是以測資方向去驗證,例如用刪減法處理,餵特定資料給程式,看其結果來猜,馬上被主管唸了,說要更謹慎處理,才有上述使用 otool 的足跡啊,只不過上述問題用 otool 也還不能解掉。


另外,我也在 Ubuntu 把 ooxx 的 binary 檔進行反組譯,是啦,可以看到組語,但我更該珍惜時間 :P 所以沒有衝下去人腦分析,也順便記一下指令:


$ arm-elf-objcopy -I binary -O elf32-littlearm iPhoneApp out.elf && arm-elf-objdump -marm9 -D out.elf


iPhone/iPod 離線地圖,使用 xGPS 和 xGPS Manager


來源:xGPS官網 http://xgps.xwaves.net


去年老早就看到離線地圖的部分,但一直遲遲沒有使用 XD 現在終於來摸一下,在此在 iOS 設備上使用 xGPS 軟體,此軟體需要 JB 後才能安裝,我記得 App Store 上也有一些 Offline Map,有些不用錢,但往往要使用地圖或上傳地圖到軟體裡就要收費了!而 xGPS 是免費軟體,算是一個框架讓你擺離線地圖。


xGPS 官方網站:http://xgps.xwaves.net,上頭有 xGPS Manager 軟體,用來下載地圖用的,因此是使用 Java 寫的,所以算是跨平台,於是就在 Virtualbox 裡面跑了一下:


挑選要下載的地圖範圍:


xgps_manager_01


勾選要幾個 level ,在此僅用預設幾項:


xgps_manager_02


估算下載的地圖大小,此例是127MB:


xgps_manager_03


開始下載地圖:


xgps_manager_04


下載完返回畫面,此檔約 100MB,接著就是傳到 iPhone 上面,該軟體上頭的介面都是透過 wifi 來進行傳輸,也可以自行用 sftp 傳輸,而下載的地圖擺在 C:\Documents and Settings\user\My Documents\xGPS Manage\xGPS_map.db,把它擺進 iPhone 裡的 /var/mobile/Library 中即可,最好上傳到 iPhone 前先下載好 xGPS 以及執行一下再離開,如此一來就會發現 iPhone 裡 /var/mobile/Library 已有 xGPS_map.db,再把它移除改換成下載好的地圖:


xgps_manager_05


如此一來,沒有 3G 網路或 wifi 時,也可以看定位地圖,記得要去設定 GPS 為 iPhone 3G 模式,只是要做路線規畫時,這時還是需要網路的。這套軟體我猜 Android 上頭應該也有類似的吧!而網路上有人分享全台 1~17 的地圖,約 1.4 GB 大小。


除了這種很貼心的軟體外,最近看到越多越便利的軟體被開發出來,手機軟體市場慢慢飽和,但換個角度來說,會有越來越便利的程式出現,也不用自己寫,也是挺不錯的!未來應該會買隻 Android 手機吧!至少開發比較便利 :D


iPhone 3G, iOS 4.2.1, Jailbreak, redsn0w, VirtualBox, Windows XP @ Ubuntu 10.04

iphone status list


之前一直想透過 VirtualBox 進行 jailbreak,不過都卡在 USB 裝置的問題,也就是 iPhone 3G DFU Mode 無法在 Virtualbox 內使用。今天終於狠下心花點時間找一下,終於成功了。此篇測試目標是 iPhone 3G + iOS 4.2.1 使用 redsn0w 並在 VirtualBox 進行 JB,其他環境可能會有問題(如對象改成 iPod Touch 4)!另外,最新的 JB 方式是使用綠毒 GreenPois0n,可以完美 JB 新出的 iOS 設備,請避開使用 VirtualBox 進行 JB 並且請找其他文章參考


環境:



VirtualBox 卡關問題:


為何在 Virtualbox 裡的 Windows XP 無法啟用 USB 連結 iPhone DFU 模式(呈現灰色無法選取),主因是權限關係,請用 root 權限跑 Virtualbox 即可,在要留意的,使用 sudo Virtualbox 後,是透過 root 權限執行,只是必須重新新增 VM 等過程,有試著使用 sudo -u user 的方式執行,其結果還是不行,倒是在 sudo Virtualbox 模式下,掛載之前已建好的 VM 是沒問題的。


除了將 iPhone 弄成 DFU 模式會碰到這問題外,其實透過 iTunes 將 iPhone 裝置進行回復,等到要啟動 iPhone 設置時,也會碰到同樣的問題。


猜測 VirtualBox 這樣的設定是避免使用者不小心接到一些特定使用的 USB 裝置,例如不小心綁住了滑鼠等,而不小心綁住可以透過拔掉重插 USB 裝置來改善。


@ 2011/03/30:參考 gslin 文章 - Ubuntu 上跑 VirtualBox 連接 USB 裝置…,這的確是權限問題,但僅需將使用的帳號也加到 vboxusers 的群組裡,重開機後就可以解決。


$ sudo vim /etc/group
vboxusers:x:123:user


關於 jailbreak 前提:


關於 unlock 部份,iPhone 3G 現階段解鎖方式是透過把數據機韌體(Modem Firmware)升成 iPad 3.2.2 的版本,將產生 GPS 功能失效的問題,除此之外將導致未來無法透過 iTunes 進行更新。因此,若有鎖版的 iPhone 請自行評估,不要冒然往前衝 XD


流程 1 - 使用 root 執行 VirtualBox:


在 Ubuntu 10.04 的機器上安裝 VirtualBox 4.0.4 r70112 以及 VirtualBox 4.0.4 Oracle VM VirtualBox Extension Pack 後,還要安裝一個 Windows XP with SP3 的環境


以 root 權限執行:


$ sudo VirtualBox 


流程 2 - 接下來的動作都在 Windows XP :



  1. 從 DevTeam 官網上下載 Windows 環境的 redsn0w 軟體,在此使用 redsn0w_win_0.9.6rc8

  2. 確認 iPhone 3G 是 iOS 4.2.1 版本,若不是可透過 iTunes 更新。取得 iPhone1,2_4.2.1_8C148_Restore.ipsw 檔案

  3. 使用 redsn0w_win_0.9.6rc8 ,執行裡頭的 redsn0w.exe 檔案並依照其流程進行


初次執行,會要求你驗證 IPSW 檔案,此例就是:iPhone1,2_4.2.1_8C148_Restore.ipsw


01


驗證過程:


02-1


驗證完訊息:


02


挑選 jailbreak 項目,在此僅用預設項目,也是自己開發會玩得東西,其他像 unlock 等東西不選取:


03


接著要將 iPhone 弄成 DFU 模式:


04


簡單的教學,如果已經是 DFU 模式,則會跳過此步:


05


接下來是才是重頭戲,由於過程很多且快速,在此僅截圖幾張,記住有個關鍵的技巧,當畫面卡在 wait for reboot 或一直沒反應時,可以透過 VirtualBox 右下角的 USB 設備,將 Apple Computer Inc. USB DFU Device 進行 unmount 或 mount 動作,即可解決:


20


21


22


23


24


25


整個流程會看到 iPhone 3G 的畫面有變化,也進行開機、安裝東西,甚至出現一隻鳳梨人,沒多久就重新開機了,最後就可以看到 Cydia 在畫面囉!


2011年2月21日 星期一

使用 Python 處理 XML 資料

範例:


<?xml version="1.0" encoding="UTF-8"?>
<TagName AttributeIntName="1" AttributeStringName="test">
<SubTagName AttributeIntName="2" AttributeStringName="example"/>
</TagName>


程式碼:


from xml.dom import minidom

raw_data = """<?xml version="1.0" encoding="UTF-8"?>
<TagName AttributeIntName="1" AttributeStringName="test">
<SubTagName AttributeIntName="2" AttributeStringName="example"/>
</TagName>
"""

if raw_data <> None:
xmldoc = minidom.parseString( raw_data )
for tagInfo in xmldoc.getElementsByTagName('TagName'):
#print tagInfo
_attributeIntValue = tagInfo.getAttribute('AttributeIntName')
_attributeStringValue = tagInfo.getAttribute('AttributeStringName').strip().encode('utf8')
                
               print _attributeIntValue, _attributeStringValue

for subInfo in tagInfo.getElementsByTagName('SubTagName'):
_subAttributeIntValue = subInfo.getAttribute('AttributeIntName')
_subAttributeStringValue = subInfo.getAttribute('AttributeStringName').strip().encode('utf8')
   
                        print _subAttributeIntValue , _subAttributeStringValue


執行結果:


# python t.py
1 test
2 example


 


2011年2月20日 星期日

[Unix] 使用 Tarball 簡易安裝 Squid Proxy Server @ FreeBSD

兩年前曾寫過一篇是安裝在 Windows XP 的,當時只是無聊試完 SSH Tunnel 後找的樂趣。直到出國後,才又回想起 Proxy 的重要性,在台灣太習慣順順的網路以及沒有限制的瀏覽。


去年底在 FreeBSD 8 的環境下,使用 tarball 方式架了 squid ,也不用 root 權限就可以跑在指定的 port 囉,唯一的限制應該是此台機器要有 public ip 以及沒有防火牆的問題,在此筆記一下,此例僅使用 IP 作為使用服務的管控:



  1. 在官網 http://www.squid-cache.org/ 下載 Squid ,在此使用 squid-3.1.11.tar.gz

    • # cd ~/ && mkdir tmp && cd ~/ && wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.11.tar.gz



  2. 解壓縮在 ~/tmp 

    • # tar -xvf squid-3.1.11.tar.gz



  3. 編譯並指定安裝在 ~/tarball (此以 /home/user/tarball 為例)

    • # cd ~/tmp/squid-3.1.11 --prefix=/home/user/tarball 

    • # make && make install



  4. 運行

    • # cd ~/tarball

    • # ./sbin/squid -z  (Create swap directories)

    • # ./sbin/squid




接著可以用 ps -aux | grep squid 來查看有沒跑起來:


user    6329  ...   12:49上午   0:00.00 ./sbin/squid
user    6331  ...   12:49上午   0:00.04 (squid) (squid)
user    6354  ...   12:50上午   0:00.00 grep squid


預設使用 3128 port 並且僅允許 localhost 使用,透過 telnet 連一下:


# telnet localhost 3128
Trying 127.0.0.1...
Connected to localhost.domain.
Escape character is '^]'.


透過 sockstat 查看,會有類似訊息:


# sockstat | grep squid
user    squid      6331  6  udp4 6 *:49340               *:*
user    squid      6331  7  udp4   *:49936               *:*
user    squid      6331  13 tcp4 6 *:3128                *:*
user    squid      6329  5  dgram  -> /var/run/log


上述算是簡單跑了起來,但是根本還不太能用,因為此服務僅限 localhost ,假設以 123.124.125.126 此 IP 以及 123.125.0.0 此網域為例:


# vim ~/tarball/etc/squid.conf

acl MyIP 123.124.125.126
acl MyNet 123.125.0.0/16

# ...

http_access allow MyIP
http_access allow MyNet

# And finally deny all other access to this proxy
http_access deny all


設定重新讀取設定檔即可:


# ~/tarball/sbin/squid -k reconfigure


別忘了可透過 ~/tarball/sbin/squid -h 查看有什麼功能可用


其他部分,大概就是改變運行的 port 等用法,在去 squid.conf 裡找 http_port 資訊吧


最後,在 squid 進行服務時,也有一些 logs 檔案可用來監控或查看服務狀態:


# cd ~/tarball/var/logs
# ls -l
-rw-r-----  1 user  group    92  2 21 00:54 access.log
-rw-r-----  1 user  group  2133  2 21 00:54 cache.log


# tail -f access.log
可以看到一些存取記錄 


剩下的有空再來摸摸,例如透過帳密來限制存取 proxy 服務或是寫支 script 分析 access.log 等。另外,由於這次我是架在某長輩管的機器,因為人從國外連回來,讓他看到奇怪的 IP 緊張了一下,特別又是跑了一些網路服務。透過他的分享,原來是平時就保持好習慣,常常透過 last 和 sockstat 來查看系統狀況,真的還不錯喔!偉哉長輩啊。至於我使用 Squid 部分,由於是架給國外親友使用,目前還透過 crontab 定期跑 /home/user/tarball/sbin/squid 哩,因為 squid 預設是 daemon 狀態,所以還滿 ok 啦


補充 - 使用帳密管控 @ 2011/02/21 


在此使用 ncsa_auth 方式,好處是帳密跟原先 proxy server 分開,以免 proxy 帳密遺失導致系統被入侵,其他方式可以查詢 Features/Authentication - Squid Web Proxy Wiki



  1. 確認系統可以是用 ncsa_auth 方式

    • # ls -l ~/tarball/libexec/ncsa_auth
       /home/user/tarball/libexec/ncsa_auth

    • # which htpasswd 
      /usr/local/sbin/htpasswd



  2. 建立 ncsa_auth 帳密檔

    • 暫時擺在 ~/tarball/etc/passwd.ncsa,可以用 touch ~/tarball/etc/passwd.ncsa 或 htpasswd -c 的方式建立

    • # htpasswd /home/user/tarball/etc/passwd.ncsa proxy_user
      New password: 
      Re-type new password: 
      Adding password for user proxy_user



  3. 更新 squid.conf 檔案

    • 透過 IP 和帳密管控可以同時進行,唯一要得留意的是設定檔的順序,要記得把 IP 管控寫在帳密管控的前面,這樣使用 IP 的就不需要輸入帳密

    • # vim ~/tarball/etc/squid.conf


      #
      # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
      #


      auth_param basic program /home/user/tarball/libexec/ncsa_auth /home/user/tarball/etc/passwd.ncsa
      auth_param basic children 5
      auth_param basic realm Squid proxy-caching web server
      auth_param basic credentialsttl 2 hours
      auth_param basic casesensitive off 

      acl my_ip src 123.234.123.123
      acl pass_by_auth proxy_auth REQUIRED

      # 留意順序
      http_access allow my_ip
      http_access allow pass_by_auth

    • 重新讀取設定檔就行了! ~/tarball/sbin/squid -k recofigure




轉變

view


老家在市郊,小學三、四年級幾乎每天走路回家,上了國高中,只有兩次從學校走路回家,大概要耗一小時才能到家,偶爾在街上剪完頭髮也會散步走走,看看臭水溝、路邊的雜草,分外愜意。這張圖,看得出來是哪種店面嗎?


這是家鄉火車站前的唱片店,小時還會看到大排長龍的簽名會,上一次無意間看到的藝人活動,好像碩班返家時遇到的,只是地點不是這間,而是附近的光南。這間在 2008 年三月左右,開始往格子商店走,當時一樓只有一面3~5公尺的牆壁,隨著時間,今年應該算第三年了吧?發現擺設唱片影劇的範圍萎縮不少,前方已擺上滿滿的格子商品了,更別說二樓全部的空間都是格子商店。我記得看過火車站前的租屋價碼,大概一個月 15 ~ 20 萬跑不掉。以上述那間店的情況,光出租格子商店的服務,應該還是有小賺喔。


改變,漸漸地抹掉過往的回憶,或許現階段的感傷只是種不習慣的後遺症吧。


2011年2月19日 星期六

專心,把事做好


去年就想寫寫這類心得,但遲遲一直沒下筆,不然就是三兩句就刪光光。記得當年年紀小,每次看到家人下班疲憊的身影,總會丟一句要不要準備考公務人員,說什麼每天下班後抽時間來唸書啊,直到我開始工作後,我發現這樣的想法是稍微無知的,因為一天只有 24 小時,扣掉睡覺、工作時間,好運一點剩八小時,然後又要分給吃飯、交通、洗澡,那放鬆咧?當然也不要忘記!計算下去啊!


前陣子買了電視卡,結果發現下班偶爾會想看兩津堪吉 XD 這動畫我在碩班已經啃過一遍囉,第一次接觸是在大學系計中,當時看著同學再看搞笑的漫畫,還不懂他為啥一直看,直到我看了動畫後,才了解這種真諦,甚至搭客運時,看到旁邊的上班族笑得合不攏嘴呢!只可惜,時間沒拿捏好,就這般地流逝,最後我又回歸到聽廣播的生活了,呃,那台網樂通,還沒啟用說,當初買電視卡算是為了他 XD


這份工作快滿一年半了!常常接觸新東西,缺點也會容易迷失自己,彷佛像別人追隨名嘴投資股市,一件事還沒做完,馬上就得跟著錢人的眼光又走另一條。體會了,專心,是一件很重要的!工作方面,單位裡的強者跳槽了,有很強烈的失落感,就像 CTO 離去了,細想卻也是個不錯的時機點,提醒自己要自行學習留意,不要向雛鳥那般張嘴等技術。另外,工作以外的事情,也將花心力去規劃。今年比起去年的心態好很多,除了收斂外,也開始身體力行去實踐一些計畫,例如簡單的練習寫寫非常簡單的英文等。


剩下的,如同上述影片,除了專心以外,還要有點勇氣。今年對我而言應該是人生中滿重要的一年,希望年末可以有個好收成!


2011年2月13日 星期日

大陸劇 三國演義 DVD


來源:博客來DVD館 > 三國演義(上) 8DVD三國演義(下) 8DVD


週末若上台北,大概會去逛一下賣場,常常會逛逛出清價的影音區,例如動畫一片 19 元、老電影一片 29 元等,一兩年前的戲劇大概賣 158,貴一點的賣199元。上述就是三國演義的大陸劇,一盒也是一樣都賣 199 元,當下十分心動!另外也有看到韓劇愛在哈佛等的,全集也只要 199 吧。


原本以為只有我會這樣,但旁邊大概站了兩位媽媽或阿罵級的,手裡一拿就是五六盒,彼此還在分享哪部已經收藏了,好讚啊。我現在比較不清楚的是各部的情況,例如三國演義,我記得兩三年前在亞洲唱片有看到一樣是兩盒裝,一盒可要價 450 元,而在賣場也有看到的是三盒裝,一盒是 158 元的,但感覺 199 那包裝的比較精美,在博客來上面也查到 199 的發行是 2011/01/20 的喔!


逛逛網路,才發現其實網路上的購買也不會太麻煩,但沒有比較便宜多少,還有運費問題,如:



大多都可以從左邊的分類慢慢找尋。另外,Adios大神也留言提醒,有的 DVD5 有的是 DVD9 ,查了一下這個應該是儲存技術,DVD9比DVD5儲存容量大,所以有的 DVD 片比較少,另一個需要留意的是影像畫質,不過這些我都還沒經驗,如三國演義數位復刻版(上)DVD三國演義數位復刻版(中)DVD三國演義數位復刻版(下)DVD三國演義-桃園三結義DVD(1-26集)+三國演義-赤壁之戰DVD(27-51集)+三國演義-三國統一DVD(52-84集) 等。


回想起來,上一次在賣場看到動畫快打炫風,分兩片,共 2x 集的樣子,一片僅需19元說!一直沒把全部看完,當下也動心想買,最後還是收手,覺得沒啥時間看 XD 最近也有感看電視花費時間很多,正要努力規劃生活,影音收藏計劃就慢慢來吧!


2011年2月10日 星期四

戒了 iPhone、iPod touch 和 iPad 產品

iPhone、iPad 甚至 iPod Touch 4,是這一年來大家的寵兒,最近差不多戒了。因為工作關係有接觸它們的機會,從一開始總會帶著,一個月後 iPad 開始被我關在櫃子裡,因為不想一直帶著這麼大台的東西,並且工作又遲遲沒有正式開始。整體上我喜歡 iPhone > iPod touch > iPad ,但工作上會反過來。


至於戒掉的主因很簡單,生活沒了它們也不會怎樣。像 App Store 有很酷炫的遊戲,但 PC 也有啊,另外也有一堆吸引人的照片軟體,但真正有價值的卻是那當下拍下照片的點滴,手裡拿著多有價值的程式,卻沒有回憶,這不是空虛可道盡的 XD 所以,開始放下這些設備,回歸樸實吧!最近還沒戒掉的,大概還是會去下載限時免費的程式或遊戲 XD


整體上手持設備最方便的地方是收信、看看即時社群訊息,偶爾出遊時使用 Map 服務,但大多都被前兩者"綁"住了 :P 就好像 SA 的壞習慣,永遠要把信箱清空!


自從享受過一星期不接觸 3C 的生活後,真正感受到資訊解放的樂趣啊!要好好規畫生活囉,用足跡代替打字的樂趣吧!!


2011年2月8日 星期二

驗證 GPX 格式

GPX 全名為 GPS eXchange Format。簡單來說是儲存 GPS 座標的一種標準格式,細節可以查看 wikipedia gpx


目前格式有 1.1 和 1.0,不過上次開會好像有聽到 2.0 ?! 總之,先用看得到的標準吧,官方網站:http://www.topografix.com/,上頭有一些範例:



而 GPX Schema:



驗證方式:



2011年2月7日 星期一

追求什麼?

sunny


年假去一趟國外,讓我回想起國高中的年代。記得那時沒什麼經濟或升學壓力,成天泡在 BBS 上頭,聽著深夜廣播、看些網路文學,也嘗試發表己見來獲得回應,那時還滿常跟好友閒聊人性層面得議題,回想起來也滿好玩的。只是升了大學,有了經濟壓力,我反而不再像過去那般灑脫,要擔心吃一頓飯花多少錢,有多少功課要做,斤斤計較,久而久之,不再思考一些未來規畫,倒是喜歡上走一步算一步的生活,這種體驗就像那字句:「見山是山,見水是水;見山不是山,見水不是水;見山仍是山,見水仍是水。」我也喜歡自然定律,動態平衡,最低能量、最大亂度。有時會很在意,抑或思索極深,但走到最後反而見山是山,也稱得上物極必反吧?


這次在國外得以放空,想了很多事,例如工作部分,看到傳統業以管人為主的生活,雖然薪資稱不上科技業,但裡頭用到得智慧絕不簡單於0與1得世界,並且沒有正解!我很佩服他們忠於公司的精神,碰到困難會努力克服,不像科技業三兩句就容易抱怨福利,哈,這種影響大概是資訊的互通有無,難怪各個公司都會把薪資納為保密項目,因為知道得越多,那心裡不平衡得越多。記得我碩班的時候,看到從事科技業的學長在一間公司待不久時,有感這不是代表不忠嗎?現在比較了解,那也很有可能是公司對你不義啊!隨著資訊擴散,越來越能了解跳槽的意義。只是我看不慣一些人總酸別人的薪資,要嘛說賣生命,不然又說拿去買藥,接著自是清高的說自己是為興趣工作,我卻也覺得賺錢也算是一種興趣啊,你為興趣拋熱血時能得到讚賞,結果為錢時卻只能被酸民酸幾句,這種反應何必呢,唔,不小心扯遠了 XD


出國晃了一下,其實是讓自己脫離習慣的生活圈,人是習慣性動物,在國外不帶電腦類 3C 產品,頂多數位相機,完全就不會想程式該怎樣寫,這樣的感覺很讚,可以完全得到放鬆,這大概是旅行的意義吧?我一直認為在台灣旅遊也有同樣的效果,但到國外的好處是透過不同的生活方式,比較有新鮮感,而台灣是熟悉的,感覺只要幾會兒就會被拉回工作事務,這也是為啥我下班不看公司信箱的選擇 :P 想要把上班跟下班切乾淨,至少現在的工作內容還可以這樣吧


今年年節讓我回想起很多事物,雖然經濟壓力仍讓我朝著錢的方向工作,但在適當的平衡點上,我也該思索倒底要追求什麼,寫程式不該只想著錢了,也不該一直想著錢寫程式。工作就歸工作,剩餘時間要做些有意義的事情,啊,還有一提的,出國後真的會覺得英文很重要,在工作上總覺得英文還不會有多重要,隨手有電腦有網路就能查到,但出去手無3C產品,連字典都沒得用且多為靠聽跟說,這時候就會覺得英文應該要學好,並且絕對不要為工作學英文,而是要為生活、為溝通學英文。回國後和大四學弟閒聊,發現過幾天他正要去柬埔寨!還是看著 Lonely Planet 的書籍!前陣子 iPhone App 上的 Lonely Planet 系列旅遊軟體有免費,我有下載一大堆,雖然只翻了莫斯科,但整個感覺很不錯。自助旅行的花費其實沒有想像中的貴,但要夠勇敢,最重要的是飲食跟自身安全。


每個人都有各自旅遊的目的,我想,我的應該是讓自己抽離現狀,回顧一下生活以及享受一下當地的歷史文物,至於 shopping ?大概離我還很遠吧,畢竟 3C 買多了,有種體悟,當下總會覺得買了某款 3C 產品生活會因此躍進,然而事實證明,生活還是依舊 XD 只是適時享受 3C 產品得心態還是該有的,只需用娛樂的心態犒賞自己就好。


越南胡志明市之旅

map-Ho Chi Minh City - Taipei
圖:Google Maps 上,台灣桃園機場與越南胡志明市新山機場的的相對位置,飛機不會直接開直線啦,飛程約兩小時五十分鐘,但如果要計算相關等待時間,大概從搭上飛機到達目的地,總共約 4 小時吧


第二次出國,這次的目的地是越南。在親自到訪越南前,我對越南的觀感只停留在越南新娘以及很多傳統業都選擇到那邊設廠這幾件事上,啊,還有大學時期玩過模擬器遊戲,越南大作戰/合金弹头,如此而已。



相隔十年,沒想到再次踏上桃園國際機場,目的地是越南,巧的是出國前幾天看了"初戀那件小事 Crazy little thing called love"這部泰國電影,開始讓我對東南亞有不一樣的想法。這部片的劇情可能受韓劇影響不少,有點老梗,但對於青少年情感描述得還算細膩,對兩小無猜的有興趣可以看看。另外一提,如同 YouTuBe 上頭的留言,男生一開口就成了悲劇 XD 我對東南亞的口音還是不太適應。啊,扯遠了。我只想單純想提提,其實東南亞也有不少正妹帥哥的,他們的生活型態跟台灣不會差太多。


回憶上一次搭飛機的點滴,跟學校開的團到美西玩,當時就算到了美西、玩了幾天,結果還有人眷戀著空姐 XD 這次搭機留意一下空姐,不曉得是不是年紀已過了?就覺得她們是飛機上的服務員,頂多肚子餓會期待她們送上午餐,如此而已。如果有人服務周到或笑容可掬,那大概會多留意一點。另外,記得十年前搭飛機時,感覺降落都不太會有感覺,但這次搭飛機時,除了回程最後降落很平穩外,去程有一點點不舒服,技術的好壞是感覺得出來,而同機的小孩也有在起降時哭泣的,還滿多是越南人回娘家。


在越南得這幾天裡,盡管路上得穿著會讓你感到回到台灣的八零年代,但細看安全帽或幾件帽T,其實就跟在台灣沒啥兩樣,都是相似的圖騰,所以一開始看到會百感交集,不少人會想要用落後兩字形容,細想又覺得他們食衣也不到缺乏那樣,大概用復古風來稱呼會比較恰當吧。另外,機車很多,如果要比喻的話,大概就像新竹光復路上的上下班時段,那機車永遠會塞滿小縫隙。有特色的是,在市區開車三分鐘內聽不到喇叭聲是不可能的。


map-Ho Chi Minh City - Phan Thiet


提提旅程,這次跟家人到越南聚聚,在搭車上花的時間不少,大概就類似從桃園機場回到新竹或苗栗,塞車的話,甚至是到台中的距離。首先是到親友的住處休息,第一晚大家一起煮晚餐,我大概只幫忙顧一下烤香腸這種小事,雖然東西不像常見年菜的大魚大肉,但在海外大家煮煮分享一些東西,吃飯聚聚,很讚。隔天到靠近南海的飯店住一晚,可以想成從越南胡志明市往海邊走去,但切確的位置我不太清楚,只知道從親友住處過去要花 2~3 小時。由於下午兩點才能 check in,時間所餘,先到去附近的渡假村(民宿?)吃個中餐,距離飯店車程約 10~15 分鐘。


00 01 02 03 04 05


從 Google Maps 上查看一些別人拍的照片,核對自己拍照的場景,座標大概是 (10.921705,108.111782) 附近吧!看到上圖,應該就比較能體會當下的感覺,有陽光、綿雲、海和沙灘。特別的,一條長長的海岸線,美麗的海灘啊,竟然是私人領域,也就是說靠海的民宿,他們各自切出自己的海灘,雖然對遊客來說沒有明確的界線,但還是可以看到距離民宿較遠的海灘比較多人,那個區塊就比較算是公共區域。在這些渡假村海灘上,看到的就是大批大批的外國人。享受著,差點就忘了要回飯店!在這邊看到的大多是銀髮族,但還是有二三十歲的年輕人在玩帆船、曬太陽、衝浪等。



檢視較大的地圖


這次住的飯店,前方就是全球第五百大的高爾夫球場 Ocean Dunes Golf Club。沒想到事隔多年,此次旅遊第一次跟外國人交談竟然是球童,被問了英文名字跟年紀。不過我跟高爾夫球沒啥緣份及興趣,上一次有印象的大概是書中巴菲特在講老虎伍茲精湛的球技吧!因此只是搭著順風車在球場晃晃。這飯店還滿不錯的,前方有高級高爾夫球場,後方有游泳池以及私人海灘,上頭標記是四星級飯店,殊不知台灣一堆五星級飯店該排到哪邊 XD 在飯店裡看到一些電視節目,才發現台灣的偶像劇也有在頻道上面,以及有人翻譯成越南話,但這真的只是翻譯,不是配音,完全由一個人詮釋所有角色,平淡地把各個演員說的話翻成越南話,對我而言也算是新奇啊。在飯店裡享受晚餐以及隔一天的早餐,這邊的花費不便宜,住的一間有兩單人床,一間約 80 美金,晚餐一人20美金,在飯店的大庭院舉行,有當地人得駐唱,而年節期間,隔天早餐也需額外付錢,一人需要 18 美金,當然,打高爾夫球也是額外的花費。與飯店相關的,吃早餐時,會要你報房號跟名字簽單,只是這次都讓親友招待,不太確定是先繳費還是退房時才結清。另外,外頭的街道上,花費並不會跟台灣差很多,一杯果汁飲料,換算起台幣也差不多要 30 ~ 40 元。



圖:Wikipedia 越南國旗


經過了渡假村洗禮,接下的行程比較偏向於文化部分,旅程的範圍也就在胡志明市了。在胡志明市的街道旁很容易看到兩種旗幟,一個國旗,另一個是黨旗。黨旗是由鐮刀跟榔頭構成的,共產主義。爾後則到南越之前的總統府附近閒晃,前南越總統府現在改成觀光地了,因為在 1975年,南越投降(解放?),南越北越已經統一,並都稱作越南。在前南越總統府裡,可以看到以前的文物及照片,例如地下室裡,排滿了越南的歷史照片,從法國人殖民政府到這幾年迎接外賓的照片等。後來在那邊碰到一位香港或大陸團,導遊很細膩地把每一張照片故事講了一遍,算是另類的撿到便宜吧。越南的文化滿豐富的,據親友的解說,其實就跟華人文化差不多,只是當年被法國佔領了,被創了其他文字,另外,也可能是容易損失自我意識,這大概是被殖民的後遺症吧。



圖:Wikipedia 紅教堂


除了前南越總統府外,附近還有百年郵局和紅教堂。另外,在胡志明市附近,有台灣投資開發地,接續著日韓和中國也依序到來,因此也有台灣、美國、日本、韓國學校等,醫療上也有法國醫院 FV Hospital 等,由於這邊是以各國開發經驗做為規畫,所以道路會比較大條,週遭的餐廳也會有美式風格的披薩店等,但另外一提的,倒是沒看到麥當勞。



檢視較大的地圖


最後,晚上在胡志明市美麗的燈景走走,瞧著這些美麗的燈景,期許著觀光業能夠讓越南更加的炫麗,也希望人民有朝一日能夠都有合適的工作機會。如果要到越南走走,以享受海灘、越南文化為主的行程也還不賴囉!


00 01 02 03 04 05 06 07


聊聊其他部分:



  1. 在越南是連不到 Facebook 的,為此我還特地找了台機器架了 Proxy Server,在這之前我測試了一下,利用 nslookup 查詢 www.facebook.com 是沒有回應的,所以也有人改設定 Google 提供的 DNS 8.8.8.8 因此就能上 facebook ,但我當下還是連不到,倒是架一下 proxy 就順利翻牆了 XD

  2. 台幣與越南幣值比大約 1:700,在渡假村或是胡志明市的餐館裡,容易看到一個冰品要 20,000 ~ 38,000 越盾,大概就就是台幣 30 ~ 55 元,渡假村那邊有的直接用美金,那邊可就不怎便宜,一個人在那邊吃個早中餐很容易就 5 ~ 8 美金了,至於為何總挑比較高級的地方吃喝,主要是因為太偏僻的商街,會擔心衛生問題,大部分台商也都不太敢亂吃,而生病醫療問題也會很棘手的

  3. 越南人的一個月工作收入,大概台幣 1000~3000 左右,而一台新的機車大概台幣 8000~9000 左右,以台灣目前超夯的月薪 17k ~22k 、機車 55k 來說,大概也是要花 3 個月的薪資,可以物質跟收入比,感受一下。錢幣照片可以到 Wikipedia 越南盾rasshia blog - 越南錢幣介紹(上) 查看

  4. 越南貧富差距很大,胡志明市到處有外國人,比台北更加國際化,算是說英文也通,可以在新穎的咖啡店裡看到穿著跟台灣差不多少的越南人,但是,路邊很容易看到穿著簡便的甚至要錢的,據親友閒聊,越南人有的之前戰爭時逃去國外,現在返國的就大部分比較有錢、視野也比較廣闊,也是看得到富家子弟的,然而,也有再遠一點,看到的卻是整家子住在河水旁的小茅屋裡

  5. 前南越是比較溫和的族群也可能因此拼不過兇悍的北越(誤),我比較想提的是關於旅遊安全的問題,據親友說,越南胡志明市這邊還算溫和,不太會有搶劫得事情,但還是多少留意點吧