<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description></description><title>@kcome talks</title><generator>Tumblr (3.0; @kcome)</generator><link>http://kt.kcome.org/</link><item><title>Tomato Firmware + OpenVPN on E3000</title><description>&lt;p&gt;在wanup script那里调用自己的脚本， /jffs/wanup.sh&lt;/p&gt;

&lt;p&gt;这个脚本的内容是&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/sh
mkdir /etc/iproute2
cp /jffs/rt_tables /etc/iproute2/rt_tables
/usr/sbin/ip rule add from 192.168.1.2 table novpn
/usr/sbin/ip rule add from 192.168.1.3 table novpn
/usr/sbin/ip rule add from 192.168.1.4 table novpn
/usr/sbin/ip route add $(nvram get wan_gateway_get) dev ppp0 proto kernel scope link src $(nvram get wan_ipaddr) table novpn
/usr/sbin/ip route add 192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1 table novpn
/usr/sbin/ip route add default via $(nvram get wan_gateway_get) dev ppp0 table novpn
/usr/sbin/ip route flush cache
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;前两行是创建iproute2的文件，&lt;/p&gt;

&lt;p&gt;/jffs/rt_tables 内容是&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;255 local
254 main
253 default
0   unspec
200 novpn
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;仅有默认值外加了另外一个novpn路由表（我的默认main路由表是走vpn的）,往下三行是让3个台式机的IP不走vpn，只走novpn路由表。&lt;/p&gt;

&lt;p&gt;然后下面三行是把默认路由添加到novpn路由表，命令其实是从新启动的未做修改的默认main路由表上抄的。最后flush一下。&lt;/p&gt;

&lt;hr&gt;&lt;p&gt;以上是和fqx的邮件聊天记录，做简要说明；后面的是目前5月28日的路由上的脚本详情：&lt;/p&gt;

&lt;hr&gt;&lt;h1&gt;=== init ===&lt;/h1&gt;

&lt;pre&gt;&lt;code&gt;mkdir /etc/iproute2                                                             
cp /jffs/script/rt_tables /etc/iproute2/rt_tables                                      
/usr/sbin/ip rule add from 192.168.1.2 table novpn                              
/usr/sbin/ip rule add from 192.168.1.3 table novpn                              
/usr/sbin/ip rule add from 192.168.1.4 table novpn  
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;=== wanup ===&lt;/h1&gt;

&lt;pre&gt;&lt;code&gt;/bin/sh /jffs/script/wan-up.sh
/bin/sh /jffs/script/chnroute.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;=== wan-up.sh ===&lt;/h1&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/sh
/usr/sbin/ip route add $(nvram get wan_gateway_get) dev ppp0 proto kernel scope link src $(nvram get wan_ipaddr) table novpn
/usr/sbin/ip route add 192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1 table novpn
/usr/sbin/ip route add default via $(nvram get wan_gateway_get) dev ppp0 table novpn
/usr/sbin/ip route flush cache
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;=== chnroute ===&lt;/h1&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/sh
OLDGW=$(nvram get wan_gateway_get)
route add -net 1.0.1.0 netmask 255.255.255.0 gw $OLDGW
route add -net 1.0.2.0 netmask 255.255.254.0 gw $OLDGW
route add -net 1.0.8.0 netmask 255.255.248.0 gw $OLDGW
&lt;/code&gt;&lt;/pre&gt;</description><link>http://kt.kcome.org/post/23921117184</link><guid>http://kt.kcome.org/post/23921117184</guid><pubDate>Mon, 28 May 2012 17:15:30 +0800</pubDate></item><item><title>看到你在推上求前端，是在哪个城市的？</title><description>&lt;p&gt;只是咨询个技术问题。。。 现在已经没有问题了。。。谢关心：）&lt;/p&gt;</description><link>http://kt.kcome.org/post/17954584668</link><guid>http://kt.kcome.org/post/17954584668</guid><pubDate>Tue, 21 Feb 2012 01:43:36 +0800</pubDate></item><item><title>你是程序员？</title><description>&lt;p&gt;我是程序员～ 现在主要写mac/iOS apps～&lt;/p&gt;</description><link>http://kt.kcome.org/post/14205663874</link><guid>http://kt.kcome.org/post/14205663874</guid><pubDate>Wed, 14 Dec 2011 14:09:40 +0800</pubDate></item><item><title>[译] 远远躲开碌碌无为</title><description>&lt;p&gt;原文： &lt;a href="http://calnewport.com/blog/2011/11/11/if-youre-busy-youre-doing-something-wrong-the-surprisingly-relaxed-lives-of-elite-achievers/"&gt;If You’re Busy, You’re Doing Something Wrong: The Surprisingly Relaxed Lives of Elite Achievers&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;一项来自柏林的研究&lt;/h1&gt;

&lt;p&gt;上世纪九十年代，三位心理学家在位于西柏林中心的历史悠久的&lt;a href="http://www.udk-berlin.de/sites/content/themen/aktuelles/index_ger.html"&gt;柏林艺术大学&lt;/a&gt;进行了一项研究。这个小组的研究对象是小提琴演奏者，他们成文于&lt;a href="http://psycnet.apa.org/index.cfm?fa=buy.optionToBuy&amp;amp;id=1993-40718-001"&gt;Psychological Review的研究报告&lt;/a&gt;说明了他们研究过程。心理学家们请学院的音乐教授帮助他们选择一些他们认为“很有前途”、“未来极可能成为专业演奏家”的小提琴演奏者，本文称这一组研究对象为“精英组”。然后研究员们又请教授们从学校的教育部挑选出未来将成为音乐教师的一些学员，他们也是合格的小提琴演奏者，但是专业水平和第一组并不在一个级别上。本文称这一组研究对象为“普通组”。&lt;/p&gt;

&lt;p&gt;三位研究员对他们的研究对象进行了一系列深入的访谈，并且给每一位被研究对象一本时间日志，这个日志本上将一天24小时分成了若干个以50分钟为单位的时间段，被研究对象需要在回到家后详细纪录每一个时间段自己都是如何分配时间，完成了哪些事情。研究小组希望通过这些数据获得一个问题的答案：为何精英组的专业水平高于普通组。在得出结果之前，很明显地人们都容易认为精英组更专注于他们的业务训练，也即是“把别人用来喝咖啡的时间用来学习／工作／练琴”。而经过详细对比研究数据，事实并非如此⋯⋯&lt;/p&gt;

&lt;h1&gt;解码精英之道&lt;/h1&gt;

