星期六, 3月 31, 2007

奇摩無名化

懶得說了,看這篇。我這幾天也懷疑自己的ADSL有問題,原來是...

難道說併購後無名沒變好,反而奇摩變得像無名?

上課教室的比較

最近鳥毅感受到可能失業的危機,因此再度開始自我加強。

在台北比較專業的有兩間triple letters的訓練中心,一間是"你你你",另一間是有官股的"我我我"。
鳥毅以往大都在"你你你"上課,這間的小姐也比較美一點,咖啡很香,不過下課後可能因為加熱太久而有苦味。不要太貪心喝太多,有時候晚上回家會睡不著。

最近有機會到"我我我"上王寧疆的Asp.Net AJAX,大家應該都知道他的實力超強。但"我我我"的教室內部就比不上"你你你",電腦的線有些凌亂,應該學"你你你"把線藏在桌子裏看不到的地方。至於大廳與廁所則是"我我我"的漂亮。以下做個簡單的比較表:

你你你我我我
Clerk一般
大廳
廁所
教室
咖啡一般
網路快(確定有Cache Proxy)
RAM2GBMax 3GB
CPU2.4GhzMax Pentium D 3.4Ghz

星期四, 3月 29, 2007

Yahoo!奇摩個人網頁關閉通知

今天收到一封 "Yahoo!奇摩個人網頁關閉通知":




親愛的Yahoo!奇摩網友(鳥毅),您好:

 十分感謝您對Yahoo!奇摩個人網頁的愛護與支持!

 Yahoo! 奇摩預定於96年 5月31日(四)關閉個人網頁服務,96年 4月16日(一)起停止檔案上傳服務,並開放FTP下載檔案功能,請自行下載存放於Yahoo! 奇摩個人網頁的檔案。

 請留意檔案下載時間,避免資料遺失。

造成您的不便敬請見諒!


觀看詳細關閉計畫



雅虎國際資訊 版權所有 © 2007 Yahoo! Taiwan Inc. All Rights Reserved.
如果點選 個人網頁首頁 再選 最新消息 則看到:

親愛的Yahoo!奇摩網友,您好:

十分感謝您對Yahoo!奇摩個人網頁的愛護與支持!

Yahoo!奇摩原預定於95年02月28日(二)關閉個人網頁服務,目前已取消關閉,即日起,您可繼續使用個人網頁服務,不需執行下載備份。

造成您的不便,敬請見諒!

回到個人網頁


Q:為什麼不關閉服務了?
A: Yahoo!奇摩一直致力於提供網友更多元、更優質的服務,希望藉由繼續提供個人網頁服務,讓更多網友享受最好的網路生活。
實在是很諷刺呀~

星期三, 3月 28, 2007

將舊電腦上的通訊錄匯入新電腦

同事的硬碟Boot Sector發生壞軌,所以只能找台新硬碟重灌。

要將 Outlook Express 的通訊錄匯入,本來是看斌斌小站如何將舊電腦上信匯入新電腦?,但根本無法開機,因此得把原來的檔案找出,在Windows工具箱有:

主題Outlook Express 通訊錄備份
主題內容

Windows 98 / ME系統所用的Outlook Express的通訊錄檔案路徑:C:\WINDOWS\Application Data\Microsoft\Address Book\ [電腦名稱].wab

Windows XP系統所用的Outlook Express的通訊錄檔案路徑:C:\Documents and Settings\[用戶名稱]\Application Data\Microsoft\Address Book\ [用戶名稱].wab

利用「檔案總管」按不同系統依路徑找出通訊錄檔案備份便可。如要復原通訊錄,可於Outlook Express內選用「檔案」-->「匯入」-->「通訊錄」,將備份了的通訊錄檔案匯入便可。

FlashGot手動加入Download Manager

現在上網後門多,我只敢用Firefox瀏覽。最近發現電腦上若用不同帳號登入時,FlashGot會抓不到Download Manager,例如說Free Download Manager只會出現在安裝者的 Firefox FlashGot選單。

幸好社群上有很多高手,看到讓Orbit Download免安裝版加入FlashGot??就知道該怎麼做。

就像文內 Orbit Downloader 是在 使用者profile\extensions
加上名為 orbit_ffext@orbitdownloader 的純文字檔
內容為 路徑到\Orbitdownloader\addons\orbitff
而 Free Download Manager
則是加上名為 fdm_ffext@freedownloadmanager.org 的純文字檔
內容是 路徑到\Free Download Manager\Firefox\Extension

