Status Update, Mid 2009
Posted on June 27th, 2009 at 23:59 by fr3@K
接下來幾個月, 打算把較多的閒暇時間用在一個 “低調計畫” 上. 因此, 預期將減少產出有意義的原創文字.
這個 project 當然是用 C++ 寫些東西. Scope 不大, 因此只要不擺爛, 一個人也一定寫得完. 簡單的說是要 re-implement 一個已存在並被不少人使用的 FOSS project. 將大量使用 Boost. 特別是已經一年多沒碰的 Asio, 以及很可惜一直沒玩到的 Multi-Index. 可以說是拿 Asio 來挑戰 libevent.
如果能較前人的貢獻有更好的 performance 當然最好. 即便不如期望, 也希望可以有機會找出不能 out-perform 的原因或線索. 或許能回饋給 Boost/Asio, 提供改善的方向. 無論如何, this is gonna be fun.
另, 如果你覺得閱讀小弟的文字不算是一件太浪費生命的事, 建議參觀/訂閱我的 Shared Items (via Google Reader).
Observer Pattern, Done Differently
Posted on May 24th, 2009 at 20:43 by fr3@K
In a recent post of Scott Wheeler’s – C and C++ are not the same language. He talked about differences between C and C++, and applications of different programming languages (C, C++, Java, Ruby) in his company.
In the post, Wheeler implemented observer pattern in C, C++ and Java, demonstrating some of his points – including how C and C++ are different from each other, and how C++ and Java are actually more alike.
Though I do agree with Wheeler’s conclusion for the most part, I failed to share his view in C, C++ and Java comparison. IMHO, his observer implementation in C++ is rather old school, or should I say it’s so Java.
(more…)
New Job Openings at Work
Posted on May 7th, 2009 at 18:34 by fr3@K
今天下午老闆的老闆跟我說, 他的手上也就是我現在服務的部門新增了二十個職缺, 並鼓勵我對外宣傳這個招兵買馬的訊息.
工作會是跟我同一個部門, 但應該不會是同一個 可能也有機會來我的 team. 細節還不清楚, 我就這個部門 common 的部份說明.
上班地點在台北市. 部門的主要責任是建置 cloud computing 的 infrastructure, 以及設計研發運行於這個 infrastructure 之上的 framework 與 application.
一定會用到的 hard skill 有:
- Unix based. CentOS 5.3 is the choice of development and target platform of my team, choices among teams may vary.
- System/network programming.
- Proficiency at one or more of the following system programming languages; C, C++ and Java. There are teams, like mine, which does C++ mostly, and there are other teams those do Java or pure C.
- Familarity with Free and Open Source Software. It would be foolish and arrogant if we were not to leverage existing and proven FOSS technologies when available. We use FOSS in conformance to their licenses.
還有一定會加分, 多數人遲早要用到, 但不是每個人都得現在就會的技術:
- Knowledge in networking protocols. General TCP/IP and HTTP in particular. The more the better.
- Distributed computing. e.g. distributed filesystem/database, MapReduce.
- Relational database. e.g. PostgreSQL, MySQL.
- Scripting. Most teams, if not all, use scripts. Just in case if you are curious, my team uses Perl for scripting.
- Data mining.
- Knowledge in Information Security.
不蓋你, 在個人這十年 software engineering 工作職涯裏, 就屬現在服務的公司最把軟體研發當一回事, 員工的福利也最好.
有興趣, 熱愛挑戰的朋友可以把履歷 email 給我. 也歡迎把這個訊息轉告給其他的朋友. 轉貼時最好以 link 的方式進行, 以方便取得更新資訊.
連絡方式:
echo gsfbl.gtgpvoesz@psh | tr b-za.@ a-z@.
If you can’t figure out my email address from the above code, you really shouldn’t be emailing me. Sorry.