About me

我的相片
I'm a web and software developer from Kaohsiung, Taiwan.
I design and implement user interfaces, also contribute to open source projects.
http://penkia.net/portfolio

2010年9月6日 星期一

Daily Bookmarks 09/06/2010

A couple of interesting UI techniques at Flickr

http://37signals.com/svn/posts/2552-a-couple-of-interesting-ui-techniques-at-flickr

Quoted by 37signals on September 1 2010

http://37signals.com/svn/posts/2532-if-you-ask-an-artist-why-the-greatest-artists

The first step is to start

http://37signals.com/svn/posts/2538-the-first-step-is-to-start

iTunes 10 hands-on: snappier performance, questionable UI choices

http://arstechnica.com/apple/news/2010/09/itunes-10-hands-on-snappier-performance-questionable-ui-choices.ars

Palm Details webOS 2.0, Releases Beta SDK

http://www.osnews.com/story/23749/Palm_Details_webOS_2_0_Releases_Beta_SDK

Judge Rules Fusion Garage, TechCrunch Were Partners

http://www.osnews.com/story/23744/Judge_Rules_Fusion_Garage_TechCrunch_Were_Partners

Simplicity vs. Choice

http://www.joelonsoftware.com/items/2010/08/19.html

Entelligence: A tale of two TVs

http://www.engadget.com/2010/09/05/entelligence-a-tale-of-two-tvs/

Switched On: FaceTime prepares for prime time

http://www.engadget.com/2010/09/04/switched-on-facetime-prepares-for-prime-time/

Chromium Graphics Overhaul

http://blog.chromium.org/2010/08/chromium-graphics-overhaul.html

The Node.js now running on webOS – and more Web improvements

http://ajaxian.com/archives/the-node-js-now-running-on-webos-and-more-web-improvements

How to Become a JavaScript Badass

http://www.clientcide.com/deep-thoughts/how-to-become-a-javascript-badass/

美國觀察:Google Android 帶來的副作用

http://www.zdnet.com.tw/enterprise/technology/0,2000085680,20147210,00.htm

NOISE IS THE NEW AQUA

http://jiwostudio.com/archives/2581

【中國觀察】含著滷蛋講話的中國時報!

http://sophist4ever.pixnet.net/blog/post/27124496

在桌面應用程式中使用 WebKit

http://zonble.net/archives/2010_09/1369.php

42年的鴻溝 – Dyna Book與iPad

http://blog.vgod.tw/2010/08/31/dynabook-and-ipad/

水果牌電視之我是一片雲

http://potatoplan.blogspot.com/2010/09/blog-post.html

Android 淺探 (二), 2010 – 系統廠商

http://mmdays.com/2010/08/30/android-2/

2010年8月11日 星期三

Daily Bookmarks 08/11/2010

北京 WebRebuild 演講,收獲滿檔!

http://josephj.com/entry.php?id=336

Javascript的模块化开发

http://threecups.org/?p=129

如何確認出版社有製作電子書的能力?

http://www.readgoing.com/?p=585

iPhone 軟體的無障礙支援

http://zonble.net/archives/2010_07/1339.php

black hat 與 DEF CON 2010 的投影片與程式碼上線了

http://armorize-cht.blogspot.com/2010/08/black-hat-def-con-2010.html

ELASTIX DIRECTOR ANSWERS THE COMMUNITY

http://www.elastix.org/en/home/475-Elastix%20Director%20answers%20the%20community.html

Coda Notes for Safari: Now Available!

http://www.panic.com/blog/2010/07/coda-notes-for-safari-now-available/

Groundhog Day, or, the Problem with A/B Testing

http://www.codinghorror.com/blog/2010/07/groundhog-day-or-the-problem-with-ab-testing.html

Domain Names

http://blog.stackoverflow.com/2010/07/domain-names/

Valuable to others, or only you?

http://sivers.org/starving-artist

Looking at JS emulator core for GameBoy

http://ajaxian.com/archives/looking-at-js-emulator-core-for-gameboy

Perl 6 十周年慶: Pugs:黃金年代 (五之三)

http://pugs.blogs.com/pugs/2010/07/perl-6-十周年慶-pugs黃金年代-五之三.html

Frugal: saving session to entire partition

http://bkhome.org/blog/?viewDetailed=01731

USB settling time

http://bkhome.org/blog/?viewDetailed=01723

Google、Verizon 共提網路中立架構

http://www.zdnet.com.tw/news/comm/0,2000085675,20146988,00.htm

Big Think Interview With David Heinemeier Hansson

http://bigthink.com/ideas/21596

Competition