星期二, 3月 27, 2007

萬一被SYN Flood攻擊

昨天看到diggirl被駭客攻擊了,就在想若是我遇到要怎麼處理,剛找到這篇,今天獨孤木也貼出SYN Flood 攻擊的基本原理及防禦

想知道diggirl的主機狀況為何,於是拿出老工具nmap:
#nmap -v -A www.diggirl.net

Starting Nmap 4.20 ( http://insecure.org ) at 2007-03-27 11:13 CST
Initiating Parallel DNS resolution of 1 host. at 11:13
Completed Parallel DNS resolution of 1 host. at 11:13, 0.07s elapsed
Initiating SYN Stealth Scan at 11:13
Scanning diggirl.net (202.153.195.38) [1697 ports]
(略)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd or WU-FTPD
22/tcp open ssh OpenSSH 4.2 (protocol 2.0)
25/tcp open smtp Sendmail 8.13.7/8.13.7
53/tcp open domain
80/tcp open http Apache Tomcat/Coyote JSP engine 1.1
110/tcp open pop3 Dovecot pop3d
443/tcp closed https
2401/tcp closed cvspserver
9090/tcp closed zeus-admin
Device type: general purpose
Running (JUST GUESSING) : Linux 2.6.X|2.4.X (92%)
果然是很省呀,用一台Linux全包了。
還是建議一下:把ftp、cvspserver關掉,改用sftp、Subversion。至於 zeus-admin我就沒用過,不需要還是關了吧。如果我是hacker,不用直接hack進diggirl,先找同網段一台進去,再Listen ftp port就會知道帳號和密碼;就算是不能登入的帳號....總是有方法的嘛~

用SYN Flood只是讓你不能動,真正厲害是想法子入侵,弄點好玩的出來。不過diggirl裏應該也沒什麼值錢的吧?還是像獨孤木說的,hacker應該去找FBI還是CIA的主機呀!

忘了提主題,萬一被DDoS攻擊時.... 實在沒能力抵抗,說不定網卡就先掛點,我只能舉白旗投降,有錢就買台IP KVM遠端重開機吧。

星期一, 3月 26, 2007

基於Eclipse的免費PHP IDE

有個學弟問我有沒有裝過PHPeclipse,因為我已經幾年沒有再寫PHP,還真的沒用過。

找了一下,PHPeclipse似乎蠻久沒更新。現在Eclipse已經正式納入PDT,而且PHP Debugger也沒有新版本,所以我是比較推薦用原廠套件啦~

我裝好後似乎無法debug,又找Zend的Eclipse PHP Development Tools,就補上Debug的功能了。不過沒看到類似PHPeclipse的整合Server功能,有點可惜。

由於我一直愛用原廠零件,所以其他的免費PHP plugin就懶得試了。

參考:
石頭成的Development within Eclipse PHP IDE (PDT)
Eclipse 上的 PHP 開發工具 - 安裝篇

星期五, 3月 23, 2007

不是防曬係數的SPF

SPF:為美國系統的防曬係數,防曬效果為SPF×10﹙分鐘﹚。出處:http://www.commonhealth.com.tw/Life/issue008/sunprotection04.htm

另一種說法:在陽光下要多久才受到太陽紫外線曬傷。使用SPF15防曬油,1小時出現明顯曬傷的情況會延長至15小時才出現。SPF15與SPF30的防曬能力相差只是1/15減1/30,即約3%。同樣道理,SPF15和50的防曬能力相差為1/15減1/50,約5%。 出處: http://www.hko.gov.hk/education/edu06nature/ele_spf_c.htm

其實我不是要談防曬,早上看到ingramchen的Ubuntu Mail筆記提到SPF(Sender Policy Framework)才知道原來現在出現SPF這種東西,讓別人大致上不會把寄出去的信當 spam(ingramchen的說法)。

嫌看英文慢就看SPF 簡介。簡單地說,SPF是在DNS加上一筆TXT記錄,註明那幾台機器會在此網域寄信、IP為何。(這點我覺得很怪,MX不是用來註明sender,DNS上也有IP呀?或許怕公司內有人用程式亂寄吧?)

找到的文件有HOWTO - Define an SPF Record,但最後我用 SPF Setup Wizard 替公司的Domain加上一筆 SPF record,再用 Sender ID Framework SPF Record Wizard確認生效(其實這個工具也是用來產生SPF record)。

星期四, 3月 22, 2007

Unix讀寫NTFS

本來在Ubuntu安裝NTFS-3G後就很快樂地存取NTFS的檔案,但是FreeBSD和OSX仍然沒辦法寫入。這幾天心情不錯又很忙碌的同事告訴我一個好東西:macfuse

macfuse是移植自FUSE (File-system in USErspace),將ntfs-3g與kernel分離。照這麼說,FreeBSD應該也有囉?果然有Fuse for FreeBSD,原來早進到ports,以後外接隨身硬碟再也不需要刻意format成FAT32浪費空間。

參考:
MacFUSE可以讀取NTFS的Bootcamp磁區
OSX NTFS full access 分享
NTFS for Mac OS X
Captive: The first free NTFS read/write filesystem for GNU/Linux

星期三, 3月 21, 2007

3月24關機日



Shutdown Day,只有一天,又是星期六,我應該做得到。

PF的Policy Routing(Load Balance)

這幾天希望把防火牆合併為一台,但仍要把user上網的ADSL與架站專線分開。如此一來就會有兩個Gateway,這種情況稱為 Policy Routing。有些人會希望申請兩條ADSL做Load Balance,也是利用Policy Routing達成。

若是用ipfw,gslin有寫過,在 http://ccca.nctu.edu.tw/~gslin/Documents/FreeBSD/load-balance.txt
Kernel的設定要加上以下指令,要啟動 IPFIREWALL_FORWARD 才有fwd的功能
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
rc.conf也要加
firewall_enable="YES"
在 ipfw.rules 的語法
ipfw add fwd 211.72.1.1 ip from 192.168.1.0/24 to any out
ipfw add fwd 211.72.1.9 ip from 192.168.2.0/24 to any out
若使用FreeBSD 5.4版以上,建議直接改用 pf,FreeBSD的pf是移植自OpenBSD,因此有些文件說明實在是跟不上。所以要看OpenBSD的文件PF: Address Pools and Load Balancing
Kernel的設定:
device pf
device pflog
device pfsync
rc.conf加上
pf_enable="YES"
啟動pf後,使用以下語法:
pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any
細節參考四位兄的:FreeBSD + PF + Shell Scritp + Load Sharing + Redundant
另外,這裏有提到要用pfctl -e才能啟用,實在怪異。
相關概念可參考Policy Routing Book

Update :http://blog.pighead.cc/whsyu/2008/03/06/pf-in-freebsd7/ 有提到pf稍有改變,等鳥毅有機會再來測試。(不過,很有可能沒機會手動設定了,自從改用pfSense 後,可以簡單地設定Load Balance)

星期二, 3月 20, 2007

免費的企業防毒牆

用FreeBSD架Firewall可以達成大部份Cisco Firewall的功能,但沒有http防毒始終有些遺憾。
原本想用Squid Vscan或Squid ClamAV,因為懶得裝Squid,後來決定使用HAVP(HTTP ANTI VIRUS PROXY)。

使用FreeBSD,啟動pf後,再安裝 /usr/ports/www/havp。由於ports的bug,必須在make install後,手動將 /usr/ports/www/havp/work/havp-0.85/etc/havp 裏的東西複製到 /usr/local/etc/havp 。

裝好後,在 rc.conf 加上 clamav_freshclam_enable="YES" 與 havp_enable="YES"
接下來要編輯 /usr/local/etc/havp/havp.config ,作者怕我們沒有仔細看設定,還留下 REMOVETHISLINE 要自行手動 remark。大部份的設定都不需要改,PORT預設是8080,只要修改
ENABLECLAMLIB true
BIND_ADDRESS 127.0.0.1 #為了安全性只通行本機
TRANSPARENT true #透明代理
如果要使用RamDisk加速,在 havp.config 再加上
SCANTEMPFILE /ramdisk/havp-XXXXXX
TEMPDIR /ramdisk
接下來就是這台設成Firewall後加上 transparent proxy,在pf.conf加上
rdr on $int_if inet proto tcp from any to any port www -> 127.0.0.1 port 8080
記得不要在 pf.conf 將8080對外打開,否則很快就會變成跳板。

參考:
使用 HAVP + ClamAV 建置防毒 HTTP Proxy
SquidGuard 安裝
squid+clamav
FreeBSD 5.3 Release PF 初體驗
OpenBSD & PF 之橋接模式﹝Bridge Mode﹞+ Squid with Transparent proxying

星期五, 3月 16, 2007

錯誤訊息

剛才在同人的生活派對留言時,跳出php的錯誤訊息,記得之前似乎也在某個blog看過。

錯誤訊息對於Debug很有幫助,但是在上線服務時,卻成為cracker攻擊的重要資訊。因此在下對於上線服務的程式,都把debug information關閉。

asp.net在Web.config 改 compilation debug="true" ,Tomcat在web.xml可以設定,WordPress我就不知道了。

另外自訂錯誤訊息頁面,例如 404 要出現什麼訊息,都對資訊保全有幫助。許多人把jsp偽裝成asp,php裝做aspx,就是這種道理。不是每個人都有能力防止cracker入侵,還是小心點好。在下管的機器,連HTTP Server偽裝成IIS,OS裝成Linux,Mail裝做Sendmail。

星期四, 3月 15, 2007

如何確認Mail Server正反查一致

沒想到有人看不懂我上一篇(無言~)。先聲明:目前沒有人申請dummy.com.tw,IP也是假的(我故意選ADSL的IP)。

一般而言,商業網站都會把domain的IP對應到www,以方便顧客瀏覽,鮮少人把domain對應到mail server。如果對這方面完全不懂....最近TWNIC要開課,快去報名吧。

Mail Server正反查一致的查法很簡單,就以國人自製,早期最大入口網站舉例(綠色為指令):
#host pchome.com.tw 168.95.1.1
Using domain server:
Name: 168.95.1.1
Address: 168.95.1.1#53
Aliases:

pchome.com.tw has address 210.59.230.60
pchome.com.tw mail is handled by 10 mxs.pchome.com.tw.


#host mxs.pchome.com.tw 168.95.1.1
Using domain server:
Name: 168.95.1.1
Address: 168.95.1.1#53
Aliases:

mxs.pchome.com.tw has address 211.20.188.150

#host 211.20.188.150 168.95.1.1
Using domain server:
Name: 168.95.1.1
Address: 168.95.1.1#53
Aliases:

150.188.20.211.in-addr.arpa domain name pointer mx.pchome.com.tw.

先找出mx,再看mx的hostname和反查是否一致。Windows上沒有host指令,就以nslookup取代即可。
C:\>nslookup
Default Server: dns.hinet.net
Address: 168.95.1.1

> set q=mx
> pchome.com.tw
Server: dns.hinet.net
Address: 168.95.1.1

Non-authoritative answer:
pchome.com.tw MX preference = 10, mail exchanger = mxs.pchome.com.tw

pchome.com.tw nameserver = dns.pchome.com.tw
pchome.com.tw nameserver = eagle.pchome.com.tw
pchome.com.tw nameserver = tiger.pchome.com.tw
mxs.pchome.com.tw internet address = 211.20.188.150
dns.pchome.com.tw internet address = 210.59.230.85
eagle.pchome.com.tw internet address = 210.59.230.88
tiger.pchome.com.tw internet address = 210.59.230.89

> set q=a
> 211.20.188.150
Server: dns.hinet.net
Address: 168.95.1.1

Name: mx.pchome.com.tw
Address: 211.20.188.150
眼尖的人應該注意到了,這裏暗藏玄機。

耍笨的PxHome

由於敝公司被PxHome當做Spammer,他們又不提供客服電話,連104上都沒有(可參考楊士範的入口網站隱蔽的客服電話),只好寫信到客服。他們的客服也不提供信箱,只能利用網頁填寫。他們回第一次說可用PxHome Web mail 正常收寄信(第一次),我只好寫telnet 25 port的結果給他們:
...前略...
220 mx.pxhome.com.tw ESMTP mailserv
helo dummy.com.tw
250 mx23.pxhome.com.tw
mail from: dummy@dummy.com.tw
rcpt to: dummy@pxhome.com.tw
450 : Recipient address rejected: Policy Rejection- Please try later.!
結果回說正反查不一致(第二次):
親愛的 Pxhome Online 使用者您好: 為了維護使用者權益,目前沒有設定做DNS 反查設定的發信主機,是無法發信至Pxhome 的信箱的。(請設定正反解一致) dummy.com.tw 及 61.222.123.123 正反解不符
我只好再寫一封:
本公司domain全是正反解一致,只要MX record正確,mail server不需要是domain name所對應的IP,PX Home也是經由msx.pxhome.com.tw寄信,而不是pxhome.com.tw。(pxhome.com.tw對應的也是www.pxhome.com.tw的IP)
後面再附上由dummy.com.tw對應到的IP那台 telnet port 25 結果,結果居然回說那個IP對應到www(第三次),真是快吐血了,我再能說:老詹,你的手下太遜了!!!

星期三, 3月 14, 2007

Windows秘技的書

今天抽空測試Vista,並在誠品用禮卷買這本書:

我之所以不在Blog寫秘技,就是不希望宅度一直升高。白色情人節在家裏裝Vista,果真是宅男做的事情呀!

雖然我覺得這位老兄的照片很臭屁,不過書還真不錯,除了Vista還有比較Win2K與WinXP、Win98/ME能不能使用,其實稱為Windows密技大全更適合。書中大部份都是透過機碼修改做到平常人不知道的功能,而國內某間公司出品的Terminal Server管理程式就是這麼幹的...

有人可能會問說,若Regedit被鎖住怎麼辦?除非那台Terminal Server完全不讓你有機會接觸到網路磁碟機,不然寫支程式呼叫 RegSetValueEx 就搞定了。不會?去CodeProject找一個範例來改,我就是這麼幹的。

星期二, 3月 13, 2007

Ancle出的難題

Ancle又出了一道問題:
我的問題是想請教如何在DOS底下使用Turbo C透過網卡傳送和接收指令,目前我只知道使用net指令,請說您經驗豐富,有沒有相關範例或介紹其他網站有相關資訊,謝謝!
哇咧~這是考試嗎?ancle一下就來個這麼難的問題。"請說您經驗豐富",這句我不懂耶...是筆誤嗎?可是我也沒說經驗豐富呀。

Ancle,你問錯人了,再說一次,我不是高手。這種問題,問ijliao或jserv比較合適吧?不然問qing一定也會。

不過,既然ancle這麼給面子,就盡在下所知回答。

我最後一次用DOS上網大概是12年前用NCSA Telnet上BBS,近十年來除了開ghost和partition magic之外,都沒有用DOS。

net指令,是Novell相容的net指令嗎?那實在是太古老,記得Windows 95出來後,Novell的市占率就開始急速下滑。我承認確實曾經有想在DOS下寫網路程式的念頭,不過1995年一頭栽進Linux後,就再也不想自找麻煩;如果有在Linux/FreeBSD上寫過socket,就知道在DOS上寫程式是多麼的不方便,尤其是網路程式。

現在大概只有在寫嵌入式系統才會研究DOS吧?最近剛好有同事在研究7188的程式,也是執行DOS,廠商會附API可以在Turbo C直接呼叫,所以不用傷腦筋怎麼連線。

若是一般的PC,已經不記得要掛幾個driver,主要有一個packet driver,但我還真不知道新的網路卡會不會附Packet Driver。若你是英英美代子,只是自已無聊想練功,就去抓ncsa telnet的source,還有 ftp://ftp.tku.edu.tw/Dos/tcpip/ 好好研究吧!至於其他的資訊,像是怎麼掛driver等等,請去問孤狗吧!

Update:Packet Driver 網路程式設計有些不錯的資料。

星期日, 3月 11, 2007

回覆Ancle的問題

Ancle在回應裏問了一個問題:
您好:
我這篇不算意見,只是最近我有個問題,使用google搜尋關鍵字時,都有出現您blog的連結,我個人有個問題,請問該如何請教您?謝謝!
Ancle,Blogger都會把回應寄到我的信箱,您不必擔心我看不到。

其實我在搜尋結果就寫過,若要分數高,得多找些朋友把相同的keyword指向自己。 這是基本原則,而確實的計算方式許多高手都寫過。你只要多寫,又有許多人連到你的Blog,自然PageRank就會高分。至於PageRank計算方式請看 http://zh.wikipedia.org/wiki/PageRank http://en.wikipedia.org/wiki/PageRank
根據在下的觀察,Google計算Blog的PageRank似乎會加上更新頻率的計算,一段時間不更新,權重就會下降。

有個卑鄙的方法可以快速提高分數,就是常去高分者的網站回應,例如ijliao、jserv之類的Blog。但你如果寫的內容別人都懶得回應,分數就不會太高,畢竟他們的網站回應者不在少數,而且常去打廣告可能會被人罵到臭頭(google 網摘師 spam),主要自己仍然要多寫。
Blog要在短期內崛起要像Mr.6一樣,寫一些大家感興趣的話題,更新速度要快,更重要的是言之有物;當然寫些詼諧諷刺的也行,例如說紅色長角三倍速。六先生那裏有介紹幾個快速竄紅的Blog,例如楚狂人等,你再多去參考。

再說一次,我的Blog只是自己寫爽的(和李家同對Blog的認定相同),最近都沒有什麼營養內容(以前可能還有一點),Google應該要有比較好的評分機制,把這個爛站的搜尋結果降低。

星期五, 3月 09, 2007

Visual Studio 2005 啟始頁

常在用Visual Studio 2005的朋友應該都知道,只要在 工具->選項->環境->啟動->起始頁新聞頻道 把 http://www.microsoft.com/taiwan/msdn/rss.xml 換成其他的RSS feeder就可以看到不同的畫面。我換成 http://www.wretch.cc/blog/phopicking&rss20=1

結果頗令人失敗,居然暫時不更新。本來想再換成 http://feeds.feedburner.com/tapestrydilbert ,但VS2005似乎不支援圖形顯示,看來還是乖乖換回MSDN的RSS吧。

SQLite的.Net Provider

今天看到簡介SQLiteSQLite使用教學後向朋友推薦SQLite,他問為什麼要不用SQLExpress。可能是他大部份在開發Web AP,像我這種苦命小工程師,偶爾得替使用者寫點小程式,就很需要。以前在Windows下通常用Access格式的mdb檔處理小型資料庫,現在改用SQLite不但是能跨平台的資料庫,還可能做出跨平台的AP,處理速度也可能變快。

有位同事要用VB6呼叫,但找到的OLEDB Provider要錢 :( 所以就不考慮,只好改用 SQLite ODBC Driver

SQLiteJDBC 有完整範例,也有native driver。

對我朋友最近都改用.Net寫程式,所以需要 ADO.NET 2.0 Provider for SQLite 可惜文件很爛,Compact和標準混在一起,沒有好的範例。 幸好有孤狗,看過 SQLite for C# 測試 就知道該怎麼寫。另外可參考 Nhibernate+SQLite 實例指南(1)

msn的廣告

隨著I'm 的廣告,這幾天msn上I'm的人還真不少。但今天忽然跳出"Keroro帶你環遊全世界"的廣告(似乎是Flash),而且是連續一直出現,影響正常交談。如果是第一次看到的人會以前是被植入木馬咧~
雖然廣告做得蠻可愛的,但是重覆出現真是令人心煩。

我猜是程式沒有寫好,算錯出現頻率。目前重開幾次msn後又沒出現,換同事被騷擾,難道是從Server控制輪播?

無論如何,如果再跳出來,我就要改用Gaim

VB6使用者的福音:Visual Basic 2005 Power Packs

今天不知在誰的blog看到 VB 的首頁,本來他是寫 VB6 沒前途,
沒料到我連上去看,發現微軟又針對VB6做了許多相容性的改善。
所謂「 亡羊補牢,為時未晚」,微軟發現到現在還有許多VB6的愛用者。
VC6的程式還能夠小痛轉換到新版compiler,但是VB6升到VB.Net 根本是惡夢一場。

VB6升級為VB.Net的文件除了 Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005Code Advisor for Visual Basic 6.0 之外,還有 Introducing Microsoft Visual Basic 2005 for Developers 免費電子書。

Visual Basic 2005 Power Packs 目前提供3個好東西:
  1. Microsoft Printer Compatibility Library 1.0:以VB6方式呼叫Printer物件
  2. Interop Forms Toolkit 1.0:混搭VB6與.Net
  3. Microsoft PrintForm Component 1.0:提供Form.Print
在下在剛進這間公司時,修改同事的Code,用VB6寫支簡單的條碼列印程式沿用至今,每次升級VB.Net總是失敗。最常用的 Load(Form)不會自動升級,我想大概沒有不會有什麼人想用精靈升級吧:P 微軟做出Power Packs後,應該把升級精靈搞好,買來的這玩意簡直是垃圾,自己找人寫一套能用的吧!

就算不想升級,利用InterOP的方式呼叫廣大的.Net Library也是很令人振奮的事情,在需要的時候就能派上用場。當然,對於我這個Java愛用者,還是C#比較順手。升級?不如用C#重寫吧。

星期四, 3月 08, 2007

FreeBSD更新

看到災難不斷,回應幾句。就把我的回覆貼上來,順便分享些最近學FreeBSD的心得。

FreeBSD或Linux對硬體都很敏感,所以有些硬體不穩或是超頻的電腦可以順利執行Windows但卻不能執行unix。
對於compiler就更嚴格,我手上有幾台舊電腦都無法編FreeBSD kernel,仍然能run,只是偶爾會當機。

一般情形用 gcc -O2都不會有問題,但不建議在編譯核心時用gcc -O3,可以參考 /usr/share/examples/etc/make.conf 。
# CFLAGS controls the compiler settings used when compiling C code.
# Note that optimization settings other than -O and -O2 are not recommended
# or supported for compiling the world or the kernel - please revert any
# nonstandard optimization settings to "-O" or -O2 before submitting bug
# reports without patches to the developers.
#
#CFLAGS= -O -pipe
真的希望速度快,調整CPUTYPE比較有效。

阿駕的FreeBSD 上 make 的相關設定有不少可以參考的東西,例如說FreeBSD以前更新都是用cvsup,現在改用csup。

另外,我自己不排程每天更新,有時候運氣不好就會踩到地雷,硬是有些ports有問題。
尤其是Postgresql之類的東西,一定要人工更新。

剛又看到gslin的 portupgrade、portmaster、portconf,馬上試了一下。

portmaster和portupgrade的行為差滿多的,而且會先問option,所以gslin才會建議裝portconf。
/usr/ports/ports-mgmt/portconf 其實沒裝什麼東西,編輯 /usr/local/etc/ports.conf 加上需要的參數,
lang/ruby: WITH_IPV6=true
就搞定。

星期三, 3月 07, 2007

新聞

實施日光節約 更改電腦時間工程大
難道Windows最近更新日光節約時間是做好玩的嗎?
台灣以前也有日光節約時間,只是當時網路不發達,不能說電腦不普及呀...

開放文件加州之戰 微軟恐敗給ODF

防毒軟體大評比 微軟OneCare敬陪末座

HD高畫質商品 日本引領風騷

微軟髮動著作權之戰 卯上搜尋引擎Google 微軟指Google書籍搜尋與影音服務違反著作權

MSN出現隱藏病毒? 暱稱前跑出的「I'm」是啥東西? I'm Home

Dovecot 設定成功

今天忽然想到,Dovecot不應該出問題,(請看遜掉了)於是就檢查設定檔,將log打開。
Error: Logins with UID 100 (user 鳥毅 ) not permitted (see first_valid_uid in config file)
原來Dovecot將為了增加安全性,只允許user從500開始。因為自己手賤,在adduser時將uid設成100,因此在 /usr/local/etc/dovecot.conf 加上 first_valid_uid = 100 就搞定。當然把uid改成預設的1000之後也行,但還要改我自己的檔案權限...還是改first_valid_uid比較快。

仔細看看,Dovecot真是非常注重安全的程式呀!還絕對禁止root登入。
# Valid UID range for users, defaults to 500 and above. This is mostly
# to make sure that users can't log in as daemons or other system users.
# Note that denying root logins is hardcoded to dovecot binary and can't
# be done even if first_valid_uid is set to 0.

Windows上製作PDF的另解

昨天才幫user安裝,今天就看到 Windows 上不想裝空中飛人蒸餾器的話… ,這方法同事也用過:沒錢買Adobe PDF Writer的窮人解決法-GhostScript之應用

但對於一般老百姓而言,打指令簡直要他們的命,所以還是用PDFCreatorPDF reDirectCutePDF WriterPDF995之類的免費程式,同樣會出現一台印表機,但直接印成pdf檔,不用2次轉換。

根據昨天測試的結果,PDFCreator雖然選項多,但填寫標題時中文有問題,所以對一般使用者仍是CutePDF Writer方便,PDF995跳出的廣告有點令人厭煩,脾氣不好的user會抱怨。

令我驚訝的是PDF reDirect居然還有提供加密、選擇品質等級等功能,若是進階使用者應該會選擇這套。

不同的driver所包括的內嵌字型不同,所以產生出來的檔案大小都不同,但是大多數的情況都不會有問題。如果還有更高階的需求如hyperlink、bookmark或保密等,還是買套Acrobat吧。

星期二, 3月 06, 2007

Visual Studio 2005 Refactor

Visual Studio 2005不是內建Refactor嗎?鳥毅是不是瘋了?
不..Visual Studio 2005內建的Refactor原本只有C#,VB.Net需要下載
Refactor! for Visual Basic,這間Developer Express和微軟合作提供Visual Studio 2005 VB.Net的Refactor功能,而且頗常更版。

今天無聊上去看一下,發現居然有Refactor! for ASP.NETRefactor! for C++!記得兩三年前都找不到免費的C++ Refactor工具,沒想到現在居然能找到完全與VS 2005整合的工具。不過C++版本效率相當差,在公司這台舊電腦上,right click要等數秒鐘才有反應。有需要的人可以試看看。

Update:又試了一下,Refactor! for C++對於MFC專案居然只能Refactor .h檔,比人工Refactor好一點而已,期待新版...

高手、大師、神?

原本就想寫我對高手的看法,看到前一篇喲哪桑的留言,趁著午休把我的想法寫出來。

近幾年不知為何,許多人在網路上以神來神去的稱呼,稱呼 "某某大神",可能是年紀大了,總覺得怪怪的,習慣稱別人"高手"或"強者",頂多稱為"大師"。

我一直認為"高手"是在某方面學有專精的人,因此說qing是高手,我想不會有人反對(Q大,因為你說不介意點名才借用你的名字)。其他像喲哪桑、獨孤木都是對專案管理具有豐富經驗的人,絕對有資格稱為高手,年輕一輩如jserv、pcman更是知名的強者。而對於william這種德高望重的前輩,我則尊為大師。

其實除了曝光率高的這些高手,我也認識幾位不寫Blog的高手。高中同學目前是高級顧問的marty雖然unix不強,但在coding方面絕對是高手;雖然他很低調,但很多人聽過他的場次。另一位朋友dustin有超強的學習能力,無論是FreeBSD還是C++都遠在我之上,但他不寫電腦相關的blog,只有他的寶寶照片,看來已經遠離宅男行列。還有用perl寫daemon、每年都橫渡日月潭的orbby等人,仔細想想,隱姓埋名的高手還真不少。

星期一, 3月 05, 2007

星期日, 3月 04, 2007

縮小Virtual PC虛擬機器檔案

最近換新電腦後,常在虛擬機器試一些奇怪的檔案,尤其是最近隨著Vista推出Virtual PC 2007,沒事也開個虛擬XP玩,結果vhd檔就變大。

讓vhd變小的步驟很簡單:
  1. 在Virtual PC裏Capture "Virtual Disk Precompactor.iso",於VM內執行完成後關機。據說這步驟是把刪除掉的檔案填"0"。
  2. 接著在Virtual PC Console執行File -> Virtual PC Wizard 選擇 Edit existing ... 再選擇 Compact。
如何有效的壓縮虛擬磁盤把壓縮的步縮介紹得很清楚,這篇與如何壓縮和消減Virtual PC的VPC文件大小都有提到硬碟重組,但根據我實驗的結果差別並不大。在重組後XP的vhd檔變大1GB左右,所以會感覺壓縮的效果特別好。

同事告訴我另一個好方法:增加一個vhd檔,再使用ghost之類的工具效果更好,這方法有效又快速,花在磁碟重組的時間早做完,有需要的人不妨試試。

星期五, 3月 02, 2007

又是FreeBSD

最近IxxnMail還給廠商後,就開始每天搞得七葷八素對抗Spam。最近發生寄信給特定某幾個地方會timeout,可是手動telnet會過,本來懷疑他們或敝公司被列入RBL黑名單,但去這裏查卻又沒列入。

今天向國內最大的的Anti-Spam廠商借測另一台SPAMSQR(是的,我又厚著臉皮借一台機器),結果也是FreeBSD,而且這次並沒有鎖定login,因此可以直接進入系統。目前效果也還不錯,這台的價格約是IxxnMail的一半,但仍算不便宜。希望能有FreeBSD的高手做個OpenSource版的Anti-Spam Proxy。

我把這台SPAMSQR當做Postfix的relay server,就能對前述的幾間公司/學校寄出信件。不知道postfix那裏有問題,若有高手能提供方法,小弟願意自掏腰包買禮物致謝。

P.S. 原本有效的header_checks居然只剩下subject有作用,連新安裝的機器也這樣,不知道Postfix身上到底發生什麼事情。

星期四, 3月 01, 2007

即將問世的 C++ 新標準

無意中看到 C++0x,嶄新的C++,還是另一個JAVA? ,台灣怎麼都沒人在談 C++0x? 看到garbage collection和Vec v = { 2.3, 1.2, 6.7, 4.5 }; 的語法,就又有想用C++的衝動。

參考:
A Brief Look at C++0x
C++0x概覽