閒聊Windows7有感

前幾天服務於公家機關的H同學問我關於Windows 7的問題,主要是問軟體不相容以及盜版的問題,他抱怨說,有些軟體在Windows 7上無法使用,有些不能說的秘密的軟體也沒辦法用之前XX的方法來正常使用。我就跟他解釋了,說微軟是很有誠意,早就有緩衝期讓使用者/軟體開發公司能提早轉換到Windows 7,所以不是說一下子就突然要換Windows 7的。然後又跟他說,Windows 7裡好像有個XP相容模式的工具可以繼續讓軟體在XP上執行。邊跟他說明的時候就邊聊,才知道他這樣問(抱怨?)的原因。
H同學服務的單位主要負責測量,所使用的軟體是之前已經離職的同事開發,用來輔助測量工作使用的,也就是說現在沒有人維護了。照理來說,公家機關的人流動率不高才是,但那個已經離職的同事是在業餘的時間自修去做軟體開發,可是卻沒有被適當的升遷,所以就離職,另作打算。至於其他的軟體,像委外開發或是有購買(如AutoCAD)等但沒有簽維護合約的軟體,軟體在Windows 7就有較高的機會遇到問題;那不能說的秘密的軟體多半都是以前可以順利在XP上運行,現在已經不知道更新到哪一版去了的,更不用說了。從這邊可以看出公家機關內部的軟體問題,在一般公司也是會遇到,只是一般公司都會簽訂維護合約以確保軟體可以運作。
電腦大多都是運行XP,經過了這麼多年,總是會舊的,也慢慢被汰換。新的電腦現在都是安裝Windows 7出廠。在第1批安裝Windows 7的電腦來了之後,負責試用的人試用兩天,兩手一攤就說:”我沒辦法適應”,當然辦公室裡的其他人在沒有適當的人教導的情況下,也不是很容易上手,再加上一些軟體都沒辦法用,就一致把Windows 7給隔離了,轉而好好保護執行XP的電腦或者是想把Windows 7降級為XP。電腦的硬體倒是沒什麼問題,有委外進行處理,換了就換,沒什麼好說的。
從閒聊裡,我學到不少:

  • 升級到新的作業系統前,要先試驗單位內的所有軟體都可以正常在新的作業系統上運作,如果不能運作,要儘快尋求協助或更新
  • 單位內若有人有能力去開發、維護一個軟體,那麼這個人就值得留下,不要讓他走了,並且要讓他願意把軟體開源出來
  • 要安排課程與時間讓不熟悉新作業系統的人去熟悉。
  • 不想被軟體公司合約綁住,就要找適當的開放源碼軟體/作業系統來替代。

公家機關在電腦硬體上是可以委外,軟體也是可以,只是我認為應該要取得原始碼,並交給某個特定的單位來維護。這個特定的單位除了維護之外,也可以去開發一些比較偏向專業技術(只有公家機關在用)的系統,這樣應該會比較省錢吧~

django-nonrel之二

另外一個方法是直接參考這篇 4 things to know for NoSQL Django coders的Setting up the environment,裏面有提供一個 zip 連結,下載以後解開,基本上就可以了。這個 zip 提供的 django 是 1.3 beta1。
我遇到的問題是在執行 python manage.py runserver 時所發生的,錯誤訊息說需要 sass,這個工具是一個輔助 css 撰寫的工具,但 10.04 裡所提供的 sass 是 2.x 版的,而 django 裡的 mediagenerator 需要 3.x 的版本。上網找了一下,果然有人遇到,解法是利用 rubygems 來安裝 (Install SASS on Ubuntu 10.04)。
我稍做了一點更動,因為我不想安裝到 user home 裡,所以使用的指令依序是:

  1. sudo apt-get install rubygems1.8 ruby
  2. sudo gem install haml-edge –no-user-install
  3. sudo ln -s /var/lib/gems/1.8/gems/haml-edge-3.1.79/bin/sass /usr/local/bin/sass
  4. sudo ln -s /var/lib/gems/1.8/gems/haml-edge-3.1.79/bin/sass-convert /usr/local/bin/sass-convert

後2個步驟是作 symbolic link,讓 sass 指令能在 PATH 裡找到。最後是預設網頁的問題,這個就請參考 django tutorial 去修改 urls.py 並在 templates 目錄補上預設網頁就可以了。
有點混亂,我試著參考這個 zip 檔案去設定上一篇所開的專案,但 mediagenerator 就是跑不起來。另外就是試著用 tutorial 的 poll 例子去加 admin,可是卻吐 backend 不支援 max 這個方法,研判應該是 admin module內部處理問題。