读书笔记(2015.6)

继续记录一下前段时间读的书

  • QED:光和物质的奇妙理论
    后悔现在才看到的,费曼的超级牛B的书。
    光是波?不对。光是粒子?不完全是。波粒二象性?不重要——
    这本书的第一讲就“轻描淡写”地把光子这么一个神奇的东西的*性质*讲得清清楚楚,计算概率就行了。
    第二讲,顺便把直觉上光是直线传播这一宏观上似乎是对的概念,重新解释了一下——光可以沿任何路径传播。不信?看它如何描述光栅的,就信了。
    第三讲开始加入了电子,内力大增,理解起来有点难度了——但是如果只看结论,却是清晰无比,得到结论的“推理”(或者说计算)过程也是一目了然。
    最后一讲看完,真心觉得费曼太牛了,能把量子电动力学这么一个高深的学科,讲得如此清晰易懂。
    用他的话说,“一个笨人能理解的东西,其他人也能理解”,虽然,我们只是在数石子而已。
    QED
  • 神们自己
    阿西莫夫的科幻小说,创意十足,无论是平行世界,还是平行世界里的智慧生物,都有基本的物理理论来支撑,所以看上去完全不觉得是“幻想”,反而很真实,很过瘾。
    The_Gods_Themselves
  • 未来边缘
    大刘的短篇小说集之一,收录了《天使时代》《2018年4月1日》《微纪元》《赡养上帝》《命运》,以前都在《科幻世界》里看过了,不过亚马逊上特价的时候还是收了。多年之后重看高中、大学时期看过的科幻短篇,调剂一下也不错。
    未来边缘
  • Doom启世录
    抱歉这本下了盗版。。。因为没有中文版卖。。。
    之前是听鸟哥说起了这本书,找了个电子版看了。印象中小学的时候在486电脑上玩过doom(不确定了),对于这类美式的游戏也不太感冒,就这么瞎看看翻完了,没有太多感觉。也许只有真正的粉丝才能从这本书里看到那个时代的激情吧。
    当然,必须得说卡马克这样的人还是非常佩服的。
    Doom启世录
  • 一网打尽:贝佐斯与亚马逊时代
    也是亚马逊特价的时候买的。之前其实不太关心亚马逊是怎么一步步从卖书开始变成最大的网上零售商的,买这本书更多的是想看看亚马逊是怎么从卖东西的,变成云计算、云服务的提供商。可惜这本书里没有答案。
    不过倒是看到一家电商如何地压榨供应商,压榨员工,为客户提供更低的价格和更好的服务。这在以前简直是不可想像的。幸而亚马逊发展起来了,国内的亚马逊,京东们也在往这个方向走着。而淘宝走在了另外一条路上。。。
    The_Everything_Store
Share

华夏公园半日游

上海樱花节今年多了很多公园一起办,发现有个“华夏公园”也在其中,公园、停车都免费,中环开过去也很近,趁个阳光明媚的周末去溜一圈。

这公园以前没听说过,点评网上说平时人很少,不过现在樱花节可能人会多点——没想到附近几个路口都停满了车,在一条小巷子的深处才有些车位可以停。。。

公园不大,环境倒不错,可惜樱花树不多,所谓联合举办樱花节也只是想分流点人群吧,我猜 🙂

上图。

DSC_4760_01DSC_4767_01
DSC_4772_01DSC_4780_01
DSC_4764_01DSC_4777_01

Share

发挥余热的Raspberry Pi 1

迁移到Raspberry Pi2之后,原来的Pi1继续发挥余热——接着个PS2 Eyetoy摄像头,每小时自动拍照、获取空气质量指数、发twitter。当然,Eyetoy拍出来的渣画质不能看,只是做着玩的。

