苹果手表?叫微软手表还差不多

昨晚苹果发布会之前,各种消息显示苹果对这次发布会的期待程度之高。结果果然是iPhone 6 + 移动支付 + 苹果手表。

单说这个苹果手表。看到真相的一刻,我的心都碎了。

不是高兴得心碎了。是TMD的期待破灭了,一地碎片。

P。谁会在那么小的屏幕上看twitter?看照片?

苹果感觉正在犯微软以前的错误。不是重新发明一个东西,而是试图拷贝已经成功的产品。还记得微软是如何打算把windows搬到手机屏幕上然后可耻地失败的吗?还记得那个叫做Windows CE的产品吗?

苹果也在试图把iOS搬上手表。

这玩意。就算100刀我也不会买。

AppleWatchJoke

就这个东西,还号称要干掉瑞士手表?瑞士手表不需要每天充电,瑞士手表没电了可以直接上发条。换言之,瑞士手表不会罢工;而苹果手表是个电老虎。

这是注定失败的产品。不管苹果怎么吹,都不可能把这玩意搞成功的。就好像当年微软把Windows CE吹得天花乱坠一样。消费者不会买单。

除非电池行业突然出现巨变,把续航时间一下子加到一周。否则这玩意没救。

我之前的期待是:这个穿戴设备就没有屏幕,但是布满了传感器,换言之,不是输出设备,而是个人数据采集设备,采集的不光是心跳,而是更全面的,比如血糖,血压等关键医疗数据。然后在用户自己还没有察觉异常之前,提醒用户你的身体可能有问题了。这样的东西才是革命性的。

现在在苹果手表上的所有App,都能在手机上做。掏一下手机,可以得到更大的屏幕,更好用的App,为什么用户会需要智能手表。除了做运动的时候可能需要一下以外,真的是超级鸡肋。不光是鸡肋,还是个不好伺候的鸡肋:每天都要充电。

苹果觉得这东西就是未来?真的是无品味无情怀无远见的三无产品。它基本和(已经日薄西山的)iPod一个档次,可能还不如。

曾经嘲笑过三星智能手表,说如果有人送我一只,我会选择不开封直接二手卖掉。

现在对这个苹果手表我也是同样的态度。

这不是我知道的那个苹果。

用乔布斯的话讲,Absolutely No Taste。这话当年是挖苦微软的,不曾想,今天用在苹果自己身上,竟然也也会如此合适。

没电的手机也移动支付?

一个疯狂的想法:如果iPhone能够做到在没电的状况下依然能够移动支付,那么肯定会是个爆炸性的特性。这并不是不可能的,考虑下协处理器能够在关机状态下继续运作几十个小时。

实际上,没电和支付本就是毫无联系。

你的银行卡会没电吗?信用卡会没电吗?不会。

有电才能移动支付?不见得吧。

think different.

实际上现在非接触式刷卡已经(在澳洲)基本普及,随便什么加油站都可以看到paypass或paywave的刷卡机。

要做到没电也能刷卡。无非两种手段。

一种是类似于银行卡。把信息固化在手机的特殊存储空间。然后刷卡机通过特殊的方式读取。

一种是低耗电的芯片。那种依靠纽扣电池就能跑一个月的芯片。对于大多数手机来说。暂时没法充电不会超过12小时,只要残存电量能够支持支付芯片熬过这么长时间,对大多数用户都够了。

然后是安全问题。开机状态下可以按指纹确认。关机状态怎么办?我的想法是用手机刷卡以后输密码(澳洲所有的信用卡最近都要求输入密码才能支付了)。回归老路子。
手机丢了等于丢信用卡。不过最简单的答案也就是,和信用卡一样挂失。打银行电话挂失。

其实已经有人做了合并银行卡/信用卡的“智能银行卡”,名字叫做coin。其实手机也可以做同样的事情。

http://venturebeat.com/2013/11/14/tired-of-a-fat-wallet-coin-lets-you-hold-all-your-cards-in-a-single-connected-card/

