庭燎之光 夜未央

夜如何其?夜未央,庭燎之光。君子至止,鸞聲將將。

夜如何其?夜未艾,庭燎晣晣。君子至止,鸞聲噦噦。

夜如何其?夜鄉晨,庭燎有輝。君子至止,言觀其旂。

南韓資優生的程式教學

以下所摘要的內容,為南韓 KAIST 對於大一不分系學生所開設的程式語言課程規劃,自 2010 年春天開始,由原本的 Java 教學改為 Python, 這項改變與 Java 程式語言本身的功能與用法的優劣完全沒有關係,重點在於,這個專門招收南韓資優生的大學,經過幾年的嘗試,終於體認, Python "或許"比 Java 更適合用來作為大一的第一門程式語言課程.

美國喬治亞理工學院, MIT,與 Google, Yahoo, Red Hat 大量採用 Python 的案例,或許對於採取此一改變的大學,提供了更有力的背書.

Java 與 Python 都是一時之選的高階程式語言,但是對於初學者而言, Python 應該比 Java 更容易聚焦在演算法與邏輯概念的教學與印證.

南韓已經跟進,那台灣呢?

栩栩如生的經驗

原本以為產品生命週期管理的架構大概會是科技管理的終點站,短期內只要落實 PLM 的機制,就能夠克敵制勝,因為整體涵蓋的範圍已經從"產品概念"一直到"資源回收",以產品導向的公司而言,應該無法再往下延伸,頂多只能再啟動另一個階段的 PLM,其實不然,因為整個過程中的每一個細節與專案,都永無止境,可以永續突破與改進.

這樣的概念,可以由 SolidWorks 2010 的年會中所揭櫫的"Lifelike Experience"口號,嗅出一些端倪,各位致力於 PLM 的看官們,革命永遠不會成功,同志終身都必須努力.

Notepad++ 與 Portable Python

http://arccos.blogspot.com/2009/03/notepad-python.html

說明了如何在 Notepad++ 中使用系統所安裝的 Python,或者必須要提供給 Notepad++ Python.exe 所在的絕對目錄,這點對於可攜的 Portable Python 與 Notepad++ 來說都不甚方便,雖然可以透過 subst 的方式,在每次隨身裝置啟動後,執行一次資料的對應,但是最簡便的方式,可以透過以下設定完成兩者的整合:

1. 將 Notepad++ 放到 Portable Python 的目錄中.

2. 在 Notepad++ 中編輯一個批次檔 exec_python.bat,內容為,

cd ..
python %1

3. 在 Run->Run 的外部指令對應中,輸入

cmd /k exec_python.bat "$(FULL_CURRENT_PATH)" & PAUSE & EXIT

4. 最後將此一指令存成快捷鍵,名稱存成 python, 並且與 Ctrl+Alt+Shift+P 對應.

設定完成之後,就可以在 Notepad++ 中編輯 Python 程式,然後按 Ctrl+Alt+Shift+P,啟動執行.

簡約乃極致精巧

"Simplicity is the ultimate sophistication."  – Leonardo da Vinci

簡約乃極致精巧

"Simplicity is the essence of happiness." – Cedric Bledsoe

簡約為幸福之本

五個階段的 PHP 資料庫連結

PHP 的資料庫連結,共經歷過:

1. PHP 透過 COM 以 DSNless 連結 Access 資料檔 (Windows 環境)

2. PHP 透過 ADODB 連結 Access 資料檔 (Windows 環境)

3. PHP 透過 ADODB 連結 SQLite 2.0 資料檔 (Windows 與 Linux 環境)

4. PHP 透過 ADODB 連結 MySQL 4.0, 5.0 資料庫 (Linux 環境)

5. PHP 透過 ADODB 連結 SQLite 3.0 資料檔 (Windows 與 Linux 環境)

基本的 PHP 程式,則由 4.0 過渡到 5.0,以下為相關的資料庫連結設定:

function access_connect($database_name)
{
global $dbc,$connstr;
// this is for sqlite 3.0 through adodb and pdo
$dbc = NewADOConnection('pdo');
$dbc->SetFetchMode(2);
$connstr="sqlite:".dirname(__FILE__)."/".$database_name;
$dbc->charPage=CP_UTF8;
    if ($dbc->Connect($connstr)==NULL)
    {
        $output="無法連接到資料庫";
        return $output;
        exit;
    }
}

twCMSimple 中文 3.3 版釋出

請到

http://cmsimple.cycu.org/?Download_twCMSimple 下載

在台灣希望在中華電信註冊一個特有的網路符號名稱,費用為每年新台幣 900 元(其他服務商的收費更便宜,但若是公司,建議還是在中華電信登記 Domain Name).

在台灣的虛擬主機,只要能夠支援 PHP,就能夠執行 twCMSimple,費用一年大約為新台幣 1000 ~ 5000 元(當然還有更便宜的其他網路服務商).

為何要這麼努力開發 GPL 程式?

1. 許多歐美人士,已經在某一 GPL 程式套件中,投入 95% 的人力物力,我們只不過給它中文化,修改 5% 的程式碼,讓全世界的許多朋友,都能夠有一個功能更完整的免費程式可以使用,因而樂此不疲.

當然,更重要的是,我們不想成為某一 GPL 程式套件發展流程的破壞者,只顧享受 GPL 帶來的好處,修改 5% 的程式碼後,將套件以編碼的方式釋出,甚或全面修改著作權宣告,將程式碼據為己有.

以 Python 查驗檔案 md5 值

根據這篇網誌的說明,可以利用以下的 python 程式查驗特定檔案的 md5 值.