http://sethgodin.typepad.com/seths_blog/2010/08/competition.html

iPad入手和當作電音樂器的未來可能

http://jeph.bluecircus.net/archives/music/ipad_as_an_instrument.php

Introducing: Peppermint Ice

http://peppermintos.com/2010/07/introducing-peppermint-ice/

Nokia's App Development Strategy: Qt, Qt, Qt

http://www.engadget.com/2010/08/05/nokias-app-development-strategy-qt-qt-qt-video/

My first post, introducing iX.

http://blog.ixproject.org/?p=6

Build a web-based notification tool with XMPP

http://www.ibm.com/developerworks/xml/tutorials/x-realtimeXMPPtut/index.html

Peppermint Ice: a faster, lighter cloud-focused Linux OS

http://www.geek.com/articles/news/peppermint-ice-a-faster-lighter-cloud-focused-linux-os-20100719/

Google executive frustrated by Java, C++ complexity

http://www.pcworld.idg.com.au/article/354210/google_executive_frustrated_by_java_c_complexity/

2010年7月11日 星期日

Next-Gen xPUD

I'm planning next generation of xPUD while preparing the talk for Gnome Asia Summit this year.
Here's the fact:
  1. we're using mozplugger and <embed> to get applications embedded for now
  2. but we can't handle popup window, quit from applications or
    application started by xterm
  3. we need a way to listen CreateNotify / DestroyNotify event
  4. and only window manager can do that!
Here's my plan:
  1. write a window manager using xcb, do nothing but a) open web browser in fullscreen, and b) send dbus signal through dbus-javascript bridge to the browser while getting MapRequest event
  2. when the browser get that signal, add an <embed> tag with an id of the window id, and reparent it
  3. while the window manager get DestroyNotify event, remove that
    corresponding <embed> tag
So we can solve this once and for all!

I've done about 50% of the window manager (haven't named it yet, any idea?), and 80% of the "touchweb" browser (based on webkit and javascript dbus bridge), we might eventually need our own NPAPI plugger (could be a stripped down version of mozplugger)

That's for now. Stay tuned.

2010年7月8日 星期四

Daily Bookmarks 07/07/2010

常用 CSS Hack 再整理

http://ka-yue.com/blog/common-css-hack

iOS Icons Made in Pure CSS

http://blog.graphicpeel.com/post/740928981/ios-icons-made-in-pure-css

Basecamp home page redesign

http://37signals.com/svn/posts/2431-basecamp-home-page-redesign

Launch: Draft for iPad

http://37signals.com/svn/posts/2420-launch-draft-for-ipad

Device-scale user interface elements in iOS Mobile Safari

http://37signals.com/svn/posts/2407-device-scale-user-interface-elements-in-ios-mobile-safari

Great since day one

http://www.marco.org/769340032

Don Norman at the Business of Software 2009

http://www.joelonsoftware.com/items/2010/06/28.html

Network_tray

http://bkhome.org/blog/?viewDetailed=01690

How to hire a programmer to make your ideas happen

http://sivers.org/how2hire

Keep your vows; Keeping wed to Node

http://ajaxian.com/archives/keep-your-vows-keeping-wed-to-node

How Custom Events Will Save Us All

http://ajaxian.com/archives/how-custom-events-will-save-us-all

Scaling UI controls appropriately on the mobile Web

http://ajaxian.com/archives/mobile-web-scaling-controls

Connect: Great middleware for Node!

http://ajaxian.com/archives/connect-great-middleware-for-node

Firefox 之簡易觸控手勢實做

http://yurinfore.blogspot.com/2010/07/firefox.html

GLUT 作為 Embedded System 的 UI 平台

http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/415

dissy -- 好用的 objdump 圖形前端工具

http://blog.linux.org.tw/~jserv/archives/2010/07/dissy_--_objdum.html

如何讓員工忠於公司?

http://www.ruanyifeng.com/blog/2010/06/how_to_keep_someone_with_you_forever.html

插圖式主頁

http://www.ruanyifeng.com/blog/2010/06/illustration_web_design.html

創業公司打工指南

http://www.ruanyifeng.com/blog/2010/06/work_at_a_startup.html

莫斯科地鐵交通圖

http://www.ruanyifeng.com/blog/2010/06/moscow_metro_map.html

Perl學習之旅的回顧(之三)

http://mrhsulife.blogspot.com/2010/07/perl.html

在盛大在線做的《閒談用戶體驗》的講稿

http://dingyu.me/blog/posts/view/ue-keynote-at-sdo

2010年5月30日 星期日

Daily Bookmarks 05/30/2010

MeeGo v1.0 Core Software Platform & Netbook User Experience project release