&lt;p&gt;首先我们先来用研究数据来否定常规的设想，两组被研究对象的日志记录显示，他们每周用于音乐训练的平均时间都是50小时，也就是精英组并没有花更长的时间用在专业训练上。&lt;/p&gt;

&lt;p&gt;那么，差异并不是不存在的，经过对比研究人员发现，专业组的演奏者在“刻意训练（deliberate practice）”方面用的时间却是普通组的3倍；结论便是：&lt;a href="http://calnewport.com/blog/2010/01/06/the-grandmaster-in-the-corner-office-what-the-study-of-chess-experts-teaches-us-about-building-a-remarkable-life/"&gt;无聊地、系统地训练才能锻炼才干&lt;/a&gt;。或许这也并不令人惊讶，类似的结论&lt;a href="http://www.amazon.com/Outliers-Story-Success-Malcolm-Gladwell/dp/0316017922"&gt;Gladwell也有提及&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;研究小组并没有止步于此。他们发现普通组的演奏者将工作／练习时间贯穿于全天始终，在研究报告的一张图表上显示他们的工作时间对比非睡眠时间是几乎平直的。而精英组中的成员，他们将工作／练习时间锁定在两个相对固定的时间段中，一次在上午一次在下午，相同的图表会显示出两个峰值。并且，事实上越是精英的演奏者，其峰值越整齐；被研究对象中最最精英的那些，教授们认为日后一定会在德国最著名交响乐团演奏的学生，他们的训练时段峰值就是整齐划一每天不变的。&lt;/p&gt;

&lt;p&gt;工作和休闲时间进行良好的分离，这对其他领域的人们来说也是提高效率的良方。以睡眠为例，此项研究中显示，精英组的平均睡眠时间比普通组多出一小时。在休闲娱乐方面，研究小组请小提琴演奏者们估算自己每周专门用来进行娱乐休闲的时间长度（衡量心理轻松的重要指数），其结果是精英组的休闲娱乐时间明显多于普通组，越精英的人休闲时间越长。&lt;/p&gt;

&lt;h1&gt;全力工作和费力工作（Hard Work VS Hard to Do Work）&lt;/h1&gt;

&lt;p&gt;我们来总结下研究结果：&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;普通组和精英组用在工作／练习的时间长度几乎都是每周五十小时&lt;/li&gt;
&lt;li&gt;但是普通组用于刻意训练的时间只有精英组的三分之一，他们的时间分配方式不同&lt;/li&gt;
&lt;li&gt;普通组将无目的无组织性的工作分配于全天各时段，于是尽管他们也付出了很多时间，但是却没有换回足够和充分的睡眠、休闲时间，他们并没有感到轻松和无压力；与此同时专业水平还在人之下&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;同样的现象在过去对于那些有成就的人的研究中屡见不鲜。此项研究的结果对我之前的关于“&lt;a href="http://calnewport.com/blog/2009/08/20/focus-hard-in-reasonable-bursts-one-day-at-a-time/"&gt;全力工作和费力工作（Hard Work VS Hard to Do Work）&lt;/a&gt;”之间的差别又提出了解释：&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;全力工作（Hard work）就是“刻意训练”。当你进行全力工作时候，这工作就是不那么舒坦，但是你不用做太长时间，每天一点就可以。例如此研究的精英组几乎每天只进行两段刻意训练，一共只有3.5小时。这样做你就会得到与日俱增的能力提高，由可观的进度也刻意增强信心和兴趣。也因此，虽然全力工作很枯燥和艰苦，但是它不会持续，你可以做完以后轻松享受剩余的时间。&lt;/li&gt;
&lt;li&gt;与全力工作对比费力工作（Hard to do work）就是“苦熬”，你在一整天里都在进行工作但是效率是低下的成果是看不到的，就像来自柏林的研究中那些普通组的演奏者。这样的工作方式只会让你感到疲倦和压力，并且对于专业水平提升并没有什么帮助。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;此项分析研究得出的重要结论便是：无论你是学生还是在工作，&lt;a href="http://calnewport.com/blog/2011/08/11/the-career-craftsman-manifesto/"&gt;如果你的目标是过着有意义而充实的生活&lt;/a&gt;，那么看似终日忙碌和重压倦怠是你最大的敌人，你要改变你的工作方式和时间分配。否则你就是柏林艺术大学研究项目中的普通组，而非精英组。&lt;/p&gt;

&lt;p&gt;我之前的体会和此项研究的过程和结论，再次提醒我们：做不必多，但凡进行必集中精力、全力以赴，做完即止，享受生活。&lt;/p&gt;</description><link>http://kt.kcome.org/post/12696613212</link><guid>http://kt.kcome.org/post/12696613212</guid><pubDate>Sun, 13 Nov 2011 02:27:00 +0800</pubDate><category>time management</category><category>GTD</category></item><item><title>［译］你的第一要务</title><description>&lt;p&gt;最近一段时间我处在一段转折期中，在此期间我承受了比以往更大一些的来自各方面的压力。&lt;/p&gt;

&lt;p&gt;大约一个月前，我有一周时间中断了锻炼。&lt;/p&gt;

&lt;p&gt;中断的结果是，我突然意识到了这是多么自欺欺人。我一直认为，让人们生活得更为健康是我们当今社会进步的一大源动力。然而那一周里的我，也沦落到了拿各种托词做借口的田地：太多的工作、没有时间、太累了、太难了、明天吧⋯⋯&lt;/p&gt;

&lt;p&gt;于是我做了一个决定，我决定将所有事情重排优先级。&lt;/p&gt;

&lt;p&gt;在过去的一个月里，我的每一天中第一要务变成了坚持锻炼，我把锻炼放在了最重要的位置，它高于开会、工作任务、娱乐休闲等等。&lt;/p&gt;

&lt;p&gt;坚持下来一段时间，我发觉以前没有这样做的日子是多么荒唐至极啊。因为锻炼，你可以：&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;提高效率，工作时更专注&lt;/li&gt;
&lt;li&gt;让身体变得更健康&lt;/li&gt;
&lt;li&gt;放松精神、心理平衡&lt;/li&gt;
&lt;li&gt;变成更好的职员、更好的老板，你会成为别人的好兄弟、好儿子、好丈夫、好爱人、好父母、好导师、好朋友⋯⋯&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;每天工作八小时然后进行适当的锻炼，获得的收获将远大于十小时的工作时间。&lt;/p&gt;

