用homebrew来设置Python开发环境

Homebrew已经是macOS里非常好的包管理工具了,目前在macOS上设置Python开发环境主要解决几个问题

  • Python的多个版本,python2和python3共存,毕竟还有一些老的项目在用Python2
  • virturalenv,没有这个不同项目怎么活
  • pip安装一些扩展的问题
$ brew install python2 python3
$ pip install virtualenv virtualenvwrapper

在安装mysql-python的时候可能会遇到openssl头文件无法找到的问题

$ env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install mysql

把blog从archive.org恢复回来了

冗余不做,日子甭过,备份不做,十恶不赦。

对于自己的blog之前做的备份都已经失效了,放在vps上,一个手快释放了一台,就跟着灰飞烟灭了。

今天花了一点时间写了个脚本把以前的文章从互联网档案馆archive.org里给捞出来了,算是恢复了,部分文章的格式不对,评论都没有了,也是损失惨重。

先用了 hartator/wayback-machine-downloader 把文件都down回来,然后再用 Python 逐个html里翻文章出来,最后输出成一些通用的格式再导入就好了,脚本在此

机械键盘

目前为止手里用过三把机械键盘,分别是

  • Filco 87圣手,红轴
  • iKBC Poker II,青轴
  • KeyWalker 87键有线蓝牙,茶轴

从整体感觉上来说,Filco 87圣手无论是做工还是手感都是这三把中最好的,敲击起来的那种沉着感,声音浑厚,手感轻盈精准,缺点就是小贵了一些,并且没有更多的设置,也没有灯(虽然我不care),而且之后出的蓝牙版是3.0版。

其次是Keywalker(键行者),这是一套由国内深圳的一家手工厂做的键盘,整体来说完整度很不错,键盘的编程功能很好用,使用一个windows版的软件进行操作,比一般的口诀式录制模式好很多,也很直观。目前所使用的茶轴也充分的发挥了茶轴的特点,算是蛮不错的一款。缺点是品控需要加强,第一次发货的版本一个B键有瑕疵,客服倒是很直接的给换了新的。另外一点就是键盘的某些键有弹簧的音颤,这一点不是特别好,虽然有那么一点敲击IBM M键盘的感觉,但是我并不是很喜欢这种感觉,还是特别喜欢Filco的那种浑厚的感觉。

最后是Poker II这一把,整体来说没有亮点,但是也没有太大的缺点,67键的布局导致我在很长一段

iPhone X 之短期体验

首发抢回来的,本来没想着自己用,直接出掉就好了,奈何价格下跌的速度太快,我拿到的时候基本就是原价出手了,索性自己用了

尺寸

iPhone X 的大小和 iPhone 8/7/6 差不多,但是屏幕和iPhone 8/7/6 Plus 差不多,屏占比确实高一些。拿在手里非常舒服,之前使用 iPhone 6 Plus 总是觉的太大。

屏幕

iPhone X 这个屏幕是非常精细的,Super Retina 确实不是盖的,虽然不及 iPhone 4 首次推出Retina的感官上震撼,但也是非常牛逼的了,应该是当下最好的手机屏幕了。

iPhone X 的黑是真TM黑。

至于空气刘海儿的设计上,只能说是看看就习惯了,和其他全面屏手机对比的话,iPhone X 这个妥协也还可以接受了吧。

变色之类的问题都是OLED的特点,无需吹毛,烧屏问题也一样,只是必须控制在一个范围内,不能像 LG 给 Google 代工的 Pixel 2 那样回来就烧,另一个我关心的问题是:要是真烧屏了,Apple 管埋么?

Face ID / 面容识别

这应该是最具革新的一项功能了吧,从几天的使用来说整体体验上要好于 Touch ID,但是可靠度上各有优势,大部分情况下 Face ID 解锁都很快,但是失败的比例也不少,比如你侧躺在被窝里看手机,这时候解锁八成是失败的,也许和侧卧脸有变形有关吧,但是 Touch ID 就不会有这种尴尬。

原来最需要 Touch ID 的场景是支付,无论是微信支付还是支付宝都支持 Touch ID,但是到了 Face ID,只有微信做了适配,估计支付宝是在抉择用自己的刷脸支付还是用Face ID。招商银行的 Touch ID 自动登录也没有了,虽然显示了 Face ID,但是打开好像还是 Touch ID,这一点也是比较奇怪的。其他的 App 对于Face ID 的适配做的最好的应该是 1Password 了。