http://meego.com/community/blogs/imad/2010/meego-v1.0-core-software-platform-netbook-user-experience-project-release

You Can't Solve a Problem by Eliminating All Existing Solutions

http://forecasterror.blogspot.com/2010/05/you-cant-solve-problem-by-eliminating.html

模擬實戰標籤綁架手法(Challenge to TabNapping)

http://armorize-cht.blogspot.com/2010/05/challenge-to-tabnapping.html

Android Toolchain 原始程式碼尋寶

http://jserv.blogspot.com/2010/05/android-toolchain.html

Google TV:只是加上Google搜尋框的電視?

http://www.zdnet.com.tw/enterprise/technology/0,2000085680,20145663,00.htm

Amazon 的早與晚

http://www.readgoing.com/?p=576

真的Geek,愿意花几年时间下载并赏玩一个操作系统,这就是OpenStep

http://dingyu.me/blog/posts/view/openstep-finally

SVG 加 Gecko 完全攻略

http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/413

LadyBugz

http://zonble.net/archives/2010_05/1314.php

【昨天的文化政爭】中華文化與西方思潮的拉鋸!(上)

http://sophist4ever.pixnet.net/blog/post/26687602

誰需要「EP同步」?

http://fred.ipod.to/blog/?post/2129

HTML5的视频格式之争

http://www.ruanyifeng.com/blog/2010/05/html5_codec_fight.html

Javascript 面向对象编程(一):封装

http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html

The difference between a graphic designer & interface designer

http://sam.brown.tc/entry/430/the-difference-between-a-graphic-designer-interface-designer

A Study of SVG-based Application Development

http://people.debian.org.tw/~chihchun/2010/05/08/a-study-of-svg-based-application-development/

Back In

http://speirs.org/blog/2010/5/3/back-in.html

iPad Multi-Touch

http://mattgemmell.com/2010/05/09/ipad-multi-touch

Kathy Sierra's talk at the Business of Software 2009

http://www.joelonsoftware.com/items/2010/05/10.html

Feature removal

http://www.marco.org/595644480

On Working Remotely

http://www.codinghorror.com/blog/2010/05/on-working-remotely.html

Redesigning Steam for Mac

http://blog.cocoia.com/2010/redesigning-steam-for-mac/

Great win for WebGL and standards; O3D becomes JS library

http://ajaxian.com/archives/great-win-for-webgl-and-standards-o3d-becomes-js-library

Native Client now comes with an actual SDK

http://ajaxian.com/archives/native-client-now-comes-with-an-actual-sdk

Your Cappuccino Apps Just Became Desktop Apps

http://ajaxian.com/archives/your-cappuccino-apps-just-became-desktop-apps

Quirky 1.1

http://bkhome.org/blog/?viewDetailed=01596

Why Perl Isn't Going Away Soon (Or Ever)

http://www.osnews.com/story/23279/Why_Perl_Isn_t_Going_Away_Soon_Or_Ever_

webOS Boots, Runs on PC Hardware Without Modifications

http://www.osnews.com/story/23309/webOS_Boots_Runs_on_PC_Hardware_Without_Modifications

Resource Management for Web Applications in ServiceOS

http://www.osnews.com/story/23368/Resource_Management_for_Web_Applications_in_ServiceOS

The art of taking things away

http://37signals.com/svn/posts/2335-the-art-of-taking-things-away

Visuals

http://37signals.com/svn/posts/2317-visuals

2010年3月3日 星期三

Daily Bookmarks 03/03/2010

HTML5 Theora Video Codec for Silverlight

http://www.atoker.com/blog/2010/02/04/html5-theora-video-codec-for-silverlight/

Mozilla JägerMonkey: Method based JIT + Trace based JIT = speed

http://ajaxian.com/archives/mozilla-jagermonkey-method-based-jit-trace-based-jit-speed

The Non-Programming Programmer

http://www.codinghorror.com/blog/2010/02/the-nonprogramming-programmer.html

Nexus One from an iPhone Developer's Perspective

http://iphonedevelopment.blogspot.com/2010/02/nexus-one-from-iphone-developer.html

Uniform – 最好的美化網頁表單插件

http://ka-yue.com/blog/uniform-jquery-form-style-plugin

Report of the First Season of 2010

http://iamhlb.com/writings/2010/02/23/report-of-the-first-season-of-2010

Theora 與 H.264 的畫質差異

http://blog.gslin.org/archives/2010/02/27/2223/

Scaling Rails Site:Reading Material # 1

http://blog.xdite.net/?p=1597

Transparent House製作的3D影片「Anatomy of Apple Design」。

