跳到主内容

Unison 同步/备份

unison是啥?

unison是一个跨平台的同步工具, 基于ssh, 安全方便. 我一直使用同一个版本, 无需安装, 只要放置在系统目录中就可以, 或者从系统目录中建立一个链接即可.

注意事项

  • 相同版本的unison
  • B测试Aunison是否安装好:
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可以用来在命令行浏览网页,当然, 更可以用来自动获取某些信息, 特别是需要登录才能获取的. 例如图书馆的书什么时候到期.

twillpython的库, 可以直接在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等. 升级的时候尤其麻烦. 而pathogenvim的一个插件, 装了它以后, 其他插件就可以放在.vim/bundle里面单独的一个目录中即可.

现在vim 插件几乎都被搬到github上. 通过git可以很容易就下载/更新vim插件, 因为在pathogen的帮助下, 每个插件都是一个单独的目录了, 互相之间不影响.

vim scripts提到一些管理的工具.

git module

现在.vim/bundle里面有若干个目录, 每个目录都是一个git管理的仓库, 每次更新都要手工更新, 当然写脚本也可以, 只是感觉不够优美.

今天看到一篇文章, 里面提到"git module", 就是一个git仓库中还可以嵌入其他独立的仓库. 这个用来管理整个vim配置目录, 甚是完美. 例如我把.vim作为一个仓库, 而从githubclone下来各种插件到.vim/bundle中. 我从其他机器上克隆的时候, 就可以自动把这些插件也下载下来.

假设我有项目super, 其中有4submodules, 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.

让我想起vimpathogen插件,真是太神奇了.

初始化

$ 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 |资料保存得很不错, 包括图片什么的. scrapbookfirefox的插件, 可惜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. 速度飞快. ~~只能保存书签?~~ 哦,好像可以离线浏览的. 不知道保存在什么地方, 没法用dropbox同步呀. 恩, 可以同步到diigo.com, 不知道速度如何.| |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|

|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|