App Store的一些困惑

最近呢Mac App Store因为沙箱的事儿,搞的不少App都要离开MAS。关于沙箱,我只说有人不想改变而已。

我困惑的呢不是沙箱的事儿,主要是用户的事儿,拉个单子:

  • 没有升级优惠,像Adobe的产品没过一段时间都有新版,新版不可能在MAS里让你免费Update,所以Lightroom 3和4是两个产品。MAS目前还不能说你买了Lightroom 3就给你把Lightroom 4打个5折,但是传统的商店模式是可以这么干的。
  • App Store有区域,你要是换了商店这东西就没有了,比如你在中国商店买了东西,后来你移民去了美国,你要是换商店了,恭喜你,你在中国商店买的东西就不能升级了,这个和户口制度有的一拼啊。
  • App Store买了东西实际上还是在MAS里,如果厂商把这个软件下架了,恭喜你,你再也不拥有这个软件了。这个感觉更像是天朝的房子,租给你用。

上面这些困惑吧除了第一条能经常恶心到你之外,后两条恶心到的机率要小一些,但是不代表他们想这么做的时候不能这么做。App Store这模式简直就是为国人量身打造,紧跟特色社会主义。

Update: MAS还有一个特性是,你一旦升级了就失去了获得旧版本的权利。

OS X上创建ISO

昨天蛋疼的在Parallels Desktop里安了一个Win98,说实话这货在当年真不是给老百姓用的,也怪不得有不少人因此找到了另一半。没有Share folder也没有优盘,分享点东西给Win98还真是困难啊,只有光盘这招了。

osxdaily介绍了在OS X上有命令工具可以做ISO文件

hdiutil makehybrid -iso -joliet -o image.iso /path/to/source

至于从光盘做ISO,那就dd好了。

给MovableType的Markdown加上删除线支持

MovableType的MarkDown格式不支持删除线。下面是别人写的patch.

--- mt.bk/plugins/Markdown/Markdown.pl  2012-05-10 05:03:28.000000000 -0400
+++ mt/plugins/Markdown/Markdown.pl 2012-08-21 04:29:37.000000000 -0400
@@ -971,6 +971,10 @@
$text =~ s{ (\*|_) (?=\S) (.+?) (?<=\S) \1 }
{<em>$2</em>}gsx;
+    # These lines added by Bill Eccles, 2008-07-04
+    $text =~ s{ (\s) (~~) (?=\S) (.+?) (?<=\S) (~~) }
+    {$1<strike>$3</strike>}gsx;
+
return $text;
}

Think about capacity plan 容量规划

做服务运帷的人员除了解决各种杂七杂八的问题之外,还要时刻的关注业务的增长和服务的容量问题。

要对容量有一个准确的评估并不容易,要考虑的因素比较多,突发的情况也比较多,另外有些时候容量的增长并不是一个线性的过程。

以下是我对容量规划的一些体会

首先是要对系统的构架有足够的熟悉,明确的知道系统的扩展瓶颈在那里,以互联网产品来说大部分的扩展瓶颈都是在DB上,这种情况下,DB的扩展能力就是容量规划的一个极限。从构架上来说,分库分表,增加Cache层都是提升DB扩展能力的手段,使其扩展更趋向于线性。

其次,对整体系统和单一系统进行压力测试和容量测试,找到最大承载和最佳承载。

最后,要建立一个业务数据和系统能力间的关系公式。假定业务数据是日活跃用户(DAU),以Web服务来说,每秒请求数(RPS)就是一个很好的指标做参照。使用RPS比上DAU得到一个RPS/DAU的比率,再结合之前测试的最佳承载,就可以得出值得参考的容量规划。现实情况要更加复杂,特别是有些业务系统涉及的因素比较多,就要拿到多个因素的比率,以其低点为参照。比如DB,在关注存储容量的同时还要关注请求数以及响应速度等多个指标,所以关系公式也就要考虑多个因素进去,按每个因素算出容量,再取其中的最大值。

容量规划本身是一个参考值,估算的精确非常有助业务的发展和成本的节约。同时他作为一个参考值又需要不断的根据业务特点和构架变化作出调整。

重装 OS X Mountain Lion

Mountain Lion刚刚GM的时候我做了一个Time Machine就直接升级了,但是之后出现了一些问题,特别是App Store不帮我做更新,而且安装过的软件也不会显示Installed,虽然有些问题是有解,但是我还是重新安装才安心。

为了安装的干净一些,另外有一些通过defaults修改的设置累积太久了,有些可能已经不适用了,所以这次也是一并清理了重新弄一次。

下面是过程:

  1. 用Install OS X Mountain Lion.app/Contents/SharedSupport/InstallESD.dmg做出安装盘来。Option安装盘启动,Disk Utility清理原来的磁盘后安装。
  2. 通过Time Machine恢复帐号,只选择用户。
  3. 清理~/Library/Cache/* ~/Library/Preferences/*
  4. 调整Locale,在System Preference的Language里把中文拖到日文上面,把排序改成Pinyin。
  5. 通过App Store安装Xcode,通过Xcode安装Command line Tools.
  6. 安装Xquartz.
  7. 安装Homebrew.
  8. 导入整理好的defaults设定。gist:mac_tips.sh
  9. 安装第三方软件。

Update: 之前忘了写

  • Quicksilver的随机启动失效了,我又回到了Spotlight了。
  • Tunnelblick挂了,不好用了,换Viscosity吧。
  • 要把CNNIC和China Internet Network Information Center的根证书给Never Trust

ML的感受

  • Notification Center真是不错,尤其是Calendar的提醒,以前设一个提前15分钟提醒吧,到了点儿反而忘了,现在不会了。
  • iCloud的结合还是不太成熟,比如Preview和Textedit都可以直接存东西到iCloud的,但是当我要上传这个文件的时候就SB了,Finder里没有Media Browser也没有。
  • 显示器在Status Bar上的图标没有了,不方便了。