Kaie"s Blog 2.0 beta!
Back to "Top"
Scroll to "Guestbook"
My Secret Notebook
 Show "Table of Contents"
Contact Me
Subscribe to my Posts feed
Subscribe to my Comments feed
My Flickr
Back to "Top"
Scroll to "Guestbook"
My Secret Notebook
 Show "Table of Contents"
Contact Me
Subscribe to my Posts feed
Subscribe to my Comments feed
My Flickr

Saturday, December 24, 2011

[MV] My Marriage Proposal MV / 我的求婚影片 - 那些年我所追的女孩

  各位觀眾,這一天終於到了,也有了個Happy Ending,感謝各位好友的見證。地點在好友楊董的店"巴魯斯桌上遊戲",歡迎大家多多捧場,是個好朋友聚會同樂的好所在。由於第一次用iMovie,花了許久時間摸熟,底下的MV是透過 Apple iMovie'11 製作,請自行配帶墨鏡,或攜帶可魯,後果一概不負責!

.My Marriage Proposal MV / 我的求婚影片 - 那些年我所追的女孩

.好麻吉帥強透過Panasonic GF1所側拍的片段 .巴魯斯桌上遊戲 :
  Location: 106 Taipei, Taiwan台北市大安區羅斯福路2段79號8樓之2
  About : 巴魯斯桌上遊戲專賣店, 提供舒適的遊戲空間, 還有免費的無線上網喔
  Email : barruse.games@gmail.com
  Phone : (02) 2362-6362
  Website : http://www.facebook.com/BARRUSE

[+/-] Read More (詳全文)...

Sunday, December 11, 2011

[Web Service] hypo - We print photobooks! / 充滿印刷品味的相簿印製網路服務

  據說hypo已經成立許久了,某種程度上,也幫了我許多忙 :),像是一些特殊節日必備的Surprise,有如神助啊! 陸陸續續也製作了三種不同的產品,最早用iPhoto在管理相片時,作了身平第一本iPhoto攝影集-中本平裝,後來又製作過一本"月曆",這可是有蘋果電腦才有的專屬服務呀,直接透過iPhoto輸出的pdf檔來印製。後來用Aperture在管理照片,想說那就嚐鮮一下,來點不一樣的"12平方",每次拿到手中,看到成品感動真是不可言喻呀,一定要親自體驗過才知道這種Fu的。真心推薦這個服務,台灣有這種專業的團隊在經營這塊,並提供這樣好的服務,真是太甘心了。該團隊也有接受過ApplePlan的專訪,讓人很熱血呀... 介紹的很棒。

  該服務除了提供了良好的使用體驗之外,本身對於技術方面也挺感興趣的,所以這邊大概提一下,關於該Web Service的前、後端所使用到的一些技術。其實之前就有些文章有提及,像是關於後端的WebObjects,以及團隊的成員,像是幕後推手yllan大大之類的。我比較有興趣的是,在使用該服務的初期,前端看來不外乎是Ruby、PHP所打造,陸續用了兩、三年之後,發現Wide這個服務已經導入Objective-J來打造,是否覺得這語言很眼熟? 是的,也就是XCode中 的Objective-C兄弟.. 說穿了其實就是Cappuccino Framework,像是一推出就令人感到驚豔的"280sides (Web版Keynote)"就是透過Cappuccino Framework打造的,效果之好實在挺難想像是純HTML所打造的。這個Framework打造出來的網站,看起來都會有幾分相似,例如 GitHub Issues ,我想透過會Cappuccino來實作,就是主打Web App,所以通常會是Auto Scale的FullScreen大小的layout。Hypo - Wide整個網站的視覺效果、設計感及使用體驗,的確很不錯,頗像在桌機使用App的感覺,加上hypo服務又有整合Flickr,因此對於我的吸引力又更大了。另外又有一套叫作SproutCore的Open Source Framework,由前Apple員工出來成立公司的產品。這項產品最有名的代表作,肯定就是Apple - MobileMe, iWork, iCloud 等網站,還有Network Camera大廠AXIS提供的"AXIS Design Tool"也是使用SproutCore打造的,一整個有專業到。SproutCore和Cappuccino這兩套作出來的東西,還挺神似的,網路上也有人寫了些比較[1], [2]. 不知是否台灣還有哪些團隊,有用此兩個Framework來打造的,還挺好奇的。但是比較後來才推出的Hypo Date產品,似乎沒有繼續延用Cappuccino了...XD,不知是怎樣的考量,雖然個人比較偏好Wide那樣的UX。Anyway, 期待hypo團隊,在未能能夠推出愈來愈多更棒更好用的服務。

  放幾張當初所拍攝下來的成品 (From: My Flickr - Tag: hypo)
復古瘋 "Life is touching!" again.. hypo 紙盒的底部設計 包材 of 12 平方
.ApplePlan 名人專訪 – hypo:
http://appleplan.com.tw/startpage/3447 (這篇訪談的介紹得超棒的)

