分类目录归档:技术生活
相声podcast——新站推出
我是一名相声爱好者,但算不上票友,只是在无聊的时候听听段子高兴高兴,也算是一种生活情趣 同时自从有了iTouch之后就开始用iTunes听Podcast,不得不说Podcast是一个非常有趣的东西,比传统的MP3强多了。这个“强”不在于音质效果等硬件条件上而是其获取和组织形势上,换言之如果没有iTunes+iPod我是不会选择听podcast的。 对于听mp3音乐来讲,我一直感觉iTunes管理就是鸡肋,甚至是垃圾,首当其冲的就是版权问题,如果不借助外力,iTunes无法把iPod中的音乐down到电脑上,其次就是“同步”问题,由于我的iTouch可能在好几台电脑上同步,这就造成了我很容易一不小心就把歌给同步消失,比如刚才直接干掉了我上2G的歌曲。所以对于歌曲来讲我更喜欢传统的方式,因为我也不需要歌曲管理。 不过,这个特性放在podcast上就显得非常非常NB了,试想一下现在下载podcast的流程,首先进入store订阅一个种子,然后iTunes自动组织episod,用户选取需要下载的条目,然后点击同步,非常简单。在听podcast的时候提供了倍速浏览,自动记忆播放位置等功能,这些功能的配合让你只要插上iTouch就可以自动更新到最新的podcast,完全不用人的参与。 所以,渐渐的我已经在逐步放弃那种在“网络上搜歌-下载-解压-导入iTunes-创建播放列表-手动管理(删除旧歌曲,加入新歌曲)”的繁琐步骤了,而渐渐的喜欢上了订阅podcast,几乎不需要我动手就都可以自动完成。 不过,这仍旧是有问题的: podcast在中国不流行,除了几个知名站点就找不到什么资源 podcast的功能不适合管理音乐,或者说它和iTunes管理音乐的功能如果能够取并集我就心满意足了,呃。。。其实也不是不可能,如果你按照苹果的设想,从iTunes Store购买音乐的话,刚才说的一切问题都消失了,可是这是在中国~ 对于第二个问题,我由于很懒所以都放弃了听音乐只听podcast,虽然这是一种解决方法,但恐怕很少有人会因为怕麻烦而不去听歌的~~~ 对于第一个问题,现在也有了解决办法,我自己建立了一个podcast网站 也就是“相声podcast” 网站是完全免费的,不仅如此甚至是一点阻碍没有的,没有密码,没有广告,没有垃圾信息,什么都没有,只有相声和我推荐的理由。 只是,如此的开放我也是很担心的,我不知道VPS是否能够承受的了,负载的压力现在应该不会很大,毕竟我也不想去推广,不做SEO,不想盈利,甚至连提高知名度都没有奢求,只是给我和我周围的朋友们提供方便罢了。但是,无所不入的迅雷和百度盗链让我很担心,因为曾经受过伤害所以至今心有余悸7G的流量瞬间消失~~还只是因为一个mp3文件~~~所以如果谁对防盗链有所心得的话可以和我联系一下,不胜感激。现在做的防盗链只有nginx基本措施,不知道能不能奏效。 再说说本站的特点吧: 完全我个人整理的东西,不是抓取的东西,最近患上了”推荐癖“,总是想在博客上推荐点什么东西 我在每一个podcast中都会加入一些背景信息,甚至是整理出一个专辑,一个系列的东西,甚至还会有个预告什么的。 网站没有采用feedburner烧录,因为众所周知的原因,这玩意不靠谱 同时也没有采用wordpress构建podcast,网络上貌似都是用wordpress+feedburner构建的,但是作为一个GEEK来讲,永远要有探索的精神,加上这两天又是我的”休息日“,所以自己在loudblog这个开源程序的基础上修改一些东西,做了一个自己的blog系统 本网站建立在美国VPS上,容量、带宽等等都得自己负责,而我又是一个新手,所以很容易出现down机的情况 网站提供了feed,同时也提供了直接订阅到itunes的功能(在chrome下测试有效),如果你有iPod,会发现他是非常非常方便的~~~~ 本站的内容不得作为商业用途 最后,我说说这个开源的程序loudblog 这是一个php+mysql的程序,不过貌似从07年还是08年就不更新了,德国出品的,好像国内也有用它来搭建的podcast 具体更多的信息不也不知道了,没有太关注,反正看他是GPL的协议也就拿来源码修改了一下。没有动太多,因为我根本就不会PHP,但是在看代码的同时也算是学会了一点点点点PHP吧,总之是修改成功了,主要就是修改了连接问题,这个也是我在使用的时候发现的,当用googlereader订阅之后不能解析出真正的链接地址。同时也在修改其他的bug,不过还没有完成,总体来讲还是基本可以的状态 最后,欢迎使用订阅网站:http://pod.res0w.com
Atomic Commit 导读
本来想写的,但是在下笔之前Google了一下有没有相关的内容,然后还真让我找到了,既然这样就不再重复了 直接看这里(这个中文版我没有看过,不保证翻译质量) 如果想看英文的原版可以看这里《Atomic Commit in SQLLITE》 讲解的比较详细 先导读一下: 实现的关键就是“锁“和“Journal File”,而Journal File中的关键就是那个”head”;对于锁,一个是share锁,用来保证可读不可写,还有就是reserve,pending,exclusive三个锁,这三个锁的作用是逐步加强的,第一个说“我这个进程可能要写了,不能再有第二个reserve锁“,第二个锁就是开始清场,就和帝都地铁限流似的,停止新share锁的创建,第三个锁就是真正开始干活了,这次真的要开始写入了~ 那个“Journal File”之所以是重中之重,是因为它存放了原始信息,比如某个进程修改一部分数据,但是你不能保证写入是“原子“的,万一2012来了,警察来了,闯入机房把线拔了等等不可预测的灾难发生时候一部分数据写入了还有一点数据没有写入,这个时候总得恢复吧,这个”Journal File”就是恢复数据用的,它保留了原始数据。可是这里还有个问题,万一我在恢复的时候或者写入”Journal File“的时候遭遇不测了,又怎么办呢?这个时候就请出了“内容“和“文件头“两部分结构,以及两次flush这个机制,然后再配合一个判断算法,就可以正常恢复了~也就实现了原子操作。 上面是单文件的原子操作,在文中还涉及到了多文件的原子操作,原理类似。 更详细,更具体,更准确的内容还是看原文吧,这只是一个导读~~~
用ssh实现全局代理
去年的时候买了一个ssh,配合这autoproxy+firefox感觉不错 被墙的网站可以走ssh代理,不被墙的网站还是走国内的线 在火狐下能做到无缝切换 可ssh终究不是完美的,有些程序可以设置代理的还好说,但是也有很多程序是不可以设置代理的。 这个时候就比较想念vpn了 后来呢,发现在Windows、Linux、MacOSx上都有相应的解决办法,用ssh来实现全局代理 由于现在在Windows下使用的不多,所以没有太多了解,所以就着重写一下Linux和Mac OS X上的方法。 1、Linux 在Linux上让任何程序都使用ssh代理有两个软件,由于网络上已经有了这两个软件的详细说明,当初我也是按照这篇文章设置的,所以就引用过来: 下文引用来自于: 用 tsocks 和 proxychains 使 Linux 下所有软件能够翻墙(中文版) 和 Proxify any application. Tsocks and proxychains. Force any program …(英文版) 以下说明都是为了那些使用 Ubuntu 的 Linux 用户,不过在别的 Linux 发行版下,安装的过程应该与此差不多。 在终端中: sudo apt-get install … 继续阅读