作者: alextwl

  • 政府歲計會計資訊管理系統 GBA v1.6 於 Win7 安裝方式

    這邊儼然已經成為了萬事屋…

    GBA v1.6 這套會計系統已經有些年代,原本學校是裝在 Win2000 + SQL Server 2000 上頭。正值電腦汰換的時期,於是花了點時間摸索,把它移到了 Win7 上頭。註記一下。
    (閱讀全文…)

  • Couple Pasta 義大利麵

    在台灣大學附近、巷弄裡一家很不起眼的義大利麵店。會發現這家完全只是因為想找一間青年旅遊卡特約店來吃… :P

    店面雖小,應該不到20人座,卻是一間很溫馨的店…
    (閱讀全文…)

  • 使用 Port Channel (EtherChannel) 連接 ESXi 與 Catalyst 3560G

    可參考:

    前陣子曾遇過在 Port channel 上頭跑 trunk 結果鬼打牆的狀況,多台電腦雖然在同一 Vlan,部分電腦卻會隨機發生無法連上 ESXi Guest 的狀況,找廠商來看也摸不著頭緒… 之後砍掉重練解決。

    註記一下這邊跑 trunk 的設定方式。

    • C3560G 的設定:
      !
      port-channel load-balance src-dst-ip
      !
      interface Port-channel1
      switchport trunk encapsulation dot1q
      switchport trunk allowed vlan all
      switchport mode trunk
      !
      interface GigabitEthernet0/1
      switchport trunk encapsulation dot1q
      switchport trunk allowed vlan all
      switchport mode trunk
      channel-group 1 mode on
      !
      interface GigabitEthernet0/2
      switchport trunk encapsulation dot1q
      switchport trunk allowed vlan all
      switchport mode trunk
      channel-group 1 mode on
      !
    • ESXi 的設定:vSwitchManagement Network 的 Load-Balancing 設定為「Route based on ip hash」。
  • 不用另外裝 COM 元件的 Classic ASP 檔案上傳

    都 2012 年了還沒改用 .NET ,不但隔壁系同梯非常不以為然,就連自己也很意外會回頭寫 ASP… XD

    幾乎所有教 ASP 的書在檔案上傳一節,都會要讀者加裝一支 COM 元件(大多是書籍作者自己寫的 xxxUpload 之類的 COM),再透過 CreateObject 帶進來解 multipart/form-data,於是寫一支 ASP 檔案上傳程式變得非常簡單。問題是,若用的是別人家的 Server,就得拜託幫忙裝 COM,而且人家還不一定會答應。

    於是有人就想到拿 Request.BinaryRead 自己解整個 HTTP Request。網路上能找到很多寫得很 dirty 的範例,但大多只能上傳一個檔案,從 Header 撈檔名等等撈法也寫得不是很好。

    最後找到的終極解是 Lewis Moten 寫的 Upload Files Without COM v3 (clsUpload)。除了支援多檔上傳,它幾乎把可能用到的東西都寫好包成一個 Class,也為沒辦法用 Request.Form 的問題解套。

    筆記一下遇到的問題:

    1. 原來的 CStrU() 實作得不好,只處理 single byte ANSI character,對其他編碼是個災難。建議換成另一個版本:Multipart/form-data and UTF-8 in a ASP Classic application – Stack Overflow
    2. IIS 7.5 Content-Length 的問題:若將上傳的檔案存在資料庫,勢必會需要寫另一隻 ASP 從資料庫讀檔,然後再用 Response.BinaryWrite 丟出去。以前我們會自己送 Content-Length,但在 IIS 7.5 底下 call Response.BinaryWrite 時,IIS 會幫忙算 Content-Length,若我們的 ASP 程式也有用 Response.AddHeader 丟一份 Content-Length,就會整個爛掉。
      我不確定這是不是 IIS 7.5 的 Bug、或是實作上有改變,IIS 7.0 以前不會有這個問題。換個角度看,其實這個特性也頗貼心,至少不會發生自己算錯 Content-Length 的問題。
      這可以透過檢查 Request.ServerVariables(“SERVER_SOFTWARE”) 是否為 Microsoft-IIS/7.5 來解決。
    3. Client-side: 搭配 Plupload 來用應該很不錯… 需要另外做 JSON-RPC…
    4. (跟 clsUpload 無關的話題) 現在覺得用 GUID 之類的 identifier 來索引資料庫裏頭的檔案比起 auto increment 好很多,讓外人沒辦法踹數字亂抓檔案。參照:HOW TO: Create GUIDs by Using Active Server Pages in IISHow to generate a GUID in VBScript? – Stack Overflow
  • Temple Grandin 觀後感

    Temple Grandin (TV 2010) – IMDb (中譯:星星的孩子、自閉人生)

    昨晚在國光號上播放的影片,主題是記述一位女性畜產學家的自閉症成長史。片中提到了自閉症天使特有的思考模式與生活習性,以及母親與科學老師如何鍥而不捨地陪伴,最後得以成就孩子。種種情節令人不得不去思考,如何面對自閉症天使的這件事情上;甚至覺得,我們是不是不該以病症來看待具有自閉傾向的孩子,她們只是心智和大腦構造上與一般人不大一樣而已…

    回想起以前曾帶過一堂課,班上剛好就有幾位特別的孩子,不但完全無法專注在課堂上,且一昧地想逃離教室。只記得當時不停去追學生回來,追了又跑,沒有意識到這些孩子的「興趣」在哪。儘管曾試圖用言語溝通 (結果孩子什麼都不說),但沒能用有趣的材料提起孩子們的興趣,除了感到自身的無能,同時對這次經驗也在意許久。

    其實心裡還有很多感想與問題想提出來,等有空再回頭註記一下…

    後來女主角不但在畜產業做出極大貢獻,現在仍任教於科羅拉多州立大學。特地找 Grandin 教授的網頁來看,發現她也有在 TED 演講過,頗有看頭。

    天寶葛蘭汀:世界需要多種思維的人 | Video on TED.com
    (Temple Grandin: The world needs all kinds of minds)

    看見 Grandin 教授站在台上的神情,也依稀感覺得到她很享受眾人聽她講話的感覺呢…