[+/-] Read More (詳全文)...

Friday, December 02, 2011

[GDB Tricks] File Descriptor Hijacking / 劫持 FDs 之奇技淫巧

  對於Linux有點概念的人,大概都知道 "In Unix-like systems, FDs can refer to many things." 這句話的涵意,因此不再多說。所以若能劫持FDs的話,其實可以幹很多壞事,是的,某長輩說過「幹壞事是進步最大的原動力」,但偶爾拿來作些有意義的事也是會讓人有動力的。
  試著想想,在Unix中不改變/破壞程式執行狀態的debug方式,常見的一些好用的工具,像是strace, ltrace, ptrace, gdb, syslog...。若此時,當你擁有FDs hijacking的能力的話,那就表示你有機會可以達成FDs swap的效果。言下之意,「若綁架跑在背景Daemon的stdout, stderr的話,意謂著可以在不重啟Daemon為前景的情況下,將它的stdout, stderr重導至某個"/dev/pts/x"的stdout,即可看到該Daemon所吐出之debug訊息」,套句老賈(Steve Jobs)的名言"Isn’t that AWESOME!"。至於這樣的奇技淫巧,該如何辦到呢? 當你知道其箇中道理之後,搭配神器GNU GDB,就可以針對該支Daemon做一些run time的修改,以達你的需求。

.簡易的測試方式如下 .On terminal 1:
kent@imac:~ $ echo -e '#!/bin/sh\n while true; do ((n++)); echo $n; sleep 1; done\n' > echo.sh
kent@imac:~ $ chmod +x echo.sh && ./echo.sh

.On terminal 2:
kent@imac:~ $ fdhijack.sh "pid of echo.sh" `tty`

.呈現出來的結果,就像下圖所視,原先在右邊(Terminal 2)所印到stdout的訊息,被左邊(Terminal 1)所hijack走了!因此,Terminal 2的stdout全被redirect至Terminal 1了,Happy hacking!
.:: Phrack Magazine ::. Title : File Descriptor Hijacking
http://www.phrack.org/issues.html?issue=51&id=5#article
.Passing File Descriptors: http://book.chinaunix.net/special/ebook/addisonWesley/APUE2/0201433079/ch17lev1sec4.html

[+/-] Read More (詳全文)...

[Linux] Awesome contributor comment in Linux Kernel / 偉大Linux核心貢獻者註解風格

  在Linux Kernel source code中,除了經典的Cowsay in Linux Kernel之外,之前在Trace Kernel的code有,有發現一些有趣的字眼,果然Programmer都是同道中人呀,難免會有些情緒字眼不斷出現在code裡頭。看來我習慣用的WTF Debugging,也是許多contributor會有的風格呀... :)。因此,在好奇心驅使之下,在Linux Kernel 2.6.18這一版中,多grep了一些有趣的字,不意外的發現,果然如出一轍呀,必必皆是,真是太happy了... 有興趣的人,請仔細的往code裡追,仔細品嘗一下,肯定會讓你會心一笑,心有心有戚戚焉呀。看來會成為偉大的Kernel Contributor,這關是必經之路啊。

Linux Kernel Keyword: WTF
Linux Kernel Keyword: Brain-Damage
Linux Kernel Keyword: Fuck

[+/-] Read More (詳全文)...

Tuesday, November 29, 2011

[Programming] Deep C (and C++) / 深入了解C語言

  好文一篇,值得仔細品嘗 - Deep C (and C++) 。想要更深入的了解C Language嗎,那就得先從C-String下手。或者你跟Jserv宅色夫大大一樣發從內心的支持慣C嗎?! 若是,那你肯定拜讀過此篇文章"我強烈支持慣C"。

[+/-] Read More (詳全文)...

Saturday, November 26, 2011

[Linux] stdio buffering / 標準輸入、標準輸出 運作模式

  Linux中的stdio有著一定的行為準則,但常摸不頭緒。在Google大神中找到了一篇文章,解釋得很棒,值得參考參考。一個普遍遇到的問題就是在寫C code時,printf()有時會馬上輸出到stdout,但遇到了換行字元 "\n" 又會馬上寫出,自行呼叫 fflush(stdout) 又可以強迫將buffered的資料全寫出。

其實結論大概可以總結如下:

Default Buffering modes:
  • stdin is always buffered
  • stderr is always unbuffered 
  • if stdout is a terminal then buffering is automatically set to line buffered, else it is set to buffered 
Default Buffer sizes:
  • Buffer size only directly affects buffered mode 
  • The default size like the kernel is based on the page size (4096 bytes on my system) 
  • if stdin/stdout are connected to a terminal then default size = 1024; else size = 4096
.buffering in standard streams:
http://www.pixelbeat.org/programming/stdio_buffering/

[+/-] Read More (詳全文)...