perl 版的 html2txt
03/05/2006, 18:50 - Open Source
perl 版的 html2txt


#!/usr/bin/perl -w

my $i=0;
my $j=0;
my $flag=0;

open(FILE,"@_") :: die("Can not download information.\n");

# read information into array
while(my $HTML=<FILE>){
chomp($HTML);
$source[$i++]=$HTML;
}
close FILE;

while($j < $i){
$source[$j] =~ s/<[bB][rR]>//g;
$source[$j] =~ s/&[nN][bB][sS][pP];//g;
$source[$j] =~ s/&..;//g;
$source[$j] =~ s/&...;//g;
$source[$j] =~ s/&....;//g;
$source[$j] =~ s/<[^>]*>//g;
$source[$j] =~ s/[ \t\f\r\n\e\a]//g;

print $source[$j++],"\n";
}

發表回應 發表回應 ( 1100預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 1717 )

Open Source PDA
02/28/2006, 18:45 - Misc
最近 Windows CE Based 的 PDA 電話開始出現在週遭朋友的手上,看來是符合 Microsoft 的所謂第三版會成功的劇本,雖然 Windows CE 至現在己推出不只第三版本,而且名稱也不再叫 CE 了,不過因為作為電話的內建系統,而開始有很多人使用,很方便.但是我並不喜歡 M$ 的作業系統,我使用 Palm 好久了,最新的一部是三年前買的 Sony CLIE.使用 Palm 讓我可以很方便的取得程式,而且操作簡單,又省電.不過看了最近的 Palm 出的新機就知道了, Palm 這家公司快被玩完了,因為根本看不出來他們現在有對 Palm 的使用者想,使用的 cpu 變了,OS 版本開始多了,而且程式也開始有些不相容了.這些原本是選擇 Palm 最重要的因素,現在也漸漸被放棄了.就好像我想要有一個新的 web browser 可是找了半天,沒有.就這樣,我生出想要換平台的衝動了.

第一,我不選 Windows CE,第二我不選 Palm ,那還有別的 PDA 嗎? 我想 Sharp Zaraus 是不錯的選擇. 它使用 Linux 作業系統,所以可以將 Linux 的使用經驗轉到 PDA 上來,而且還可以經由 OpenSource 來自行補充軟體,還有像 Open Zaurus等開發社群.不過台灣買的不多,不好買到,而且有點大,而且好像用電量也不低,也不能用來講電話,不過我想自由是重要的.我還在評估,要買最新的 C-3100 640x480 VGA 含 4GB 的 Micro Disk.還是 SL-5500 64MB 就好了.不過我想我是一定會將 Sony CLIE 給換了.
發表回應 發表回應 ( 1270預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 2398 )

228 的錯亂
02/28/2006, 14:26 - 今天
曆史上的今天,在台灣至少發生二件血案,而且都還沒有捉到兇手。不但如此還有人為疑兇辨解。

而總統將國統會停止運作,還有人又要罷免總統,說實在的,從陳總統上任第一天開始,就天天有人要罷免他,不過我看那也只是叫爽而己。我倒是比較想將那些立委給罷免一下,軍購不過關、監委不過關、反正只要是他們(或是"攩"主席)不想過的,全都無法通過,還說是民意,說實在的當選之後有那個立委,就這些問題問過他的選民有什麼意見。

血案看來是沒有破的希望了,而要亂的還是在亂...而且還和六十年來的敵人聯合,真"幹"!

PS:"攩"--用這個字是因為拆開看就是"黑手檔"。
發表回應 發表回應 ( 543預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 1778 )

霹靂 霹靂 真霹靂
02/27/2006, 19:21 - 想到的
最近看了霹靂布袋戲發現戲偶都是左撇子耶,而且一手長、一手短,看來就像是公招潮蟹。這是我看了十分鐘之後的小小發 現。在台灣現在有很多的霹靂戲迷,不過說實在的劇中的的對話,實在是不倫不類,用北京話所寫出來的劇本,再直接用河洛話念出來,若實在念不出來,就自己亂念一通,實在不對勁,而且又念得錯誤百出,使得原來代表台灣本地的文化藝術,及語言之美完全不見了。說實在的,還是請霹靂劇組多用點心在劇本上,不然就請直接用北京話發音就好了,不然讓想經由看這些戲學河洛話的人,還會以為戲中的對白才是真正的河洛話,那就誤會大了。劇中的這種不是北京話也不是河洛話的對白,我想應該叫做“霹靂語“才對吧,就好像國外的 Star Trek 一樣有自己的一套 Klingon 語。不是玩笑, google 就有支援 Klingon 語耶。

