最近跑在nginx下的django经常时不时会出现504 bad gateway的问题,很是恼火。其主要问题估计源于程序中的一些网络请求,常常会连接或读取数据超时,抑或是页面执行的时间太久,即使关闭请求,整个django还是会卡在504中,整个网站挂起。

起初是认为nginx的设置,将socket的的读写超时设置了,不起作用。估摸着问题还是出在uwsgi中,于是Google之,发现了一个uwsgi的参数harakiri。它可以设置进程在一定时间内超时后,自动干掉自己并重启。harakiri是日文切腹的意思,还真是形象,哈哈。

harakiri 这个选项会设置harakiri超时时间。如果一个请求花费的时间超过了这个harakiri超时时间,那么这个请求都会被丢弃,并且当前处理这个请求的工作进程会被回收再利用(即重启)。 –harakiri 60

这个60可以设置成需要的超时秒数即可。

同时uwsgi需要使用master模式,启动参数上加 -M 即可。

修改后重启django,开了2个工作进程,认为激发超时504 bad gate way,进程会杀掉自己并重启,不妨碍其它用户打开网站。

记录下来备忘,具体表现有待观察。

VN:F [1.9.22_1171]
Rating: 8.5/10 (6 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

写服务器程序的免不了要经常和 crontab 打交道,定时执行一些脚本什么的。大部分情况下都是 bash 的一些 shell 脚本,但 shell 我不是很熟悉,于是在很多情况下都直接写 Python 脚本来搞定它。今天写了一个操作 PostgreSQL 数据库的 Python 脚本,放到 crontab 中定时执行的时候,时间到了却没有任何反映。但是如果在命令行下直接执行的话,没有任何问题。

首先看看 crontab 的日志(/var/log/cron),日志中显示脚本定时执行了。那么一定是在 crontab 运行该脚本的时候报错。直接在 Python 脚本中从第一行开始写一个大大的 try 模块,显示一下 Exception 的内容。果然,抓到了…… 错误日志显示显示 Python 找不到 libpq.so.5 这个 PostgreSQL 的库。

原来 crontab 的运行环境和我们用 root 登录进去的环境都是不同的,需要在运行 Python 脚本前重新设定一下运行的环境变量如 LD_LIBRARY_PATH。这下比较好办了,直接写一个 shell 脚本,设置一下环境变量,再调用 Python 吧。 libpq.so.5 这个库我是装在 /usr/local/pgsql/lib 中。最后的脚本如下:

搞定,crontab 又跑得欢快起来了。

折腾了一个上午,写下来备忘。

VN:F [1.9.22_1171]
Rating: 9.6/10 (24 votes cast)
VN:F [1.9.22_1171]
Rating: +2 (from 4 votes)

虽然我是个果粉,但这次小米手机超高的性价比还是足够吸引住了咱的眼球。公司不少兄弟伙的手机刷的都是小米的系统,他们的产品从功能到细节,都做得非常有诚意。这样认真做事而不是哗众取宠的公司,值得去尊重。如果有机缘,我会预订一台小米手机。

我很喜欢它们的宣传视频。

 

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +2 (from 2 votes)

If you ask a parent, they might call it intuitive… if you ask a musician, they might call it inspiring… to a doctor, it’s groundbreaking… to a CEO, it’s powerful… to a teacher, it’s the future… if you ask a child, she might call it magic… and if you asked us, we’d say it’s just getting started…

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Meal Snap

最近一直在琢磨有关图像识别的相关问题,也试用了一些OCR的开源库,识别扫描的文字很牛X,但对生活照片这种模式的的识别度都非常不理想。突然在微博上某同学CC了一个新的App,名字叫Meal Snap,功能是使用iPhone对着食物拍照,它就能告诉你这是什么食物,含有多少卡路里,并且帮助你规划每天所吃的食物。恩,售价不菲,$2.99。

抱着研究看看的态度入手了一个安装到iPhone上。界面做得不错,挺清秀,一看就是经过了细心的UI设计,这种软件嘛,吸引的是关注食物热量的减肥女士们,当然要可人一些。

拍照,拍照。由于在公司里没有食物可以拍摄,随机拍摄了一张卫生抽纸的照片,看看能不能识别。果然,软件一阵忙碌过后,告诉我这不是食物,不含卡路里。嗯,这个软件至少不撒谎⋯⋯

继续,中午刚好公司要集体去吃寿司,于是前往天绿回转寿司店。开始对着寿司们咔嚓、咔嚓、咔嚓。我靠,不是吧,居然都识别出来了,而且告诉我是加利福尼亚的寿司卷!还有卡路里含量。恩,刮目想看⋯⋯

回到公司,某同学剥了一根香蕉,于是咔嚓。经过很长一阵时间的忙碌,然后终于告诉我,这是一只可爱的香蕉。牛X⋯⋯

于是还不死心,拿了一串香蕉来咔嚓。显示识别结果:一堆香蕉⋯⋯

有图有真相:

Meal Snap

除了牛X,还能说啥呢?惟一的缺点是图像识别的速度很慢,甚至要5~6分钟才能给出结果。估计总要去后台的海量食物图库中进行对比算法吧。对国产食物识别不高,直接把粉蒸肉兄识别成了蛋糕兄⋯⋯

小试一把,果然不错。推荐给节食的MM们。软件推出后迅速窜上App Store 的Top25,可见一斑。虽然现在排名有所下降,但开发者赚得满当当那是指日可待。

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

文章来源:http://www.zhihu.com/question/19551986
文章作者:Rio

休眠的有两种状态:sleep(睡眠)和 hibenate(冬眠)

睡眠模式的时候大部分部件都关闭了,但内存是带电的。如果是电池供电的话会慢慢消耗电量(不过很微弱,充满电的话好像可以这样放上一两个星期都没问题),所以如果不想损耗电池可以尝试减少睡眠时间。插电源的话就不用担心这个了。

另外现在使用的主流内存属于动态内存,需要周期性反复写入以保持内容,因此内存带电就是在不断的写如,这是一种损耗。不过以现在的工艺这种损耗可以忽略不计。此处提到仅供偏执狂参考……

电池供电模式下睡眠一定时间后会自动进入冬眠状态,内存里的内容被写入磁盘,然后整机断电。这和关机在本质上没有区别,只是在开机的时候会从磁盘中恢复内存镜像。

说到这其实唯一需要考虑的就是电池消耗问题。大部分时候都没有任何区别。

—– 设计控牢骚分隔符 —–

但是经常带 Apple 笔记本外出后你会发现一个设计缺陷:关闭笔记本上盖是通过磁铁与主体吸附的。这个设计的初衷是很好的,这样就不需要在合缝处加装特别的闩 (latch) 机构(常见如 Thinkpad 系列笔记本),外观上更简洁,开启上盖的时候也更方便(如果你仔细看过 MacBook Air 的宣传片就会发现他们都是用一根指头开启上盖的)。

但问题在于,磁铁吸附力并不牢靠,并且随着时间的推移吸附力会下降。如果随身携带苹果笔记本外出时你不喜欢使用保护套、或者保护套比较松弛不能将笔记本稳固的包裹起来,而笔记本在背包中通常是处于合缝竖直状态的,运动中会经常出现由于震动受力上盖被打开然后又合拢的状况。这在使用过一年多的本子上很常见。而如果此时笔记本又处于休眠状态的话,它就会一会儿开机、一会儿休眠、一会儿又开机、一会儿又休眠的窘况。这对机器不是很好。

另外,前面说到冬眠状态时内存中的内容会写入磁盘。其实 OS X 在合上上盖的时候就开始进行写操作了,也就是说,由于前述的设计问题,笔记本刚好会在运动状态下频繁进行磁盘写操作,如果刚好运动剧烈了有可能会损伤磁盘。虽然 MBP 都有重力感应器、关键时刻会关闭硬盘,但是这毕竟是比较危险的事情。当然如果你的系统盘是 SSD 又另当别论了,不过现在用 SSD 的还是少数嘛。

解决方案有:

运动状态下尽量关机

使用紧密的保护套(这似乎和买另外一种套的原则差不多?坏笑……)

如果因为种种原因做不到上述两点,笔记本放背包中尽量使得合缝朝下,或者平躺(得要很大的背包才行)

再不行就尽量轻手轻脚吧!

VN:F [1.9.22_1171]
Rating: 10.0/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

文章来源:http://tech.sina.com.cn/it/2011-02-18/16115191956.shtml

导语:苹果以神秘而著称,其零售店的员工遵守着缄默法则,接受管理层自上而下的调配。但一名苹果零售店的员工却决定打破沉默,向外界展示在这里工作的真实感受。美国《大众机械》(PopularMechanics)杂志网络版今天就刊登了这篇苹果零售店员工的文章。

产品发布

他们发布主题演讲前,我们完全被蒙在鼓里。我们根本不知道将会发生什么,也不允许在公开场合推测。如果你这样做,便会有大麻烦——尤其是面对一名顾客进行推测。我每天都会被问到5次有关下一代iPad或iPhone的事情,我的回答很简单:不知道。但是如果我说了一些类似于“下一代iPad会配备摄像头”之类的话,麻烦就大了。事实上,我读报纸时都有意避开科技版,所以我对于聊天时偶尔听到的评论根本没有什么概念,我宁肯保持沉默。

如果哪天有大型主题演讲,店内的所有人都会看。而且,要在那一天请假回家看演讲,也很容易,他们从不拒绝。iPhone 4发布时,他们给我们带了食品——非常美味的食品!我听说,纽约第五大道的苹果零售店甚至在一次发布会时聘请了一名按摩女,另外一家店还弄了一个装满金鱼的儿童泳池,感觉就像是禅宗之类的东西。他们还跟我们强调多喝水的重要性。如果发布会当天工作时间够长,还能得到一笔数额不菲的奖金。

可恶的顾客

有些顾客的恶行令人发指。我曾经见过一些顾客拿着看起来像是用了两年的手机来换。他们尖叫、哭喊,甚至破口大骂。这还真管用。有的人很惹人厌。有时,我感觉像是在麦当劳工作,只不过薪水高一点而已。我这辈子从没被人这样对待过。

与毒贩交易

我们碰到过很多试图用假身份证买iPhone的毒贩。他们的疑点很多,一眼就能看出来,他们也知道你看出来了,但是你显然不能指责他们是毒贩——毕竟他们是顾客。但是结账时,他们会使用一些明显假冒的身份证或信用卡,而通常的结果是,他们会使用一个死人的社会保险号之类的东西。当你因此让他们走开时,他们就跑了。

推广MobileMe

我们没有销售提成,但是如果你卖的货太少,就得担心自己的工作。我们会向所有产品配套推销AppleCare维护计划,说实话,这不难卖,因为这交易不赖。但是我们也要负责推广MobileMe,这却很困难。其实根本没人卖过这东西。

销售竞争

我们会贴出一张考核表,而且你能够看到其他所有人的业绩。考核表上会显示出每个人为公司贡献的收入。如果你做的不够好,就会被经理叫去,他们会跟你谈话,并试图搞清楚你为什么没卖出足够的货。

中国水货商

iPad刚发布时,我们店里来了很多中国水货商,他们都想用现金结账。当时,要买iPad都得预订,所以他们会跑到店后面的电脑上一个接一个地申请电子邮件地址,就是为了现场预订iPad。我们发现有很多古怪的电子邮件地址,比如9494893@ymail.com。他们买iPad时甚至想讲价!这可是苹果——根本没门。

苹果信条

苹果有时候给人的感觉就像是邪教。例如,他们会给我们每人发一本小册子,并且会说一些类似于“苹果是我们的灵魂,我们的人是我们的灵魂”之类的话。也包括“我们的目标是提供卓越的技术”这样的内容。在培训过程中,他们还会告诉我们如何按照自己的个性工作,并且将人分成看重外在和看重内在两大类。这很古怪。

保安

苹果零售店到处都有保安。他们行事诡秘,所以你不知道他们究竟是谁。很多人都是退休的警察,他们的薪水很高。有些人会推着儿童车进来,借机偷走Time Capsules和iPod,这就需要他们来处理。

如何被炒

苹果的考勤规定很宽松,要想因此被炒鱿鱼,恐怕要迟到15次。但是如果你跟媒体或者顾客讨论有关下一代iPad的事情,你就完了。

公用电脑

很多青少年都会跑来使用自动拍照棚,然后问我们如何将照片上传到Facebook。还有一些无家可归的人跑过来进行网上直播。这些都还好。但还有一些恐怖的流浪汉会跑到我们店里用Bose音箱听那些吵得要命的“死亡金属”音乐。我最喜欢那些把布莱尼(Britney Spears)的音乐开得很大声的青少年,他们还会边听边跳。并非所有人都会用电脑上黄网,但很多人会把系统改成他们自己的语言。但是对我们而言,要从韩语或是俄语改回来,却不是件容易的事情。

电话屋(Phone Room)

在“电话屋”工作是最糟糕的事情,因为要回答所有打到店里来的电话。有一次,我感觉就像是在接听一条自杀热线。有时候,给我们打电话的人会把我们当成他们的私人医生。还有时候,会有一些女人打电话过来让我们帮助她们搞定电脑,以便证明她们的丈夫出轨。通常而言,我会直接将电话转给AppleCare,这样就可以避免跟他们打交道。

解锁的iPhone

很多人会向我们询问有关解锁iPhone的事情,但我们显然不卖这种东西。这就好比是一个700美元的纸镇,而且在使用T-Mobile的网络时,天线会自动烧毁。当然,这都是谎话,但是我们的确会这样告诉他们。如果他们有一部解锁的iPhone,我们不会在Genius Bar碰这东西一下。

在那里工作会让你的权力欲膨胀

在苹果零售店工作时,我完全沉寂在竞争文化中。我平时是一个很低调的人,但当我来到这里,我的脑子全是销售、销售、销售!我希望晋升,并最终进入到Genius Bar——这是你想去的地方。谁不想成为天才(genius)呢?(鼎宏)

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

这九条是和菜头编撰的,虽然并不是乔布斯本人亲口说的这些话,但用调侃的方式来总结乔布斯经营苹果的种种理念,挺有意思的。

乔布斯箴言1:不要只看得见iPhone的成功,还要看到过去15年的持续研发,更要看到这15年我们还能养活自己,而且赚到一点钱。

乔布斯箴言2:企业文化?我在哪里,哪里就有企业文化。企业文化就是老板的性格。

乔布斯箴言3:一个CEO就是一个活动人肉广告版,一举一动都要吸引媒体注意,并且和你的产品品牌绑定在一起。

乔布斯箴言4:让员工爱你?狗屎!士兵不在乎将军是否打骂自己,只要将军能赢得胜利。员工不在乎老板爱不爱他们,只要老板能不断赚钱给他们加薪。

乔布斯箴言5:创业者要濒临绝境,才能激发斗志,超越常人。我死过两次,你呢?

乔布斯箴言6:永远记得你的人生有限,所以不能在庸人和笨蛋身上浪费时间。

乔布斯箴言7:所谓个性并不排斥屈服和妥协,但你要保证让人们公开看到的只有你强硬的时候。

乔布斯箴言8:人性是贪婪的,理性则恰恰相反。所以,用简洁的产品满足他们的理性,用高昂的价格满足他们的贪婪和虚荣

乔布斯箴言9:用户根本不知道自己要什么,不是么?他们连恋爱的对象都很难确定,更不知道应该如何追求。为什么Apple的产品那么性感,你明白了吗?

乔布斯箴言10:以上9条“箴言”都是和菜头编造的,谢谢大家对乔布斯的崇拜。

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

android.jpg

最近一直在思考有关Android的问题,这个自东西诞生以来,就以近乎指数级的增长速度抢夺着智能手机的半壁江山。2011年甚至被很多人称为Android的爆发之年,对苹果已经销售出的达1亿多部的iOS设备构成了相当大的威胁。作为一个正统的果粉,我其实是有些不以为然的。我津津乐道于各种媒体上充斥着的开发者对Android的抱怨,难用的IDE环境,Java开发语言,千奇百怪的机型和分辨率,让开发者不得不购置大量的设备以便测试其兼容性。但对于iOS设备来说,相对简单一点,我常常沉醉于高效的Xcode和高速的Objective-C语言,统一的机型和分辨率,超强的模拟器环境,都让苹果的开发者们大呼过瘾。

但最近我的观念在逐渐发生一些变化,其原因很简单,身边的很多朋友同事们一个个都用上了Android的手机,首先是便宜实惠的价格,其次是其中逐渐增长的软件和游戏数量。需要明确一个事实是,99.9%的手机使用者不是程序员,我们不应该用开发者的眼光局限性地看待这个问题。大部分不会关心是Android还是iOS,抑或是WebOS,他们关心的是:便宜、好用、软件游戏多,拍照和摄像能力。他们都会安装自己需要的软件,打自己喜欢的游戏类型。Android正提供给了他们一个爽的需求,自然用户群大大的多。

Android和iOS的用户群的不同应该还表现在付费习惯上。在iOS设备上,大部分是收费软件,Android正好相反。Android以庞大的用户群构筑了一个很好的广告空间,我想这也是Google要抢在苹果的前面收购Admob的最大原因。苹果固然也针锋相对地推出了iAd来抗衡,但在目前情况来看,苹果的偏执和对广告的高要求使得iAd目前仍然是一款贵族产品,使其平民化需要相应的时间,更不用说iAd至今只在全球一些有限国家和地区开放。

连Rvio、GameLoft、EA等大公司都开始相继在Android上推出自己的产品,或免费或收费,不管怎么说,先抓住这部分的用户再说,只要有庞大的免费用户群,赚钱相信也不是什么难事。特别是现在苹果AppStore日如中天,竞争超级白热化的市场环境,开辟一个新的战场夺取更多胜利的时候也来到了。

由此想到了Facebook与微博。很多人目前都在谈论Facebook会不会是新一轮的IT科技泡沫,那些惊人的数据背后会不会保持不了长久的持续力。我也一直在思考这个问题,但就目前的思考成果来看,应该不是。Facebook与微博不一样,微博是一个个人信息发布和与大众交流互动的一个平台。Facebook则是与自己的朋友同事家人交流的一个空间。我也许沉默不喜欢发言,我可以从一个公众平台换到一个新的平台,但我的亲戚不会变、我最好的朋友终究是那几个,除非我常常跳槽,否则我的同事也都是多年的好兄弟。我也许会轻易从新浪微博换到腾讯微博,或许在Twitter上大放厥词,但我真正关心和喜欢的人,都还是在Facebook。

你能离开微博的絮絮叨叨,但无法离开Facebook上的亲朋好友。南方公园有一集讽刺Facebook,卡尔的老爸和奶奶没事就喊他在Facebook上poke一下自己,繁不甚烦,你可以关门谢客,但不能没有家人和朋友。所以说,Facebook威武。

不过还有一个问题,Verizon版iPhone4的发布会对Android造成多大的冲击?作为一个老外,我并不是很清楚。后来了解到Verizon与AT&T在没过的关系和地位,再比较我们的移动和电信的区别等等,就会有一个直观的感觉。Verizon真的能让美国人都抛弃其它的手机用iPhone4么,只有拭目以待。不过可以预测的是,iPhone4还会有着一轮的超爆发行情。

管它呢。就像我和当当说的一样,我这人墙头草两面倒,谁能赚钱就跟着谁呗。将来Android能转到比iOS更多的钱,我何苦为了标榜自己是果粉而不来这个市场呢。没人会和钱有仇,我更是……

思维有些乱,打字有些快,给位看官看着玩,话痨见谅。

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)