说不定苹果真的会这么干,抢在9月9日先发出来。

天作之合:NFC和指纹扫描(写在iPhone6发布之前)

9月9日,也就是下下周,苹果召开发布会,口号是:Wish We Could Say More(真想透露点内幕)。

毫无疑问,这个发布会肯定是留给iPhone6的(传说中还会发布穿戴设备:智能手表)。

iPhone6的谣言中,有一条是:新款iPhone会配有近场通讯功能,也就是NFC。

什么是NFC,NFC是一种标准,当两个设备都支持NFC的时候,两个设备接触一下,就可以连接通讯了。

常见的NFC应用是,两个手机碰一下就把照片传输过去了;手机和音箱碰一下就可以让音箱放歌了;手机和收银机碰一下就可以把账单付了。

听起来很强大的功能,只有一个弱点:就是太不安全了。试想一下,一旦手机被盗,小偷就可以去商店用你的手机刷卡。甚至不用偷你的手机,居心不良的商家完全可以把NFC刷卡机安装在饭桌背面,当你把手机把桌子上一撂,你的钱就被偷了。

从iPhone5到5S,iPhone会配有NFC功能的谣言从未停止过。不管外界对NFC的期盼有多高,苹果始终不为所动,最关键的原因,应该NFC的安全问题。

但这次,却有所不同,因为iPhone有了更安全更方便的守护神:指纹扫描。

iPhone5S推出的指纹扫描,有两个特点。一个是识别速度非常快非常准确,用户用惯了以后,扫描指纹就和(呼吸)滑动解锁一样自然。另一个是安全,以iPhone的地位,推出指纹扫描那一刻,就吸引了无数黑客的攻击,现在一年过去了,虽然号称破解功能不断取得进展,但实际上5S的指纹扫描就是牢不可破,根本原因就是苹果壶底抽薪,费尽苦心地把指纹扫描和其他模块彻底隔离。

如果使用NFC刷卡的时候,需要你顺手扫描一下指纹,那么安全的问题就解决了,而易用性也得到了保证。

天作之合。

(理论上看起来很美,有没有就看下下周了)

 

非典型超级英雄(银河护卫队影评)

提到超级英雄,大家能想到什么。肌肉男,或者肌肉女,有着超能力,平时隐瞒身份,装孙子,关键时间换衣服上场,搞定坏蛋,碰到比较坏的坏蛋,就会想办法寻找英雄的弱点,什么特殊的矿石啦,什么童年心理阴影,绑票老爸老妈女朋友,要不就是想办法给你打药水直接打回原型,个别坏人还喜欢玩bulling的游戏仗着自己有更强超能力欺负弱小。如果超级英雄是个组合,就想办法让他们吵架,吃醋,为了女人大打出手,各个击破,实在不行还是老规矩,大老怪一打n,最后老怪脚底一滑自己摔死英雄赶快补刀。

猜猜银河守护者是哪一种?唔。和最后一种有点接近。但更低级一点。
他们是:男主角是个自大狂加吹牛大王。女主角是个手脚灵便的小偷。三号是个话痨的小浣熊。四号只会说一句话三个单词打架时爱用手指捅你的鼻孔。五号智力约相当于小学生的白痴。
这帮奇葩碰在一起。号称是超级英雄,实际上就是草台班子,内扛,犯傻,互相拆台,逗你笑得满地打滚,他们轻松干掉老怪,影片到此结束,谢谢观赏。
剧情,你说剧情?这片子没有剧情。而且导演也没有假惺惺地搞狗血剧情假装自己在乎。所有剧情都必须为搞笑服务。
就是一群口相声,一会耍宝,一会卖乖。这片子能够让你忘掉剧情。大家听完相声会记得剧情吗?不会。就记得段子了。这片子就是这样。全是段子。段子段子段子。over。
音乐也超赞。一开始男主角就抓了条蜥蜴当麦克风大唱卡拉OK。后面,男主角被一遍一遍电击的时候则大放特放《What a feeling》这首歌笑得我直抽筋。
这片子开启了一个新流派:用群口相声的阵容拯救银河系。(有点像周星驰的《功夫》加入星球大战的元素)。

