Tag Archives: cgi

關於圍棋貼目的問題...

前陣子 AlphaGo 大獲全勝後放出了五十盤自戰棋譜 (兩台 AlphaGo 自己下),其實有件事情有點出乎大家意料,而在圍棋界被一直討論。就是在這五十盤裡,黑棋與白棋的勝率比是 12:38 (中國規則,黑棋貼 7.5 目的情況),明顯白棋有強大的優勢。 這個 7.5 目指的是,由於黑棋先下 (先手優勢),所以圍的地會比較多,為了彌補白棋後下的這個缺點,一般都會設計「貼目」這個規則。 交大資工的 CGI 團隊在上個月月底發了一篇論文 (參考「CGOS Whole Period Ratings for 19x19 Board」這邊的記錄,在有參加 CGOS 的團隊裡只輸新版的 Zen),討論 value network 的新想法:「Multi-Labelled Value Networks for Computer Go」。 他們對貼目的數量做了分析: For the training data, … Continue reading

Posted in Computer, Game, Go, Lab, Murmuring, NCTU, Programming, Recreation|Tagged , , , , , , , , , , |Leave a comment

舊 bug 新名字:httpoxy

依照慣例,security issue 都會取個名字,這次叫做 httpoxy:「A CGI application vulnerability for PHP, Go, Python and others」。 事情發生在兩個命名變數上的衝突: RFC 3875 (The Common Gateway Interface (CGI) Version 1.1) 定義了 CGI 環境會把 Header 裡的 Proxy 欄位放到環境變數裡的 HTTP_PROXY。 而很多程式會拿環境變數裡的 HTTP_PROXY 當作 proxy 設定。 這件事情 2001 年在 libwww-perl … Continue reading

Posted in Computer, Murmuring, Network, Security, Software, WWW|Tagged , , , , , , , , , , , , , |Leave a comment

Munin 的設定...

Munin 是套資源監視軟體。跟其他資源監視軟體不一樣的地方?畫面漂亮啊 XDDD 拿台堆各種雜物的 database 來看: 等到 Munin 監視超過二十台時就會很明顯感覺到很吃資源,再多的時候就會開始罵三字經,罵完後拆一台獨立的機器跑,以免跑個 vim 都要卡三秒... XD 這時候就是該調整了: 將 munin.conf 的 graph_strategy 與 html_strategy 都改成 cgi,告訴 Munin 在更新時只要更新 rrd 資料,而圖片與 html 的資料讓 cgi 做就好,這可以大幅減少 i/o rate。 將 rrdcached 跑起來,讓 rrd 資料寫入次數更少。rrdcached 的預設參數要記得調整。 將網站本來用 CGI 的部份改成 … Continue reading

Posted in Computer, Murmuring, Network, Software|Tagged , , , , , |Leave a comment

用 Plack 提供的 CGI 跑 Adminer...

在「用 Plack 跑 CGI」提到用 Plack 跑 CGI,目的是把 PHP 寫的 Adminer (一個取代 phpMyAdmin 的工具) 跑起來。 文章裡提到 PHP 沒辦法以 CGI mode 執行,主要有兩個原因。一個是 PHP 本身有安全機制,php-cgi 必須在有 REDIRECT_STATUS 這個環境變數下才能執行,另外一個是 php-cgi 需要用到 SCRIPT_FILENAME 這個非 CGI/1.1 標準 (RFC 3875 - The Common Gateway Interface (CGI) Version … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Network, Programming, Software, WWW|Tagged , , , , , |Leave a comment

用 Plack 跑 CGI

如標題,有時候總是有些奇怪的需求,想要用 CGI mode 跑一些東西,然後希望很簡單,最好不要動到系統設定,可以在不需要後完全不吃系統資源... Plack 剛好提供了 Plack::App::CGIBin,可以接受 HTTP request 並丟給下面的程式... 跑起來的方式超簡單: env -i /usr/local/bin/plackup -MPlack::App::CGIBin -e 'Plack::App::CGIBin->new(root => "/path")->to_app' 這樣會把 /path 下的東西當作 CGI script 跑... 不過 PHP 跑 CGI mode 超麻煩,並不是直接加上 #!/usr/bin/php-cgi 就能夠解決的,還沒找到要怎麼處理... (天曉得哪個環境變數又出問題了)

Posted in Computer, Murmuring, Network, Programming, Software, WWW|Tagged , , , |1 Comment