Sunday, June 28, 2009

基于 标签(tag) 和 版本(version) 的个人文件系统(filesystem)

最近在找是否有文件系统是基于 标签 和 版本 来管理文件的,
就是说我可以随便的丢一个文件进系统中,可以任意、无限的标签它。
也可以随便的修改,每一次修改都会被记录,我不用另存,不用复制,只需要删除我不需要的中间版本即可。
至于文件的获取,可以通过搜索+浏览来实现,其实 搜索 在 Mac 中已经很流行,
只是他的文件系统好像还不是很能够随意的让我去丢文件进去,因为大多数时候还是需要我自己去目录下面翻文件,
不知道 spotlight 是搜索文件的哪些 metadata 的。所以嘛,不了解细节对我这样的人来说,用起来很痛苦。

系统构想:

  • 添加文件比较简单,可以随意的丢文件进去,然后标签(也可以完全不打标签)
  • 可以丢文件包进去,就是说我的一组文件是作为一个文件来处理的,对以检索来说
  • 查询时候,根据 标签(自动补齐),类别,日期(c/a/m),使用频率 之类来检索(受 find 影响)
  • UI 界面下的检索结果列表,可以将新文件拖到这个结果界面中,那么这个新文件将自动被赋予这些标签(CLI 下如何操作?)

这种东西可能跟 linux 下的 find、grep 重复,不过,在现有的文件系统下存储,
仍然需要建立复杂的目录和 ln -s 连接才可以模拟这样的效果,
如果有软件可以更加方便的使用 ln 来模拟就更好了。 就是说我可以用 ls x 来开始搜索,然后 tab 补齐(可以考虑列出来,直接、直观的选择),比如 abc,
加斜杠的意义就是在所有标有 abc 标签之下再检索,再自动补齐,然后觉得满意了直接回车,然后出来所有满足条件的文件。
添加 文件类型、文件、版本、使用频率 之类的检索条件,比较完美了。
对于文件保存,几乎不覆盖,而是类似增量保存,然后可以选择抛弃某个版本。

适用:

  • 收藏资料、图片、软件之类大而碎的文件 的用户
  • 应该也可以作为服务器的存储底层来使用

有啥想法呢??
或者有啥推荐呢?
有任何兴趣或者建议,请 mail(kindy61 在 G邮箱) 我。

说话

关于 可探知(确定)与不可探知(不确定)。

世界上的事情分为可探知和不可探知。
我做的事情几乎都属于可探知范畴,就是说,只要愿意,都可以学习到,可以探寻源头,才根本上知晓一切。

很大的一个原因是:这些东西是人类创造的,总是有据可循的。
人就不是,人不是人创造的(虽然是人制造的),所以很多东西是未知的,也是比较不可查的,虽然有心,但是也未必能全部搞清楚,这样的事情让我这样的人抓狂——我对此无能为力。

有时候陷入一些死胡同,有心却无力。
心走的太快,行为、动作跟不上,干脆就放弃,
如此往复,心越走越远,行动和行为越来越跟不上了(其实行动和行为也受心的控制,只是有时候就是控制不了)。
近来发觉在挺多方面都是这样的状态,
知道的太多,实践的太少,所以就形成了越想越多,甚至有些飘渺与脱离实际,
而行动上却一点也没有,形成了巨明显的好高骛远。
更加的无法开始行动。
这是一个可怕的事情。

PS: blogger 的可视化编辑器很难用。只能用 html 编辑模式比较好。

Wednesday, June 24, 2009

广域网使用网上邻居

标题很假,其实是想在家中(歌华宽带)中连接机房中的win2008 服务器,要是 linux 也好办。
描述:
服务器是 win2008,开文件共享,在家里(leopard 10.5.6)尝试连接,结果连不上(好像是必然的)。
遂想到这几天研究的 ssh 端口转发,然后操作如下:
  1. 远程登陆到 win2008,开共享 abc,使用 putty 连接 公网上有 ssh 帐号的一服务器 A,设置端口转发 R 8888->localhost:445。
  2. 在我的机器 leopard 上连接 ssh -2 -f -N -L 445:localhost:8888 A;
  3. 尝试添加 smb://localhost/abc,结果提示这个 localhost 是本机,直接访问即可 冏;
  4. 断开 2 中的连接(ps -ef | grep 找到 pid 然后 kill);
  5. 找到附件另外一台机器 B,在它上面 ssh -2 -f -N -L 445:localhost:8888 A;
  6. 回到本机 leopard 连接 smb://B/abc,提示输入用户名和密码,这时候输入 win2008 上的用户名和密码,连接成功。
都挺好,就是使用了多余的 2 台机器,如果我自己有外网 ip ,也许好一点,不过 mac 系统不让连接自己 smb 服务的这个,有点多余,起码高级用户给点自由吧。
希望对有这样变态需求的人有帮助。

Sunday, June 21, 2009

神奇的 ssh 端口转发

ssh 端口转发。

作用:
1 不同的内网之间互联;
    假设有 2 台在不同网段之间的机器需要连接,那么在 A 网段用一台机器 ssh 到公网 abc.com 上,绑定一个 abc.com 的端口 x 到 A 网的任意 ip:port,
    然后在任意地方访问 abc.com:x 就等于访问之前绑定的 A 网段的 ip:port,这样,几乎任何服务都可以传递过来,包括远程连接,打印机等

2 发布本地服务到外网;
   跟上面类似,只要将远程主机的端口绑定到本地机器即可。

3 欺骗程序(比如 RDC 的 mac 版本不能指定端口,如果服务器设置了非默认端口,则可以通过 ssh 在本机转发一下);
   这个纯粹的是做端口转发,本机就可以搞定。

4 用作代理服务器。
   用到 -D 参数,配合 pac 文件很好用。



参考:
理解这个得到 agentzh 的大力帮助。
这篇文章也比较好。