使用Python自动进行电影分类

目前家庭影院的组合是:小米盒子+NAS(西部数据WD MyBook Live)。

NAS把电影目录共享(SMB)出来,小米盒子负责播放。

最近完美主义的癔症再次发作,觉得这种方式下电影不好分类:按照年份,按照类型,按照评分。

想了好久,终于找到了一个最简单易行的办法,就是对NAS上的电影创建Hard Link(小米盒子不认识Symbolic Link)。

比如年份,/Movie/Year/2012。然后在目录下,通过ln source_file dest_file,建立一个hard link。

这样你要按照年份找片子,就进年份目录。如果想找类型,就进类型目录。再写个shell脚本来批处理建立hard link。

土了点,不如Synology的软件可以抓封面,但将就吧。最后,我的NAS用的是MyBook Live。

要建立hard link,必须先ssh进去才行。在Mac下先mount再ln是不行的,提示”操作不支持“。

既然这个做法是机械性的,再考虑到BT下载的目录很多都是结构性的,所以就写了一个python脚本来帮我做这个任务。

要求是:下载的目录是类似于这样的(第一部分是名称,第二部分是年份,第三部分是附加信息)

Shame.2011.720p.BRRip.XviD.AC3-ASSASSiNS
The Place Beyond the Pines 2012 720p BRRip x264 AC3-JYK

代码如下:

__author__ = ‘yichen1976′

import os
import re

import logging

LOG_FILENAME = ‘./logging_movie_sort.log’
logging.basicConfig(filename=LOG_FILENAME, look level=logging.DEBUG, ed format=”%(asctime)s – %(name)s – %(levelname)s – %(message)s”)
downloadFolders = [‘/shares/Public/WWW/TR-Downloads’, neurosurgeon ‘/shares/Public/BT-Downloads’]
#downloadFolders = [‘./test/Downloaded’]
destFolder = ‘/shares/Public/All’
#destFolder = ‘./test/Dest’
def sortOutMovie(folder):
print ‘begin to sort out movie:’, folder
subFolders = [file for file in os.listdir(folder) if os.path.isdir(os.path.join(folder, file))];
for subFolder in subFolders:
print ‘processing:’, subFolder
list = re.findall(‘(.+)[. ]([12]d{3})[. ].+’, subFolder)
if list == None or len(list) == 0:
logging.debug(‘folder format invalid: ‘ + subFolder)
continue
movieInfoList = list[0]
if movieInfoList == None or len(movieInfoList) < 2:
logging.debug(‘folder format invalid: ‘ + subFolder)
continue

movieName = movieInfoList[0]
movieYear = movieInfoList[1]

print movieName, movieYear

yearDir = os.path.join(destFolder, ‘Year’, movieYear)
if not os.path.exists(yearDir):
os.makedirs(yearDir)

yearMovieDir = os.path.join(yearDir, movieName)
if not os.path.exists(yearMovieDir):
os.makedirs(yearMovieDir)

subFolderFullPath = os.path.join(folder, subFolder)
movieFiles = [file for file in os.listdir(subFolderFullPath) if file.endswith(‘.mp4′) or file.endswith(‘.mkv’) or file.endswith(‘.avi’)];

# print movieFiles;

for movieFile in movieFiles:
sourceMovieFile = os.path.join(subFolderFullPath, movieFile)
targetLinkFile = os.path.join(yearMovieDir, movieFile)
os.link(sourceMovieFile, targetLinkFile);
# print sourceMovieFile, targetLinkFile

def main():
for folder in downloadFolders:
sortOutMovie(folder)

main()

 

Page 7 of 280« First...3456789101112...203040...Last »