Archive for the '电脑网络' category

行胜于言

Deep Blue| November 13, 2008 11:17 pm

看看有多少想了很久的idea已经被别人实现了:

Idea1: Seft-adaptive memory architecture. 1年半以前的想法,原计划做个原型写个patent试试的。结果发现半年后在DB2 for z/OS V9里面用在了Bufferpool上面。当然只是个针对bufferpool的简单实现,但是说明背后的想法肯定有人想过了,遂失去继续下去的兴趣;

Idea2: Social Network about (travel) Plan. 一年前的想法,笔记本上画了无数构思图,本打算学好Ruby on Rails做这个Web2.0的站点的,结果今天发现http://planyp.us . 更伤心的是竟然连开发框架都是与我设想的一样的RoR:( 回头看看也是活该,域名都买好了就是拖拖拉拉不动手,sigh~~~~能怪谁呢

你是个什么样的人,做成什么样的事,取决于你的行动,光有想法是不够的。以此自勉吧

我的RoR工作环境之更新版

Deep Blue| 2:43 pm

鸟枪换炮,终于用上了Textmate (号称最贵的编辑器,因为很多人是为了这个39EUD的软件而买了1xxxUSD的Macbook Pro)。之前写过的这篇“我的RoR工作环境”成为过去式了。

在Leopard下面内置了对ruby on rails的支持。不过还是要加上xcode和macport才完美。我是按照这篇文章的说明配置的,简单好用,推荐给大家。

初次使用textmate肯定会有摸不着头脑的感觉,强烈建议用ctrl+H呼出help跟随Ruby on Rails的例子走一边。只用不到20分钟的时候,基本上可以完成textmate的入门。

用Ruby on Rails开发Facebook应用(6) - More on Amazon EC2

Deep Blue| September 22, 2008 1:58 am

如果你看过了上一篇关于用Amazon EC2作为Ruby on Rails的server的文章的话,这里还有一些补充。

EC2onrails是包含一个AMI和gem的RoR Deployment解决方案。现成的系统和gem让你的deploy非常简单。不过,AMI里面的Apache是你想用的么?各项配置是否正如你所愿?如果不是的话,我们有没有别的选择呢?

答案是肯定的。还有不少方法可以帮助你快速的deploy ROR application:

首先说heroku.com 专门针对ror的一揽子解决方案,你可以在线上创建rails app,在线编辑,部署。因为Heroku本来就是跑在Amazon EC2上的。所以你的Rails app自然也跑在上边了。不过heroku是个商业网站,虽然现在beta阶段我们可以上去随便编辑和部署(简单的,多服务器的肯定不会让你免费来),以后的收费可不好说,另外要使用额外的资源,清提交申请并乖乖奉上银子。建议初学者学习rails的时候玩玩。可以省下setup生产环境的时间。

rightscale.com也是大名鼎鼎(有用的功能也收钱),不过上去试用了一番,实在用不惯,直接放弃研究了。清各位看官自行探索

说说免费的拉,Elastic Rails是一个plugin (plugin 有plugin的好处)。因为有下面的视频短篇,我就不多说了。我最喜欢screencast了。简单明了:
http://s3.amazonaws.com/rc_files/elastic-rails.html
需要指出的是它的网站一直上不去,不知道是不是墙的问题

Capazon 与上面类似:
http://soylentfoo.jnewland.com/articles/2007/04/30/capazon-0-2-released-capistrano-2-0-compatible

Rubber:
http://github.com/wr0ngway/rubber/wikis/faq

具体用哪一种方案请各取所需

用Ruby on Rails开发Facebook应用(5) - Amazon EC2

Deep Blue| September 16, 2008 5:21 pm

Amazon EC2不是什么新东西了,不过从cheewu那里得知他的垂直搜索引擎是用EC2的。偶也有兴趣试用一下,反正钱也不多,呵呵

 

EC2其实是虚拟化的一台机器,物理上来讲书也不知道你自己的实例在群里的那个部分运行着。不过这并不重要,重要的是只要你想,就可以随时在Amazon的computer farm上开出一块自己的”自留地”,计算能力可以选择的,也支持多个实例组成cluster.

 

