Sunday, August 23, 2009

取消mget的提示

mget是FTP中批量下载文件的命令, 在使用的时候可能会在每一个文件下载之前都询问你是否下载, 这样太麻烦了, 得一直按着Y然后回车, 要有1000个那估计下完手都不是自己的了. 稍微看了一下ftp的man page, 其中有一个prompt命令, 就是专门用来切换使用mgetmput时是否提示的. 好了, prompt之后就可以放心地不去管mget了.

在Linux下使用DNW

2009.9.1更新: 请下载dnw2_linux_fixed_20090901.tar.gz, 详情请参见[ARM板烧写文件系统失败的总结].

DNW是通过USB烧写软件到ARM板的工具, 由三星公司开发, 可是这个软件只有Window$版本. 那天想把Linux内核烧进去, 就在网上找了很久看有没有Linux下的替代品. 最后在ARM9之家论坛上发现有人重写了个简单的命令行版本, 源代码可以从Google Code上下载: dnw2_linux_latest.tgz, 或者下载我的修正版本: dnw2_linux_fixed.tar.gz, 主要修正了一些编译警告. 编译的时候要依赖libusb-dev, Ubuntu用户可以直接安装:
$ sudo apt-get install libusb-dev

Tuesday, August 18, 2009

在Google Reader中备份和搜索好友的Tweets

Twitter in Google Reader

2010.1.19更新:
现在不推荐使用这种方法来获取Twitter好友的feed, 因为经过试验当好友数达到一定数目时, 获取的feed列表是不完全的.

来自Lifehacker的文章: Backup and Search Your Friends' Tweets with Google Reader [Twitter], 介绍了怎样在Google Reader中备份和搜索好友的Tweets.

  1. 首先打开这个网址: http://tw.opml.org/get?user=xiaogaozi&folder=1, 把user改为你的Twitter用户名, 然后将网页的源代码保存为.xml或者.opml文件.
  2. 进入Google Reader中的"Manage subscriptions"页面, 在"Import/Export"标签页中将刚才保存的文件上传上去就行了.

这时你所有Following的好友都会显示在Google Reader中, 你能看到他们以往的Tweets, 也能通过Google强大的搜索功能进行检索.

不过如果好友名是中文的话, 就会被转换为Unicode代码, 我写了个脚本可以将Unicode代码转换回字符: code2string.py. 假设你刚才保存的文件名为xiaogaozi_twitter.opml, 那么执行:
$ python code2string.py xiaogaozi_twitter.opml
然后会生成一个trans_xiaogaozi_twitter.opml文件, 上传这个就行了. 如果没法执行这个脚本, 还有一种简便的方法, 直接在Google中搜索那串Unicode代码就行了, Google会自动将它转换为字符, 百度无此功能.

Saturday, August 15, 2009

SNS All in One 0.0.2 Released

校内改名人人了, 以前的http://m.xiaonei.com/也用不了了, 这个版本把校内的网址改成了: http://m.renren.com/, 如果你以前安装的时候勾选了"Auto-update this feature", 那过一段时间Jetpack会自动更新的, 可以不用管. 或者可以到这里重新安装最新版本.

Saturday, August 8, 2009

Open Web Tools Directory

Open Web Tools Directory
Open Web Tools Directory是Mozilla Labs推出的用来收集各种Web开发工具的网站, 网站采用HTML 5中的canvas技术编写, 动画效果很是绚丽, 如果你的浏览器还不支持HTML 5, 也可以查看普通页面. 同时你可以通过这个表单提交那些没有包含在网站上的工具, 我已经把Vim提交上去了. 网站后续还会加入社会化的功能, 比如打分、排名之类的, 值得收藏.

Friday, August 7, 2009

SNS All in One 0.0.1 Released

以前总在想, 能否像TwitterFox那样方便地更新我的校内, 查看校内好友的新鲜事和豆瓣的友邻广播呢? 我需要实现这样一种功能, 能够在我想看的时候很方便很快速地看到, 而其它时间则隐藏起来. 自从了解了Jetpack, 我就在思考着能否实现这个想法. 经过几天的编写, 就有了SNS All in One这个Jetpack扩展.

