2007年11月19日 星期一

Boost asio related - Pion Network Library

Pion Network Library

open source, Boost Software License, 主要實做HTTP(S)相關的功能
底層是用Boost和asio, 這表示asio已經可以用在production上囉
想要reliable and portable的networking library? 選asio準沒錯!!

2007年11月15日 星期四

Blog文章加密

有時候想在blog上發一些牢騷, 可是又不想讓無關的人看到, 所以呢, 就想要自己寫個軟體來加解密之類的。但是!! 這個世界已經是開放自由的世界, 所以這種東西一定有人已經做過了, google一下馬上就發現啦 - JavaScrypt。

顧名思義, 這是利用Javascript來做加解密, 演算法是AES-256。Javascript雖然不快, 但是有一個非常大的好處, 就是可以在browser上面跑。所以啦, 我可以用Javascript跳出一個密碼視窗讓人家輸入密碼, 然後利用動態網頁技術直接將解密後的原文印出來, 這是不是比copy-paste到軟體裡面做加解密方便多了呢!?

不僅如此, 還有熱心的人連跳出密碼視窗這些javascript都幫我們寫好了, 請看Encryted blog posts。他寫好的javascript放在http://www.psi.toronto.edu/~vincent/blog/blogjscrypt.js, 想要在blog裡面用的人直接include進來就可以了, 有安全疑慮的人, 可以把js檔copy回去放在可信任的地方或是直接貼在HTML裡。另外, 他還提供了線上加解密的工具 - Javascript Encryption and Decryption, 可以讓我們輕鬆產生加密文。

有了這東西, 以後就可以盡情的講八卦了(咦?), 現在就來說個八卦, 密碼是我現任公司的協理的(暱稱)加(姓), 共7個小寫英文字母(很明顯 , 這個八卦只有少數人能夠知道......)


VF6+OLxpi/E7shYyCSetOKgYcy+UTpMjUaXohalzznu/ThTJ
YyDcLk3PwWBTbF4qFGWrVhksiHxpEPgFeGurXhfByeg6cjm9
zvfYVPo6FajiRgCSM2/RDi4NBDn0B7BY1Ux9frQH2xg+um8o
tKsLtg==

按這裡解密

2007年11月6日 星期二

汐止真不適合住人

嗯...已經連續下雨一個多禮拜了, 這場雨......還沒有停過
每個冬天都是這樣, 又冷又濕的

啊, 又讓我想起台南, 那裡是個美好的地方
有晴朗的天空, 我想念的朋友家人, 和數不清的美食
很可惜啊, 因為我的工作性質, 不知道什麼時候才能回去我的故鄉

爛天氣加上國防役的束縛, 心情總是high不起來
我開始期待一年多後的環島之旅了, 自由的味道在那時候一定格外甜美

Boost asio 0.3.8 is released

其實已經release一兩個禮拜了
只是今天用SSL老是crash, 翻了翻mail list看到有人說0.3.8可以解決, 就順手來更新了...

asio 0.3.8為了符合TR2 networking proposal, 在error handling上做了不小的改變
例如0.3.7的boost::asio::error, 在0.3.8通通不見了, 取而代之的是boost::system::error_code
(Boost System也是為了TR2而生的, 寫過socket程式的人都知道, 在win32底下我們要用WSAGetLastError()來取得error code, 在linux下則是用errno, 不怎麼方便, Boost System解決了這個問題)

除了error code, 本來的error handler也不見了
0.3.7會pass像boost::asio::ignore_error()這樣的error handler去取error
0.3.8直接把boost::system::error_code用pass-by-reference傳進去, 看起來清楚多了, 不過我覺得比較不方便一點, 因為我喜歡ignore error......

P.S. 為什麼asio明明看起來就像是網路的library, 名字卻要取為asio呢?
這是因為作者的原始初衷是asynchronous IO的concept, 只是目前只有網路先被implement出來......
不過asio的asynchronous concept, 一開始雖然很不習慣, 但卻是很不賴的思考邏輯喔

2007年10月22日 星期一

STL map的insert與Java Hashtable的put

當Java的Hashtable已經含有(K,V)這個pair, 而我們又put(K, Vn)的時候
Vn會取代掉V, 並且把V return回來, 但是在STL map的insert卻不是這樣......

STL map的insert並不會取代舊的, 只會傳回pair<iterator, bool>這樣的pair object
然後在boolean value那邊設為false, iterator則指向那個已經存在的value, 所以insert失敗後要接下去用iterator來取代舊的

寫Java的人轉到STL應該都會踩過這個陷阱吧, 如果不好好讀文件的話......

2007年10月12日 星期五

Avoiding Development Disasters

Avoiding Development Disasters

文中那張The Code to Ruin流程圖還蠻有趣的
我目前的情況好像在第一個state就走向failure了耶......囧

2007年9月30日 星期日

一個多月沒寫blog了......

最近真的好累, 是精神上的累
現實和原則一直在我腦中衝撞, 我還太嫩, 不能百分百確定誰是對的

剩一年又三個月, 白痴才會回去當兵吧
只是好心情一直被搞砸, 看來我的EQ還需要磨練, 剩下的時間就來練到完全不動凡心的境界吧
整天往壞處想不只對現況沒有好處, 還會影響到身邊的人, 這是我所不願意的
我也常常禱告, 總會出自人類的私心, 但是,


阿爸!父啊!在你凡事都能;求你將這杯撤去。然而,不要從我的意思,只要從你的意思。

馬可福音 14:36