Virtualization已经是当今的潮流,估计不用普及了,现在用电脑的,最少也用过VMware吧。呵呵。使用EC2只要简单的几个条件:    

 

  1. 在amazon AWS上注册一个id
  2. 把EC2 服务加到你的AWS id服务中来(点一个按钮即可,但是很多人不知道,一些教程里面也没写,少了这个步骤,会导致ssl授权通不过的问题,切记)
  3. 一个可供网上支付的信用卡,VISA,Mastercard,AE什么的都可以

 

ok,添好这些,就可以使用EC2的服务了。别着急,您至少先看看收费标准吧EC2 price

 

都没问题了我们就可以在本地setup EC2的使用环境了。具体可以看这里EC2 Getting Start,我就不罗嗦了。

 

觉得命令行麻烦的话,推荐一个Firefox插件Elasticfox,大大简化的EC2的操作。反正我是不喜欢用ec2那些奇怪的命令。呵呵。命令行控们可以看这篇How To: Getting Started with Amazon EC2

 

有个虚拟的机器,用什么OS呢?Amazon上面已经有很多现成的AMI了,把他理解成定制好的系统,可以直接启动。你只要在启动EC2 instance的时候指定某个AMI的ID就可以了。对于Ruby on Rails来说,我推荐EC2onRail的AMI,有32bit和64bit两个版本:

 

  • ami-c9bc58a0 (32-bit)
  • ami-cbbc58a2 (64-bit)

几乎你会用到的东西在AMI里面都是ready的:

 

Features of the EC2 image:

 

如果你自己还需要别的东西的话,尽可以自己安装(Ubuntu的apt-get或者手动),然后把Image传到S3上就成为自己定制的AMI了。具体过程不难,请参考这个小短文HOWTO Build EC2 image

 

EC2 instance ready了还没完,你自己的本地开发环境也要作一些事情

 

  1. sudo gem install ec2rails
  2. copy capify,deploy 脚本到你的app目录下(用过capistrano的人都知道)
  3. run capistrano task吧。集体还是看ec2rails的说明

 

 

ok,建一个自己的instance尽情享受root的快感去吧

sopcast网络电视全家解决方案[转]

Deep Blue| August 6, 2008 2:34 am

转载一篇,虽然看奥运应该不需要。不过以后也许用得着。再说自己家里也有一台老爷机。

标 题: 老鸡也能sopcast!迎接奥运看转播
发信站: BBS 未名空间站 (Mon Aug 4 22:08:29 2008)

上mitbbs很少些长文,前些天抽风,写了一个关于用debian打造家庭娱乐中心的文章,
下水了,555
这篇文章是应nyse同志要求,些一个老鸡上sopcast收看国内电视节目的文章,希望别
沉底,呵呵

其实sopcast这个东西很好用,非常健壮,如果你仅仅是一台电脑,我这个文章没有啥
价值,因为在windows下安装pplive或者sopcast非常简单。

但是,如果你家上有老,下游小,中间有老婆,都要上网,你要看电视,占带宽,呵呵
,你会很惨的,解决方案,sopcast+ddwrt。下面就说如何进行,

硬件设备之一: p3-500一台,256m内存,不要显示起,不要音响,不要键盘,不要鼠
标不要机箱。光板电脑一个。要有网卡,有声卡,继承的显卡
硬件设备之二:ddwrt刷好的router一个,什么?不会刷?看这里 http://www.dd-wrt.com

软件:debian linux 4.0 (etch) + sopcast程序

就这?对,足够了,要我说,有128内存就可以了,呵呵

第一部:安装debian,这个谁都会,弄一套临时的键盘鼠标显示器,安装这种民工工作
,我就不多说了,呵呵,不用装x窗体就可以,硬件驱动要求把声卡用alsaconf命令搞
定。一定要安装桌面管理程序,gnome或者kde都可以,我倾向于gnome

