Tin’s tweets on 2009-06-28

  • RT @CNBorn: 昨天 #openparty 的感受文章出炉,欢迎访问 http://is.gd/17Z9G 另外在其中还提了个小建议。//刚刚仔细看了你的建议,我觉得很好。下次我们可以考虑搞一个Twitter search的墙,再留下一块白板给大家留言。 #
  • 也许我们真的不应该使用 #beijingopenparty,它占用的字太多了,我们以后在网站上推荐大家使用简短的 #openparty ^____^ 看到 @cnborn 和 @turingbook 已经使用上了。 #
  • @chris_stevenson I think have a bike without gears and ride it in SF will be painful. There are so many high land around your home x_____x #
  • 真是忐忑不安的一天,发生了这么多古怪的变化 #
  • RT @fire9: 请知情人士推荐北京靠谱驾校。 (via @jason2be) //听说东方时尚不错。//东方时尚比较贵。驾校都很偏远,选离家近的重要。我上的首丰,我觉得也还行。学车怎么都是个苦事。 #
  • RT @laogao: “Developers shouldn’t be in charge of GUIs.” // +1 Let HIE (Human Interface Engineering) team do their job. //dev should know it #
  • RT @iMason: 推荐Billy Joel的歌曲♫《We Didn’t Start the Fire》 “…” http://www.xiami.com/song/3538960 //我也喜欢Billy Joel。 #
  • 晚上和 @xiaodao @anchuan 一起喝瓶红酒,爽哉爽哉! #
  • RT @SnaiX: 你说,CPU有多核了,硬盘就不能有多轴么?//房东的话,那脑袋还能有多个包呢…谴责你这次 @openparty 不来的恶行…下次要来呀! #
  • Data Center Overload: http://is.gd/19EZP We need more computing/storage capacity, but it should be more efficient and green. #
  • 有哪位朋友知道Nike+iPod那个接收器如何换电池么?上次宇文拓同学送我的那一只没有电了。我看说明书上面说苹果不推荐你个人打开,里面没法换电池。这个还挺邪恶的,怪不得很少有人用。 #
  • RT @samhoo: RT @hdcola: 新一轮招聘开始,Python、PHP、前端、数据分析工程师,产品经理,运营分析。//帮寻 // @openparty 的朋友有没有想投靠老黄的?快扔简历呀! #
  • 增加了ARIA属性的渐进式增强组件是Javascript Widget库发展的一个趋势,有悖这个潮流的会被逐渐淘汰,支持的则会更加繁荣。JQuery社区对它的支持最热烈,所以… 例子:http://is.gd/19FfV #
  • Progressive Enhancement widget with ARIA support show the advantage of JQuery UI, and it will boost the JQuery community. http://is.gd/19FfV #
  • 昨天非常震撼的看到了 @mijia 大哥翻译的《颠覆网络35天》系列,关于Web革命的系列文章,非常强大。http://www.mijia.org/blog/ #
  • RT @zhaozexin: 一直想试试ogg的效果,却没想就近在眼前: http://bit.ly/SVTQE //What’s new in firefox 3.5? This is cool. #
  • 好想再去澳大利亚玩一趟,下个月新航的往返才4k整,看似很有吸引力……有人想去那边玩么?走 @alexdong 的足迹…… #
  • RT @twinsant: @fool2nd: 好看簿推出“使用后自愿付费”模式 http://is.gd/1bssr // 我愿意捐款,不过由于一些使用限制,先不捐很多。支付需要安全控件,在Safari 4上没法直接付款,等回家捐。希望有更好的服务。 #
  • Delivery Excellence over Technical Excellence? Should be yes… #
  • @vincentxu 说Java疏于改进和打通筋脉,现在已经被.Net平台超越了很多。F#赢得了动态语言社区的关注,M$也对Restful有很好的支持,基于XAML的桌面软件模型也跟上了潮流。他还说微软最后还是很有可能让XAML与HTML5模型互通,弥合互联网/桌面的界限。 #
  • 讨论一下上周 @openparty 所说的渐进式增强的问题,什么是渐进是增强呢?http://bit.ly/RhGVj #
  • RT @david_j_rice: is it me or is google.com totally unavailable in china right now (including gmail)? // Yes, Google is blocked today. #GFW #
  • Adding google.com in your .pac file, and access them via secure proxy. We need freedom, so GFWed sites list is increasing continuously. #
  • RT @david_j_rice: Google has been turned off. What color should my Twitter icon be to protest this outrage? //Black? We live in a black hole #
  • 如果一直这么猛烈,那么不如出国自由的刷盘子去…… #
  • RT @xdanger: 大家别以为 https 就不怕 GFW 了,现在 GFW 可以直接劫持 DNS,不用代理解析 DNS 不会有正确的 IP。这个比屏蔽 IP 在设备的负载要求上要低得多 //上次 @twinsant 同学推荐过让firefox的DNS请求走代理 #
  • 晚上吃了些过期食品……现在开始SB的闹肚子……SB了。 #
  • @YuLimin 咋没赶上上周末的 @openparty 呀? in reply to YuLimin #
  • RT @robinlu: 开始用 @mijia 推荐的 Postbox。转了一大圈,又转回Thunderbird了。//两位神啊,这个软件看起来太讨人喜欢了。 #
  • @alex_hal9000 so #GFW will push you to SF? 😀 in reply to alex_hal9000 #
  • RT @hengdm: 放弃Vuze改用µTorrent下载BT,简洁快速,推荐使用!// 问一下端同学,uTorrent是不是比Transmission好用呀?我一直不知道在mac如何BT比较靠谱。 #
  • RT @icej: 我斗胆觉得java应该从web开发语言中消失掉..它应该只在SERVER开发或移动开发领域发挥能力…在WEB领域作为一个JAVA外行我觉得从语言到HTTP SERVER都不能和其他产品比….真难用 //同意,做Web最好别用Java。 #
  • RT @suavesu: @diamondtin 想去perth,俩人去需要10万的存款保证金让人郁闷 //谁说去澳大利亚要10万保证金了呢?我们当时就是凑齐资料直接办的旅游签证,那时存款一共3万多…… #
  • RT @twinsant: gmail即使翻墙过去用也废了,因为你再也无法收到来自国内的邮件!//清净了…… #
  • RT @nasiless: @Lin_Cong #Selenium 问题比较多,又很难满足我们的需求。我很奇怪为什么别人使用就没有问题?我们遇到过 open 的时候 block 的问题,调用 JS 特别麻烦的问题等等 //真的是典型人品问题……非常典型。 #

Powered by Twitter Tools.