这里记录一下实现的细节。

  • 拍照
    树莓派的官方镜像的kernel已经支持很多摄像头了,USB接口的Eyetoy插上去,直接就有/dev/video0设备。
    各种软件都可以拍照,比如说fswebcam, streamer,等等。我用的是fswebcam

      fswebcam -r 640x480 -S 20 --title "xxx"
    

    其中`-r`是分辨率,不多说了;`-S 20`是跳过20帧,因为如果只取第一帧,画面会不完整,曝光也不对,20帧(大概3秒之后)差不多就够了; `–title “xxx”`是嵌在图像里的标题。

  • 获取AQI
    在aqicn.org上查了一下,离家最近的是张江的监测点,网页是http://aqicn.org/city/shanghai/pudongzhangjiang/
    网页内容里已经带了AQI指数,所以要获取AQI的数值,直接在页面里用正则表达式匹配一下就行了。

        pattern = (' Air Pollution measured on (\w+) (.+): ' +
                   city.capitalize() +
                   ' overall air quality index is (\d+)')
        results = re.findall(pattern, content)
    

    得到的`results[0]`就是匹配到的内容,是个tuple,分别是weekday,time,AQI。

  • 发Twitter
    网上有各种twitter的库,google一下,选了个简单的twython。
    使用 Twitter API 也超简单,到https://apps.twitter.com/申请一个app拿到consumer key/secret;
    再generate一个access token/secret;
    然后用这4个参数初始化twython,发带图片的tweet调用`update_status_with_media`,搞定。
    不过`update_status_with_media`已经过时了,以后应该需要用`upload_media`+`update_status`来搞定,不过现在还能用,先这么用着。

      CONSUMER_KEY = 'YOUR-CONSUMER-KEY'
      CONSUMER_SECRET = 'YOUR-CONSUMER-SECRET'
      ACCESS_KEY = 'YOUR-ACCESS-KEY'
      ACCESS_SECRET = 'YOUR-ACCESS-SECRET'
      ...
      api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
      image = open(imagefile, 'rb')
      api.update_status_with_media(media=image, status=tweet)
    
  • 其它
    要定时跑脚本,crontab里加一个每小时跑一次的脚本就行;
    要翻墙,用的是shadowsocks + cow,然后在脚本前加上http/https proxy的环境变量:

    0 * * * * http_proxy=http://127.0.0.1:7777/ https_proxy=http://127.0.0.1:7777/ /home/pi/pi-pudongair/main.py
    

完整的code放在了gist上:https://gist.github.com/mine260309/771512fc912d283496d9

效果见 @PiPudongAir,欢迎关注。

Share

RaspberryPi2克隆Pi1的系统

RaspberryPi 2发布了有一段时间了,RS版本一直没货,忍不住在淘宝上买了个国产的版本。

到手之后,发现果然可以直接用Pi1的系统:

  • 如果原来就是用TF转SD卡的,直接插到Pi2上就可以启动了
  • 如果原来用的是SD卡,最简单的方式是把SD卡的内容dd出来,然后dd到TF卡上
  • 如果像我一样发现同样都是16G的卡,SD卡的block数多于TF卡,dd的时候size不对,很可能会有问题,只能按下面的方式来clone系统了。

以下步骤假设Pi1的系统在SD卡上,要把这个系统clone到一张略小于SD卡的TF卡上:

  1. 给TF卡分好区,最简单(但是有点花时间)的方式就是直接dd官方的镜像,比如说
      dd bs=4M if=2015-02-16-raspbian-wheezy.img of=/dev/<your-device>
    

    然后启动系统,在raspi-config的菜单里Expand Filesystem,这样TF卡的分区就弄好了。

  2. 备份SD卡的内容,假设我备份到~/raspberry_pi/
      sudo tar czvf ~/raspberry_pi/pi1_boot.tar.gz --directory <path-to-boot> . #备份boot分区
      sudo tar czvf ~/raspberry_pi/pi1_rfs.tar.gz --directory <path-to-rootdisk> . #备份rootfs
    
  3. 删除TF卡各分区的内容
      sudo rm -rf <path-to-boot>/*
      sudo rm -rf <path-to-rootdisk>/*
    
  4. 把tar包解压到TF卡上
      sudo tar xzvf ~/raspberry_pi/pi1_boot.tar.gz -C <path-to-boot>
      sudo tar xzvf ~/raspberry_pi/pi1_rfs.tar.gz -C <path-to-rootdisk>
    
  5. 把TF卡插到Pi2上,启动,应该一切正常!
Share

解封Google Wallet

前段时间想在PlayStore上买个app,用信用卡怎么都不行,显示transaction被decline了。
于是让美国的一个朋友帮忙买了Gift Card,充值成功;然后买app的时候还是显示decline,怒了,能充钱但是不能购物?耍我呢这是!

跑到Google Play Help的页面里选”Android apps & games” -> “Payment issues”,可以Request a call或者Online chat,我选了online chat,出来一个(看时区大概是)小印,说明情况,那边回复说需要花一段时间check一下情况,几分钟之后回复说,问题应该出在Google那一边,已经提交给expert去处理,需要24~48小时等回复。好吧。。。

第二天收到邮件,说我的Wallet Account is placed on-hold,需要上传一些资料才行。
根据邮件,打开https://support.google.com/wallet/contact/account_verification,上传了护照的照片和帐单地址的证明(网银截了一部分图),继续等消息。

又过了一天,收到邮件,说我的帐户 is now fully active and ready for use

然后试着买app,果然好了。
看起来,找人工help最靠谱了。

Share