SNS All in One是一个Jetpack扩展, 主要使用Jetpack的slide bar (侧边栏) 特性, 现在实现的功能就像上面说的一样, 可以查看手机校内的所有内容, 以及豆瓣的友邻广播. 截图如下:

SNS All in One - 豆瓣
查看豆瓣友邻广播

SNS All in One - 校内
查看手机校内

功能很简单, 点击侧边栏的图标可以刷新页面. 由于侧边栏不能复制链接, 可以选择拖动链接到Firefox主窗口中打开. 不过需要注意下, 这个扩展只支持Firefox 3.5及以上版本.

欢迎提供各种反馈, 请将意见提交到Google Code或者Userscripts.org的Discussions页面上, 也可以给我发送邮件: gaochangjian[at]gmail[dot]com, Because it's your web.

Introduction to Jetpack

Jetpack
JetpackMozilla Labs推出的一种全新的Firefox扩展方式, 官方的一句话很好地解释了Jetpack的作用:
In short, Jetpack is an API for allowing you to write Firefox add-ons using the web technologies you already know.
这篇文章旨在全面但不深入地介绍Jetpack的特性, 帮助用户和开发人员更好地了解Jetpack.

抄袭下可能吧的经典绿条, 希望Jason Ng同学不要介意.

一、怎样获得Jetpack?

不管你是运行还是开发Jetpack扩展, 都需要首先安装Jetpack的Firefox扩展 (这句话有点绕, 可以把后一个扩展看作是Jetpack的API包), 就像平时安装Firefox扩展一样, 下载安装完毕后重启Firefox就行了.

二、对于普通用户, Jetpack该怎样使用?

只要你安装了刚才的扩展, 当打开包含Jetpack程序的页面时Firefox就会自动提醒你是否安装:
Install Jetpack

点击"Install..."以后, 可能会转到一个Firefox的警告页:
Jetpack Warning
不用紧张, 只要你是从可信赖的站点安装的就没有问题, 这时需要等到代码加载完毕, 然后就可以点击按钮安装了, 也可以勾选上"Auto-update this feature", 以便自动更新.

当显示"Installation Successful"之后, 一个Jetpack扩展就算安装完毕了, 这同时也是Jetpack不同于普通Firefox扩展的一点: 安装后不需要重启, 删除也是.

在哪里查看所有安装的Jetpack扩展呢? 请打开about:jetpack页面, "Installed Features"里就显示了全部信息, 点击"uninstall"即可删除扩展.

由于现在Mozilla还没有专门为Jetpack建立扩展页面, 所以目前推荐到Userscripts.org的Jetpack页面查找扩展.

三、开发人员指南

如果你是一名Web开发人员, 或者有过Web开发的经验, 那你基本上已经具备了开发一个完整的Jetpack扩展的能力. 开发Jetpack扩展所需的技术和工具有: JavaScript, HTML, CSS, jQuery, Firebug, 以及你喜爱的编辑器.

如果你想快速直观地了解Jetpack的功能, 可以观看官方的这个视频:

Mozilla Labs Jetpack - Intro & Tutorial from Aza Raskin on Vimeo.

Jetpack现在还处于发展阶段, 只能实现一些比较小的功能, 比如对剪贴板 (clipboard), 消息提示 (notification), 侧边栏 (slide bar), 状态栏 (status bar), 菜单栏 (menu bar), 标签 (tab)等的操作. 同时, Jetpack包含了jQuery和封装好的Twitter库, 以及实现JS的跨域访问.

about:jetpack里有完整的API索引与示例, Jetpack Demos也包含了各种示例, MozillaWikiLabs/Jetpack版块有很多关于Jetpack的资料和示例代码, 还有Jetpack的Google Groups与IRC (#jetpack@irc.mozilla.org) 供大家讨论.

四、结语

Userscripts.org网站底部有这样一句话: Because it's your web. 期待Jetpack的发展, 让Web变得越来越舒适.