如果你买了Mac,那么很大的可能,你也买了Mighty Mouse。
如果你买了Mighty Mouse,那么很大的可能,你发现你使用了一段时间之后,Mighty Mouse的滚轮向上或者向下很难滚动了。
我就碰到了这样的一个问题:我买了苹果的无线的Mighty Mouse,在使用了将近一年的时候,发现鼠标滚轮的向下功能越来越难使用,要很费劲才能够向下滚动。我考虑这是个机械问题而不是软件问题,想研究下怎么把它拆开来清洁一下,不过Mighty Mouse其实叫做Mighty Tortoise更合适,把后盖打开,卸下电池,还是无法拆开来,上面的一大块龟壳实在太紧密了。我没忍心下重手,又忍了一段时间。之后发现实在不能忍了,在网上搜了一下,发现这原来是个普遍问题,按照网上的方法进行了清理,其实很简单:
- 随便找一张白纸。我就从我的笔记本上面扯了一张下来。
- 把你的Mighty Mouse倒过来,就是把乌龟壳朝下。
- 手握倒过来的鼠标,把滚轮那部分贴上白纸,稍微用点力迅速旋转。转上几圈你就能发现白纸上有很多脏东西,那些就是罪魁祸首。等到没什么脏东西继续出来的时候就差不多了。
- That’s it. 你的鼠标应该已经恢复如初能够正常使用了。
注:
其实应该有不少其他的办法,比如用力吹,或者用压缩空气吹,或者倒过来用很大力气按滚轮并旋转等,不过我比较(脑袋中比较而已)了下感觉还是用上面的这个方法效果好并且简单,还能够清楚的看到清理的战果 
Apple每年都会有一些新的event举行,发布些新产品。夹不死同学的keynote总是很帅气,Apple甚至还用高清来发布keynote。不过美国时间和中国有差异,像我这么懒的人又不想熬夜,所以只能选择第二天早上起来看看新闻。看了新闻还不过瘾,还想直接看keynote视频。今天早上就是这么一个早上,Apple发布了最新的Macbook系列产品,新闻刷的一下就看完了,于是开始找keynote视频,不过似乎还没有人帖出来直接下载的链接,便自己研究了下,终于找到了方法如何直接下载苹果官方的keynote视频:
1) 使用任何下载工具[1]下载http://www.apple.com/podcasts/apple_keynotes/apple_keynotes.xml这一文件[2]。
2) 打开这个文件,看看里面有没有最新的keynote链接[3]。在这个文件里面,每个special event都会有日期的,所以很容易就能够辨认出来哪个是你需要的。比如今天的,也就是2008年10月15日(美国是2008年10月14日夜)的在这个文件中显示如下:
<item>
<title>Apple Special Event, October 2008</title>
<itunes:author>Apple Inc.</itunes:author>
<description>Watch Apple CEO Steve Jobs reveal what’s new in Mac.</description>
<itunes:subtitle>Watch Apple CEO Steve Jobs reveal what’s new in Mac.</itunes:subtitle>
<itunes:summary>Watch Apple CEO Steve Jobs reveal what’s new in Mac.</itunes:summary>
<enclosure url=”http://movies.apple.com/datapub/us/podcasts/apple_keynotes/sj-keynote-20081014.m4v” length=”598065773″ type=”video/x-m4v” />
<guid>sj-keynote-20081014</guid>
<pubDate>Tue, 14 Oct 2008 19:00:00 GMT</pubDate>
<itunes:explicit>no</itunes:explicit>
<itunes:duration>52:37</itunes:duration>
</item>
那个enclosure标签里面的链接就是直接的下载链接。
3) 随便你使用什么下载工具下载就是了,速度肯定比iTunes下载要快的多。
注:
[1] 比如我直接用curl这个命令行工具, curl http://www.apple.com/podcasts/apple_keynotes/apple_keynotes.xml > keynotes.xml即可。或者用浏览器直接打开,现代的浏览器都可以看到视频的链接的(比如我用Firefox3就可以直接看到格式化好的feed,里面就会有视频的链接),如果不行,就看源代码就是了。
[2] 如果你要问我是怎么找到这个xml文件的,也很简单。Apple在iTunes专门有一个keynote的feed, 你用iTunes订阅了这个feed之后,在iTunes里面右键点击这个订阅,选择”Show Description”,也即查看描述,在描述页面里面有一个订阅的地址,就是这个xml文件。
[3] 如果你用iTunes订阅了这个feed,直接在iTunes里面就能够看到是不是有新的内容出现,不用每次都下载这个文件来看是不是有新的内容。
Ruby, Rails and MySQL with Leopard 10.5.2 and XCode 3.0
评论中有一个comment介绍了如何安装在安装了x86_64架构的mysql后,如何在Leopard上安装mysql gem。
前段时间看了一个TED上面的演讲,演讲人叫Robert J. Lang,是一位NASA的工程师。他有一个很有趣的研究,是关于将数学应用于日本的一种叫做Origami的折纸艺术(中国是不是也有,不知道谁早?)。通过应用高超的数学技巧,能够使用纸张折叠出异常复杂、逼真的三维的物体。在他在TED上的演讲中,就有不少例子,其中还有一个三菱的汽车广告,广告中的所有场景和物体(当然,除了三菱的汽车)都是使用这种方式构造出来的。他还有一个关于Origami的网站(似乎国内被GFW掉了,需要代理),里面也有很多例子。
同样的一张纸,通过不同的数学计算能够折叠出不同的形状,这不就像变形金刚的变形吗?可以想象一下,变形金刚的最初的形状其实是一大个二维平面状物体,通过应用类似的数学技巧,只要每次通过计算机计算折叠的方式,就可以转化成为三维的一个物体。也许不能像汽车飞机一样行动,但是在形状上模仿肯定是没有什么太大问题的,而且一个变形金刚应该能够通过不同的计算,变形成为多种不同的形状。如果做一个权衡,只要求变成一种形状,但是在特定的地方加一些特定的设备(如汽车的轮子或者飞机的推进器),是很有可能实现真正的变形金刚的变形功能的~更可能实现的,是基于这个做一个简单的变形玩具,肯定会卖疯的:-)
RubyGems是一个用于Ruby的包管理工具,虽然并未包含在Ruby的发行版中,但是可以认为是事实上Ruby世界中标准的发布Ruby程序和库的工具,可以很方便的管理gem之间的依赖性。
如果你是在进行Open Source的Ruby程序开发,可以直接通过Rubyforge来发布gem。不过如果是自己的私有项目,可能就需要自己搭建一个Web server来进行gem的发布了。如果系统中已经安装了RubyGems的话,通过gem server (gem help server看看用法)就可以启动一个简单的gem发布的server。不过很可能的,你已经有一个Web Server在系统环境中了(如Apache Web Server),这个时候就通过以下的几个步骤可以完成把这个Web Server改造成为一个gem distribution server:
1) 建立一个发布目录,并设置Apache(或者其他的Web Server)使得这一目录能够通过Web访问。并在这一发布目录下建立一个名为gems的子目录。
比如我们在htdocs目录下建立一个目录dist,并建立一个gems子目录。
2) 拷贝打包好的gem到dist/gems目录中。
如拷贝allmighty-1.0.gem到htdocs/dist/gems目录中。
3) 在命令行界面中,进入dist目录,运行“gem generate_index .”(请注意最后的一个点,表示当前目录)。这一命令会对gems子目录中的所有gem建立一个索引文件yaml,并存放在dist目录下,以便可以通过gem install命令安装时查找。
4) You’re done~
在这之后,你就可以通过”gem install allmighty –source http://yourhost.com/dist/”命令来安装你新发布的gem了。
5) 如果以后还有新的gem需要发布或者有新的版本的gem需要发布,请从步骤2)开始继续即可。
关于RubyGems,有一本很好的书,介绍了其使用、开发和发布等,有兴趣的话可以看看。
Practical Ruby Gems
申请了Google AppEngine,前天刚得到批准,准备写点小东西看看。AppEngine是很有意思的一个东西,原来一直想写一些server side的应用,可惜一直没有环境来部署,也就一直没有实现。很多想做的东西也都因为没有Web环境来部署觉得用处不大就没有去做。不过现在有了AppEngine这些问题都迎刃而解了。
但是AppEngine只支持Python,开始想找个曲线救国的办法 - 找到一个Python实现的JVM或者Ruby VM,这样就可以在AppEngine上部署Java或者Ruby的应用(假设AppEngine的Python环境可以让这些虚拟机跑起来)。当然如果有Python-based JVM的话,还可以再这之上再跑Ruby的应用(JRuby)或者Groovy和Scala的应用了,想想就是一个很酷的事情。稍微花了些时间,可惜并没有找到这种的虚拟机实现,不知道是原来并没有这种需求还是技术上有什么难度,有PyPy为什么没有RuPy或者JaPy?
So *start learning Python* in this year~
Update:
这个(Compile Ruby to Python)已经很接近我想要找的东西了,可惜是用Ruby写的,如果是用Python写的话,那就应该可以在Google AppEngine的环境中动态的将Ruby编译成Python代码,于是就可以变成一个Ruby运行时了~
http://www.infoq.com/cn/news/2008/04/google-app-engine-simplifies-web
http://www.dougma.com/archives/81
http://ejohn.org/blog/running-java-in-javascript/
http://hotruby.accelart.jp/
expensr.com是一个在线的个人记账软件,我从2007年下半年开始用它,感觉很符合我的需要 - 简单易用,能够有基本的统计报表功能。我在2007年7月底的时候还给它们发了个邮件,提了点关于它的报表显示的建议。在我发邮件的第二天expensr就给了我答复,说它们正在做帐户之间转帐这一功能,这个如果做好的话报表这方面的显示就ok了。我当时对它的响应速度很满意。
但是到了2008年春节期间,expensr进行了一些更新,但是引入了一个bug - 中文输入的所有的字符显示都不正常了,这直接导致了我没有办法继续使用这一系统,我的所有的帐户名称和大多数的开支名称都是使用中文填写的。这次,我再次给它们发了邮件报告了这一bug,但是过了很久都没有反馈。我在这之后的一段时间又发了两封邮件报告这一bug,但是都没有得到答复。现在,2008年3月18日,距离我发现这一bug已经45天了,系统没有任何的更新来修复这一严重的bug,对我的三封邮件也没有任何的响应。我看了expensr的官方blog,从2007年12月11日之后就没有任何更新了,虽然从网上搜索的结果看来,expensr.com很有前途,但是就目前我的使用和观察,expensr.com命不久矣
update:
果然一个月之后expensr.com宣布被收购,expensr.com的用户都会转到moneyStrands,希望转移之后的应用能够比较好。
原来经常在电视上面看到教授如何做菜的节目,不过总是感觉不太实际-看过就忘了,等到真的想做某个菜的时候已经不记得技巧步骤等等了。于是后来想做不会做的菜的时候都是在网上先搜个菜谱,看过菜谱之后开始做。今天突然发现了个更加直观的方法:用Youtube教你做菜。
方法很简单:到Youtube上搜一下你想做的菜名就ok了,真人视频教学:)
MIT的OpenCourseWare可是个好东西,上面有不少的课程资源.以前曾经有段时间看过CLRS的视频就是在那个上面看的.上次看的时候是自己下载下来看的,avi格式的,非常大.目前最新的这个课程是2005的了,格式也已经变成rm格式的,需要在线观看.不过总是感觉在线看不爽,快进什么的都不太方便,于是就想下载下来看.直接使用下载工具下载在线播放的链接下不下来,去eMule上面找了下,只找到老的版本的视频.直接Google以后找到的办法来下载MIT OCW的rm视频:
Is it possible to save the RealPlayer video file to a disk or to my hard drive?
顺便还找到了个地方 — MIT iTunes U, MIT OCW上的很多课程都可以通过iTunes 商店找到,都是免费的,可是使用iTunes直接播放, Bingo~
Web service领域相关的名词术语实在太多,缩写记不清很麻烦,读起来也不知道如何读,今天特地花了些时间搜集了一下这些术语的读音,感觉还挺有意思的:
- WSDL
- Web Services Description Language, pronounced ‘wiz-dəl’ or spelled out, ‘W-S-D-L’
- SOAP
- 这个最容易, ’səup’
- UDDI
- UDDI is NOT pronounced “Uddy”, but as spelt.
- jUDDI
- pronounced ‘judy’,和上面的不一样:p
- WSE
- Web Services Enhancements, pronounced ‘wizzy’
- JAXWS
- pronounced ‘jax-weis’
- WSE-WSDL
- ‘wizzy-wiz-dəl’…