&lt;p&gt;认识到日常锻炼是第一要务，这其实是一件很简单的事。如果你没有将锻炼作为你的最高优先级的事情，那么你的顺序表就是不合适的。&lt;/p&gt;</description><link>http://kt.kcome.org/post/11315348465</link><guid>http://kt.kcome.org/post/11315348465</guid><pubDate>Tue, 11 Oct 2011 21:25:00 +0800</pubDate><category>excercise</category><category>workout</category></item><item><title>用AppleScript实现窗口布局器</title><description>&lt;p&gt;Blog没怎么写，倒是天天总结AppleScript～ 其实可以写个applescript分类了，呵呵～&lt;/p&gt;

&lt;p&gt;最近又折腾一档子 &lt;del&gt;便民&lt;/del&gt; 利己小工具，窗口布局器。这名字听起来怪怪的，我也没有怎么仔细想过，姑且先这么叫吧。需求来源是，有时候要对照某个web页面的内容，在另外一个web页面或者其他程序里面写邮件或者做其他事情，这个需求是很多人都有的，工作生活中也很常见。解决办法一般都是移动和缩放两个窗口摆在桌面两边，或者上下两部分，或者两个显示器上。如果有个工具可以方便快捷完成这个操作，那应该不错。今天的“窗口布局器”就完成的这个功能；并且我还借鉴了Windows 7中摸索到的还没有精确确认的neat小功能，WIN＋上下左右方向键对窗口进行最大／最小化等操作，最终让今天折腾的窗口布局器和QuickSilver快捷键设置绑定起来，做到最快布局窗口。&lt;/p&gt;

&lt;p&gt;功能需求／描述是这样：编写 ResizeRepos.scpt ，通过执行它可将当前窗口尺寸变为全屏幕的高，全屏幕的N分之一宽，并且移动到距离窗口左上角位置最近的（宽度的N分之一的整数倍，0）的坐标。用通俗点的语言就是，假设你想把屏幕分成左右两半，执行ResizeRepos.scpt脚本后，无论你现在打开的是Terminal还是Preview，都会使窗口占据屏幕的一半，是左半边还是右半边取决于窗口原始位置是略靠左还是略靠右。如果已经移动到了屏幕的最左边，再次执行该脚本会将窗口移到最右边，再执行一次会移动回最左边。更为奇妙的是，如果你的桌面足够大，将屏幕分为三份／四份也是可以的。&lt;/p&gt;

&lt;p&gt;废话不多说，上代码～～&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
property _deskwidth : 2048
property _deskheight : 1152
property _segments : 2

on run argv
    if (count argv) is not 0 then
        set _segments to (item 1 of argv) as integer
    end if
    set _cellw to _deskwidth div _segments
    set name_ to the name of (info for (path to frontmost application))
    tell application name_
        set {_posx, _y, _bx, _by} to bounds of front window
        set _newpos to _posx div _cellw * _cellw + _cellw
        if (_newpos ≥ _deskwidth) then
            set _newpos to 0
        end if
        set the bounds of the first window to ¬
        {_newpos, 0, _newpos + _cellw, _deskheight}
    end tell
end run&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;注：“¬”是折行符号，实际写的时候可以把它连接的两行连起来；“≥”是大于等于号，输入&amp;gt;=即可，保存的时候AppleScript Editor会自动变为≥&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;解释之：&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;p&gt;_deskwidth 和 _deskheight 是自己桌面的宽和高，自己根据需要调整；动态获取也是可以的，比如获取宽度就是 &lt;code&gt;set _deskwidth to word 3 of (do shell script "defaults read /Library/Preferences/com.apple.windowserver | grep -w Width") as number&lt;/code&gt;；显然自己桌面尺寸不会天天变，我们就不动态获取了；还有就是对于双显／三显／四显的土豪们，请参考 &lt;a href="http://daringfireball.net/2006/12/display_size_applescript_the_lazy_way"&gt;Daring Fireball 06年某文&lt;/a&gt; 解释多显虚拟桌面计量的文章，此处不多讨论&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;if (count argv) is not 0 then 一直到if结束，是获取执行时候的参数；我们希望调用的时候调用者告诉脚本是将屏幕划分为两半还是三瓣。。。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;set name_ to the name of (info for (path to frontmost application)) 此行获取当前程序的名称，下面的tell都是在该程序中进行操作&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;set {_posx, _posy, _botx, _boty} to bounds of front window 获取当前程序的当前窗口左上角xy坐标右下角xy坐标&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;对获取的xy坐标进行计算，这么简单的就不解释了，然后通过 set the bounds of the first window to {_newpos, 0, _newpos + _cellw, _deskheight} 将新坐标发回给窗口，就设置完成了位置和尺寸&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;仅仅写完了这个还没有彻底结束，这个script如果只是在Finder里双击运行或者Terminal里命令行执行，就只能修改修改这俩程序的窗口位置和尺寸了。现在我编写了两个脚本split2.sh和split3.sh，各自都只有一行，他们分别是 osascript /Users/kcome/sh/scripts/ResizeRepos.scpt 2 和 osascript /Users/kcome/sh/scripts/ResizeRepos.scpt 3 ；看到了吧，只有最后一个字符不同，第一个就是分两半的方案布局窗口，第二个是分三瓣。&lt;/p&gt;