什么是渐进是增强呢?让我们为开放标准的Web做出一份贡献吧!

今天面试前端开发,令我相当不满意。称自己是前端开发,5年以上的工作经验居然说不清楚em、pt、px的意义(是她自己提出了这些单位,简单的给我解释为相对与绝对,我问她区别就打马虎眼……),也完全说不清楚一个自适应两栏布局的实现思路。和我说了一堆交互设计的观点,我的感觉就是经验有一点,不过思路完全是混乱的,一点逻辑都没有。作交互的看看UCD的文章很好,但是如果仅仅限于凑热闹那么就没有意义了。好比一个注册设计,说了太多种不同的观点,但是她依然没有说出如果做一个设计的所以然。实际上作为交互设计显然需要根据需求和客户类型做设计,然后应该有思路,有感觉,做出初步的设计后要通过一些用户调研的手段来取得有效的反馈。这仅仅是交互设计或者开发工程师达到工匠要求的一个基础,要想进阶一些那需要很多的设计感觉的。所以,像我这样的傻傻的程序员出身的前端并不要求你马上让我看到你对设计的强悍感觉(sense),起码你让我知道你是一个有思路有方法的人吧。

今晚看到淘宝的小马(泽新)同学的一篇博文:http://ued.taobao.com/blog/2009/06/24/web_dev_improve
写的挺好,是在说我们国内一些前端开发的朋友还在讨论基本的问题,我认为犯这样的错误主要是对Web标准的认识还是太浅显了。上周末我在Beijing Open Party上面临时救场(因为这次话题意外的没有达到9个),我讲的是《什么是渐进增强/如何渐进增强》。这里面没有太多具体的技术,主要是强调HTTP作为Web的支撑,是如何演化出了HTML、CSS、Javascript这三大法宝的。HTTP解决了我们构建一个相互联系在一起的对资源的不同表现(Representation)进行沟通的网络(Web),它解决了我们如何查询和定位资源的不同表现(Restful),以及如何修改这些资源的操作方式。因为它是资源的不同表现,所以实际上它是具有逻辑的数据访问层的一种新的抽象(如数据库+存储过程),这个观点是徐昊同学提出(告诉我)的。如果加上语义网的逻辑推演能力,那么这个数据表现的网络就可以成为智能网络,也就是语义网的概念。也就是说HTTP实际上是一个身肩重任的技术。而在目前阶段,这些非智能的网络的资源表现已经足够被人类直接消费了,那么为了服务它,HTML、CSS、Javascript这些技术也就顺理成章的出现了。他们三剑客要解决的是关注点分离,让我们从数据结构(Representation)、表现、行为方向去帮助人类能够直接消费的HTTP上面的资源。

说到这个东西总是扯远,但是如果理解到了这个层面,我们知道原来这些技术技术是一个分层的结构,它要解决一个巨大的问题,但是却需要走一个漫长的路程,做到每一层都有所受益。从Restful本身来说它可以是一个计算机消费的资源访问API(里面可以封装Business logic),交换数据应该使用一个结构化的格式,HTML是一种天然的选择。如果作为阅读,人类需要美观的外表和帮助交互的行为,这些是CSS和JS应该去解决的。在这些内容具备以后我们就可以用语义网的推演能力实现数据之间的语义交互,那么就真的是道法自然了。这样的一个逐级实现伟大目标的过程我们就可以称为“渐进式增强”,也就是Progressive Enhancement。上周末的Session我就是从这个角度出发神侃了1个小时的,期间插播了各种渐进式增强所需要注意的最佳实践,他们都是为了我们光荣而伟大的目标而服务的。如符合语义的HTML tag,与资源表现(消费与解析)密切相关的Micro formats,在micro formats理念驱动下的css selector设计,最小化的css selector权重设计和复用,Rails 3.0的行为声明DSL化改造(如使用JQuery时常用的$(‘符合micro formats元素的css selector’).hasSomeBehavior()的声明),传统Rails RJS的缺点,开始使用HTML的新增tagName作为class渐进等等。我不想在这里重复,那天的内容没有提前准备,所以有点天马行空……所有的这些看似风马牛不相及的最佳实践实际上都没串到了渐进式增强实现终极目标的这个过程。我们看到现在桌面应用中微软的WPF也从Web的结构中吸取了经验,提供了一个结构、行为、表现分离的模型,而Flash所用的MXML+ECMAScript+CSS也是这个路子。

因为这个博文毕竟是个牢骚帖,所以我不想在这里阐述什么是渐进式增强,也许以我的能力根本说不清。我计划着用更多的时间多分几次分别讨论相关的话题,这里只是个开始。

回到关于小马的那个讨论大家要不要那么温和的问题上,我希望我们还是放弃那些中庸,站到几年以后的Google的技术桟上面。我相信,如果Google推动Webkit成功的话,那些药不用Table实现一个透明边框的Facebook对话框的问题就根本不是个问题了。工程就是工程,我会妥协去用Table,我会做很多Work around,可是,可以折腾的时候我一定要折腾一下,推动那个理想的实现。

这个是在小马帖子上面的回复:

HTML要解决的是结构,所以我们压根不用考虑太多到底用哪一种标签来布局。因为标签本来就不是布局的。如果Web是一些数据的表现的状态转移,那么我们在HTML的各种标准需要找到的是数据的筋骨本身。在XHTML1.x的成熟和HTML5的初露端倪的时候,我们已经可以开始幻想YAML、JSON、HTML作为数据源的标准表示方式了,那些表现我们还是继续留给那看似不完美却已经足够强大的CSS吧。偶尔,我们做些妥协,所以我们决定的不妥协正是对基于开放标准成为主流所贡献的一份力量。

那么,我们不要讨论HTML5什么时候会实现了吧,我们现在就开始为基于开放标准的语义化Web做出一份贡献吧!

