Unison 同步/备份
unison是啥?
unison是一个跨平台的同步工具, 基于ssh, 安全方便. 我一直使用同一个版本, 无需安装, 只要放置在系统目录中就可以, 或者从系统目录中建立一个链接即可.
注意事项
- 相同版本的unison
- 从B测试A上unison是否安装好:
ssh user@A_ip unison
替代选项
- dropbox
- lftp的 mirror 功能
- rsync
update
2009: 用着用着好像问题多了起来. 如果文件多了, 不是每次都能成功
2010: 好吧, 有了dropbox, 我就不用unison了. dropbox可以自动同步, 而unison需要手工同步.
2011: rsync 看起来也是不错.
货真价实蒸汽小火车
West Ryde有个蒸汽小火车, 和真的蒸汽火车一样, 都是烧媒的. 这玩意儿应该可以帮助小孩子获取工程学的一些经验吧.
开放时间是每个月的第三个星期六下午1:30-4:30. 里面的工作人员应该都是爱好者, 年纪都比较大, 后继无人亚.
地址:
Cnr Anthony Rd & Betts St
West Ryde, NSW 2114
(next to West Ryde Marketplace Carpark)
很便宜, 入场费成人2澳刀, 小孩子1澳刀, 坐一次1澳刀.
如果你幸运的话, 可以看到下面的这个录像:
twill - 浏览网页的脚本语言
twill的用途
twill可以用来在命令行浏览网页,当然, 更可以用来自动获取某些信息, 特别是需要登录才能获取的. 例如图书馆的书什么时候到期.
twill是python的库, 可以直接在python中调用. 它还提供一个命令行程序, twill-sh
, 可以直接在命令行中调用. 以前用过mechanize(以前的clientform), 也是python的一个库, 但是感觉有点乱. twill的好处就是很直觉的操作, 例如输入用户名/密码,按"提交"按钮, 等等.
twill操作
具体操作它有自己的脚本格式. 下面是个简单的例子:
go http://xxx.com/login
formvalue 1 username YOURNAME
formvalue 1 password PASSWORD
submit
save_html xxx.html
以上代码就是到某网页,输入用户名/密码,提交,保存得到的页面. 然后则可以从保存的内容中提取需要的信息了.
其他
重导向死循环
有的网站设计有问题,例如我们council的图书馆,登录之后会进入死循环.只好先设置
config acknowledge_equiv_refresh false
登录后直接go
到相应页面即可.
替换品: curl
根据阮一峰的文章, curl也可以操作表单啥的. 这样就可以把数据拿下来了.
神奇的 pathogen
pathogen + git
pathogen + git 真是太强大了.
以前安装vim插件的话, 里面的内容要分装到几个目录中, 例如doc, plugin等. 升级的时候尤其麻烦. 而pathogen是vim的一个插件, 装了它以后, 其他插件就可以放在.vim/bundle里面单独的一个目录中即可.
现在vim 插件几乎都被搬到github上. 通过git可以很容易就下载/更新vim插件, 因为在pathogen的帮助下, 每个插件都是一个单独的目录了, 互相之间不影响.
vim scripts提到一些管理的工具.
git module
现在.vim/bundle里面有若干个目录, 每个目录都是一个git管理的仓库, 每次更新都要手工更新, 当然写脚本也可以, 只是感觉不够优美.
今天看到一篇文章, 里面提到"git module", 就是一个git仓库中还可以嵌入其他独立的仓库. 这个用来管理整个vim配置目录, 甚是完美. 例如我把.vim作为一个仓库, 而从github上clone下来各种插件到.vim/bundle中. 我从其他机器上克隆的时候, 就可以自动把这些插件也下载下来.
假设我有项目super, 其中有4个submodules, a, b, c, d.
初始化modules
# add remote repo
$ git submodule add path_to_repo local_subdirectory/name
# add submodule repo urls to config
$ git submodule init
# clone and checkout
$ git submodule update
更新
(在super的目录中)
$ git pull
$ git submodule update
$ git submodule foreach git pull # 如果上面一行不行
在其他地方clone
$ git clone path_to_remote_repo
$ git submodule init
$ git submodule update # 以后只要这个即可
移动模块
修改模块的名字, 见stackoverflow:
$ vim .gitmodules # 修改对应路径
$ mv oldpath newpath
$ git rm oldpath
$ git add newpath
$ git submodule sync
注意
- 子模块可以看作只读的. 要修改也可以, 签出"master"branch即可.
- 删除module有点麻烦, 目前不能自动删除, 步骤和修改模块名字差不多.
链接
virtualenv 真是一个好东西
virtualenv
virtualenv 相当于在一个目录中形成一个单独的python环境. 其中安装的包和系统没有关系. 这个特点对于爱折腾,要使用最新版库的人 来说非常有用. 例如flask / blogofile就推荐使用virtualenv.
让我想起vim的pathogen插件,真是太神奇了.
初始化
$ cd somewhere
$ virtualenv --no-site-packages myproject
$ ls myproject
bin include lib
--no-site-package让新安装的包都装到该目录, 而非链接到系统里面的库.
激活
$ cd myproject
$ source bin/activate
使用
在这里就和以前一样使用了, 使用easy_install/pip来安装python软件.
evernote
现在网络上资源很多, 有时候想保存下来. 最好能
- 跨平台. Linux/Mac/Android. 虽然Mac快挂了.
- 跨浏览器. Firefox/Chrome.
- 能够脱机浏览, 特别是图片. 主要现在网站挂得太快了, 一不小心就找不到了. 还是保存在自己手里比较放心.
- 速度不能太慢. 否则真是煎熬呀.
Evernote不错
update 2016
- 抛弃 evernote.
- PC 上竟然不能
选择性同步
文件夹. ipad上可以哟. - 没有linux 客户端
- 来了一次彻底的导出数据, 花了好几天, 貌似成功了.
- 我唯一怀念的是它的OCR 功能, 搜索起来很方便.
- 保存HTMl 文档我现在用 pinboard 的归档功能. 一年$20.
update 2012-10
购买了premium账户. 感觉不错.
- 浏览器(插件web clipper)可以
快速
摘录文章 - ipad客户端可以阅读, 加亮某些重要内容
- 利用插件, 搜索google时自动也会搜索evernote.
- 配合ifttt, 可以自动把某些内容备份进来.
- 配合zootool+ifttt, 把书签自动加进来.
- 把收据拍照片后上传, 可以搜索哦. . . hohoho
现在只用evernote了. 但是这个公司的作风像是一个传统公司. 做的广告都是面对初级使用者的.
Update 2011-11
在chrome里面试了一下evernote, 感觉现在保存速度还是很快的, 图片也可以保存. 目前就用它了. 加上它还有一个插件, 类似与readibility之类功能. 现在chrome只要装这两个插件就可以了.
本地同步版本
以前这么用, 现在改投evernote了.
工具 | 感觉 |
---|---|
scrapbook + dropbox | 资料保存得很不错, 包括图片什么的. scrapbook是firefox的插件, 可惜chrome没法用. 利用dropbox来同步. 太多文件的时候,同步速度慢, 而且dropbox也会有警告(linux上). |
chrome + readability + SingleFile + PageArchiver | 保存在本地, 甚是清爽. readability 把网页重新排版, SingleFile把图片等嵌入到网页中, 保存的时候就是一个单纯的网页文件, 没有其他乱七八糟的东西了. 就是步骤烦了一点. 要先点 readability, 然后点SingleFile, 最后ctrl-s保存. |
截图
有时候截图就比较方便, 例如菜谱, 但是不能搜索呀.
|chrome插件 awesome screenshot: Capture & Annotate |截图插件, 来自diigo, 可选择大小, 选择时可以滚动到当前看不到的区域, 可编辑 |快且简洁| |chrome插件 webpage screenshot |截图, 可选择大小, 选择时可以滚动到当前看不到的区域, 可编辑 |有点慢| |firefox插件 screengrab |截图软件, 可选择大小, 可是无法选择当前看不到的区域, 不能编辑 |速度快|
网络版本
很多网站现在提供这种服务, 几乎各大浏览器都有插件:
网站 | comments |
---|---|
read later fast for chrome | 好像也是来自 diigo. 速度飞快. |
clipboard.com / js按钮 | 可选择保存某些frame, 可保存图片到服务器上, 有点慢 |
diigo | 好像是中国人开发的? 可以保存成cached page, 可是有的页面也没有保存下来. 图片也没有保存? 高级版本貌似可以,但是只能另外单独保存. 要是可以保存选择的部分 (包括文字和图片), 我还是愿意掏钱的. 擦, 保存的东西都是公开的. 幸好没有保存敏感的东西. |
instapaper | 相当于保存书签, 另外可以保存txt. 界面简单. 速度快. 但是有时候貌似抓得不行. 不能保存图片 |
readitlaterlist.com | 和instapaper差不多 |
Q for later | 只能保存原样的网页, 图片没有保存 |
Building Academic Vocabulary
By Lawrence J. Zwier
Including, Making Up
Group1 | Group2 | Group3 | Group4 |
---|---|---|---|
consist of | involve | constitute | conprehensive |
comprise | encompass | make up | all told |
be composed of | include | form | mainstream |
contain |
Excluding, Not Being Part of
Group1 | Group2 | Group3 | Group4 |
---|---|---|---|
anomalous | keep out | filter | rogue |
exception | exclude | screen | outcast |
egregious | ban | alien | |
marginal |
Equivalence, Similarity
Group1 | Group2 | Group3 | Group4 | Group5 |
---|---|---|---|---|
equality | parallel | alike | just as | conterpart |
parity | echo | identical | likewise | clone |
equivalent | image |
Difference, Inequality
Group1 | Group2 | Group3 | Group4 | Group5 | Group6 |
---|---|---|---|---|---|
disparity | differ | differentiate | discrete | heterogeneous | contrast |
inequality | diverge | distinguish | disparate | diverse | discrepancy |
gap |
Changes, Increases, Decreases
Group1 | Group2 | Group3 | Group4 |
---|---|---|---|
alter | transform | raise | reduce |
modify | redesign | rise | diminish |
transition | restructure | accelerate | contract |
expand | decline |
Links, Correlations, Happening Together
Group1 | Group2 | Group3 | Group4 | Group5 |
---|---|---|---|---|
link | accompany | characteristic of | in conjunction with | imply |
correlation | go along with | associated with | to the degree that | infer |
Causes and Effects
Group1 | Group2 | Group3 | Group4 | Group5 |
---|---|---|---|---|
stem from | lead to | render | favor | be resonsible for |
be due to | yield | make | promote | porvoke |
derive from | generate | be blamed for |
Permitting, Making Easier
Group1 | Group2 | Group3 | Group4 | Group5 | Group6 |
---|---|---|---|---|---|
permit | permissive | consent | exempt | facilitate | clear the way for |
allow | lenient | approval | excuse | ease | remove obstacles to |
Stopping, Preventing
Group1 | Group2 | Group3 | Group4 | Group5 |
---|---|---|---|---|
halt | restrict | forbid | prevent | hinder |
cease | restrain | deny | forestall | block |
suspend | deter |