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