Tin’s tweets on 2009-06-21

  • RT @nasiless: @CNBorn : 通过听BPyUG上的Mock演讲受益良多,十分感谢。不知道该slide能否会通过网络分享呢?// 没问题,我明天就放到 CPyUG 的坛子里 🙂 //推荐slideshare,受益者会更多 #
  • RT @khsing: mbp电池不能换了,那怎么加内存啊?不会是上螺丝刀吧。//看拆解,卸掉后盖就可以了。这样电池实际上也是可以换的…… #
  • RT @quakelee: 我在7.2-RE-zfsv13上历史性的完成了我的测试脚本一共跑了9天,160个线程并发读写4k的record size,各种读写方式,最后顺利完成。现在已知这个版本就是在做压缩zfs的时候会panic,不压缩没事 //你们的对话应该裱起来发了。 #
  • RT @CNBorn: 很多朋友在询问,再次推一下 #TEDxShanghai 在线观看地址 http://www.tudou.com/home/tedxshanghai 中英双语可即时切换 #
  • 我的pac文件:http://tin.zztin.com/2009/my_pac_file/ #
  • 我靠!Feedsky的广告输出简直让我出离愤怒了!赶快赶快,换服务!十万分讨厌服务强奸!你收我1年10元我可以接受,你用广告插我眼睛我很愤怒! #
  • RT @samhoo: 岔气快超过24小时了//我看成疝气了……祝好运。刚才在书柜里面看到《陕西英语》,仔细看是《陕西英语导游》,最近老二五眼。 #
  • RT @robinlu: 我对TextMate的几个期望,1. 支持CJK 2. 支持重构 3. 更智能的代码补全。不知道有多少能在TM 2中实现。//TM2不是vapor ware么? #
  • RT @RageCarrier: http://browserforthebetter.com/ 下载一次IE8,微软就捐1次钱 //我觉得下载IE8是一个很邪恶的事情,下载一个非IE浏览器捐一员才对得起捐款人。 #
  • 这个价格挺棒的,行货的Macbook小白MB881CH/A,价格是6999。是我见过的最好的行货价格了。http://bit.ly/ADR9c #
  • @gmark G10体积太大了,我选择也很骚的LX3(替代我老婆丢失的LX2)。mini 3/4现在这几款都太贵了……太贵了。 in reply to gmark #
  • Testing(TDD) rails rjs is hard for me. Mock seems wrong, and Arts plugin still lacks the ability to test the generated dom. #
  • Maybe format negotiation (js and html) is the best way to tdd the dom part of your code when you use RJS? Combined with mock or ART. #
  • RT: @joeyang: RT @lordhong 买了张250美刀的真皮椅子… 替换了坐了12年的旧椅子… 程序员要对自己好点… /支持,劣质升降椅会爆炸的。。。// 是啊, 用了12年的破椅子, 什么时候被菊爆都不知道… Orz… //选工作看椅子,保菊 #
  • @yinluotianse 听说Yupoo过不久就要倒了,不知道是真的价格。上次python聚会上 @twinsant 同学爆料的。 in reply to yinluotianse #
  • 恐怖,有人去外面吃饭电脑上却循环播放音乐,我都快脑爆了!只能戴上耳机Big beat一下了! x___X #
  • RT @Fenng: 贝塔咖啡准备自己买个 BUFFALO WHR-HP-G54-AP 彻底解决网络问题,估计这回没有人赞助了 🙂 快成要饭的了 //不是11n的? #
  • 有趣,看到京东和新蛋的死磕,都是周年庆。新蛋似乎发票总是不够用,有人抱怨。不过京东现在价格拼不过新蛋。国内国外两家B2C火拼,不知道结果如何?是不是京东盘子已经比新蛋全球还要大了? #
  • RT @hengdm: twitter (或类似产品) 会代替现有IM软件么? 甚至逐渐替代SMS?//不会,大家需要隐私,裸聊这样的场合咋办? #
  • 激动,ipod touch 2升级OS 3.0中,公司网络表现很好2分钟258MB的固件就下好了……爽歪歪。 #
  • RT @delphij: 专业半导体调研机构In-Stat发布独立分析报告称,龙芯处理器架构与美国MIPS 近似度达95%,龙芯二号处理器与美普思10年前推出的产品非常相似 //看人家的教科书,上班分析人家图纸。只得等未来了。 #
  • RT @xmpp: Flash是个商业软件,HTML5是个中立的标准 //一个先有实现,一个先有标准。Flash也是基于标准的,只是Adobe对工具和其平台的开源态度还不够诚恳。HTML5与Flash不对立。我超级支持基于标准来做Web革命,但是如7Yue所说,路很漫长。 #
  • RT @iceboundrock: 想做一个Mac下多线程下周的工具,于是想起了curl,google一下发现,居然有人早就写过了// 为啥不用axel?macports里面就有。 #
  • RT @lordhong 你不需要AT&T的SIM卡吗? 破解版的iPhone? 不需要激活吗? //我用的是iPod touch 2……没法插SIM卡…… @utom 刚才没注意,好像9.75$可以升级。BTW:我对spotlight功能和横向键盘很满意。 #
  • 想支持HTML5最好的方法不是舌战。重构你写的HTML代码,把表现分离给CSS,把行为分离给JS。有空多实践渐进式增强PE。可以在使用xhtml 1或html 4的时候尝试使用html 5的tagName做class,为升级做准备。少做hack,少做妥协。这才是正道! #
  • RT @quakelee: macports里有proz么?//木有。proz是啥东西呀?也是多线程下载么?我用axel有时会造成网管找我谈话 x___x #
  • RT @SnaiX: 话说curl是支持多段、多连接下载,好像不是多线程吧?//我只是弱弱的说axel支持多连接加速,没研究是否使用的是线程…… 我其实想知道需要session认证的下载如何简单用命令行搞定涅? #
  • RT @virushuo: proz在mac下一直有问题,还是axel好用. proz在linux下面倒是很好的。//谢谢霍大指点……不过我还是不知道啥是proz……以前ubuntu的时候我也是用axel的。 #
  • 这两天用下来感觉Safari 4.0慢,容易崩溃。结果检查一下,更新4.0.1了……水果,水果。 #
  • 公司所在国华大厦电梯旁边有标示:Get electronic shock carefully…… #
  • iPod touch 2上面的OS 3.0发现两个问题了:1. 路上喜欢把iPod放在裤子兜里面,如果打开摇晃换歌的功能,会不停换歌,只能关闭。2. 我家的摩托罗拉H605蓝牙耳机无法和iPod配对成功。 #
  • iPod touch 2 with firmware 3.0 only support AD2P stereo bluetooth headset. So my Motorola H605 will not work with it. Sad. #
  • @bryanzk: 王翔问我你的gamil地址,似乎要找你。 #
  • 万能的twitter:谁能告诉我使用Mac的Address book的时候是否应该让姓做Last Name,名做First Name呢?因为我喜欢按姓搜索这样很不舒服,所以现在人名都是反过来的。可是接收的vcard都是前面所说那样的写法,不知如何才是更好的实践? #
  • RT @khsing: iphone os 3.0的远程清除数据这个功能,有人盗了mobileMe的帐号,iphone在我手上,数据没了。//是不是iTunes里面还有本地备份? #
  • RT @iamhukai: 我党的执政方针是从1984这本书里拷贝出来的么?//nb #
  • 喔噻,@robinlu 惊现我们办公室,马上要讲session啦,令人兴奋! #
  • @robinlu 说iPhone开发中UI Design至关重要,推荐了几个值得参考的例子:Weightbot(体重测量), Tweetie, Facebook(open source,可作为参考), Classics(电子书阅读器)。 #
  • 谢谢 @robinlu 话题很精彩!(这句很受用:如果准备要做iPhone开发一定要有一个很低的期望(降低期望),有那种买彩票的心态。做的更长一些,更有机会。) #
  • RT @hdcola: 发布木子日月同学的 Unit Testing with Mocks 演讲录音及视频。Python北京会课 http://6.cn/watch/11308938.html 欢迎围观 //顶木子日月同学 #
  • RT @hdcola: 发布木子日月同学的 Unit Testing with Mocks 演讲录音及视频。Python北京会课 http://6.cn/watch/11308938.html 欢迎围观 //顶木子日月同学~ #
  • RT @suavesu: Congras ~ & Cool ~ Dev or BA ? //你要来不?BTW: @xiaodao 同学是sui,不是裤。 他是beach dev ^__^ #
  • RT @zoomq: @hdcola 声音和幻灯配合的很好就是 verynote 的功能? Linux 中有什么对应的软件哪?//Keynote可是使用mac的一个重要理由,Linux下没有这样的替代品吧? #
  • RT @zoomq: @hdcola 单元测试的幻灯,也在 docs.google 分享一下吧,在6.cn 看,忒复杂了,听一遍,以后还是PDF 快速回顾的好 //木子日月同学已经上传 slideshare了:http://is.gd/1682k #
  • 大家明天不要睡到下午错过了 @openparty 呀。两个月没聚有很多话题可以聊一聊。东直门国华大厦11层,下午1点-1点半签到,欢迎大家自助参加/贡献。 #
  • RT @fire9: mobileme好用么? (via @anakinsun) //笔记本+iphone在加上它还是很不错滴!//mobileme好在哪里呢? #
  • RT @linzheming: mobileme 好在移动同步,电脑上改了日程联系人,手机上很快就有变化了。//我是感觉用Google、Flickr、delicious、dropbox提供的各项服务就可以组合一个自己的mobileme了。前两天试用后的感想。 #
  • RT @alex_hal9000: what will happen if selenium tests runs as fast as controller test? Will it change our current process? //I think it will. #
  • 可惜淘宝搜索在我的touch龟速递,tweetie键盘不能横向,睡了 #
  • @xiaodao 发现一个NB的东西:在百度搜“爹”,右侧会显示“找爹,点此进入”!太TNND好笑了,百度能帮人找爹! #
  • RT @chris_stevenson: Ah san Francisco : http://yfrog.com/5fzonj //Hi, Doubled Chris ^___^ #
  • RT @petercheng: @diamondtin 这次去不成了,下回:)//好,没问题。Peter今年还有OSCamp么?如果有准备什么时候呢? #
  • RT @chris_stevenson: Tonight: cleaning. washing. reading. playing with the new IPhone 🙂 //So… you got the new shining iPhone 3G s?牛! #
  • 来参加 @openparty 的朋友逐渐都到来了,活动再有半个小时就开始了,今天 @xiaodao 同学早早来给大家冰啤酒和可乐。#beijingopenparty #
  • #beijingopenparty 刚刚参加完催眠师的集体催眠课程。现在在享受 @hdcola 老大的关于在线信息采集系统的session。很享受! #
  • @hdcola 分享的消息发送系统的设计经验:1. 数据靠近CPU 2. 合并计算(将分散的处理要求分批合并计算,能一次处理完毕的不分多次计算 3. 前置计算(指将数据在产生的时候计算好,减少无效的Lookup和共享计算等) #
  • RT @fire9: 来参加 @openparty 的朋友逐渐都到来了,活动再有半个小时就开始了,今天 @xiaodao 同学早早来给大家冰啤酒和可乐。#beijingopenparty (via @diamondtin) //可惜去不上。//下次来分享你的数据库经验吧! #
  • RT @linzheming: @diamondtin 是的,这个不是说非有不可的服务,主要是方便整合。你看在 iPhoto 里点一下就发布上网了,家人就能看到了,还能在 iPhoto 里订阅照片更新。这是给普通用户用的,简单方便。//是呀,的确 #
  • 我发现iphone/iPod上面的tweetdeck做的好棒呀!虽复杂,但分组在这么小的设备上特好用,能用帐号分组是杀手锏。我又怀念这个强大的小黄鸟了,它是免费精品。 #
  • 今天付超群同学的关于推荐算法的话题我听后很有收获。老黄的消息分发系统很有启发。催眠的引导很开眼。这次认真听了想听的话题,好满足。下月见,我都等不及了。#beijingopenparty #
  • RT @mingjin: @openparty 之后,与 @turingbook 、@dreamhead,以及另外一位资深软件工程师一起讨论了中国软件/IT行业的前景和问题,深受启发,产生了一些观点,想写成一些论文。//#beijingopenparty #
  • RT @turingbook @robinlu @openparty 听的三讲,一是中医养眼法,一是 @hdcola 的高性能消息处理,一是方军荐书,都非常有意思。感觉比去年话题更宽泛更有深度。// @anchuan 同学的内家拳也不错 #beijingopenparty #
  • //#beijingopenparty 希望大家多反馈对今天 @openparty 的意见。谢谢临时救场的 @hdcola @anchuan 郑晔 和我,更要谢毛新宇的译言团队,方军老师夫妇,来要水医生,超群。希望大家下次积极准备! #
  • RT @CNBorn: 我看大家都说了好多,再补充一个:今天 #openparty 上 Mozilla Fennc的介绍也很有意思,让我有了更多的期待。而且有PC版可以玩,在未来更会有爆料的功能,拭目以待 //#beijingopenparty #

Powered by Twitter Tools.

听陆亦斌的iPhone开发故事笔记

今天中午我很崇拜的robinlu同学到我们办公室做了一个很精彩的讲座,题目是《我与iPhone开发的故事》。内容很精彩,我们都高度的享受了一把。顺便做了个简单的笔记,不敢私藏,分享出来。

陆亦斌@robinlu

目前在 IN-SRC Studio

07年开始做caibangzi.com

08年caibangzi.com工作变得比较少

从08年底三个合伙人开始做一些外包的工作(组织了IN-SRC Studio)

iPhone开发是robin的业余项目,20%

04年开始用Mac(powerbook)

时间线:

Jan, 2007 iPhone announced

Jun, 2007 iPhone released

Sept, 2007 iPod touch released

Mar, 2008 IPhone SDK (解决了只可以开发Web和基于toolchain应用的问题)

May, 2008 robin身边开始有一些人开发iPhone应用

July, 2008 – App Store Launched, Robin lu开始学习cocoa

Aug, 2008 – Release iCHM 1.0 (耗时2周),(绿皮的书,Cocoa),中国网站上开始告知如何申请IDP(很快又不见了)

Sept, 2008 Robin lu aplied for iDP

Oct, 2008 A lot of things happened, iPod touch 2 released

Nov, 2008 iCHM for iPhone released (第一天下载4个,第二天19个,第三天15个……每日7-10个)

Dec, 2008 Lite & BuddyFeed(上了Lite以后,iChm每天只有3-5个下载。将收费版本上升为6.99$,销量没有变)

Jan, 2009 – BuddyFeed (1月16日上,有很多反馈,19日第二版本,22上线,一开始有很多人关注,后来销量又变为个位)

Feb, 2009 – BuddyFeed 1.2 (销量平平)

March, 2009 – A talk with Ericsson

April, 2009 – Work on BuddyFeed 2.0

May, 2009 – BuddyFeed 2.0 released

Tweetie的作者是Apple的一位内部人员,而Apple对API的开放程度不好。UI设计的非常棒。Robin从里面学到了很多,而后开发了FriendFeed的2.0。产品曾经到过每日上百的下载量。受到了很多正面的评价。

Lessions

  • UI Design 至关重要(复合Guideline,也要让应用更好看):Weightbot, Tweetie, Facebook(open source了), Classics(电子书阅读器)
  • SEO:一开始叫iConnect,每日只能有几个下载,后来叫Twitter3D,每日能有50个。字母顺序靠前的应用在字母表排序的时候占便宜。
  • Lite:通过试用产品推动收费产品的销量,但是要根据不同类型的产品而定(对游戏非常有意义),对于 robin同学的应用来说没有快速的效果,但是对于所有应用从长期角度上来说总是有好的效果
  • $0.99:最低定价的价格,恶性竞争?如果已经是Top 10的产品,通过降价,可能冲到Top 1实现更好的销量。但是对于小众的软件来说,通过降价不会销量的上升,所以高一些的定价会提高收益。
  • Getting Real:尽早让产品被发布出来,被用起来,收到反馈并改进。iPhone开发的一个麻烦就是审核周期过长(一般平均要2周左右),这个对频繁的发布改进循环是个障碍。所以在产品最初发布的时候就一定要尽量提高质量,将功能做的比较全,这样才能吸引关注并且得到收益。
  • Idea:点子很重要,大部分销量高的软件都有很好的点子。质量一般相对居其次。
  • Expectation:如果准备要做iPhone开发一定要有一个很低的期望(降低期望),有那种买彩票的心态。做的更长一些,更有机会。

收益:从08年11月到09年4月,有3个Pro的价格。

不在使用feedsky的rss输出,如果您订阅了我的blog,请修改订阅地址

因为今天我在使用Google Reader的时候实在是被feedsky的广告输出激怒了,所以我决定放弃使用这个服务。尤其在使用Byline这样的手持设备移动阅读器的时候,每次缓存那么多的广告图片实在是让人心烦!(今天我愤怒的推了一条:我靠!Feedsky的广告输出简直让我出离愤怒了!赶快赶快,换服务!十万分讨厌服务强奸!你收我1年10元我可以接受,你用广告插我眼睛我很愤怒!)

订阅我的Tin’s blog请使用:feed://tin.zztin.com/feed/

有空我会考察feed托管的服务,然后重新选择一个服务商,大家如果有什么推荐请给我留言,谢谢!

UPDATE:feedsky的广告输出是可以关闭的。不过考虑到他们这次没有经过用户同意就打开feed广告的做法,我决定还是换服务商。我看到了很多因为不知道自己的feed已经包含了广告而造成rss输出里面带图片广告的feed,希望博主们更新设置。

下班的墨菲定律

下班的时候墨菲定律经常会发生,哭笑不得。今天又是一回。

我们一般18:00或者18:30下班(看Team安排)。今天北京下雨,老婆说下班在立水桥接我。昨天老婆说要我18:00出发,结果我实际18:27才出来,被数落一顿。今天长记性了。下午四点老婆打电话叮嘱今天一定18:00出发,我斩钉截铁的答应了。

到了17:00,我的Pair钱钱同学有一个会要参加,先离开了。我们今天做的Feature还有一些,我就继续往下做。到了17:30的时候我继续开发的部分不是很顺利,这时发现是我和钱钱之前重构的一个方法工作不正常,已经Break了不少单元测试,一时汗下。我看了一下,没什么头绪。这个时候当下已经攒下了1个多小时的修改没有Check in了,我review了一下修改,发现最好不要revert重来,可是20分钟我似乎也解决不了这个问题,而我一定要在20分钟后写好work update走人。正在踌躇的时候……

WPC对我说,你好像Break了Javascript单元测试……而且,那个Cruise agent被hang住了,需要重新启动一下那台服务器。顿时更汗了。想起上次Check in的时候只运行了precommit(就是提交到持续集成服务器之前的本地快速测试,只执行单元和快速的functional测试),没有验证javascript测试。嗯,认栽,前天写这个单元测试的时候我和Linc同学就怀疑过它的脆弱性(因为这两天在尝试Acceptance Test驱动,从上到下有些摸不到头脑)。

所以现在必须Git stash起来,切回master去修build。还好git在这方面表现很迅速。

切回来一看,Test suite里面的三个测试都break了。在有firebug的ff3里面运行jsunit还是没有线索……没有抛出exception,所以没法快速定位到代码里面去。只得先限定执行单个测试,但是依然没有找到原因。这个时候是18:57分,我心想:这下要死了,倒霉。要求自己冷静一下,一行一行的在firebug里面运行代码,发现这里的几个对象的构造参数已经被我们做了很大的重构,赶紧修改过来。然后继续跟踪,找到了出错的地方。原来是一个html元素的id从’_’分割改为了’-‘分割,修改过来。这个测试通过,解除另外两个的注释,也通过了。立马check in,然后git svn dcommit提交上去。此时已经18:03。赶快登陆cruise查看hang掉的agent的机器名,再登陆mingle09,在wiki上面搜索build vm的信息,找到这台主机的登陆方式。ssh上去并且和WPC确认reboot既可,马上sudo reboot。此时是18:05,走快点也许能赶回这五分钟。1分钟内把Macbook pro和电源打包,ipod touch和各种零碎放到包里面,飞速和大家say good bye逃跑出来……此时是18:07……

点天过了15秒才到11层,然后墨菲定律再次发生,10、9、8、7、6层都有人上电梯,这个要blame倒霉的诺基亚西门子,他们的人总是再这几层稀稀拉拉的拉拉稀稀……不情愿的在1层夺门而出,麻利的奔向13号线……一溜烟,而后墨菲没有来……

真的不知道为什么这样,倒霉在这几个点:

  1. 需要你的pair的时候他会不在,他在的时候……
  2. 着急做完所剩无几的功能,却发现前面的重构break了另外的功能(这个赖自己)
  3. 欲速则不达,越想马上完事,却发现还有更多的事要搞定
  4. 本来遇到麻烦发愁如何解决,却又被加上了一个严格的时间限制
  5. 马上就要到deadline了,确发现有更重要的事情要做(Break了持续构建)
  6. 更惨的是,你Break的测试hang掉了,需要重启服务器
  7. 而你还必须冷静的fix那些测试
  8. 那些测试没有啥明显的线索去fix
  9. fix之前你还要处理原先做的那些功能的代码
  10. 即使fix了也提交了,你还不能拍屁股走人,重启服务器你就要知道怎样登陆
  11. 登陆信息你要登陆Cruise和Mingle……谁让你平时没登陆过呢(如果经常维护Build也许你就对这样的串门很熟悉)
  12. 登上去以后你还要问人家怎么解决这个hang掉的build(同上,谁让你很少去维护基础设施呢)
  13. 即使你可以走了,电梯里面那些悠闲的从楼上乘电梯下一层的人让你冒火

无论如何,承认墨菲定律就是会在你着急下班的时候生效,然后找个地方凉快凉快吧。

我的pac文件

Update:这个文件有bug,看这个生成脚本

中午吃饭的时候另外一只手可以用键盘爽快的使用Google Reader,谢谢这个好工具。可是李笑来的博客不能访问了,很不爽。所以只得打开pac文件加上这个网站,随后一想,应该共享我的pac文件,大家也可以相互分享出来。我是根据Livid同学的这篇博客改巴改巴出来的。

function FindProxyForURL(url, host) {
  //Change it to your proxy
  var socks_proxy = "SOCKS 127.0.0.1:7777";
  
  //Add your favorite gfwed sites into this list
  var gfwed_sites = [
    "wikipedia.org",
    "apple.com",
    "tumblr.com",
    "soup.io",
    "pandora.com",
    "last.fm",
    "adobe.com",
    "photoshop.com",
    "google.com",
    "googlecode.com",
    "blogspot.com",
    "appspot.com",
    "acer.com",
    "demonoid.com",
    "alexa.com",
    "wikimedia.org",
    "flickr.com",
    "yahoo.com",
    "zend.com",
    "aptana.com",
    "uncyclopedia.tw",
    "uncyc.org",
    "youtube.com",
    "ytimg.com",
    "webarchive.org",
    "pornhub.com",
    "youporn.com",
    "twitter.com",
    "facebook.com",
    "wikipedia.org",
    "mail-archive.com",
    "versionsapp.com",
    "xiaolai.net"
  ];

  for(var index = 0; index < gfwed_sites.length; index++) {
    if(shExpMatch(url, "*." + gfwed_sites[index] + "/*")){
      return socks_proxy;
    }
    if(shExpMatch(url, gfwed_sites[index] + "/*")){
      return socks_proxy;
    }
  }

  return "DIRECT";
}


应该也可以从这里下载:tin.pac

参考:

  1. Livid's Paranoid - PAC & SSH
  2. Auto-configuring Proxy Settings with a PAC File

MobileMe试用之旅-产品对比评价

和GTD这样的好东西一样,理念最重要,方法其次,工具和载体最次。MobileMe整合了非常好的服务,他们都是很好的习惯,学会试用这些服务并用好他们相当于学会一种思想和对应的一种方法(如Address Book和Calendar还有Note,帮助你实现GTD),是否选择MobileMe非常不重要。看看这个产品分析,马上给你也整上一套这样的服务是最好的收获。热门的Google Wave是一个协同(Collaboration)工具,Google的基础服务实际上已经提供了协同的平台(代替Lotus Notes和Exchange,其实google enterprise就是这样的产品),那么MobileMe其实就是一个个人的协同软件,只是它还没有提供象Wave那样厉害的协同算法,但是Apple实际上是希望通过MobileMe能够给未来留下一个协同平台的种子,这个是我能想到这个很酷的Me.com的域名所能映射到的Apple的伟大梦想。

从功能角度上面来说Mobile Me的几个核心功能:

1、邮件:前面分析了,从空间上Me是10G,这个比目前Gmail的8G要大,不过这个基本上就是聊胜于无的东西。从用户体验上来说Me和Mac原生的Mail一样,优雅,简洁,不过从web上使用的感觉来说Gmail提供的感觉更好,它提供了换肤的功能,还有那些熟悉的标签,会话,归档等等,因为我个人非常喜欢Gmail,所以转移到Me上面基本上是不可能的。不过我个人认为me.com的域名很棒,所以在这个上面有个邮箱梃拉风的,而且懂行的就是知道你是使用相对昂贵的mobileMe的有钱人。MobileMe最NB的特性还是Web和桌面的超级一致,不过一个原因是桌面的mail本身界面和功能都比较简单,所以在Web上面实现一个这样的服务会简单一些。邮件是一个粘性巨大的服务,个人认为从运维能力上面说Google比Apple有优势,所以长久考虑使用Gmail会比使用me作为主邮箱要靠谱。Gmail基本上是Google account的一个核心,所以享用Google的SNS能力还有各种NB服务来说,gmail.com是一个有很高附加价值的免费服务的核心。这点上我基本上找不到太多me.com的吸引力了。

2、Address Book:这个功能我觉得是Mac平台有非常有吸引人的功能。西方的同事一般都非常重视联系人,而我本人以前一直不算注意。Gmail里面的联系人我一直没有很好的管理。现在回想起来很多联系人信息由于没有维护现在已经想不起来谁是谁了。Mobile Me同步信息在Address Book上体现了它的优势。但是,由于现在Address Book已经支持了与Google和Yahoo的联系人服务直接同步,所以MobileMe在这里又体现不出来优势了。但是MobileMe再次提醒了你,要定期合并重复联系人信息,给联系人分组,删除过期信息,把商业名片同步过来,这些操作是很好的习惯。如果你付费买了MobileMe,面对如此简洁的人机交互,我想也许它会督促你去使用它,并且逐渐养成这个习惯。

3、Calendar:Google退出Calendar服务的时候很多人惊叹它居然和Mac上面的Calendar的原生界面如此的相似,拖拽的去安排日程是个不错的体验。但是忙碌的朋友知道如果没有一个秘书帮你指定他们的话,一般个人也就是会使用天或者周这样粗糙的单位来管理日程,这样,那些漂亮的用鼠标划时间段的交互实际上你用到的没有那么多。这样说,一个界面不够华丽的Calendar从功能上并不会让你烦恼。现在的很多GTD工具都可以和Calendar服务结合,这个实际上是对于大部分朋友最有意义的。但是,Google的Calendar服务也早就可以和Mac的Calendar同步了。Thunder bird这个跨平台软件也很有竞争力,且它也可以和Google同步。

4、Photos:iPhoto 09是我最喜欢的一个Mac软件(另外一个是iTunes),Face和地理信息是非常棒的功能。当然iPhoto 09比起以前版本最重要的更新就是对社会化网络的支持:Flickr是最棒的社会化图片分享平台(另外两个我觉得不错的是Smugmug和Zenfolio,他们有不同的风格,其中Flickr是社会化做的最好的),另外还支持Facebook和MobileMe,好像不直接支持PicasaWeb(否则估计很多人就不会付费买Flickr的Pro服务了)。其实这已经摆明了我的意见,我在这3个很棒的服务里面选择了Flickr,看重了它的图片社会化分享能力,Flickr的Pro对外链支持不错,可以作为blog的图片服务,$24.9的价格基本上可以接受(听说国内打上收费旗帜的有播已经不行了)。扯远了,因为我对Flickr的绑定,所以我基本上不会选择MobileMe的Photos服务了。从简洁上MobileMe的Photos不会超过PicasaWeb(它还在Web实现了同样的人脸识别,而且直接可以标识出来和Google Accounts整合,无比强大),从复杂的功能(我喜欢它的License管理)还有社会化分享来说它比不过Flickr,从专业和商业友好上来说它比不过ZenFolio(识一个专业摄影师的业余图片交易平台)。所以,虽然这个是一个很棒的服务,可是无奈比它棒的服务也很多,那么它基本上就失去了对我的绑定,我可以继续享用iPhoto 09这个客户端,却选择同步图片到更好的服务上去。最后,还是要说,MobileMe Photo的界面很优雅(颜色和布局),4种View很独特,和Mac上面的体验比较一致,从程序实现的角度,我很喜欢它。

5、iDisk:非常棒,和操作系统集成的很好,支持外链很棒。而且iDisk的磁盘空间可以和Mail公用(这个没有什么意义,Mail用太多了不靠普)。最低的方案是99$,包括邮件总共20G,默认邮件10G iDisk 10G。可惜现在的文件分享服务已经很多了,免费的Dropbox也是User Space File System,无缝集成,也可以从Web上面访问(不过分享的时候比较容易超过限额,可是一边和朋友分享足够)。那么iDisk的吸引力就差多了。DropBox的跨平台能力更强(支持Linux)。其它文件分享如Drop.io、RapidShare作为临时文件分享也很好。但是这些服务对于拥有VPS的同学可能也不新鲜了。

6、Back to My Mac:可能有人会忘掉这个功能。但是对于程序员来说这个可能才是最有吸引力的能力!它可以保存你的各种Certifacate。并且在你的几台Mac都可以访问到互联网的时候它可以让你安全的让这几台电脑相互访问和控制,听起来很像VPN服务。对于远程控制家里面的下载,或者让Mac控制家中的电器,还有在回家之前在家里准备好迎接主人的音乐等等都是非常有意思的场景。让人兴奋。不过问题还是有,那就是VPN自己也可以搞,只是假设VPN需要你有带公网IP的主机作为VPN server,而且配置还是比较复杂的。我在我的linode上面配了一个可以本地链接的VPN就花了我一整个晚上(Mac上面有Tunnelblick做客户端,我用了另外一个晚上也没有搞定自动push路由,遗憾的很)。我觉得省心的使用Back to my Mac这样的功能(这个没有跨网VPN的能力,也就是你不能通过这个VPN跳板到国外上网,除非你把Mac本本放在外国)还是挺有意思的。

7、其它同步服务:Safari书签同步、keychain同步,Dashboard同步,这些小功能价值很高,一站搞定了。如果只是怕丢,可以用TimeMachine或者SuperDuper。如果省事,那么可以考虑使用那99$一年的服务。

最后,阐述我目前使用的方案。我不会选择MobileMe,因为上面试用下来没有找到任何捆住我的服务,而且甚至连一个让我觉得非常想去付钱的功能都没有。我现在试用了免费的Goole Calender、Google Contacts、Picasa Web、DropBox,还有收费的Flickr、VPS使用Linode,这样下来我得到的功能比MobileMe多,不过也更贵(VPS每月20$)。但是,很多朋友知道,淘宝上有99人民币一年的MobileMe服务可以买,这样倒是让它一下子有了巨大的吸引力,可是和那些便宜的iTunes卡有同样的问题,一旦你习惯了它,下一年却又买不到这么便宜的服务的时候,你会不会心疼呢?我支持付钱享受服务,但是,我希望那是比MobileMe目前提供给我的体验更好,功能更强,更稳定的服务,似乎Google目前最有能力给我们提供这样的服务。

MobileMe试用之旅-页面技术篇

这是断断续续的一点笔记,仅供参考。没有系统思考,而且也虎头蛇尾了,请见谅。

MobileMe的HTML很干净,但是并非遵循渐进式增强的原则,没有保证所有的标签都基于语义来选择。在登陆页面的地方,发现它们使用了Webkit支持的css transition属性,所以像input field高亮的过程有渐量的过程,非常优雅。它的登陆表单的提交按钮是个link,使用onclick事件提交,这似乎并非是很好的设计。

首页的细节:使用Javascript回写了浏览器类型和平台类型到body上面,更加精确的实现因不同平台而异的css样式,而且这样css rule的可读性要好于trick。现在一个严重的问题就是Safari和Firefox的不同版本有的时候也有bug,而且它们又不像IE6/7有相对可靠的css trick来实现区分,所以apple的做法还是很实用的。apple的设计实际上也是基于像素的,在增大浏览器字体以后却依然没有影响布局,这主要依赖于目前比较先进的浏览器都基于比例进行放大,使用px依然可以保证完美的放大渲染。IE的低版本当然没有这么智能,但是谁在乎呢?在乎的人都转现代浏览器了。

me.com登陆以后进入的是邮箱,界面非常清爽,左上角是产品的切换,中间是邮箱的操作,右侧是搜索和退出,这样的对齐很清晰。但是作为邮件产品的功能按钮设计在中间是否操作起来不是很方便呢?按钮都是使用了复杂的html结构来实现,是以切图和显示效果为驱动的,阴影和圆角都是基于图片,这样可能是为了兼容windows平台而考虑。这样的实现在大型互联网应用中非常常见,因为兼容性往往是使用人数众多的应用的一个重点。Apple所做的css sprites是比较震撼的,其中3个sprites非常之复杂,它们明显的减少了image的请求次数。如此规模的使用sprites,在布局里面以px为单位就容易理解了,因为如果不使用px而是使用相对单位如%或者em,那么在缩放的时候经常会破坏你精心制作的sprites。

修改产品设置,下拉菜单和mac里面的渲染效果很一致,弹出的下拉菜单三面有阴影,4个圆角,一共使用了8个元素通过绝对定位来实现。这样在IE里面很有可能出现奇数高度的下拉框绝对定位产生1像素偏差的bug,苹果应该是通过js修正了。菜单本身使用UL,还是靠谱的。

产品修改的面板也和Mac的非常一致,是一个模态窗,使用Tab切换选项。效果和OSX的面板非常一致。不过有一个细节需要注意:OSX的配置面板有一个非常帮的交互设计,那就是面板的大小会根据内容的多少进行剪裁,然后实现动态的改变大小,这个对形成视觉对齐非常有意义,我一直认为这是一个非常优雅的解决方案(比windos的那种选项卡设计好了很多)。可是在Web上MobileMe的这个模态窗是固定大小的,切换内容比较小的Tab时它并不会缩小。

Mail设置提供的功能不多,但是很贴心,比如它可以选择字典的语言(8种欧洲语言,纠错使用)。是否默认显示Bcc域这个设计也很体现Mail的商务特性(因为一些人的职责就是成天Bcc,所以他们肯定喜欢这个设置)。

这两天试用下来发现MobileMe的页面还是有不少小bug的,Firefox下没有Safari完美,无可厚非,不过这样的一个产品,走的越远,它维持与操作系统上面原生软件的体验一致所付出的代价就会越高。不知道SproutCore能不能走的更好。失去兴趣进一步研究了,Apple比较尊重先进的Web特性的实现,也绕过了过多的肮脏patch,基本上都用了比较优雅的方案解决,可是它不支持IE的这个决定风险还是很大的。可是我喜欢这样,让浏览器成为Webkit和Geoko的天下,让那些微软操作系统早点走出历史舞台吧。

Tin’s tweets on 2009-06-14

  • 写了一只博文《如何选购床垫》,又相关计划朋友参考。http://tin.zztin.com/2009/选购床垫/ #
  • RT @blogkid: 看到大伙儿要团购vps,我用的linode感觉挺好的,价格也比经常用来比较的slicehost便宜。//我也是被你忽悠上周开始用linode,我选的Newark的服务器(ping高但传输快),因为Fremount木有了。你把DNS走Socks了么? #
  • 喔噻,太猛烈了,这两日.pac文件的更新频度很高。以后大家估计要经常交换.pac文件来更新需要翻墙网站列表了。 #
  • 周日在给老婆臭显的时候发现hulu.com挺绝的,有安全代理检测代码,使用VPN都搞不定它……SSH当然也不行 #
  • RT @nicholasdsj: 我发现 Xiao Xin 才是最容易被煽动的,一忽悠就入手 Mac 了。//我觉得他内心早已骚动很久了,你一动就完全爆发了。他和 @delphij 坐那么近,眼馋人家小蜜很久了。 #
  • RT @qingfeng: 不了解横山美雪的见这里,才19的AV女优….
    http://bit.ly/xo3VR //跪拜清风!您这老师当的,引领风潮呀。 #
  • RT @hengdm: Enjoy staying in San Francisco. //推荐租车玩Sasolito和Tibron一日游,回程坐Golden blue ferry。 #
  • 20日是本月@openparty,朋友们想想自己有啥话题想要分享吧 ^___^ #
  • RT @laogao: @diamondtin 中文URL自动解析有问题,建议还是手工tinyurl或者bit.ly/is.gd一下吧 //哎,刚才用ecto偷懒了。http://bit.ly/WLw8i #
  • RT @rse43: @diamondtin VPN可以啊,我昨晚看了一晚的hulu,pptp的VPN。//塞,激动,晚上我试试去。上hulu看simpson去!谢谢啦! #
  • RT @fuchaoqun: RT: @diamondtin: 20日是本月@openparty,朋友们想想自己有啥话题想要分享吧 //还以为夭折了,我准备去忽悠一下智能推荐。 //放心,人在活动就在 x__X,期待超群的忽悠。 #
  • RT @leopay: @diamondtin: 哪里有pac文件的更新共享 //我看到 @livid 网站上放出来的.pac是个不错的开始。我们可以把自己的.pac放在网站上。 #
  • RT @RageCarrier: Snow Leopard含5个授权码的家庭版套装售价49美元…这才是操作系统该卖的价格.均价才70 RMB //问题是,这个Snow leopard是个升级而已。所有的Mac都内置了操作系统。这次升级小于Leopard,定价也低一些,29$。 #
  • RT @taiwen: 有个疑问,QQ.com也提供Web服务器吗?有些不似乎特别了解,有了解的朋友吗?//http://bit.ly/pVJ8h 原文是说本月新增服务器,QQ的服务器刚刚开始被netcraft统计而已。 #
  • 最近没有咖啡真的撑不过一个下午了。 #
  • 这年头连 @openparty 都有人玩山寨。看到 @xiaodao 转过来的CSDN发送的关于博文的OpenParty,居然要收费70元。而且没有使用unconference的形式,一点也不Open。 #
  • 把玩一下Windows 7的RC,我感觉这个操作系统和Vista有同样致命的缺点“花俏”。让你不清楚自己在干什么,为什么干。而且IE8这个邪恶的浏览器居然被作为一个Win 7的特性,崩溃了。 #
  • RT @fxd701029: @diamondtin WIN7其实就是VISTA加强版,没有本质区别,等WIN7出了,VISTA一定大卖,肯定要微软提供降成VISTA的服务,像XP刚出都说不如WIN98,现在又都怀念地一塌糊涂 //如此一说Win7不是技术更新,是市场行为,可悲。 #

Powered by Twitter Tools.