#!/usr/local/bin/python

import os, sys
import hashlib

def md5(fileName, excludeLine="", includeLine=""):
    """Compute md5 hash of the specified file"""
    m = hashlib.md5()
    try:
        fd = open(fileName,"rb")
    except IOError:
        print "Unable to open the file in readmode:", filename
        return
    content = fd.readlines()
    fd.close()
    for eachLine in content:
        if excludeLine and eachLine.startswith(excludeLine):
            continue
        m.update(eachLine)
    m.update(includeLine)
    return m.hexdigest()

if __name__ == "__main__":
    for eachFile in sys.argv[1:]:
        print "%s %s" %(md5(eachFile), eachFile)

twCMSimple 中文 3.2 版釋出

最新版的 twCMSimple 中文 3.2 版已經完成,並在今天釋出,歡迎到

http://cmsimple.cycu.org/?Download_twCMSimple 下載.

CMSimple 中文版的特點如下:


1. 可以正確顯示中文簡體與繁體內容,原來的英文版本,在 UTF-8 編碼下,碰到特定的中文組合內容,會出現亂碼.

2. 可以正確使用中文命名的影像檔與上下傳檔案.

3. 可以將網頁的管理密碼進行編碼,以增加資料的安全性.

4. 適用於 Windows 與 Linux 操作系統.

5. 上傳影像檔時,系統自動產生縮圖,內容頁面插入縮圖,編輯器自動產生連結至原圖.

6. 適用於 Shared SSL 環境.

7. 內建 wrapper plugins.

嘉義燈會系列報導(二)

施工中的嘉義燈會主燈,希望完工後,可以非常精采.

嘉義燈會系列報導(一)

嘉義公園大門口附近,為了配合即將登場的嘉義燈會活動,已經緊鑼密鼓進行各項裝置藝術工程(2007年的嘉義縣燈會),以下為相關影像畫面.

本次工程由幼葉林藝術創作工作室負責,找遍搜索引擎,除了找到負責人零星的作品介紹,沒有專門的工作室網站,也沒有此次作品的介紹,實在可惜.

嘉義公園飛碟溜滑梯

剛剛粉刷完成的外牆圖飾,這一處溜滑梯,是五歲以下小朋友造訪嘉義公園,不可以錯過的地方,整體環境維護雖然不錯,但,偶而,請家長略過周遭遊客留下的垃圾與遠處廁所飄來的陣陣嘉義在地風味.

敬神會所裏的貓

晚冬午後,諾大的敬神會所,只有一隻神情自若的貓.

小企業的大夢想

拿掉網路,相信就連馬雲也說不出這樣的豪語.

之所以阿里巴巴的創辦人,希望小企業能夠擁有大夢想,主要原因,還是在商言商,小企業上到阿里巴巴,確實可以擁抱大夢想,面對全世界的終端與供應鏈客戶,但是,重點仍然在於,整體企業的體質與運作,能否上到國際舞台.

阿里巴巴所昭示的契機,台灣是否能夠把握,除了政府必須明白此環環相扣的合作體系,必須創造企業改造的動機,而不是一昧投下大筆的補助經費.

給釣竿,而不只給魚,維護好整體商務的生態環境,而不只光在河流裡下魚苗,這種道理,大家都懂,但卻不容易做到.

小企業的大夢想,必須是醒著實現的.

Page Rank 查詢

最友善的查詢連結,可能是 easylife 這一個.

http://pagerank.easylife.tw/

Page Rank 是 Google 用來辨識網頁重要性的一種評量方法,但是在過去十年的網站架設中,對於網址的異動與內容的雙重備份,都很容易受到"處罰"而丟失好不容易累積的 Page Rank.

在幾年前,或許還會希望設法 Argue 回來,但是事情一多,就想,算了,只要網站的開銷與收入,能夠打平就好了, 網站內容被 Google 給誤判,就認了.

最近在蒐集與 SEO 相關的資料, 發現最具權威性的網站為 http://www.dns.com.tw/blog/, 不但有許許多多深入討論 SEO 的文章與見解,等讀通了,再好好萊整理一下手上可憐的網站.

再見 ShootPod?

看來, ShootPod 已經不再啪了,以下為正式開播第一集,以及可能的最後一集畫面.

Shared SSL 環境下的 WebERP

這裡指的 WebERP 來自 http://www.weberp.org/,是一套適合中小企業使用的網際企業資源規劃系統.

首先是 config.php 與 includes/Login.php 中的修改,必須區分共享 SSL 連線與一般連線的差異

1. 針對 config.php

// blog.cycu.org for netsolhost shared ssl
if($_SERVER["HTTP_X_FORWARDED_HOST"])
{
$rootpath = "https://".$_SERVER["HTTP_X_FORWARDED_HOST"]."/".$_SERVER["HTTP_HOST"]."/";
}
else
{
$rootpath = dirname($_SERVER['PHP_SELF']);

針對 Login.php,將 $_SERVER['PHP_SELF'] 改為 $rootpath

<form action="<?php echo $rootpath;?>" name="loginform" method="post">

東尼馬斯頓

http://www.tonymarston.co.uk/

借鏡傳奇人物,處處盡是學習.

You cannot move mountains if you believe them to be mountains.
You must think of them as collections of small stones,
Which can be moved one at a time, and then reassembled.

-- The Tao of Meow

兩千萬美元的祝福

Google 就是會做感動人的事,歲末年終,一封簡潔的信件連結,告訴所有熱烈支持 Google 的網民,已經捐了兩千萬美元給正處於水深火熱的慈善團體.

Google 加油!