High Performance Web Sites
YUI Theater -- 大牛们免费授课
http://developer.yahoo.com/yui/theater/
Best Practices for Speeding Up Your Web Site -- 经典好文
http://developer.yahoo.com/performance/rules.html
如何在Buzz上面获得更多Followers
转载请注明 https://twitter.com/kylehu
说说我的经验,欢迎补充:
1) 把你的 Google Profile 填好。没有个人简介也要有豆瓣,blog,twitter链接,好让一些慎重交友的人判断你是否有价值被follow,和他的兴趣爱好有无交集。
2) 刚开始玩Buzz可能通讯录里没什么人一起玩,那你就得使劲Follower别人。
比如说我对 web,usability 方面感兴趣,我就找几个业界比较出名的人来看看。
比如 @keso me, @Dahui Feng, @白鸦, @William Long
如果他们没隐藏自己的follower,接着你就打开他们follow的人列表使劲点follow吧!
同时你也可以follow在他们帖子里留言的人。通常是同行,有共同话题。
3) 别贴不合适图片,那样你follower敢在办公室等公共场合打开buzz吗?
4) 积极参与讨论,多在别人帖子里留言,多点"Like" 这样你名字出现频率高,点击率高。同上,最好能不无聊不纯灌水(好难做到,哈哈)。 能抢到沙发特别是名人沙发最理想。因为一楼永远不折叠。那天我抢了两个有2w+ 粉丝@Mashable科技博客的沙发,段时间内带来几十个follower。。
5) 由于不实时同步,如果你关联了twitter,friendfeed就会导致刷屏。最好别这样。
爱twitter的请加我 https://twitter.com/kylehu
我的Google Buzz: https://www.google.com/profiles/104231231256400902165
3张图片改变你对 iTunes 的看法(原创)
很多人抱怨 iTunes 难用,如下简单三步是我的解决方案:
1) 图1,View > 点击 Show Column Browser.
2) 图2,View > 勾选 as List
3) 图2,Column Browser > 勾选 Genres, Artists 和 Albums (根据喜好选择On Top 还是Left)
完成!最终效果请看“图3” 。
当然,这样管理方法前提是你的音乐文件有正确的流派,歌手和专辑信息。
当你有几千首歌曲时,要管理歌曲有效率,只能用tag管理,文件夹完全不能满足需要。
图3 显示的逻辑信息架构非常清晰, 歌曲或者歌手我通常能在5秒内找到。
iTunes的确是音乐爱好者的利器!我只是不太明白为何不在安装完成后就默认成这样?
图1:http://farm5.static.flickr.com/4041/4386595838_dc1eeb0b47_o.gif
图2:http://farm5.static.flickr.com/4071/4386596012_0cab73b507_o.gif
图3:http://farm3.static.flickr.com/2796/4385832077_8f7c87b792_o.gif
New Image-Free Theme
Due to the slow connection speed to GAE, I decided to go image-free on this blog and try to keep every page under 10kb.
There are still some CSS & HTML optimization work to do for this blog.
Follow Back != 反关注
月光在Buzz里面 发起了一次讨论 (Google Buzz 中文界面把 Follow Back 翻译为 "反关注")
这样会不会让人理解为 "不准他关注" 呢?
1)翻译 “Follow Back” 为: "也关注TA" 或者 "关注对方" 更为妥当,无歧义。
引用 Herock Xia 的回复:
中文语境里,表示这种类似礼尚往来的“他关注了我,我也关注他”的意思,通常会用“回”,而绝不会用“反”。
比如你请我吃饭后,我会“回请”;你拜访了我,我会“回访”;你向我行礼,我会“回礼;”而不是“反请”或者“反访”、“反礼”。
中文里表达这种“掉转头来”的意思是要区分情绪的,“回XX”表示的意思比较偏积极正面,而“反XX”则偏负面,通常含攻击性。如“反击”、“”反攻、“反制”、“反省”等,从这种表达习惯来看,“反关注”很明显是不合适的,更何况因为不是固定用法,很可能会被认为是“反对XX”的意思
2) 点击 "反关注" 按钮之后,出现文字是 “关注” ( 英语是 Following) 。改为 “已关注” 或者“关注成功”较好。
3) 每个 Buzz 贴下面的 顶 (Like) 改为 “支持” 或 ”赞” 比较符合功能。 因为点击并不能将帖子顶到第一位。
而且最好用两个中文字的翻译,这样字符所占像素宽度和英文“Like”基本相同,容易点击到。
4)在个人头像旁边,英文是 "2 connected sites", 现在的翻译是 “2个连接的网站”。 如果写成 “2个关联的网站”表达更清楚。
Google Buzz Rules!
Google Buzz is a discussion tool.
Google Wave is a collaboration tool.
Twitter is a broadcasting tool.
在服务推出的第一周,1.76亿Gmail用户中就有上千万人创建了超过900万条评论和消息,还有诸多手机用户通过Buzz移动 应用以每分钟200条消息的速度不断张贴内容。通过用户填写的 Profile , Google能够更加精确的掌握了每个用户的资料喜好,人与人之间的关系网络等,可能提高广告投放精确度。
Upgraded: Micolog 0.7 beta2
I'm going to come up with my new skin for this blog.
The default theme is not exactly my favorite...
APEX 4.0 Test-drive
I just got a workspace at www.tryapexnow.comStarting to test APEX 4.0 new features!New columns not shown in Interactive Reports
- 1) Login to APEX with Developer privileges.
- 2) Run the report.
- 3) Click the gear icon, choose "Select Columns" and you will find the missing column on the left. Select & move them to the right.Click Apply.
- 4) Then click on the gear icon again, click "Save Report", choose "As Default Report".
- 5) Click Apply.
AJAX Cascading LOVs in Oracle APEX.
1) Create a new application level item to hold a temp value of the selected item so it can be passed to application process.
P_SELECTLIST_REGION_NAME
under Shared Components > Application Items
This step is crucial otherwise it won’t work you will get null from returned get.get('XML');
2) Create an Application Process (on demand) under Shared Components > Application Processes :
BEGIN OWA_UTIL.mime_header ('text/xml', FALSE);
HTP.p ('Cache-Control: no-cache');
HTP.p ('Pragma: no-cache');
OWA_UTIL.http_header_close;
HTP.prn ('');
FOR c IN (select cr.country_name as country from asap_country_region_v cr, lov_values region where cr.region = region.lov_value and cr.attr_type ='Country' and cr.region = SELECTLIST_REGION_NAME order by cr.country_name) LOOP HTP.prn ('' || c.country || '');
END LOOP;
HTP.prn ('');
END;
3) JavaScript:
function get_country_name(pThis, pSelect) {
var l_Return = null;
var l_Select = html_GetElement(pSelect);
var get = new htmldb_Get(null, html_GetElement('pFlowId').value, 'APPLICATION_PROCESS=CASCADING_COUNTRY_SELECTLIST', 0);
get.add('P_SELECTLIST_REGION_NAME', pThis.value);
gReturn = get.get('XML');
if(gReturn && l_Select) {
var l_Count = gReturn.getElementsByTagName("option").length;
l_Select.length = 0;
for(var i = 0; i < l_Count; i++) {
var l_Opt_Xml = gReturn.getElementsByTagName("option")[i];
appendToSelect(l_Select, l_Opt_Xml.getAttribute('value'), l_Opt_Xml.firstChild.nodeValue)}
}
get = null;
}
function appendToSelect(pSelect, pValue, pContent) {
var l_Opt = document.createElement("option"; );
l_Opt.value = pValue;
if(document.all) {
pSelect.options.add(l_Opt);
l_Opt.innerText = pContent;
}
else {
l_Opt.appendChild(document.createTextNode(pContent));
pSelect.appendChild(l_Opt);
}
}


