雖說是筆記整理, 但是請別抱太高的期待. Orz..
這次 OSDC 實體收獲是拿到 Y! 衣服 和 jQuery 實戰手冊 (jQuery in Action) 😛
這次帶 eeepc 出門, 到會場網路死的一塌糊塗(沒想到 M$ 的水管這麼細), 幸好有 3G 可以頂著用~
本來是拿 mousepad 來作筆記, 每次開開關關很累, 在 Plurk 唸個幾句後, 就乾脆在 Plurk 開始隨便紀錄, 此筆記主要是把 Plurk 紀錄的轉回來, 不然要回顧時, 太分散還是蠻麻煩的.
下述只紀錄有聽到的, 而且隨手紀錄一些關鍵字、名詞等.
OSDC 2009 投影片
- OSDC 2009 投影片, 有放在 SlideShare 上的: OSDC 2009 slides
OSDC 2009 筆記
Microsoft Open Source Strategy & Projects in Codeplex.com( Moonlight, Oxite as example )
- Oxite 連佈景主題都做了. (不過, 在 eeepc 的 Firefox 上看, headline 會爛掉.)
- Silverlight RIA 的講師 .... 我看到 ie6.. :~~ (M$ 自己人都不用 IE8, 怎麼辦? 我不想再管 IE6 了. :~~)
- Moonlight on linux, 看起來心動了點~ (不過, 果然是 M$, 剛聽到這個重點, 就結束了. XD)
Improve web performance using CDN - gslin (投影片: Using CDN to improve performance)
- CDN 加快 TCP handshake, 加快下載.
- 異地備援.
- DoS 防禦.
- 成本
- 台灣頻寬比 CDN 貴. (Akamai 除外, Akamai 大概是台灣頻寬的 3倍價位)
- CDN 計算方式: 總量 (一般頻寬計算: 95%, 等同於 每個月有 36hr 是不收錢的.)
- 1Mbps = 10G/天 (如果頻寬 1M, 代表一天最高可以用掉 10G)
- 克服瀏覽器壓縮 bug.
- 頻寬夠就好, 不需要餵豬吃人參. (經典)
- Amazon CDN 不支援 Gzip.
- SimpleCDN, 1M 不用到 400台幣, 台灣沒點, 不吃 file.css?v=...
- 使用 wget, 或修改 hosts 測試速度.
Accessibility - Chris Heilmann
- Wikipedia、Youtube 都有 Accessibility 的問題.
- Keeping things simple. (經典)
- YQL console # 需用 Yahoo! 帳號 登入
- 使用 YQL WHERE 後面查 url="msn.com" and xpath="/h2", 會把 h2 的內容拉出來.
- 符合 Accessibility 的 Flash player: JW FLV Media Player.
- 關於 Chris 相關網路資料:
- Wait till I come!
- Scripting Enabled
- Christian Heilmann - Developer Evangelist
- Twitter: codepo8
unit testing in jQuery - Paul Bakaus
- 太晚進來, 已經快結束了. Q_Q
- simulate function.
- QUnit - jQuery JavaScript Library
- Honesty: 還有稍微提到 John Resig 的 TestSwarm(JavaScript Testing Does Not Scale)
The Google App Engine Oil (GAEO) Framework - ericsk (投影片: An Introduction to GAEO web framework)
- 在隔壁場聽邪惡的 Perl. XD
Good Evils in Perl - Gugod
- use warnings;
- use strict; 讓程式壞掉. (善意的把程式停掉.)
- say "hi"; = print "hi\n"; ....
- Perl6 對量子電腦準備好了. (平行運算)
- 只是, 還不知道怎麼玩.. XD
- Junction.
- Perl6 可以一次操作一個集合, 一個單體, 互動 等.
- any 蠻有趣的. (any 對 array 的處理等 相關語法)
- perldoc perlpragma
trading with open source tools - clkao
- Programming Language: R (可以比較輕鬆的做數學運算, 畫圖等)
- VirtualBox(Windows) + memcached + Perl + 程式監控下單.
輸入法、鍵盤、Console 中文化 - Mat
- ucimf
- Jfbterm
- FreeType 顯示字型
- FbTerm
- Open Source 作者熱血是很重要的.
- 這場真是很感動, 感謝 Mat.
- ucimf - Google Code - 下載 / 安裝
- UCIMF | Google Groups
新瘋狂蝴蝶夢 - MadButterfly - thinker + wycc
- 沒機會聽到, 但是是個很有趣的專案, 可見: 專案 MadButterfly
使用Capture-HPC鑑別惡意網頁 - david guan (投影片: Capture-HPC talk@ OSDC.tw 2009)
- google safe browsing database
- safebrowsing-python
- md5(url)
- Honeypot 誘導來攻擊
- Capture-HPC 惡意網頁的 research
- 給他一段 list, 他會去抓網頁, 然後來看網頁是否有問題.
- Vmware VIX api 可以控制內部程式 (執行 VM 內運行主機的程式)
- Vmware 1.0 比 2.0 好.
- oldapps.com 抓舊版的軟體 (大多數都不會提供舊版軟體下載安裝, 在這個網站可以抓到舊版)
- Good URL / Bad URL 清單.
- check safe.log / malicious.log / error.log
- Capture-HPC / Malzilla / DecryptJS
SD, a Peer to Peer Bug Tracker - Jesse Vincent (投影片: SD, a P2P bug tracking system)
- 想像 Bug Tracker 像 git 一樣帶著跑 (有種很方便, 但是又很苦的感覺)
- 沒聽到這場很遺憾, 先把相關資料搜集起來:
- 安裝:
curl http://fsck.com/sd | perl # 或 curl http://17h.local/sd | perl
export PATH=$PATH:~/sd/bin - Distributed Bug Tracking with SD
- Prophet - A peer to peer replicated disconnected database
- Using SD
RoR Q&A session
- 每次新版 rails, 舊版的 Controller / Plugin 爛光光 => 無法避免, 建議舊版就維持住, 只把需要使用 / 修改的套件升到新版即可.
- 推廣要有針對性 => 解決同樣的問題, 有多種不同的方式, 可以比較出差別在哪裡.
- 讓他們感受到你提供這方法的好, 自然就達到推廣的效果.
Songbird, an Open Source Media Player (投影片: Songbird)
- Built on Mozilla (XULRunner)
- Cross platform media player
- 這讓我想到 xPUD
- 以後的 apps, 都從 firefox 的核心當 base 開始寫, 似乎蠻有趣的.
- irc://irc.mozilla.org/#songbird
- 改 Songbird 介面的程式也都可以自動化了~ 真完整.
Ruby 1.9 - ihower (投影片: Ruby 程式語言簡介)
運用 open source 工具建立 mobile-web 資料分析整合服務 - Lukhnos + Mikimoto
- iPhone 是一隻 0 分的 phone
- 只是一隻正好可以打電話的 computer.
- Mobile computer -> data terminal.
- UI response 很快 (其他 display, memory, cpu 都很小, 很慢)
- 使用輕型的資料結構, 不要讓他去 parse xml, 非常慢.
- 要考慮網路常會斷斷續續.
- 基本上, 這四種組合都好慘阿... XD => 不過這張投影片真是心血結晶
- csv 世界化會有很大的問題(特別是數字單位) 記帳軟體. ("," 位置, 多種國家使用、呈現都不同)
- iPhone 原廠的有 memory leak, 所以要用 LFHTTPRequest.
- server side 的分開.
- cloud computer 適用於 移動是裝置.
- 有規則就會有例外(經典)
- 使用 OpenCSV - csv parse (Java)
- Java Excel API (jexcelapi)
- Excel timestamp 是 1900/1/1 為 1, 每隔一天加 1. (Mac 是 1904/1/1 為 1)
- 這場最後的相聲還有趣的~
What Compilers do for us -- Introduction to Evolution of Compiler Technologies - jserv(投影片: What Can Compilers Do for Us?)
- 只有最後聽到結尾, 錯過這場超遺憾的.. :~~~
- 演講:窮得只剩下 Compiler -- 淺談編譯技術的革命
something about Perl 5.10 - scw (投影片: something about Perl 5.10)
- FreeBSD: /usr/port/UPGRADE
- =cut 多行註解 =cut
- man perlre
- man perldelta
- lwhsu: /usr/ports/UPDATING 不過照那樣做會爛 XD
- 還是先不要太衝動好了. XD
HBase, distributed database on Hadoop - rafan(投影片: HBase @ OSDC.TW 2009)
- HBase: transaction, secondary indices.
- distributed database modeled on Google's Bigtable.
- 4~8 core, 4G ram+. => 機器基本要求
- key:(table,row,family:column,timestamp) - value:value => key 就就有規劃到多版本的擴充了
- table 是被排序過的. => 指的是 key 第一欄的那個 "table" 欄位.
- 目前是 Master(w) 掛了, 就全部掛掉. (缺點, 改善中)
- 靠 Thrift 不同 language 去存取. (Facebook Developers | Thrift)
- 或用 REST 去存取.
- 存取 CRUD 和 (table)Scan.
- irc: #hbase on freenode
- HBase: Welcome to HBase!
Depth in web performance course - Rasmus Lerdorf (投影片: Simple is Hard)
- Twitter: Rasmus
- Scalability / Performance / Security
- 避免單一 controller.(single front controller) => 不要只用一隻 dispatcher 去做
- apache2 -X : single process (debug mode)
- Apache 接收到存取後的所有經過列表.
- included 畫出的圖, 實線代表真的有 include 到, 剩下 require_once 都是檢查, 不需要 載入.
- 使用者並不會知道程式寫的多好, 他們只會看到 HTML 呈現出來的畫面. => 程式不用寫得美, 而是要簡單有用(能把事情完成), 這是最重要, 也是最困難的事.
- HTML sould like HTML. => HTML 就該是 HTML, 不要用 Function 去設定一堆參數
- KCachegrind wordpress.out
- I don't like framework.
- You should know cost.
- 問題: 如果有多種 DB 需求, 而不去使用 ADODB 等? => 由答案猜問題, 坐太遠, 聽不清楚
- 回答: postgresql / mysql / oracle => all done. => 通常會用的就這幾套, 單獨寫或者抽離一層即可, 不需要 ADODB 等.
OpenFoundry 系統整合 - 吳孟勳 (OSSF)
- Shibboleth. => 做到 SSO, 權限管理.. 等等 的系統.
- SSO (Single Sign-on)
- Shibboleth 分兩個身份: Identity Provider(IdP) / Service Provider(SP)
- 讓人來登入的部份(IdP) / 提供服務的部份 (SP)
- Shib Idp (java servlet)
- Shib SP (C++)
- SP -> shibd daemon : 存 session 用.
- 1 SP 只能對應 1台 IdP
- Single Sign Off. (登出)
Lightening talk
- IPERF / UDP
- QoS
- PacketLoss
- Jitter
- 集縮比
- =
- ZFS: 窮人用的 raid.
- ZFS: snapshot (隨時可以做 snapshot)
- zpool list
- zfs list
- zfs snapshot xxx
- zfs rollback xxx => 還原 snapshot
- =
- 95% of all bugs are caused by ... variables .. XD(經典) => 超經典
- 95% 的所有 bugs 都是因為 => 變數.
- 如何簡單又快速的 Bug 清掉 => remove all your variables.
- only remove the bad ones: global / package / module / class / local.
- 簡單講, Object 只是做設值、取值的動作, 不需要用到物件.
- 推 Functional Programming 才是正解
- =
- $4 介紹的: hiChannel.sh (話說 Hinedo 最近我常聽的電台都無法收聽了)
相關問題
問題: 在場外有問 Rasmus 關於 PHP6 為何要 Java 化(個人感覺), 未來程式是否需要做大量修改?
回答:
- PHP4 ~ PHP6 都不會有太大的改變, PHP6 並不是像 Java / C++, PHP 有自己的風格.
- 到現在都還有 PHP2 的 Code, 沒有升級, 都還正常的在機器上運作, 沒有任何問題.
- 不要將 PHP 當程式語言, 而是當工具, 能快速將把事情完成的工具. => PHP 是要讓人很容易入門, 快速入手的工具.
- 重點是簡單, 快速. 文件也要可以快速查詢.
- 今天看到任何 function, 都可以很快的查到 document, 並且容易維護. => 真希望其它語言都能提供像 php.net 的查詢介面 + 結果 (結果都有簡單的範例可以參考)
- framework 是不建議的, 如果是給某套系統專用的 framework, 那是正確的, 主要是自己可以掌控.
- 還是回到他最常講的觀念, 可參考: PHP之父的開發祕訣 / Rasmus Lerdorf 於台灣講座整理(純 資料收集)
心得小記
- 由洗手間貼的小抄, 就可以看得出公司的風格, 從 Google 看到:
HTML DOCTYPE 簡短寫法 (相容 HTML 5)
, 在 M$ 看到的都是軟體整合應用, 以致企業效率提昇, 節省多少錢 等等(行銷導向). - 95% of all bugs are caused by => variables (這個結論真的是太經典了, 狂推)