至于 Face ID 的安全问题,我试着关闭了Face ID需要关注才能解锁的功能,果然是闭着眼睛也能刷脸,这么一来睡觉的时候被老婆查手机转账都是轻而易举的事情了,所以吓得我赶紧又打开了这个功能。

因为iPhone X可以感受到你的注意力这个特性,iPhone X 的消息通知默认是不显示内容的,直到你注视了屏幕并且解锁了之后就把通知内容显示出来了,这种小的细节还是挺让人心暖的。

相机

相机的效果总体来说有点过爆,尤其是拍人像的时候,会在脸部过爆显得脸上有一种油腻感,这个不好;对于色彩还原、夜景效果都还是有提升的,但是基本也就iPhone 8 Plus的水平稍微高一些。

应用适配和系统操作

应用的适配上,大部分厂商都做好了适配,微信、支付宝、招行都做了适配,只是有的适配的好,有些适配的就比较差了,像Telegram虽然做了适配但是刘海儿位置的处理就有一个明显的bug,其他的适配都是空间布局上的小问题。

没有Home键的操作反而是更加行云流水般的顺滑了,关掉多余的动画反而不是很自然。

最后的感受

总体来说,iPhone X确实是当下最好的手机了,毋庸置疑,是我自己在拿到iPhone 4之后拿到最好的手机了。

一些系统上的bug还需要 Apple 修复,比如相机等应用在锁定旋转方向的情况下依然旋转了屏幕,而且把控制条一类的内容给弄丢了。

成为 Winston Wolfe

在低俗小说里有这么一个角色 Winston Wolfe,他快速的、专业的帮助Vincent和Jules处理了满是鲜血的汽车,解决了最为棘手的问题。这是一个令人非常值得信任的角色,所以有人就总结了 Winston Wolfe 的一些行事特点,认为这是一个领导应该具有的特征,我们也来学习一下,争取成为一个像 Winston Wolfe 那样靠谱的人,张口就是“I’m Winston Wolfe, I solve problems.”

  • 100%可靠:只有可靠是一个人信任的保障
  • 制定优先级:凡事都要制定优先级,优先做重要的事情
  • 先听坏消息:坏消息通常能将我们拉回到正确的方向上,虽然总是难听些,先听坏消息
  • 替领导分担:负责到底:对交到自己手里的事情要负责到底
  • 写下来:好记性不如烂笔头,没有人有足够好的记忆力。
  • 战略是外行做的,策略是行家里手做的:战略总是简单的,策略是需要一步步的执行下去的。
  • 你不理解就无法管理:很简单,管理就是要了解每一个步骤,不了解你就无法管理,无法达成目标。
  • 先严格,后宽松:先让所有人都行动起来,当他们完成的出色的时候,就要告诉他们完成的真棒,不要搞反了。
  • 如果不行就干掉:有些人不太行,即便是告知了也不太行的话就要快速坚决的处理掉,即便他不拿工资也是一样。
  • 谨言:人都是情感性的动物,不要因为言语上的不小心而伤害了小伙伴们。

话虽不多,但是很有用,当然做到才是重点,所谓知难行亦难。

Macbook Pro 连接4K显示器的转换头

从朋友那里入手了一个4K显示器,之后就为适配这个4K显示器的转换头发愁了一段时间,所有买到的转接头不是不能用就是4k无法到60hz刷新率,就连苹果原厂的

后来终于是发现了MI 小米 USB-C至Mini DisplayPort多功能转接器,买回来用了2个月,现在坏了。

Nginx 的流量镜像模块

Nginx 的流量镜像模块

Nginx 发布了1.13.4版本,并且包含了一个流量镜像的模块 ngx_http_mirror_module

这对于线上系统就很好了,比如可以镜像部分流量来做测试、debug之类的

例子也很简单:

location / {
    mirror /mirror;
    proxy_pass http://backend;
}

location /mirror {
    internal;
    proxy_pass http://test_backend$request_uri;
}

软件的收费模式

Ulysses 发了一篇blog: Ulysses Switches to Subscription 就唰喇喇的把自己的售卖模式从卖 License 换到了卖时间了。

曾几何时,还在指责 Mac App Store 不支持升级的收费策略的时候,这些应用开发商却把自己的收费模式先换成了订阅。我承认软件开发商在卖 License 的模式下面临着很多的生存困境,比如一个 App 很好,但是为了持续的获得收入只能走两条路:

  1. 发展新客户,每年都把东西卖给陌生人,这个过程其实是挺难的。
  2. 向老客户收钱,每年总有那么几个改版本号骗钱的App奸商,比如臭名昭著的Parallels Desktop。