第二步:安装远程桌面,平时这个电脑是挂在墙角,放在壁橱,或者放在后院的,不用
太care了,但是一定要远程遥控。所以除了能上网,还需要有远程桌面,安装
vnc4server就足够了,安装完毕,运行vncserver :x (x为数字)
在其他电脑上,主要是windows上面弄一个叫vncviewer.exe的小程序,输入serverip:x
就会有提示输入登录密码,成功后在桌面上就能产生一个虚拟的linux的桌面,跟实际
操作一样,

第三步,拷贝sp-sc-auth的binary文件到/usr/local/bin文件家下面

第四步,运行/usr/local/bin/sp-sc-auth sop://broker.sopcast.com:3912/15102
3908 8908 > /dev/null

第五步,在其他的任何一台电脑下面,用媒体播放器打开http://serverip:8908/tv.asf看看是不是能看中央一套了?

第六步,挑选几个你经常看的频道,(频道列表在http://www.sopcast.com/channel/)比如15102,以及帮定的端口,上面的例子是8908,你可以换成8909 8910等等

第七步,用crontab -e程序自动启动所有想看的电视节目
语法是@reboot /usr/local/bin/sp-sc-auth sop://broker.sopcast.com:3912/15102
3908 8908 > /dev/null

这样你就可以观看了,但是,有一个问题,这样不限制,你家的internet会非常非常慢

下面你所能作的就是到dd-wrt的router里面,用这个命令在administration->command
窗口下面输入
iptables -I FORWARD -p tcp -s 192.168.1.109 -m connlimit –connlimit-above 5
-j REJECT

并且保存成为启动命令就可以了,看到最后的数字5代表router可以允许5个p2p的连接
,这个已经足够了,我的计算机曾经用3个都没问题,就是rp损失惨重,呵呵

奥运会了,广大群众们希望用这个壁橱老鸡来当你们家的电视server,不用在理会dish
network的促销了,呵呵

用Ruby on Rails开发Facebook 应用(4)

Deep Blue| August 5, 2008 7:01 pm

用那个主机host你的应用?

前文题到了ssh tunnel方式提供自己的server到local开发环境的连接以方便开发和调试。不过这个方法需要服务器上的ssh配置支持client端指定端口。相信大部分人用的虚拟主机都不会支持的--大家都共享一个ip.要是每个人都指定端口难免冲突或者乱套。除非虚拟主机提供商提供(或者加钱购买)独立固定的ip才有可能(只是可能)。如果谁知道那里有便宜的虚拟主机提供商能提供的话,请告诉我一声,不身感激。

要是有一个自己的box那就好多了。自己是root自然干什么都没问题。可惜这样的主机价钱就不一样了。在若干个月之前,我们还有一个好的选择,就是joyent.com的针对facebook app应用的免费计划!只要你有facebook app并且转台处于active and in-use状态就可以通过申请这也个计划得到一个原本价值75$/m的主机。自己有root权限。不限流量,1/32的cpu quota。免费期是一年。相信对大多诗人都够用了--一年以后,要么你的app失败了,要么早就要升级扩展了。这么好的计划人们自然趋之若骛。结果就是后来的条款越来越苛刻--主大欺客嘛。新的条款增加了facebook应用的活动用户数量要求:至少50个活动用户;还有30天未登录就会被取消帐户。这个50个active user成了一个比较高的门槛,要知道active user的计算方法可不是有50个人add了你的app就行的。

难道走投无路了么?也不是。两个方法可以work:

No.1 麻烦一点儿,每次更改都deploy到自己的rails虚拟主机上,不用ssh tunnel。优点是简单,所有的rails主机都可以用。缺点是共享主机性能不佳会拖后腿,而且很快就要面临升级。

No.2 现买joyent的最便宜的主机,快速把自己的app弄好,然后发动自己所有的facebook朋友成为你的active user.(在家靠父母,出门靠朋友),说不准成立个facebook app developer群,大家互相访问好了。然后就可以转免费1年的计划了。这样可以达到keep住免费的主机的最低要求,不过不是长久之计。关键还是要作出好东东来吸引大量的用户。此方法只适合新的facebook app developer度过最开始的没钱时期,app发展起来了马上就会面临扩容问题。当然,joyent提供的扩容方式还是足够你的要求。再说,真的到那时,你已经有一个不过的demo可以用来说服你的投资人了。

用Ruby on Rails开发Facebook 应用(3)

Deep Blue| August 2, 2008 7:50 pm

这个主题的贴子秉承了我的一贯传统,就是慢慢吞吞,哈哈。除了不喜欢火急火燎的做事情的风格以外,还有一个重要的原因:rails以及相关的东东变化实在太快了。学了半天然后发现人家一升级又有好多东西不一样了或者不兼容了;还比如一个很多人用的plugin或者module突然就宣布不再维护了….不一而足。

我干嘛要找这些接口呢?实在是因为,今天发现了一个令我吃惊的“旧闻”—rfacebook的作者在年初就有要停止rfacebook维护的意思,曾经在自己的blog上发帖找人接手,同时还推荐了facebooker作为替代。作为有9个月历史(截止作者发贴时)的rails下最有名的facebook api的ruby封装库,rfacebook的使用者不在少数(google一下便知)。不过目前为止,情况还是不太乐观。当然,作者也不是置大家于不顾,因为作者自称在开发rfacebook之初对ruby,facebook甚至编程都不太熟,所以设计上就欠考虑(也可能是人家谦虚啦),结果有一些用户遇到了bug的折磨。现在由于时间和项目的关系,没法在做rfacebook的维护了,同时也发现rfacebook可以改进的方面已经有facebooker做到了。本着”不要重复发明轮子”的原则,作者向大家推荐了facebooker. 详情请自己看作者的blog.

所以接下来要换facebooker了。这篇是在给老爸老妈新买的机器上写的,没有rails环境,不贴代码了。

用Ruby on Rails开发Facebook 应用(2)

Deep Blue| July 28, 2008 11:59 pm

上一篇说了不少虚的,现在作点儿实在的:

Step.1 Facebook注册一个App.
作为facebook的用户,在也面最下方的developer连接可以进入开发者的portal. 这需要你加入developer app(这本身也是facebook的一个app).之后你就可以创建facebook app了。你需要指定的最基本的信息包括application name, callback url和canvas page url. 尤其是后者,可以看作是facebook给你分配的地址,不可重复。由于facebook已经有了超过26000个app,好名基本都有人用了,因此想要找一个长度合适有好记又有意义的canvas url药费一下脑筋了。

注册好的app也可以更改属性,并不是一成不变的。过程简单不贴图了。总之你的app有了自己的key和secret. 这两个是facebook识别app的重要依据。

Step.2 本地开发环境安装rfacebook和rfacebook plugin (前提是你有一个work的rails环境哦,别告诉我还没有。翻翻我之前的帖子)

sudo gem install rfacebook

rails yourappname
cd yourappname
script/plugin install svn://rubyforge.org/var/svn/rfacebook/trunk/rfacebook/plugins/rfacebook

Step.3 配置facebook app信息
生成facebook.yml文件:
rake facebook:setup
将facebook.yml按照facebook app的信息进行填写

注意facebook.yml每段都有tunnel:

tunnel:
username: yourLoginName
host: www.yourexternaldomain.com
port: 1234
local_port: 5678
这是用来提供你自己的电脑和虚拟主机服务器之间的链路的。要知道facebook把对你app的访问请求转到我们自己的虚拟主机上,要是开发的时候任何一点变化都要deploy到服务器上才能生效的话,怕是要累死了。所以tunnel提供了使用ssh来使得服务器到本地开发环境的链路。这样可以认为facebook把访问请求转到了local的机器上。

怎么用这个tunnel配置呢?看例子
tunnel:
username: foobar < ----- ssh user id
host: www.mysite.com < ----- server adderss
port: 8888
local_port: 3000

配只好之后就rake之:
rake facebook:tunnel:start

(待续)