&lt;p&gt;然后进入QuickSilver的Triggers界面，添加项目，Select an item选择刚才写的split2.sh，Action就是默认的Run [&amp;#8230;]，Target随便写一个字符（否则用快捷键启动时候会被询问Target，其实在这里是无用的参数）；然后添加保存，指定快捷键，就大功告成了。按下快捷键试试吧？&lt;/p&gt;

&lt;p&gt;其实，要说我这博有啥意义的话，我想只有两点，一个是想说AppleScript很强大，基本上发挥自己的想象力，可以完成许许多多的有趣有用功能；另外一个就是，善用google，勇于尝试，我不过是花了一两个小时，搜索了不到十个关键词组，比如“applescript get current desktop size”、“move window by applescript”、“howto get argument in applescript”，加上试验，修改，调试，就完成了这个功能。所以，写程序也不难，让电脑听话也是有趣事：）&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.ithug.com/2007/09/applescript-moving-and-resizing-windows/"&gt;参考最多的一篇博文 Applescript: Moving and Resizing Windows &lt;/a&gt;&lt;/p&gt;</description><link>http://kt.kcome.org/post/9674969129</link><guid>http://kt.kcome.org/post/9674969129</guid><pubDate>Fri, 02 Sep 2011 03:41:00 +0800</pubDate><category>applescript</category><category>utility</category></item><item><title>VPN自动拨号脚本小tip一个</title><description>&lt;p&gt;用了一段时间&lt;a href="http://kt.kcome.org/post/8438059162/applescript-vpn"&gt;VPN自动拨号脚本&lt;/a&gt;，觉得没啥大问题，有两个问题，一个是输入管理员密码的时候不能自动将焦点移到输入框中，二个是如果拨号不成功当前脚本不会自动退出运行。今天更新个小tip解决问题一。&lt;/p&gt;

&lt;p&gt;其实很简单，将&lt;/p&gt;

&lt;pre&gt;
on run {input, parameters}
  -- 和以前一样的所有内容
end run
&lt;/pre&gt;

&lt;p&gt;&lt;br/&gt;
变为下面的即可&lt;/p&gt;

&lt;pre&gt;
on run {input, parameters}
  tell me
    activate
    -- 和以前一样的所有内容
  end tell
end run
&lt;/pre&gt;

&lt;p&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;其实还有个可以完善的地方，应该是检测当前vpn IP地址和hosts文件中的是否一致，如果一致就不要修改它了，可以跳过管理员密码输入这一步骤。&lt;/p&gt;</description><link>http://kt.kcome.org/post/9619611442</link><guid>http://kt.kcome.org/post/9619611442</guid><pubDate>Wed, 31 Aug 2011 14:42:40 +0800</pubDate><category>applescript</category><category>tech-tips</category></item><item><title>限制发推时段的脚本</title><description>&lt;p&gt;过去N年都上推太多，过去一年总想限制自己上twitter的时间，让工作效率提高起来，但时常看着 rescuetime.com/dashboard 的 social network 类别当日使用时长超过一小时（我给自己定的上推时长阈值），依然停不下看推发推的步伐。。。 最近借着内部和外部多种因素，写了个限制发推时段的脚本，现在把方法和经历总结一下。&lt;/p&gt;

&lt;p&gt;要做的是： &lt;b&gt;限制在制定的时段内，twitter.com不能在电脑上访问，无论客户端还是browser&lt;/b&gt;。系统环境是Mac OS X 10.7，随便想了几种方案，决定用crontab加bash script修改/etc/hosts文件中twitter的api/stream/search地址来完成操作。&lt;/p&gt;

&lt;p&gt;首先，/etc/hosts 文件中添加如下三行&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;127.0.0.1 api.twitter.com
127.0.0.1 search.twitter.com
127.0.0.1 stream.twitter.com
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;br/&gt;这时候twitter就无法访问了。然后写一个bash脚本，根据当前时间，确定在上面的几行内容最前部前添加或者去除注释符号来完成启用或者禁用封锁twitter的功能。脚本blocktwitter.sh内容如下&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/bash
HOUR=`date "+%H"`
BLOCK=0
if [ "$HOUR" -ge 9 -a "$HOUR" -lt 12 ]; then
  BLOCK=1
fi
if [ "$HOUR" -ge 13 -a "$HOUR" -lt 18 ]; then
  BLOCK=1
fi
if [ "$BLOCK" -eq 1 ]; then
  #echo "block twitter"
  sudo sed -i -e \
  "s/^#127.0.0.1 \(.*\).twitter.com/127.0.0.1 \1.twitter.com/g" \
  /etc/hosts
  say "Now blocking twitter"
else
  #echo "unblock twitter"
  sudo sed -i -e \
  "s/^127.0.0.1 \(.*\).twitter.com/#127.0.0.1 \1.twitter.com/g" \
  /etc/hosts
  say "Now unblocking twitter"
fi&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;br/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;以上使用sed程序的替换命令对 /etc/hosts 文件做操作。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;"$HOUR" -ge 13 -a "$HOUR" -lt 18&lt;/code&gt;表示如果时钟小时数大于等于13并且小于18，这个可以根据需要进行调节（脚本中的时间是我司上班时段：）&lt;/li&gt;
&lt;li&gt;sed命令为了在此theme中不显示太长造成难看的状况，我用\将其折成了3行了，没有实地测试是否这个折行是没有问题的&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;最后，使用&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo crontab -e&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;br/&gt;
命令编辑root用户的定时任务。在编辑器中添加&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;0 * * * *    /bin/bash /Users/username/shell/blocktwitter.sh&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;br/&gt;行尾一定要有换行／回车。表示每小时的第0分钟执行&lt;code&gt;/Users/username/shell/blocktwitter.sh&lt;/code&gt;脚本。这样，每小时检查并根据策略执行一次启用或者禁用twitter域名封锁的禁推脚本就完成了。&lt;/p&gt;

&lt;p&gt;注意：最初不知道为何我试验crontab的时候总是执行不到脚本内容；后来经过不知是偶然还是必然的一次修改尝试，我把最后一个定时条件／最后一个星号（*）和执行命令（/bin/bash）之间的空格换成了TAB（制表符/0x09）就一切OK了，后来因为时间所限（其实是懒！）没有查证了，有空和好奇心的童鞋可以探究一下，可以告诉我下结论。还有就是crontab可以（有些是必须）添加SHELL/PATH/MAILTO环境变量，否则有些脚本中的功能会执行不了。&lt;/p&gt;

&lt;p&gt;本文中还是有一些说得不够细致，也还有功能不足之处，不过这些细节和补充都是可以google到的，我也是一边google一边写完了这个脚本，不带debug奇怪问题的话也就半个小时就完成了这个功能，大家有什么更多需要更好的主意，尽情地自己扩展吧：）&lt;/p&gt;

&lt;p&gt;我推特 &lt;a href="https://twitter.com/kcome"&gt;https://twitter.com/kcome&lt;/a&gt; :)&lt;/p&gt;</description><link>http://kt.kcome.org/post/9041851710</link><guid>http://kt.kcome.org/post/9041851710</guid><pubDate>Thu, 18 Aug 2011 00:45:29 +0800</pubDate><category>twitter</category><category>shell</category><category>hosts</category><category>productivity</category><category>osx</category></item><item><title>［译］使用Preview（预览）程序创建“数字签名”</title><description>&lt;p&gt;译自：&lt;a href="http://www.tuaw.com/2011/08/10/mac-101-capture-your-signature-using-os-x-lions-preview-app/"&gt;TUAW之Mac 101: Capture your signature using OS X Lion&amp;#8217;s Preview app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.blogcdn.com//media/2011/08/signature-capture-cjr.jpg" alt="make signature"/&gt;&lt;/p&gt;

&lt;p&gt;Mac OS X 10.7 Lion自带的Preview（预览）程序提供了对PDF进行&lt;a href="http://www.apple.com.cn/macosx/whats-new/features.html#preview"&gt;数字化签字&lt;/a&gt;功能。尽管在Lion之前的Mac OS X版本中你一样可以扫描手写签名图像文件，使用批注工具将其“贴”在签名档处，甚至还可以打印文档，用墨水进行签字然后再扫描回电脑；无论怎样这一过程都是复杂而繁琐的。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.blogcdn.com/www.tuaw.com/media/2011/08/create-signature-cjr.jpg" alt="multiple signature"/&gt;&lt;/p&gt;

&lt;p&gt;在Lion里，Preview程序自带的“签字图案”扫描功能使得数字文档署名签字过程变得简单无比。从批注工具栏里你可以直接使用Mac Mini除外的每一个Mac都配有的iSight摄像头拍摄签字样张，然后在摄像头前对齐基准线即可。&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.blogcdn.com/www.tuaw.com/media/2011/08/docco-cjr.jpg" alt="result page"/&gt;&lt;/p&gt;

&lt;p&gt;Preview程序还能够保存多个签名，这将对无纸化办公带来极大的方便。&lt;/p&gt;

&lt;p&gt;译注：因为“数字签名”（&lt;a href="http://en.wikipedia.org/wiki/Digital_signage"&gt;维基百科：数字签名&lt;/a&gt;）一词和本文中描述的“扫描个人签名图像并合成叠加于数字文档图像”这一概念是不同的，所以译文使用“数字化签字”等取代，标题中将“数字签名”加引号。&lt;/p&gt;</description><link>http://kt.kcome.org/post/8776614038</link><guid>http://kt.kcome.org/post/8776614038</guid><pubDate>Thu, 11 Aug 2011 20:57:00 +0800</pubDate><category>lion</category><category>preview</category><category>tip</category></item><item><title>taste一点开，让我吃了一惊，我靠！</title><description>&lt;p&gt;欢迎浏览：）欢迎反馈：）&lt;/p&gt;</description><link>http://kt.kcome.org/post/8602800001</link><guid>http://kt.kcome.org/post/8602800001</guid><pubDate>Mon, 08 Aug 2011 00:02:26 +0800</pubDate></item><item><title>“输入助手”v0.1</title><description>&lt;h1&gt;如果只想看一条tweet长的内容&lt;/h1&gt;

&lt;p&gt;“输入助手”（TISPal）今天发布v0.1。此次第一个发布版本仅有一个功能：记住每个应用所使用的输入法，在用户切换到某程序时，比如用CMD＋TAB，自动切换到上次离开该程序时的那个输入法。也可以说让你获得类似Windows系统的输入习惯。 下载 &lt;a href="http://j.mp/pRHbfI"&gt;http://j.mp/pRHbfI&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;如果还可以听我罗嗦更多&lt;/h1&gt;

&lt;p&gt;三到四个月前我第一次用Mac OS X 10.7 Lion Developer Preview，当时还没有装&lt;a href="http://glider.ismac.cn/RegQIMS.html"&gt;QIM输入法&lt;/a&gt;，就用了Lion自带输入法，因为速度并不慢，选字方式一下子就习惯了，还有最吸引我的Apple集成的颜文字，我就决定在10.7发布后只用Apple官方中文输入法不再安装第三方输入法，主要是洁癖因素和个人喜好。&lt;/p&gt;

&lt;p&gt;但是QIM或者说其他输入法中有一个我非常需要的功能Lion自带拼音输入法没有，那就是“Silent for applications&amp;#8230;&amp;#8221;，即：在某些应用程序中关闭输入法。像我这样经常用Terminal进行操作的，一边用拼音输入法发完中文tweet，一边又回到Terminal删除文件，这个时候就特别需要这个功能了。刚在10.6雪豹装好QIM的时候，我就第一时间设置了某些程序中不使用拼音输入法，我一直认为这是一个非常有用、常用的功能。&lt;/p&gt;

&lt;p&gt;因为不可能期待Apple开发这样的功能，并且经过简单研究发现控制应用程序中切换为特定输入法可以用&lt;a href="http://en.wikipedia.org/wiki/Carbon_(API)"&gt;Carbon&lt;/a&gt;框架中的函数实现。我就决定开发一个小工具实现这样的功能。&lt;/p&gt;

&lt;p&gt;拖着拖着，拖到了Lion发布了，学Cocoa和Objective C对我来说也就是近一两个月的事儿，所以今天才有v0.1见人。程序可能还有些bug，我自己也从今天开始使用这个程序，写此blog之前也没有经过什么测试，所以如有问题可以在&lt;a href="https://twitter.com/kcome"&gt;twitter.com/kcome&lt;/a&gt; , &lt;a href="https://github.com/kcome/TISPal"&gt;github.com/kcome/tispal&lt;/a&gt; 或者这里向我提出，我会尽力修正，并提供大家喜欢的需要的关于输入法管理和控制方面的功能。从简短介绍大家也看出来了，其实我最初希望获得的“Silent for applications&amp;#8230;”功能并没有在此版本中实现，但是如果今天这个v0.1版本所提供的功能能够运行正常，通过用户的检验的话，那么特定程序锁定输入法的功能其实也近在眼前了。&lt;/p&gt;

&lt;p&gt;最后再提两点，第一，本程序是开放源代码项目，所有代码可以从 &lt;a href="https://github.com/kcome/TISPal"&gt;github.com/kcome/tispal&lt;/a&gt; 获得，代码发布遵从&lt;a href="http://www.mozilla.org/MPL/"&gt;Mozilla Public License&lt;/a&gt;许可证。这样的一个原因是输入法属于敏感部件，对安全性有要求的童鞋们可以稍稍放心一些。第二个是，程序图标是我自己“用极简陋方法”画的，如果对此有不喜欢或不适，欢迎投稿：）&lt;/p&gt;

&lt;p&gt;谢谢观赏，欢迎留下您的看法：）&lt;/p&gt;</description><link>http://kt.kcome.org/post/8600455272</link><guid>http://kt.kcome.org/post/8600455272</guid><pubDate>Sun, 07 Aug 2011 22:34:00 +0800</pubDate><category>tispal</category></item><item><title>AppleScript实现VPN自动拨号</title><description>&lt;p&gt;从这次开始，把一些技术技巧记录也写在blog里，否则对我这种写博拖延症来说，保持一定频率真太难了。。。拖延症其实都是coding或者干活强迫症造成的，干活强迫症有点让我其他什么都进行困难了。。。废话少说，正题开始，这是一个条件略有复杂和奇特的case，需求可能有些和别人的不同，之前没有搜到特别完美的方案，就把自己的脚本以及折腾过程记录下来。&lt;/p&gt;

&lt;h2&gt;需求/条件约束&lt;/h2&gt;

&lt;ul&gt;&lt;li&gt;一台Mac OS X（当前是10.7.0）通过PPTP连接到另一端的远程网络（比如从家连接到公司）&lt;/li&gt;
&lt;li&gt;远程网络通过ADSL拨号连接互联网，没有动态DNS，但是有某静态IP的web页面公布其地址&lt;/li&gt;
&lt;li&gt;Mac OS X连接了两个内网（有线和无线），分别为192.168.1.0和192.168.2.0，远程网络的内网是192.168.0.0&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;连接过程&lt;/h2&gt;

&lt;p&gt;全程仅用Autormator里添加一个“Run AppleScript”任务，任务中有不少“do shell script xxx”的语句调用命令行工具。代码如下&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;on run {input, parameters}
  set REMOTEIP to do shell script ¬
  "curl -s &lt;a href="http://11.22.33.44:8080/showip"&gt;http://11.22.33.44:8080/showip&lt;/a&gt; | grep -Eo \"([[:digit:]\\.]+)\""
  do shell script "sed -i -e \"s/.* remoteIP.local/" &amp;amp; REMOTEIP &amp;amp; ¬
  " remoteIP.local/g\" /etc/hosts" with administrator privileges
  do shell script "dscacheutil -flushcache"
  do shell script "route -n add -static " &amp;amp; REMOTEIP &amp;amp; ¬
  " 192.168.2.1" with administrator privileges
  tell application "System Events"
    tell current location of network preferences
      set VPNservice to service "VPN NAME IN SYSTEM PREFERENCES"
      if current configuration of VPNservice is not connected then
        connect VPNservice
        repeat while current configuration of VPNservice is not connected
          delay 1
        end repeat
      end if
    end tell
  end tell
  do shell script "route -nv add -net 192.168.0.0/24 10.0.0.2" ¬
  with administrator privileges
  return input
end run
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;其中“¬”是OPTION+ENTER/RETURN，只是将太长的单行语句折行方便显示用的。&lt;/p&gt;

&lt;h2&gt;注记&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;curl -s &lt;a href="http://11.22.33.44:8080/showip"&gt;http://11.22.33.44:8080/showip&lt;/a&gt; | grep -Eo "([[:digit:]\\.]+)"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;因为暴露远程网络IP地址的静态页面显示的并非一个单独的IP地址，这里用grep把其他无用信息过滤掉，将被扒光的IP地址付给变量REMOTEIP&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;do shell script "sed -i -e \"s/.* remoteIP.local/" &amp;amp; REMOTEIP &amp;amp; ¬
" remoteIP.local/g\" /etc/hosts" with administrator privileges&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;我再解释一下上面这行。因为远程网络的IP地址不固定，而Mac OS X里PPTP VPN的目标IP地址目前没有找到好方法用命令行或AppleScript修改，所以这里采用的方法是填写一个本地主机名“remoteIP.local”，然后在 /etc/hosts 文件中写入 &amp;#8220;11.22.33.44 remoteIP.local&amp;#8221;，这样就避免了在AppleScript或命令行下修改VPN连接目标IP的需求。这个方法虽然有点迂回和龌龊，但是其他更便捷的方法还没发现。缺点还包括每次连接vpn都要修改hosts文件，洁癖表示接受起来鸭梨略大。&lt;/p&gt;

&lt;p&gt;route命令是让VPN连接走指定网关的。我是一开机即连上美国VPN的并设置为全局路由，而这里又希望连接办公网络的PPTP VPN不经过美国VPN，就指定了直接从网关经过。&lt;/p&gt;

&lt;p&gt;下面的VPN连接代码应该是很容易可以google到的，到处都有解释这里就不多说了。&lt;/p&gt;

&lt;p&gt;注意一点是如果命令行操作需要sudo，只需要去掉它并在do shell script &amp;#8220;bla bla bla&amp;#8221;后加“with administrator privileges”即可。虽然简单的东西也找了挺久，不知道是我不会找还是AppleScript文档比较囧。&lt;/p&gt;

&lt;p&gt;其他就没什么了把。先到这里吧：）&lt;/p&gt;</description><link>http://kt.kcome.org/post/8438059162</link><guid>http://kt.kcome.org/post/8438059162</guid><pubDate>Thu, 04 Aug 2011 03:42:00 +0800</pubDate><category>applescript</category><category>shell</category><category>automator</category><category>tech-tips</category></item><item><title>商业拉锯，世界大同</title><description>&lt;p&gt;一两周前，据说是迫于压力，当地政策为借口，Apple开始在台湾进行App Store下载产品可以在7天之内享受退款的销售政策。这已经不是新闻了，不过今天晚饭回来的路上，想到了这个问题。其实还有一些流言与之遥相呼应，就是Google在面临和Apple同样的压力时，选择了抗拒，不妥协。至于是否会有什么后果发生在Google身上，以及这两家的对比或评论，都不是我想说的重点。我想到的问题是，为何只有台湾这个地方，实施着如此苛刻、严格的消费者保障策略，而对于Google和Apple这样的国际公司，运营国际市场的一致策略，难道他们在向台湾妥协之前是在欺压消费者么？&lt;/p&gt;

&lt;p&gt;可能我们听说了太多的，“本地特色”、“族群习惯”，种种理由也好，借口也好，甚至是背后的猫腻，黑暗且复杂的利益关系。但是我觉得在一个充分自由竞争，有适当监管的市场环境下，过分的行政干预施加于商业甚至于技术当中，都是不合适的。过分点的话，举极端的例子，App Store这种智能手机应用开发和消费产业，我想大家都会认为最发达的国家是美国吧，美国的消费者都没有觉得当今的退款政策有何不妥，那台湾的监管部是如何评判台湾消费者是无法接受比7天要短的退款期呢？台湾消费者和美国消费者有哪些不同，促使了这样的政策必须得以贯彻呢？下面还有一个反面的例子，比如说中国大陆有中国大陆的国情，一党专政的局面促使App Store的内容需要被管制，而这样的干预是哪怕台湾监管机构也明白其利弊的吧。&lt;/p&gt;

&lt;p&gt;综合来看，自由贸易和市场经济，消费者和商家的拉锯，竞争商家之间的拉锯，依然是社会进步和世界发展的最主要动力，而违背这样规律行进的行政政策，将对产业甚至更大层面带来损害。&lt;/p&gt;</description><link>http://kt.kcome.org/post/7260740517</link><guid>http://kt.kcome.org/post/7260740517</guid><pubDate>Tue, 05 Jul 2011 19:42:10 +0800</pubDate><category>eco-system</category><category>free market</category><category>economy</category><category>app store</category><category>localization</category></item><item><title>不知是巧合还是～～～</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_ln7knzFNIW1qcvnrmo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;不知是巧合还是～～～&lt;/p&gt;</description><link>http://kt.kcome.org/post/6800715860</link><guid>http://kt.kcome.org/post/6800715860</guid><pubDate>Thu, 23 Jun 2011 04:24:00 +0800</pubDate></item><item><title>Apple and Developers</title><description>&lt;p&gt;6月6号的WWDC确实震惊了不少人，从大家的tweets里，我感觉这次WWDC给的料，尤其是iOS5的部分，是最近两年来最“稠”的了，我发的一条推说的看法就是：“新iOS5让消费者越来越尖叫，竞争者越来越头疼，开发者越来越挠墙”。你可以从大家的反馈感受到iOS的功能升级是多么显著，此次可以说是过去几次iOS升级中功能增添最多的一次了，这也得益于竞争，没有Android和WP7的追赶iOS也不会以大家不敢想像的速度发展下去。&lt;/p&gt;

&lt;p&gt;当然，最具争议的一个热点就是：Apple的许多动作抢了开发者的饭碗，或者说非常大程度的影响了开发者的信心，增加了许多对App研发和投入资源的风险。一时间，类似Marco的shit，各种骂声四起⋯⋯ 不过我还是从另外一些方面觉得Apple抢开发者饭碗这样的事情，并不会如大家想得那么糟糕。下面是由此想到的几点&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;p&gt;Apple这样的公司行动的速度，一定是独立开发者所不及的。想一下Apple花了多久时间决定并执行增加全局Twitter、Reader on Safari、同步书签、Lock Screen拍照，等等等等。所以，独立开发者的优势是速度、灵活，不是在基础功能方面做替代Apple组件的事情。想像一下某夸张的国内群博，文革语汇毫不吝啬的用在Kik、Talkbox出现时对他们的赞扬，说什么大公司的创新可以去死之类的。那么这个时候是不是也可以回想那些时刻，在Apple抢了你一部分饭碗的时候，你真的会觉得天塌了么？是象100年前的1911年那样一座你家祖传的金矿突然被强盗抢走然后你身无分文流落街头了么？&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apple的使命是制造更优美的设备、操作系统、App生态系统。目前看到的增加得这些功能，都还没有背离这个原则。这些增加的功能确实working out-of-box比告诉消费者可以通过第三方应用（可能还需要付费）实现要好很多，并且随着智能设备平台的发展，有些功能确实在前几年是第三方应该实现的，但到了今天已经普及到了平台需要提供这样的功能，比如Twitter。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;由前面一点，可以看到Apple的任务，制造更有吸引力的设备和OS，其实是帮开发者吸引到更多的用户，这样对第三方App开发者是绝对的利好。一个平台用户基数越大，自己的应用销售面就越广。即便Apple真的得罪了象Marco这样的开发者，可是让自己的平台吸引到更多用户，依然是更多人群得益，生意做到这个份儿上，让更少、最少的人抱怨，更多人获益，已经是，不恰当地讲，两害相权取其轻者来了。&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;可能还有其他方面的想法，暂时先说这三个吧。&lt;/p&gt;

&lt;p&gt;UPDATE：&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Marco在新博文&lt;a href="http://www.marco.org/2011/06/06/safari-reader-and-instapaper"&gt;What Safari’s Reading List means for Instapaper&lt;/a&gt;中也没有感到Reader On Safari是一个利空消息。他说现在即便Instapaper是新闻类排名第一的App，仍然只有不到1％的用户在使用Instapaper，市场空间依然很大。并且Reader On Safari的出现，其实是在帮助不了解不知道Instapaper的用户，告诉他们Instapaper就是更好的、更专注的、“豪华版”的Reader On Safari。&lt;/li&gt;
&lt;/ul&gt;</description><link>http://kt.kcome.org/post/6272731376</link><guid>http://kt.kcome.org/post/6272731376</guid><pubDate>Tue, 07 Jun 2011 10:59:00 +0800</pubDate><category>apple</category><category>apps</category><category>developer</category><category>app store</category><category>eco-system</category></item><item><title>药家鑫判刑中想到的</title><description>&lt;p&gt;昨天锐推了Cocoaye的一条&lt;a href="http://twitter.com/#!/Cocoaye/status/71878819384012800"&gt;tweet&lt;/a&gt;，内容是：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;全民喊杀药家鑫，我觉得这也从某一个角度反映出了我们这个民族阴冷的性情，我们对生命是非常轻视和蔑视的，对于我们而言，有太多的理由可以让我们理直气壮,堂而皇之的去抹杀一个人的生命，从这个角度讲，其实我们全民都是药家鑫。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;其实我也对“全民喊杀”是感到不舒服的，只是因为我没有去了解案情、事情的前因后果，没有说什么。在当今信息爆炸的环境下，我总有一种信息恐惧症，我觉得一件事情，尤其是被热炒和本身就很热的事情，很难去非常客观了解其真实状况。不过我依然这两天想到几点，写下来记录一下。&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;p&gt;Cocoaye的tweet以及我表示的同意，其中最大部的原因是，药家鑫即便做了十恶不赦的事，也是要经过法律程序，即便是判处死刑也需要符合“程序正义”，所谓法律面前人人平等，法律判决不受哪怕民意的影响，这是最重要的。同样，杨佳和马加爵也应如此。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;下面就到了比较重要的民意。我的倾向是，民意可以表达对重大罪恶的愤怒，哪怕是不理智和稍有野蛮的情绪。但是这些情绪，一不能过分，不能天天讲人人讲，二来不能超越前面所说的“程序正义”的重要。如果没有这些，那这个社会是“未开化”的，距离文明社会还有很大的距离。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;第三点针对第二点，为何民众，如此多和如此深度地表达“野蛮”、“不文明”的情绪呢？我的理解是，我们太缺乏“程序正义”，我们也一直在执行“软法律”，以“民意”和“官意”随意解释的法律，随意设立的法律，随意执行的法律，我经常口中所说的“法已不法”。其实如果第一条能做得很好，人人在法律面前都有程序正义，人人都认为法律是合理可行的，那产生暴民心理的土壤就会很快消失殆尽。&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;上面是我想到的，最后再推荐下王小峰评药家鑫案和夏俊峰案——&lt;a href="http://www.wangxiaofeng.net/?p=7473"&gt;预测&lt;/a&gt;。&lt;/p&gt;</description><link>http://kt.kcome.org/post/5719555652</link><guid>http://kt.kcome.org/post/5719555652</guid><pubDate>Sun, 22 May 2011 11:23:41 +0800</pubDate><category>china</category><category>law</category><category>case</category><category>death-penalty</category></item><item><title>"这话说给自己听的是牛逼，说给别人听的是傻逼。 RT @yancaiwm @maoomao @Ryan_XxOo @cxzj:..."</title><description>“这话说给自己听的是牛逼，说给别人听的是傻逼。 RT @yancaiwm @maoomao @Ryan_XxOo @cxzj: 今天，面对武大的同学，北邮和哈工大的同学应该感到羞愧，难道你们买不起鸡蛋和拖鞋吗？”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://twitter.com/kcome/status/71268289216643073"&gt;http://twitter.com/kcome/status/71268289216643073&lt;/a&gt;&lt;/em&gt;</description><link>http://kt.kcome.org/post/5641598397</link><guid>http://kt.kcome.org/post/5641598397</guid><pubDate>Fri, 20 May 2011 01:40:18 +0800</pubDate></item><item><title>这俩LOGO接近太多了点。。。...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_ll6c28iL4l1qcvnrmo1_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_ll6c28iL4l1qcvnrmo2_400.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;p&gt;这俩LOGO接近太多了点。。。 总觉得后一个设计者即便为了避嫌，也应该搞得区别大一些～～
另外我最初觉得汉莎的logo很不好看，后来慢慢慢慢，因为各种原因，也喜欢上了。。。&lt;/p&gt;</description><link>http://kt.kcome.org/post/5474037470</link><guid>http://kt.kcome.org/post/5474037470</guid><pubDate>Sat, 14 May 2011 15:13:20 +0800</pubDate></item><item><title>iMac更新，有权和无权使用TRON:Legacy的国家列表</title><description>&lt;p&gt;&lt;a href="http://apple.com/imac"&gt;iMac&lt;/a&gt;更新了，今天是一个大更新，上次或者说我记得的上次的大更新，Apple用了Paramount的&lt;a href="http://www.imdb.com/title/tt0796366/"&gt;Star Trek (2009)&lt;/a&gt;的“剧照”做屏幕内容展示，凸显了27寸iMac的震撼力。那个时候我就留心了一下，看看哪些国家的Apple网站用了Star Trek哪些没有用。但最终这些国家列表没记住，今天就写博记录一下吧，不知道会得到神马结论不。今天的&lt;a href="http://www.imdb.com/title/tt1104001/"&gt;TRON:Legacy&lt;/a&gt;是Disney的片子，Jobs是&lt;a href="http://corporate.disney.go.com/corporate/board_of_directors.html"&gt;Disney的董事会&lt;/a&gt;成员。&lt;/p&gt;

&lt;p&gt;经过统计这里有个有趣的发现，如果没有采用TRON Legacy电影剧照做屏幕显示图的话，大部分欧洲国家和印度，使用的是一个3D游戏场景；而亚洲和南美国家却是赛车主题的视频静帧。&lt;/p&gt;

&lt;p&gt;&lt;em&gt;下面的统计并没有完整列出所有apple.com上指向的各国站&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;有TRON Legacy做屏幕显示图的国家：&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="http://apple.com/imac"&gt;美国&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/ca/imac/"&gt;加拿大&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/mx/imac/"&gt;墨西哥&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/au/imac/"&gt;澳大利亚&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/jp/imac/"&gt;日本&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/nz/imac/"&gt;新西兰&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/fr/imac/"&gt;法国&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/de/imac/"&gt;德国&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/es/imac/"&gt;西班牙&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/chde/imac/"&gt;瑞士&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/at/imac/"&gt;奥地利&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/uk/imac/"&gt;英国&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr&gt;&lt;p&gt;没有TRON Legacy屏幕显示图的国家：&lt;/p&gt;

&lt;p&gt;下面的国家都是赛车图案替换TRON的～&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com.cn/imac/"&gt;中国&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/hk/imac/"&gt;香港&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/tw/imac/"&gt;台湾&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/sg/imac/"&gt;新加坡&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/kr/imac/"&gt;韩国&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/za/imac/"&gt;南非&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/la/imac/"&gt;南美：阿根廷、智利、哥伦比亚、巴西&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;下面的国家都是3D场景替换TRON的～&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/in/imac/"&gt;印度&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/ie/imac/"&gt;爱尔兰&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/dk/imac/"&gt;丹麦&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/benl/imac/"&gt;比利时&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/it/imac/"&gt;意大利&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/nl/imac/"&gt;荷兰&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/no/imac/"&gt;挪威&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.apple.com/ru/imac/"&gt;俄罗斯&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr&gt;&lt;p&gt;埃及、阿联酋、泰国、沙特、以色列、希腊、土耳其都没有更新iMac&lt;/p&gt;</description><link>http://kt.kcome.org/post/5164517901</link><guid>http://kt.kcome.org/post/5164517901</guid><pubDate>Wed, 04 May 2011 01:43:00 +0800</pubDate><category>apple</category><category>danteng</category></item><item><title>比较了四个网站在Safari下原始格式和reader模式的差异。可以看出长期大量web浏览是并不适宜使用reader模式的。有兴趣...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lkk27elJrC1qcvnrmo1_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://25.media.tumblr.com/tumblr_lkk27elJrC1qcvnrmo2_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://25.media.tumblr.com/tumblr_lkk27elJrC1qcvnrmo3_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_lkk27elJrC1qcvnrmo4_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_lkk27elJrC1qcvnrmo5_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_lkk27elJrC1qcvnrmo6_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://25.media.tumblr.com/tumblr_lkk27elJrC1qcvnrmo7_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/tumblr_lkk27elJrC1qcvnrmo8_500.png"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;p&gt;比较了四个网站在Safari下原始格式和reader模式的差异。可以看出长期大量web浏览是并不适宜使用reader模式的。有兴趣的话可以根据格式猜猜四个网站是谁 :D&lt;/p&gt;</description><link>http://kt.kcome.org/post/5126195076</link><guid>http://kt.kcome.org/post/5126195076</guid><pubDate>Mon, 02 May 2011 14:33:00 +0800</pubDate></item></channel></rss>