發表回應 發表回應 ( 464預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 1766 )

html2text via sed
02/27/2006, 14:36 - Open Source

#!/bin/sed -f
# Use Stream Editor to untag HTML
#N;s/\n/;/g
s/<[bB][rR]>/ /g
s/&[nN][bB][sS][pP];//g
s/&..;//g
s/&...;//g
s/&....;//g

/</ {
:loop
s/<[^>]*>//g
/</{
N
b loop
}
}
s/[ \t\f\v]//g


PS: I am forget where this script from, if you know or has copyright problem, please let me know, thanks.
發表回應 發表回應 ( 631預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 1590 )

Distributed C Compiler as XCode with Open Source
02/22/2006, 21:37 - Open Source
想要有和 Apple XCode 一樣的分散式 Compiler 環境
分散式,不是只有計算及儲存空間而己,若是您是一個程式設計師,常常需要 compile 大型程式(不管 CPU 的速度及記憶大小,我將需要編譯超十分鐘以上的程式定義為大型程式),若是在 compiler 時有別的機器可以一起工作,不是可以節省時間嗎?
若您有裝 XCode 2.0 以上的版本,也可以在 terminal 下用 distcc,沒錯,XCode 內含 distcc 了,也就是說 XCode 利用 distcc 來建立分散式的 compiler 環境。

若是在 Linux 若 BSD,也可以自己建立,先到 distccccache
拿回 source code, compile 及設定後,還真的可以分散,而且工作快多了,不過用這種以網路為主要交換環境的程式,要注意不要影響網路資料的正常傳送。

ccache 是將 compile 過程放到 cache 中,以備下次可以用,而 distcc 則是將工作分散出去,而用 CCACHE_PREFIX=distcc 則會令 ccache 及 distcc 一起工作 。
要注意的是要用 distcc 必須安裝相同的 compiler 或者要有 cross compiler 也可以,但是 compiler 的檔安名稱要一樣,不然會發生找不到 compiler 的 error。

以下是我自己在 Slackware Linux中的一些設定。

#
# /etc/rc.d/rc.distccd
#
# Start/stop/restart the DistCC Distributed C Compiler server.
#
#
distcc_start() {
if [ -x /usr/bin/distccd ]; then
echo "Starting DistCC: allow 0.0.0.0/0 jobs 2 nice 5"
/usr/bin/distccd --daemon --allow 0.0.0.0/0 -j2 -N5
fi
}

distcc_stop() {
killall distccd
}

distcc_restart() {
distcc_stop
sleep 2
distcc_start
}

case "$1" in
'start')
distcc_start
;;
'stop')
distcc_stop
;;
'restart')
distcc_restart
;;
*)
# Default is "start", for backwards compatibility with previous
# Slackware versions. This may change to a 'usage' error someday.
distcc_start
esac


/etc/profile
export DISTCC_HOSTS="10.10.10.1 10.10.10.2"
export CCACHE_PREFIX=distcc


7044 ? SNs 0:00 /usr/bin/distccd --daemon --allow 0.0.0.0/0 -j2 -N5
28269 ? SN 0:00 /usr/bin/distccd --daemon --allow 0.0.0.0/0 -j2 -N5
9672 ? SN 0:00 /usr/bin/distccd --daemon --allow 0.0.0.0/0 -j2 -N5


發表回應 發表回應 ( 631預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 1683 )

Open source router
02/22/2006, 20:46 - Open Source
Could we build a router with open source ?

RFC1812 Requirement for IPv4 routers

Routing protocols use Zebra project support :
RIP - Routeing Information Protocol
Version 1 and Version 2 also Next generation of IPv6.
OSPF - Open Shortest Path First
Version 2 and Version 3 for Ipv6.
BGP - Border Gateway Protocol
IS-IS - Intermedia System to Intermedia System for Zebra

Switching
802.1d MAC Bridges use Bridge-util.
802.1q Virtual LAN use vlan.
802.1x Port Based Network Access Control use Xsupplicant
Multicast use mrouted
MPLS - Multi Protocol Label Switching use mpls-linux

IP packets filter use iptables
Bridge packets filter use ebtables

iproute2 - ip and tc for QoS
VRRP - Virtual Router Redundancy Protocol use vrrpd

and XORP project is another routing project, include all routing zebra supported and also include multicast pim. however I need to said if you are Cisco IOS CLI prefer, use zebra, if you are Juniper JUNOS CLI prefer use XORP. Here has a compare of zebra and XORP from XORP FAQ.