开发商能怎么办,也很无奈啊,程序员嗷嗷待哺,不弄点钱,新版本怎么开发,总不能卸了磨就杀驴吧。所以这模式得改,要说这改的快的还是几个大厂,以Adobe为首的先把自己的 Creative 套件给转到订阅了,Microsoft把也提供了365的订阅模式,订阅模式确实对厂商来说是非常的好,收入有了保障,日子也可以过的有滋味了。

用户当然是希望App能稳定的好好工作,别罢工,积极解决遇到的问题,持续更新。最讨厌的就是付费更新,最最讨厌的就是不付费更新在新版OS里就不能好好工作的那种,比如Parallels Desktop。

用户付费买的是什么?是软件的使用权还是有效时间的使用权?

如果是一个有效时间的使用权,应该适用于专业用户,专业用户能够频繁的使用这个软件,这样你才能对得起你的服务和售价。普通用户买来就不合算了,比如工具软件,普通用户一年也就用上几次,只是希望安安静静的工作就行了,所以普通用户修图片应该买 Pixelmator 而不是 Photoshop。

如果是使用权,那就是一个稳定的OS版本下,可以一直使用这个软件,比如我10年前买一个软件,只要我的操作系统没有换,其他环境没有换,这个版本就应该可以一直使用下去。

有些软件的某个版本写的太好了,以至于新版本没有什么吸引力让我去升级,比如我常用的那个Dash 和 Alfred,Dash 4 和 Alfred 3都出来很久了,提醒更新也很久了,但是他们现在的这个版本太好了以至于我完全没有什么动力去升级,厂商当然就挣不到钱喽(心疼1s),所以从某种程度上也可以理解 TextMator 和 Sublime Text 为啥后来更新乏力了,该买的早就买了,不买的也不会再买了。

所以说产品定位很重要,针对专业用户的尽管走订阅模式,因为用你的工具用户能挣回来更多的钱。如果你只是一个针对普通用户的工具,还是卖License吧,以量取胜,增加边际收益,而且工具不是你的长期事业,能分化出专业用户还是得走订阅模式来稳定收益,更长期服务下去。

当然订阅模式也存在 @bfishadow 说的那个问题,即便你一年啥事儿都不干,还是得给你付费才能使用,这确实是很操蛋的事情了,所以我觉的 Sketch 的订阅模式很好,好的是他订阅的是你升级的权利,并不是使用的权利,所以你的订阅过期了,软件依然可以使用,只是不能升级到最新版了而已,所以我之前使用的日记软件Day One是不会升级到新版去的。

体验是优化出来的

从直觉上都认为 Apple Pay 的支付体验是优于微信支付的,直到头几天 Apple Pay 和银联一起搞了一个5折之类的促销活动,刺激了很多人去用 Apple Pay,包括星巴克,7-11。从集中的使用了一段时间来看,Apple Pay在国内的体验是不敌微信支付的。

主要就从速度来说,Apple Pay的支付速度远不及微信支付,举一个我在7-11的例子吧:

  • Apple Pay: 排队 -> 告诉店员使用Apple Pay -> 店员拿起 POS 机设置金额 -> 贴上去支付 -> 完成
  • 微信支付:排队 -> 准备好支付界面-> 告诉店员使用微信支付 -> 直接贴在扫码机上面 -> 完成

所谓的需要打开App再支付的步骤,排队的时候就干完了,而且就现在情况来说,打开个App和掏个手机基本不差。

从技术方案和安全性来说Apple Pay都要比微信支付好,但是从部署难易程度,从体验的优化上,微信支付已经在国内大幅的超越了Apple Pay,下一步 iPhone 的 NFC 接口开放之后会不会对微信支付的体验上带来优势呢?也许结合小程序和RDIF在零售领域玩出新花样也不好说。

项目 微信支付 Apple Pay
绑定银行卡 需要 需要
需要POS机 不需要 需要
POS操作难易 易(甚至不需要)
手机需要网络 需要 不需要
店员培训成本
适用范围 有摄像头 iPhone 5S +

可见这部署成本以及市场教育的结果,再加上市场优化的结果,微信支付的体验某种程度上也来自于这些服务于商铺的服务商的优化。