http://whiteappleer.blogspot.com/2010/03/transparent-house3danatomy-of-apple.html

Why Can't PCs Work More Like iPhones?

http://bits.blogs.nytimes.com/2010/02/25/why-cant-pcs-work-more-like-iphones/

Feature checklist dysfunction: Twitter vs. Google Buzz

http://37signals.com/svn/posts/2171-feature-checklist-dysfunction-twitter-vs-google-buzz

Illustrating REWORK (Part 1 of 2)

http://37signals.com/svn/posts/2180-illustrating-rework-part-1-of-2

Instapaper developer: "I try to minimize ways for my customers to
shoot themselves in the foot"

http://37signals.com/svn/posts/2165-instapaper-developer-i-try-to-minimize-ways-for-my-customers-to-shoot-themselves-in-the-foot

All the wrong reasons for Stack Overflow's VC chase

http://37signals.com/svn/posts/2159-all-the-wrong-reasons-for-stack-overflows-vc-chase

Use real content to judge a design

http://37signals.com/svn/posts/2149-use-real-content-to-judge-a-design

Computers shouldn't make people feel like idiots

http://37signals.com/svn/posts/2132-computers-shouldnt-make-people-feel-like-idiots

Puppy flavours

http://bkhome.org/blog/?viewDetailed=01413

Haiku: Diving Into WebKit

http://www.osnews.com/story/22916/Haiku_Diving_Into_WebKit

Headcount

http://www.joelonsoftware.com/items/2010/02/11.html

Going with the Flow

http://hexxeh.net/?p=328117468

從宏碁暫時不玩電子書說起

http://fred.ipod.to/blog/?post/2098

Bloom box發電箱的挑戰:可靠度、成本

http://www.zdnet.com.tw/news/hardware/0,2000085676,20144362,00.htm

Reblog: A conversation Dan Wineman has every month or so

http://blog.lukhnos.org/post/389921188/reblog-a-conversation-dan-wineman-has-every-month-or

吃你自己的狗食、工程師當自強

http://josephj.com/entry.php?id=315

5S再屌嘛

http://blog.lester850.info/archives/2010/02/05/1050/

判斷美股的重要因子:Dividend Yield

http://yesfx-global-invest.blogspot.com/2010/02/dividend-yield.html

介紹阿碼新執行長Caleb Sima

http://armorize-cht.blogspot.com/2010/02/caleb-sima.html

关于URL编码

http://www.ruanyifeng.com/blog/2010/02/url_encoding.html

Under the Hood with MeeGo

http://www.linux.com/news/embedded-mobile/mobile-linux/287498-under-the-hood-with-meego

2010年2月20日 星期六

Notes on Chromium OS for ARM

各位新年快樂! ULLab 的團隊成員除了在年假中加緊趕工, 為 xPUD 新版本加入平板模式 (tablet mode) 的支援外, 也「嘴巴說不要、身體卻很誠實」地接了一些 Chrome OS 的客製化案子.



如同之前提到的, 第一版的 Chrome OS 建置方式著實有點虛弱, 無法滿足不同平台或是未來實做各項功能的需求, 因此我們可以發現 Google 動作很快的提出了一些改進, 改用了一套新的 build system, 主要有兩個特點:
  • 採用 Gentoo Linux 的 portage 作為套件管理/編譯系統
  • 目前只支援 64 位元的平台
我們比較關注的 ebuild 目前都放在 ~/trunk/src/third_party/chromiumos-overlay/chromeos-base/ 底下, 若是熟悉 Gentoo 的話照著文件也可以輕易上手.

寫給自己的一些骯髒溫馨小提示:
  • 為了略過一些套件或修正編譯問題, 改完 ebuild 以後要重新產生 Manifest, 如 ebuild ~/trunk/src/third_party/chromiumos-overlay/chromeos-base/chromeos-chrome-bin/chromeos-chrome-bin-0.0.1-r1.ebuild manifest
  • 若有自己重打包原始碼放在 /var/lib/portage/distfiles/, 要重算 du -b, rmd160 -x, sha1sumsha256sum. (太髒了不推薦 XD)
另外有別於一般的 chromium 瀏覽器, 我們需要的是 "chromeos" 版的 (這樣才有左上角的 Panel), 在取得原始碼後:
  • .gclient 中加入:
    { "name"        : "cros_deps",
    "url" : "http://src.chromium.org/svn/trunk/cros_deps",
    } ,
  • 設定 GYP_DEFINES=chromeos=1
  • 執行 gclient sync --deps="unix,chromeos"
其他的部份可參考文件 Building Chromium for ARMBuild instructions for Linux.