在AppFog上安装Vanilla

前一段写了篇Blog介绍Vanilla这个平台,以及在Ubuntu上的安装方法。也介绍过AppFog这个PaaS平台。在尝试在AppFog上安装Vanilla成功之后,把一些心得写在这里。

AppFog只能在运行时获取数据库的连接,因此修改`conf/config.php’,添加下面几行:

1
2
3
4
5
6
$services_json = json_decode(getenv("VCAP_SERVICES"),true);
$mysql_config = $services_json["mysql-5.1"][0]["credentials"];
$Configuration['Database']['Host'] = $mysql_config["hostname"]
$Configuration['Database']['Name'] = $mysql_config["name"];
$Configuration['Database']['User'] = $mysql_config["username"];
$Configuration['Database']['Password'] = $mysql_config["password"];

通过find . -name "*.php" -exec grep "'localhost'" '{}' -nH \;,可以发现applications/dashboard/controllers/class.setupcontroller.php文件中,对Database.Host设定了默认值为localhost,注释掉即可:

1
2
3
4
5
6
./applications/dashboard/controllers/class.setupcontroller.php:124: // $ConfigurationModel->Data['Database.Host'] = 'localhost';
./library/core/class.statistics.php:183: if ($ServerHostname == 'localhost' || substr($ServerHostname,-6) == '.local') return TRUE;
./library/core/functions.general.php:1076: function GetConnectionString($DatabaseName, $HostName = 'localhost', $ServerType = 'mysql') {
./library/vendors/Auth/OpenID/TrustRoot.php:210: if ($parts['host'] == 'localhost') {
./library/vendors/phpmailer/class.phpmailer.php:180: public $Host = 'localhost';
./plugins/Minify/min/lib/Minify/Cache/Memcache.php:13: * if ($memcache->connect('localhost', 11211)) {

附小广告一则:唱吧iOS团队诚招iOS工程师,推荐成功即奖励6000元现金或iPhone 6一部,详见这篇blog


德州扑克 vs 创业

"中国互联网的创业者们,是一群最富理想但又最为悲观、最有希望但又最为绝望、最贫穷但又最富有、最幸福但又最催悲、最有耐心但又最急躁、最无奈但又最能折腾的的家伙。没有他们,整个社会会沉闷无趣很多,最为努力的群体却得不到应有的回报,无法分享这个社会那一点点进步带来的财富,这是不公平的。" by Fenng

写在前面

今天看到了这条微博,结合最近的近况,感慨良多。由于自己以前喜欢玩德州扑克,所以试图以德州扑克策略的角度来看创业和生活。

德州扑克

一个风靡世界的零和游戏。算上抽水,只有好的玩家才能盈利。德州扑克有三个变种:线下赌场、线上赌场还有游戏平台。大多数国人对德州扑克的理解,可能就是QQ游戏大厅里面的游戏吧。很多国人对德州扑克没有太多的概念,很多棋牌平台都是all-in选手。德州不是这么玩的。

玩德州的第一课就是资金管理。德州在翻牌前,是绝对没有100%赢率的,即使你拿AA,面对一个对手任意两张底处于,也只有81%的赢率。不要在一局赌上全部,即使你是最强的德州选手,用这种玩法一天之内也会输到一无所有。好的玩家一般都玩大筹码甚至深筹码,即每局带上100-200盲注。资金管理角度上,至少要有25-40个买入:你手里有10000,最多玩250-400一局的游戏。盈利短期靠运气、长期靠技术。在线扑克平台NL 100以上的级别,正常可以盈利的选手的赢率在1-2盲注/100手牌,好的选手甚至可以有3BB/100以上的表现。由于是零和游戏,肯定不足半数的玩家是赢利的。如果要靠玩职业德州扑克来生活,甚至只有5%的玩家可以有较理想的收益。

德州第二课是情绪控制。玩德州的朋友都知道上风期和下风期的说法,下风期玩得越多,盈利可能也不怎么样,即使是好的德州选手。上风期多打牌,下风期多学习。我一个朋友玩了半年多职业,据说摔坏了将近十个鼠标。压力可想而知。

像玩德州扑克一样创业

  • 别总想着玩牌,你还有生活
  • 清楚自己什么要玩这局游戏; 你不是VC,没有时间和金钱可以同时赞助不同选手玩多局游戏
  • 调整好心态,不是每个人都有机会拿WSOP冠军
  • 玩现金桌,有的人从NL200升级到NL400要七年;要有耐心,别盲目升级
  • 好的牌手只玩10%左右的牌;放弃掉90%的牌
  • 不玩牌的时候,别忘了提升自己
  • 拿到好牌的时候,要敢于下注
  • 没有100%的赢率,有的话也没人跟
  • 别盲目跟风,选好时机和对手;即使你拿AA,全桌人都all-in,你的赢率也就20%
  • 关注决策和执行,别太在意结果
  • 投资人眼里你只是一副牌,顶多是一副好牌(概率)
  • 多复盘,多提升;成为好的选手比拿到好牌更重要
  • 不断积累牌局经验和手里的筹码
  • 积累足够经验之后,去玩奥马哈可能也条出路
  • 40岁时也可以报名WSOP的,没人管你;谁说只有小孩才能玩
  • 拿WSOP要靠运气,参考2010年WSOP Final Table前Dohamel的Crying Call(小胖子好悲剧)
  • WSOP不是天天有的;不管别人怎么看,即使没在Final Table也是在玩牌
  • 别出千,迟早出事;不要接受指使你出千的人的钱

在黑心抽水庄家的Hard模式下,在游戏平台玩家们的无脑all-in中,在不计后果的老千们(及其背后的钱)面前,请保持理智吧。最后吐槽几句:

  • 我现在就会玩NL10
  • 我悟性差,升级慢
  • 我不愿意一天玩16小时牌,我还有生活
  • 别问我你能拿冠军么,冠军跟你玩怎么办;直接找冠军去吧
  • 我更倾向积小胜为大胜,别逼我带上所有筹码all-in,我直接离桌

最后向所有觉得不知所云的朋友表示歉意。

附小广告一则:唱吧iOS团队诚招iOS工程师,推荐成功即奖励6000元现金或iPhone 6一部,详见这篇blog


Vanilla安装指南

Vanilla介绍

[Vanilla]是一款轻量级的开源论坛,主题简洁。LowEndTalk就是用这款开源论坛提供讨论功能。

安装教程

首先安装LAMP,有很多一键安装脚本。本文会一步一步说明安装的步骤。

安装Apache 2

1
sudo apt-get install apache2

安装PHP

1
2
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5

安装MySQL,要记住admin的密码

1
sudo apt-get install mysql-server

安装Apache, php对MySQL的支持

1
2
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql

创建一个新的db

1
mysqladmin create <vanilla_mysql>

安装vanilla的最新版本

1
2
3
4
cd /var/www
wget http://static-cl1.vanilladev.com/www.vanillaforums.org/uploads/addons/RQSIVV7WTV4P.zip
unzip RQSIVV7WTV4P.zip
rm RQSIVV7WTV4P.zip

重启Apache服务器

1
service apache2 restart

Vanilla安装向导:在浏览器中打开 /vanilla/ 并填写db及管理员的账号密码

大功告成,体验一下吧

附小广告一则:唱吧iOS团队诚招iOS工程师,推荐成功即奖励6000元现金或iPhone 6一部,详见这篇blog


AppFog介绍:在AppFog上使用bottle和mongodb

AppFog介绍

AppFog是一个基于Cloud Foundry的PaaS平台。最底层是基于AWS, HP OpenStack, MS Azure, RackSpace等流行的IaaS平台,中间层使用Cloud Foundry,最上层是AppFog。

AppFog的口号是”Work on code, not management”,加之2G RAM, 50G流量的无需绑定信用卡的免费配额,任何Plan(包括免费)都支持自定义域名。此外,AppFog宣传使用的都是m2.4xlarge这些的最快的实例,很有诱惑力。

AppFog目前支持:

  • Java, Java Grails, Java Spring Mysql
  • Node, Node Chat, Node Express
  • PHP, PHP Drupal, PHP Wordpress
  • Python, Python Django, Python Flask
  • Ruby on Rails, Ruby Sinatra

由于PaaS平台都没有root权限和ssh,所以想翻的同学不用考虑啦,但做个小的web app还是很靠谱的。目前AppFog的文档还不是很完善,所以我以bottle/mongodb写了一个小demo。

Bottle+MongoDB on AppFog

首先注册一个免费的AppFog账号,无需信用卡,10秒搞定。

接着新建一个app,先选择app,这里选Python。接着选择Infrastructure,我选择的是新加坡结点的AWS。然后需要绑定一个Service,这里选择MongoDB,随便起个名字就好。

下载我分享的Gist,保存到一个文件夹中。

进入该文件夹,安装AppFog的命令行工具,并将代码部署到AppFog上:

    sudo gem install af
    af login
    af update 

最后访问yourapp/test,测试一下,大功告成。

AppFog的价格

具体的价格在这里。跟黑心的Google App Engine相比,价格绝对不算贵,付费模型也没有那么复杂。AppFog的CEO Lucas写了一篇blog,来详细解释为什么使用这种定价模型,如何支撑免费的配额。

部署体验

AppFog的部署挺快的,除了上面提到的python app(我的app比gist中要复杂一些,原来部署在EC2上,为我的App Store产品而设计)需要花一些时间,Wordpress/Drupal的部署都在30秒内完成。另外AppFog的Dashboard做得很不错,我很喜欢他们的UI。

AppFog的劣势

文档真的还很不完善,对新手不太友好。此外,可供选择的部署结点还比较少。另外,不同Plan的跨度比较大,过渡不够平滑。最后就是流量比较贵了,超过50G,0.15$/G。

总的来说,AppFog是个很有希望的PaaS平台,欢迎留言与我讨论使用的经验和心得。

附小广告一则:唱吧iOS团队诚招iOS工程师,推荐成功即奖励6000元现金或iPhone 6一部,详见这篇blog