PS: JUNOS seems like gated configuration script, but JUNOSe is Cisco CLI like.
發表回應 發表回應 ( 701預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 1620 )

在 UNIX 文字模式下使用 proxy 連至 Internet
02/22/2006, 10:03 - Network
在 UNIX 文字模式下使用 proxy 連至 Internet

在 shell 下輸入

export http_proxy=http://proxy.hinet.net4:8080
export https_proxy=http://proxy.hinet.net:8080
export ftp_proxy=http://proxy.hinet.net:8080
export gopher_proxy=http://proxy.hinet.net:8080

常常使用則可以在 /etc/profile 或 ~/.bashrc 或 ~/.profile下設定

語法為 PROTOCOL_proxy=ip:port
有認證的話就是 PROTOCOL_proxy=username:password@ip:port
當然 IP 也可以用 domain name 取代!

若使用文字模式的 browser -- lynx 而 proxy server 需要作認證則可以使用

lynx -pauth=ID:password http://www.google.com

若是 wget 則
wget ---proxy-user=username --proxy-passwd=password http://www.hinet.net

curl --proxy-ntlm --proxy-user user:password http://www.hinet.net
curl -u user:password http://www.hinet.net

或 proxy 為 ISA 也可以用
curl --proxy-ntlm http://www.hinet.net

或 links 則是在選單中設定

而使用 x-window 的 GUI browser 則在選單中設定


使用 ftp client 及 ftp_proxy

ncftp 是在 ~/.ncftp/firewall 中設定

還有若是要使用 passive mode FTP
在 UNIX 下連上 ftp server 之後下

passive on

在 windows 下 連上 ftp server 後下
quote pasv

2 回應 2 回應 ( 1653預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 1757 )

error: parse error before "_X_SENTINEL
02/20/2006, 14:55 - Open Source
When compile some X window applications with gcc 4, I found always has

/usr/X11R6/include/X11/Xlib.h:3604: error: parse error before "_X_SENTINEL"

After search on net, it mustbe /usr/X11R6/include/X11/Xfuncproto.h version 1.9 did not has the _X_SENTINEL marco defined but version 1.4 has, so patch under lines to Xfuncproto.h will resolved the problem.

--- Xfuncproto.h.bak 2006-02-15 15:24:47.000000000 +0800
+++ Xfuncproto.h 2006-02-20 15:29:00.000000000 +0800
@@ -85,4 +85,32 @@ in this Software without prior written a
#endif
#endif /* _XFUNCPROTOBEGIN */

+#if defined(__GNUC__) && (__GNUC__ >= 4)
+# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x)))
+# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
+#else
+# define _X_SENTINEL(x)
+# define _X_ATTRIBUTE_PRINTF(x,y)
+#endif /* GNUC >= 4 */
+
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
+# define _X_EXPORT __attribute__((visibility("default")))
+# define _X_HIDDEN __attribute__((visibility("hidden")))
+# define _X_INTERNAL __attribute__((visibility("internal")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+# define _X_EXPORT __global
+# define _X_HIDDEN __hidden
+# define _X_INTERNAL __hidden
+#else /* not gcc >= 3.3 and not Sun Studio >= 8 */
+# define _X_EXPORT
+# define _X_HIDDEN
+# define _X_INTERNAL
+#endif
+
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301)
+# define _X_DEPRECATED __attribute__((deprecated))
+#else /* not gcc >= 3.1 */
+# define _X_DEPRECATED
+#endif
+
#endif /* _XFUNCPROTO_H_ */


PS: I found that if you install the Xvnc from source code, then it will be modify to origin file and bug come out again!

發表回應 發表回應 ( 911預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 1652 )

使用 awstats 作 log 分析
02/07/2006, 00:52 - Open Source
使用了AWStats作 log 分析。AWStats 使用perl script寫成的 CGI 程式,很簡單,就是分析 log file 的內容,安裝也很容易。可以分析 web / mail / ftp 的 log 並用 html 或 pdf 輸出結果。可以在 UNIX 或 Windows (需要安裝 perl) 上執行。支援 IIS / Apache /MS ISA / sendmail / postfix 等 log file format。而輸出的內容也很詳細,可以用 CGI 執行手動更新資料,或是由 crontab 定時更新(我設定一小時更新一次)。

目前只用來分析 web log ,因為分析的資料太詳細了,所以 mail log 及 ftp log 等比較會有保密問題的 log 就不分析了,至少不會放在公開的 link 。
1 回應 1 回應 ( 2071預覽 )   |  [ 0 引用 ]   |  permalink   |   ( 3 / 1649 )


<<開始 <前一頁 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 下一頁> 最後>>