Kindle tips

整理 Evernote 笔记的时候偶然看到这篇文章,总结自己使用 Kindle 一年来的小小经验,以及一些 Tips。

注册 Kindle 邮箱

这个功能非常实用,不然能够节省连接数据线的时间,更重要的是这个活用这个邮箱能够自动化完成很多事情,可是遗憾的事,很多人并不知道这个福利。所以建议在拿到手之后的第一件事情就是查看这个邮箱,设置中 Send-to-KindleE-mail 中查看。

Kindle可以享受的两个最容易被忽略的功能是:

  • 在线文档存储,亚马逊为每位用户提供至少5G的云存储空间
  • 在线文档格式转换,支持格式包括

    • Microsoft Word (.DOC, .DOCX)
    • HTML (.HTML, .HTM)
    • RTF (.RTF)
    • JPEG (.JPEG, .JPG)
    • Kindle Format (.MOBI, .AZW)
    • GIF (.GIF)
    • PNG (.PNG)
    • BMP (.BMP)
    • PDF (.PDF)
    • 附件大小不超过50MB(压缩之前)
    • 附件中文档个数在25个以内
    • Kindle.com收件人个数不得超过15个
    • 文档默认会保存在云端
    • 如果60天用户都没有下载,则会删除上传文件

如果有 WiFi 或3G的话,注册 Kindle 可以在Kindle设备上完成,打开 WiFi(Home-> Menu -> Turn Wireless On),然后在Home -> Menu -> Settings-> Registration中,按照提示完成即可。没有WiFi或3G的话,则享受不了这两个服务。

要使用这两个服务,需要两步。首先,要知道自己的Kindle邮件地址(姓名@Kindle.com),可以在 Home-> Menu-> Settings的第二页里看到,在Send-to-KindleE-mail选项里面。但是,为了保护用户的私有空间不被别人用垃圾填满,亚马逊还要求使用已经被用户许可的邮箱地址发往此邮箱,否则就会拒绝接收。许可邮箱的方法是:

  • 先到[管理Kinlde](https://www.amazon.com/myk}页面,需要使用注册Kindle的账号登陆
  • 在左侧导航栏里单击Personal Document Settings
  • 在右侧 Approved Personal Document E-mail List 标题的最后单击 Add a new approvede-mail address
  • 输入email地址后单击Add Address即可,可以添加多个邮箱

完成以上操作后,就可以享受这两个服务了,使用添加到许可列表的邮箱,以附件形式发送文档到自己的Kindle邮件地址(姓名@Kindle.com),就可以把文档存储到云端。Kindle在线时就会自动下载云端文件。如果想将文档转换为Kindle内置格式(mobi),需要在邮件标题内注明convert(即邮件标题写“convert”即可),亚马逊就会为您转换为Kindle内置文档格式并发送到你的Kindle设备,阅读非常方便。转换过程可能会比较慢。

单击左侧导航栏内的 Personal Documents 可以管理云端文件。

找书技巧

Kindle 使用官方市场必然是件很不错的选择,但是其实有些方式来的更加方便,并且也能弥补官方市场书记不全的弊端。

Kindle10000

微信书籍推送:Kindle10000

自用上这个服务,Kindle 就活了起来,想起想看的书名,找到公众号,搜索推送,即使 Kindle 不在身边,下一次联网再同步即可。这个公众号在他们的简洁上这么写着:“一个被书籍改变命运的程序员领着志愿者做的免费项目”。而他的使用也非常简单,绑定Kindle 邮箱之后,在聊天框输入书名查找,然后找到想要的书,点一下推送搞定,资源丰富。这个比我之前在一些Kindle资源网站上找或者百度搜方便多了。

Kindle 伴侣

地址:http://Kindlefere.com Kindle伴侣,这是我至今也还一直订阅的少数 Kindle 相关网站之一,它的《每周一书》坚持更新也是很值得称赞的。

Kindle 饭

地址:http://www.Kindlefan.cn/ Kindle饭,有很多Kindle 使用的文章,技巧,相关工具,很棒的网站,建议订阅。

160604 更新,这个网站竟然不存在了,我只能从 Web Archive 找找他们存在的痕迹,但真的感谢他们曾经的文字。

漫画

地址:http://www.pixvol.com/ 推送漫画到 Kindle,还是非常全的

一下都是一些资源网站:

  • http://readfree.me/ 一个图书分享网站
  • https://www.mlook.mobi/ 精校电子书,资源下载
  • http://zaoshu.so/ 枣书,付费电子书价格对比,可以获取各大网站提供的免费公共电子书
  • https://www.cnepub.com/ epub掌上书苑
  • http://www.jiumodiary.com/ 搜索电子书
  • http://readcolor.com/ 读远,电子书库
  • http://blah.me/ Google+ 郁也风整理的书籍
  • https://www.dogear.cn/ 狗耳朵 全文 RSS 和微信公众号推送

如果使用 InoReader 可以订阅下面我制作的 bundle , 我订阅了一些 Kindle 相关的文章。

地址:http://www.inoreader.com/bundle/0014cd6370e9

笔记

使用过程中,读书最重要的就是记录了,阅读永远是别人的东西,如果没有经过大脑转变成自己的内容,那永远只是存在书本上。而 Kindle 上做笔记也是非常容易的,并且数字化让一切都能够被检索并标注,Kindle 让这个过程更加方便了。在 Kindle 中长按文字选中之后会弹出标注,笔记等几个选项,而所有这些操作的内容都会被保存到 Kindle 设备上”documents”里名叫“My Clippings.txt” 的文件中。这个文件以一定的格式记录所有的笔记内容,直接查看非常不方便,于是就有人做了这样的一个工具。

地址:https://www.clippings.io/

将笔记,标注导出的网站。从 Kindle 中找到 clippings 文件之后上传到该网站,就能够非常直观的查看所有笔记。

关闭 Kindle 屏保和主页界面的特惠信息

因为我使用的是美亚账号,自动出现的特惠信息大多数是我并不关心的,因此

> 设置 -> 设备选项 -> 个性化您的 Kindle -> 高级选项 -> 特惠

关闭即可。如果无法关闭,我记得当时我就是联系了亚马逊客服才关闭的:

联系亚马逊客服:https://www.amazon.cn/gp/help/customer/contact-us

使用过程中遇到的问题

Kindle 无法连接 WiFi

Kindle 不能连接 WiFi 的三个原因,虽然在没办法的情况下以下三个方法或许有用,但是大部分的情况其实就是 GFW 屏蔽了 Kindle 联网验证的地址,其实和 Android 在检测 WiFi 时屏蔽了 Google 服务器出现的感叹号一样,系统向一个 URL 请求,没有收到回复自然认为没有成功连接到互联网,于是就报错,所以在尝试以下三种方式之前,请确保翻墙状态。

1、路由器频段问题

这个问题实际上手机也有。有一阵子我手机也连不上我哥家的 WiFi,后来通过网络搜索才知道频段问题。那时候是说频段超过11手机就无法连接WiFi,后来我把频段改小之后就解决问题了。而一般能用手机连接WiFi,Kindle不能连接的一般不会是这个问题。

如何改变频段,Google之。基本现在这个年代,看一下无线路由器的说明书就会设置的。

技术资料见:

http://en.wikipedia.org/wiki/List_of_WLAN_channels

In the USA, 802.11 operation in the channels 12 and 13 is actually allowed under low powered conditions. The 2.4 GHz Part 15 band in the US allows spread-spectrum operation as long as the 50-dB bandwidth of the signal is within the range of 2400–2483.5 MHz which wholly encompasses both channels 12 and 13. A Federal Communications Commission (FCC) document clarifies that only channel 14 is forbidden and furthermore low-power transmitters with low-gain antennas may legally operate in channels 12 and 13.However, channels 12 and 13 are not normally used in order to avoid any potential interference in the adjacent restricted frequency band, 2483.5–2500 MHz, which is subject to strict emission limits set out in 47 CFR §15.205.

问题也许就是这样产生的:你笔记本所能搜到的WIFI信号来自正工作于12/13/14频段的路由器,因此你的Kindle搜不到无线信号。

为什么路由器工作于12/13/14频段呢?基于抗干扰的理由,人为指定的可能性很小,然而在无线路由器的设置中(至少是家用),频段这一项可以设为“自动选择”,这样每次路由器重启都回按照自己的算法随意选择一个频段,也许刚好就选在了“12/13/14”上。

这或许也是WIFI连网不稳定现象的根源,某些Kindle连不上无线网络,而折腾下路由器重启后,Kindle又可以连网了。

经GOOGLE搜索,发现欧洲人也有类似的问题。见http://www.mobileread.com/forums/showthread.php?t=100081

由此对 Kindle 连网问题做个小小的推测,如果真的能解决问题,请大家多转给需要的人 :)

2、DHCP服务器地址池问题

听闻DHCP服务器是让路由器可以自动分配ip的东西,但是把地址池[个人理解为分配的ip的范围]如果在192.168.1.100以上,Kindle就不能连接WiFi[当然这是Kindle的问题,因为手机电脑都可以连接的,不过我不知道Kindle自身要怎么改,或许不能改,又或许可以通过在Kindle上设置静态IP?]

其实解决这个问题有个更方便的方法,既然Kindle改不了,咱们就改下路由器的DHCP服务器地址池呗,把开始地址改为192.168.1.2,结束地址改成192.168.1.99[其实也不用固定这样,只要最后一个在1-100之间就可以了!

3、接下来就是运营商问题了

前两个问题我都解决后,我发现还是有时候会连接不上WiFi,于是在又查了查,发现了一个方法,为什么这个方法能解决我不知道为什么,但是真的有效!!!!

在pc上新建一个新文件,名为WiFi_NO_NET_PROBE,同时把后缀名删掉,让它变成一个无格式文件。Kindle 连接pc,把新建的文件放进kindke的根目录,断开Kindle之后重启Kindle。

充电

充电方法:Kindle可以用数据线连接电脑充电。也可以用数据线连接充电头,在插座上充电。Kindle电量不足时,灯是橙黄色的,充满以后灯会变成绿色。 充电时长:每次充电时间大约是2-3小时。首次充电充满即可,不需要充很长时间,有人充了一个晚上,十几个小时,然后就不能开机了,送修说主板电路烧了。平时使用时Kindle还剩差不多百分之二十的时候开始充电,对Kindle最好。因为Kindle很长时间不用不充电,可能会出现缺电现象,造成机器假死。充电的时候最好不要看书,不要使用kindle,不然kindle电池不耐用。

截屏方法

Kindle 的截屏方法,不同 Kindle 不同,我只有 Paperwhite,所以:Kindle Paperwhite 截屏:先点上面出菜单,再同时左上+右下。 截下来的图片会保持在documents这个文件夹里面,可以连接电脑拷贝出来。

以下未验证: Kindle3、Kindle DXG,截屏是同时按住:Alt+Shift+G。屏幕会闪一下,截屏就成功了。 Kindle4、Kindle5截屏:同时按住键盘键和菜单键,屏幕会闪一下,截屏就成功了。 Kindle touch截屏:按住home键,点屏幕,等几秒,反正5秒肯定可以了,松开Home。

电子书格式

mobi, azw

mobi和azw格式的推手主要是Amazon,这两种电子书格式的发展很大程度上依靠Amazon这个巨大的内容提供商及其电子书阅读器Kindle的流行普及。它们同属亚马逊的私有格式,没有本质的区别,可以简单的这样理解,mobi是比较老的一种格式,而azw只是mobi的另一种形式而已,也可以理解为mobi加了个壳,亚马逊利用它对电子书做DRM版权保护。

目前市面上的mobi文件大部分是来自两种途径:epub、pdf或者txt转换成的mobi,从Amazon商店流出来的mobi。前者没什么好说的,后者要么是Amazon官方制作,要么就是自出版作者通过KDP (Kindle Direct Publishing,作者可以绕过出版社直接在Amazon上发售电子书 )平台发布,通过KDP平台发布时,作者只需要上传Word文档,其他的事情也是Amazon官方来做,从而保证了,mobi文件的规范程度。

azw3

azw3的本质是KF8,是随着2011年Amazon推出Kindle Fire平板时一起推出的。它填补了Mobi对于复杂排版支持的缺陷,支持很多HTML5(目前尚不支持 HTML5 的视频和音频标签)和CSS3的语法,这就大大改善了原来mobi或azw内容排版上的一些缺陷,单纯从读者的角度来讲,是不输epub格式的。目前从Amazon购买的书,大部分已经是azw3格式了,而以前主流的mobi格式则越来越少,它正逐渐取代mobi成为Kindle电子书的主流格式。

epub

下面是维基百科对epub的一段定义:

EPUB(Electronic Publication的缩写,电子出版)是一种电子图书标准,由国际数字出版论坛(IDPF)提出;其中包括3种文件格式标准(文件的附文件名为.epub),这个格式已取代了先前的Open eBook开放电子书标准。

epub格式对于复杂的排版,图表,公式等元素的兼容性比mobi格式好很多,在脚本,公式,矢量图形的支持方面也强过mobi格式,现阶段epub格式的优势体现在图文混排、图片嵌入字体等,未来可预测的优势是epub格式对于声音,影像等多媒体内容互动的支持上。

epub格式是开放标准,所以在开发工具上也会有更大的选择,像Sigil、Calibre、Jutoh等软件都可以让用户自助制作epub格式电子书,但因为良莠不齐的制作也导致一个问题:大量的epub文件其实是不符合标准,无法保证在所有支持epub的硬件和软件上都可以顺利阅读,这就和iOS系统和Android系统的区别有些相似。

reference


2016-06-04 Kindle , Book , 阅读

gnome do 技巧

自 Mint 开始才接触到 Gnome-do 这样一个神器,一句话介绍他的功能就是启动器,完全键盘操作的启动器。当然在启动应用之外还有很多扩展的功能,自开始使用 Gnome-do 开始几乎已经很少使用菜单开应用了。正如这篇 文章所讲使用了 Gnome-do 之后就会让 Windows 和 OS X 下的用户嫉妒不已。 不过 OS X 下貌似也有 Alfred 这样的神器。

安装与启动

Mint 下直接从软件管理里面搜索安装吧,如果想使用命令行,下面的也可以:

sudo apt-get install gnome-do

忘记了初始设置的启动快捷键是什么了,我自己一直使用 Alt + Space .

启动应用

最基本的功能就是启动应用, Alt + Space 之后,输入 “Chrome” ,找到 Chrome 之后回车就直接开启 Chrome。当然与此同时 Gnome-do 也回去搜索本地,查找相关的目录寻找与 Chrome 相关的内容,不关心跳过就行。用同样的方法可以开启本地的任何应用,当然要保证这些应用都在 Gnome-do 的搜索路径下。Gnome-do 会自动学习使用习惯,现在基本我输入 c 就能够找到 Chrome。

开启URL

打开 Gnome-do,输入网址 google.com 然后第一次可能需要使用 Tab 选择 Action: Open URL。然后回车, Gnome-do 会自动开启默认浏览器加载网页。

Plugin

以下插件都可以在 Preference 中找到,并启用,一些插件默认已经启用。

Alias

给应用程序或者其他命令重命名

Files and Folders

搜索本地文件及目录

GNOME Session Management

重启或者关机

Twitter

并不怎么用 Twitter ,不过可以实现 Twitter 发消息。

总结

大部分的情况都是启动应用,URL 或者搜索打开文件,其他的一些功能并不常用。


2016-05-20 Linux , gnome-do

snapseed 中的一些参数

照片编辑一些参数,了解一个 App 就能知道所有图像处理类 App 原理,比如 VSCO,泼辣修图,大到 Photoshop 等等。

Tools

Snapseed 中的常用调整工具

Tune Image

调整图像最常见的操作基本都能在这个 section 中找到。比如亮度、对比度、饱和度等等,细节部分可以单独调整暗部,或者亮部,还有图片整体色调。

Brightness

亮度,很容易理解的概念

Contrast

对比度,黑色像素和白色像素的对比度。利用S曲线的功能也能够实现,不过直接调节Contrast参数倒是来的更加直接。

Saturation

饱和度,色彩的饱和程度。往右为图像色彩变浓重,左反之。也称为色度色彩的三属性之一,广义讲,黑白灰的 色度=0 。

Ambiance

Ambiance 直译是 环境,气氛的意思,这边应该是调整环境的色彩。

Shadows

暗部,调整暗部,单独针对暗部调整往右为暗部更亮,往左为暗部更黑。

Highlights

高光,调整高光部分,更亮或者高光部分调整暗。

Warmth

色调,调整图片的色调,暖色或者是冷色,往右为暖色,往左为冷色。

Details

图片细节部分调整,基本上是图片锐度的调整。

Structure

图片纹理会变得清晰

Sharpening

色彩更加锐利。

Crop

裁剪比例,其实最喜欢的还是 1:1

Available crop aspect ratios:

Free - the aspect ratio can be set freely, without constraint

Original - the aspect ratio will be set based on the original image

1:1 - to create a square image

DIN - to set the aspect ratio according to European page aspect ratios (such as A4, A3, A2, etc.)

3:2 - to set the aspect ratio to what is typically found on D-SLRs

4:3 - to set the aspect ratio to what is typically found on DSCs

5:4 - to set the aspect ratio to what is found on many typical US page sizes (8×10, 16×20, etc.)

7:5 - to set the aspect ratio for 5×7 prints

16:9 - to set the aspect ratio to the aspect ratio of most HDTVs

其中值得一提的就是 DIN ,貌似是欧洲标准的 A4 纸张比例。

Rotate

这个比较好理解,就是旋转照片

Transform

变形,这是一个很棒的功能, VSCO Android 版有这个功能时间也不长,利用空间的变形可以将原本侧面拍摄导致的图片变形给纠正回来。

  • VerticalPerspective 垂直方向变形
  • Horizontal Perspective 水平方向变形
  • Rotation 旋转

Brush

笔刷

Dodge & Burn

完全不知道怎么翻译,感觉涂抹会产生红色像素

Exposure

调整曝光的画笔

Temperature

色温画笔

Saturation

饱和度画笔

Selective

选择点,单独对某个局部进行调整. 可以增加选择点,每个选择点可以使用单击,进行”剪切”,”复制”,”删除”和”撤销该选择点所有操作”.

而每个选择点则有”B”: Brightness, “S”:Saturation, “C”:Contrast . 这样三个可选操作.

而双指则可以选择该点影响的范围.

长按拖动则可以移动选择点.

Healing

修复,好像 PS 中的修复图章,只是这边只要轻轻一涂抹, Snapseed 将自动修复涂抹的区域.

Vignette

直译的话, Vignette 是装饰图案,小图案之类的意思. 而这边应该是指针对图片增加暗角,或者调高角落亮度的操作. 这里面又分为 “Outer Brightness”, 和 “Inner Brightness” 两种操作. 分别对应着暗角,和亮角。

Filters

一些滤镜,和工具不同的是,下面的内容都是在原有图片的基础上增加内容,而不是针对原始图片进行修改。

Lens Blur

这个词我也不知道怎么描述,似乎一直都是以英文描述。用官方的说法,就是增加镜头虚化效果,让注意力都集中到核心物体上。这个工具中又分成线性“linear”和椭圆”elliptical“两种模糊工具。

利用里面另外一个功能也可以定义虚化的图形,不单纯可以是圆形。

Blur Strength

模糊程度,更加模糊。向右滑动增加模糊的程度

Transition

增加周围虚化和中心物体的距离,让过度更加自然。

Vignette Strength

暗角强度,类似工具中的暗角工具。

Glamour Glow

光晕效果,直译过来就是”富有魅力的光晕“。其中每一种滤镜又可以单独调整。

Glow

光晕效果

Saturation

光晕效果色彩饱和度

Warmth

光晕效果色调冷暖。

Tonal Contrast

对比度

High Tones

增加高光部分对比度

Mid Tones

增加中间色对比

Low Tones

增加暗部色彩对比

Protect Shadows

防止暗部因为对比度的增加而损失细节

Protect Highlights

防止高光部分因为对比度增加而损失细节。

HDR Scape

High Dynamic Range 高动态范围成像

  • Filter Strength 滤镜的效果
  • Brightness 亮度
  • Saturation 饱和度

Drama

戏剧风格

  • Filter Strength 滤镜的效果
  • Saturation 饱和度

Grunge

色彩和纹理, 平行的线图标为纹理,交叉箭头为随机纹理与色彩。

  • Style 选择1500种不同的纹理
  • Brightness 亮度
  • Contrast 对比度
  • Texture Strength 纹理强度,0表示没有强度,等于没有增加纹理
  • Saturation 饱和度

Grainy Film

木纹理

  • Grain 自然的颗粒感
  • Style Strength 风格强度

Vintage

带来50,60,70年代的胶片感觉。

  • Brightness 亮度
  • Saturation 饱和度
  • Style Strength 风格强度

Vignette Strength

暗角的强度

Retrolux

创造复古,怀旧,有历史痕迹的胶片感觉

  • Brightness 亮度
  • Saturation 饱和度
  • Contrast 对比度
  • Style Strength 风格强度
  • Scrathches 划痕,value为0依然有效果
  • Light Leaks 漏光,alue为0依然有效果

Noir

Create moody, cinematic black and white images with darkroom-inspired toning and wash effects. 对胶片工业不是很了解,很不好翻译啊,总之就是模拟胶片在暗室中冲洗的效果。

  • Brightness 亮度
  • Wash 模拟darkroom 中over-processing
  • Grain 颗粒感,0为没有颗粒感
  • Filter Strength 滤镜强度

Black & White

黑白效果

  • Brightness 亮度
  • Contrast 对比度
  • Grain 颗粒感,0为没有颗粒感

Frames

调整设置不同边框,滑动调整边框的宽度。边框被应用之后就不能再对图片大小进行调整,所以调整图片大小之后添加边框。

其他可能用到的参数

HSL

HSL是色相、饱和度、明度的简称:

  • 色相是一种颜色区分于另外一种颜色的首要标准,例如红色与黄色。
  • 饱和度是衡量一种颜色鲜艳程度的标准。
  • 明度是衡量一种颜色明亮程度的标准。

曲线:

提亮 & 压暗曲线:提升或降低画面亮度。

左侧曲线可以调整图像中暗色区域,右侧则是高光部分

亮的地方更加亮,暗的地方更加暗一些,提高对比度. S曲线.

Reference


2016-05-19 Snapseed , PhotoEditing , Anroid , VSCO

荒蛮故事 感悟

不知道什么时候加入的待看列表,今天一个偶然的机会突然翻到这部片子,突然感觉整个世界都明朗了。我知道又收获了一部不可多得的好电影,当然最初着是在第一个故事结束,片头出来的时候。

关于影片中提到的六段故事不再详说,只是有些话必须写下来才能描述得清楚现在的感受。就第一个飞机的故事,从飞机上两位的交流,转到和特定一个人的联系,继而转到和机长的关系。看完这段之后我就联想起曾经看到过的一则新闻,当然是飞机事故,没有任何危机情况,就这样机毁人亡,后来调查说是机长的精神状况导致。虽然当时看到这条新闻的时候并没有看这样一部影片,但是也曾经纠结过一个问题,为什么他能够当上机长,同样的疑问也表现在影片中,这倒也不是影片的BUG,但是经过现实新闻的映照更加凸显出这个故事荒蛮无理的背后实则是导演的一番诉说,中国古话说“君子报仇,十年不晚”,我一般很难相信这样的人存在,只是事实一遍又一遍的告诉我不是不可能,而是没有想到。继而追问起我自己,让我自己反思我自己是否在生活中是否曾经没有善待过某一些人,我想导演在放完着一个个故事的背后并不是让我们笑笑了事吧。

第二个故事吃薯条,现在回想起来虽然对故事本身对于犯罪和宽恕,对于那个女厨师本身就可以展开很多的话题,但是我印象最深刻的还是那句”老鼠药过期了是没用了,还是更毒了。“最深刻。当然本身这个故事因为设定较少,如果单纯的听女主一面之词而草草结束某个人的生命,我还是并不赞同的。

relatos salvajes

画面再转到公路上驾驶的奥迪汽车,这个故事当然影像最深,讽刺意味也最强烈。从最开始主角在大马路上开车,车中播放着激昂的音乐,原本甚至以为会是一段比较愉悦的旅程,而事后发生的故事真让我咋舌,然而回归到第一个故事的主题,这一次只是这个因果报应来的快了一些。并不知道谁先开始,也并不知道在那个遥远的国家是不是大家在大马路上是不是都会开着车逗别人一下,总之一方和另一方结下了一面之缘,而就着一面之缘,而终导致了相爱相杀。过程比较曲折,只是我在想,如果开奥迪的人不那么炫耀,言语中放写尊重,而另一位并没有开这个路上的”玩笑“,或者为人谦逊一些会不会故事会美好一些,漫漫长途或许会是一对伴侣,只是可能我们就不会看到这么黑色的故事了。

而接下来一个故事如果没有记错的话应该是那个爆破工程师,而看完这些不知道为什么我就想起了自焚者,你说故事中的爆炸是“恐怖袭击”吗?或许是当人生已经被逼迫无奈只能走上这样一条路的时候,如果掌握一些技术还能为自己挣得一口气,而那些真正的底层劳动人民,一没技术,二没知识呢?他们或许真正想到的就是拿自己的身体去赌,有些时候真的不愿意再看到去批评这些自焚者,而是我们真的应该去关注一下他们为什么会去自焚,那些理由才是这个故事导演想要告诉我们的。当然故事毕竟是故事,最后危机化解,妻子女儿周围环境都又回归了美好,一些人的犯罪趋于收敛,只是我在想如果大家都像故事中妻子那样呢?是不是最后我们依然按照那个不合理的规则继续生活着。这个社会有的时候真需要一些类似那个爆破工程师那样的角色,促进社会的进步,只是如果可能我希望方式可以和平一些。可以想象,如果那一次爆炸真的伤害了无辜的人呢?事态可能会不受控制,而这一点其实回想起来也挺讽刺,现实中往往为了刺激人们发现一些”违法“的事情,而自己却需要用”违法“的方式。想来,如果能像“聚焦”中那样,通过媒体吸引大家的注意进而解决一个社会问题的例子,少之又少啊。所以新闻必须自由,才能偶尔的给社会这口高压锅适当的降降压。

再到下一个替死鬼,似乎是看太多的新闻也好,电影也好,在富翁盯着他们的管家意味深长地长看的时候就猜想到了后面的情节,只是我没有想到的是,原来直到最后手上也需要握有筹码才行。这里暂且不说拿钱抵事这件事请的公平性,如果看过之前中国家长贿赂美国审判长被判刑来看,是非自知。就最后这个故事的结局来看,则又是一个给底层人士的警告,虽然开始有些可怜这位老头,但在他开口索要海边别墅的时候,他的整个形象就已跌落谷底。直到最后他也没有拿到他自己应拿到的那一分五十万的酬金。原本一个车祸,在富豪的住宅却演变成一桩生意,原本五十万解决的事情,又变成书房的一番商讨,双方给出自己的筹码,最多一百万的酬金无法瓜分,那如何,那就让最下面的人去死吧。这就是没有筹码的人在一局一局的商战中被人活生生吃掉的例子。

最后一个几乎可以用“血色婚礼”来形容了,看似风光的场面,看似喜庆的婚礼,却暗流涌动,我几乎没有办法想要看出导演的表现意图,只就是看着这样的故事发展下去,没有办法料到结局。我的想法并没有那么黑暗,我坚信他们双方最后是互相谅解,继而相拥,也就是冰释前嫌,不再计较,当然故事戛然而止,留下很多疑问,但这已然足够,我相信他们不会为了这一些小事而放弃人生的后半段,嗯,我还是很光明的。


2016-05-07 review , 电影 , 思考感悟

利用Jenkins持续集成Android程序

Jenkins 是 Java 编写的开源持续集成(Continuous integration)工具1。在上一篇推荐网站中提到的 AlternativeTo 中去搜索一下,能够看到很多持续集成的工具,像 GitHub 上经常看到的 Travis CI, 还有 Jenkins 的前身 Hudson。

安装

详情请见官网.

Linux 下:

wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

直接安装源中的Package有几点需要注意:

  1. Jenkins 会以守护进程(daemon)随机启动, 查看 /etc/init.d/jenkins
  2. 创建了 jenkins 用户来运行服务
  3. Log 文件 /var/log/jenkins/jenkins.log
  4. 配置地址 /etc/default/jenkins 比如 JENKINS_HOME 在该文件配置
  5. 默认 Jenkins 使用 8080 端口,启动 http://localhost:8080 开始配置 Jenkins 吧。

更多服务器 Apache , Nginx 的配置请见官网。

全局配置

这里默认已经有 Android 开发环境,也就是 JDK, Android-SDK,Gradle 都已经是完整的。进入 http://localhost:8080 配置,首次今日需要验证身份信息,验证之后创建用户,然后下载插件,进入之后,系统管理-> 管理插件,需要安装以下插件:

  • Android Lint Plugin
  • Git plugin
  • Gradle plugin

如有其他插件 GitHub , gitlab 啦,可以就使用环境来选择安装。

更新玩插件,进入 系统管理->Global Tool Configuration , 然后配置 JDK 目录, Gradle 目录,Git目录。当然需要知道当前自己机器上的绝对地址:

  • JDK: /usr/lib/jvm/java-7-openjdk-amd64
  • Gradle: /home/einverne/android-studio/gradle/gradle-2.10
  • Git: git

系统管理-> 系统系统设置:

Environment variables 下添加:

键 : ANDROID_HOME 值:/home/einverne/Android/Sdk

如果这一行不添加,而 Android Studio 的工程没有在 local.properties 中指定 sdk.dir=/home/einverne/Android/Sdk 的话, Jenkins build failed, cannot found Android sdk2.

项目配置

配置好上面的环境,新建项目,名字+”构建一个自由风格的软件项目”。 然后进入项目,配置

General

项目名字,项目描述, GitHub Project url。 如果想要自定义路径,可以在高级中设置。

源码管理

当然使用的是 Git, 然后是项目地址,然后需要验证身份信息,当然有很多的方式,用户名密码,用户名密钥,等等,根据自己的适用情况添加即可。可以选择分支 build.

构建触发器

这里可以选择何时触发构建, 有很多的方式,可以是有变动自动构建,也可以是定时构建,当然也有很多的触发方式。

构建环境

这边基本上在全局环境配置的时候就已经满足,细化一下build 环境。

构建

这里需要选择 Invoke Gradle script, 然后在配置中选择刚刚在全局配置中配置的 Gradle 版本。

在 Tasks 下输入 clean build .

构建后操作

  1. 选择 Publish Android Lint results, 以便输出 Lint 结果,设置中输入 **/lint-results*.xml.
  2. 选择 Archive the artifacts 来存档 apk 文件,设置中输入 **/*.apk。 默认输出文件在 Workspace 下 app/build/outputs/apk/

遇到问题

Android Lint

Jenkins 默认启用 Lint 检查,所以需要在 build.gradleandroid 下添加

lintOptions {
    abortOnError false;
}

图文教程,Windows下教程参考下面文章。

reference


2016-05-01 Android , Jenkins , gradle , ci

推荐网站之代替品:alternativeTo

总说“授人以鱼不如授人以渔”,寻找不同平台上的代替品,每次都会点进这个网站,或许是上一段时间内跨不同操作系统太频繁,所以导致寻求Mac下 Windows 某个软件的代替品的需求升高,现在渐渐的培养起自己只使用多平台客户端都存在的应用使用,而有些是在没有Linux下的应用,也尽量的能够找到功能相似的代替。所以 AlternativeTo 这个网站给我带来了很多的便利。

官网地址:http://alternativeto.net/

应用实例:

My Tracks

My Tracks 原本是Google推出Android上记录GPS轨迹的应用,在很早开始就一直使用,无奈Google宣布停止这款应用,而自身推出的 Fit 功能上也赶不上 My Tracks,想到这里真心感觉有点讽刺,几年后推出的产品在功能上竟然赶不上几年以前推出的应用。Google Photos 与 Picasa 也是。说偏了,回到 My Tracks, 直接访问 http://alternativeto.net/software/my-tracks/ 就能够找到很多的应用,上面有些用户也会给出功能的对比,有所少人喜欢某个应用,在几乎所有的情况下,排名第一的几乎就是最好用的了。

KMPlayer

有的时候多逛一逛这个网站能够有不少收获,就比如早之前我一直用的 KMPlayer , 而自某一个版本开始 KMPlayer 开始变得臃肿,收纳很多无用的功能之后,就可以到 KMPlayer 的 alternativeTo 来寻求代替品,最后会发现 PotPlayer 也非常好用,然后我一直使用至今。当然在 Linux 下就又可以跑到 PotPlayer 下面,然后找到 MPlayer 和 SMPlayer ,都非常不错,当然 VLC Media Player 也很棒。

当然还有很多很多的例子,都需要慢慢的发现,我曾经在上面找过 IDE 的代替品,找过编辑器的代替品,找过 SQLite Manager 的代替品,等等,他最好最方便的功能就是,当你在一个平台已经养成了一个使用习惯,突然间更换了一个平台,然后对这个环境很陌生,而在这个网站的指导下就能够迅速的找到代替品。快速的适应新的环境。而这样引出来的另一个问题就是,需要熟悉不同的工具。所以就回归到我之前所说,我几乎现在只考虑使用三个平台 Windows, Mac, Linux 下都存在产品的应用了。虽然现在像 Evernote,网易云音乐同样没有Linux客户端,但这已经是非常少的特例了。使用同样的应用,同样的环境才能提高效率,并且不同去适应不同的工具的差异。


2016-04-29 推荐网站 , website

should I git ignore .project file under eclipse

Recently, I have worked on a C++ project create by eclipse using CDT. And I generate my .gitignore file at gitignore.io. However when I shared my project to Git, and want to import my project on other computer. I find I cannot import my Exist project into Eclipe workspace.

After I did search, I notice that my gitignore file just ignore .project file which has an annotation says that it’s Eclipse Core. I found that each time Eclipse want to import an exist project. Eclipse will try to find this file. The eclipse documentation states the porpuse of .project file as follow:

The purpose of this file is to make the project self-describing, so that a project that is zipped up or released to a server can be correctly recreated in another workspace.

and

If a new project is created at a location that contains an existing project description file, the contents of that description file will be honoured as the project description. One exception is that the project name in the file will be ignored if it does not match the name of the project being created. If the description file on disk is invalid, the project creation will fail.

So I decide to not ignore .project in git version control. And remove the .project ignore in .gitignore file. After that it is easy for me to import project into Eclipse.

I followed @lanoxx’s idea to keep .project file under git version control. So after you cloned your repository on other place, you can simply use Import -> Existing Project from Workspace. Eclipse will take care the .project file and recreate other project related config files for you, like .cproject under C++ project, and .classpath or .settings/ under java environment.

If you do not share the .project file, then it is not possible to import the project with Eclipse. You will need to create a new project with the project wizard first, and then you can choose import “General->File System”, this will copy all the files into your workspace. This is probably not what you want, because it means that you cannot clone the git repository into the workspace, you must clone it somewhere else and then import it from there. Therefore you should always share the .project file.

About all, I talk about the .project file. Following I have done a little search for the .cproject. This file contain all the settings provided for the particular selected Toolchain. For example, if the project needs to be created with gcc, then this .cproject file will contain all the compiler, linker options used by gcc. This file is also important to reimport the project. All your settings in project properties will remain if you choose to keep this file under track.

reference


2016-04-23 eclipse , C++ , CDT , git , gitignore

btsync 体验

更新

惊闻 btsync 已经改名字,现在叫 Resilio ,官网地址也改为: https://www.resilio.com/

可以从 这里 获取不同平台客户端。

Linux 安装 Package 可以参考 https://help.getsync.com/hc/en-us/articles/206178924 这里

创建文件 /etc/apt/sources.list.d/resilio-sync.list, 添加如下内容:

deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free

添加公钥:

wget -qO - https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add -

安装:

sudo apt-get update
sudo apt-get install resilio-sync

配置文件存储地址 https://help.getsync.com/hc/en-us/articles/206664690

Linux 下配置文件地址: /var/lib/resilio-sync

啊,安装好了之后,添加这个 key,当个示例啦 BB63I5PBPBFDELAPXI6NTF47IPNZQAAJZ ,一周一本好书。

如果想要手动开启或者关闭 Resilio Sync 可以使用如下命令:

sudo service resilio-sync stop
sudo service resilio-sync start

原文

全称 BitTorrent Sync , 我习惯了叫他 btsync 了。想要了解他的前世今生直接去看维基百科就好了。一句话概括,他就是一个同步工具,类Dropbox,但是利用 P2P等等 bt 种子的技术。当然私人使用当成网盘工具也好,当成分享工具也好,看个人使用了。不过黑客提醒,虽然是去中心化的,但是安全性依然存在问题,最好不要传输私人信息。

官网地址: https://www.getsync.com/

全平台

现在使用任何一个工具或者服务,我首要考虑的问题离不开跨平台了,最好是Windows , Linux, Mac 下全部都有,不然在平台间来回切换不同的服务和工具时间成本,学习成本太高了。也正是因为这个原因我放弃了 Google Drive 而转用 Dropbox,作为主力同步工具。当然 btsync 在全平台都有客户端,甚至连一些 NAS,路由器设备都有。

安装

安装非常简单,去官网下载,下一步下一步,OK。当然 Linux 下,如果不想使用 下一步下一步安装法,也可以使用命令从 PPA 里拖。

PPA

sudo add-apt-repository ppa:tuxpoldo/btsync
sudo apt-get update

For normal desktop use, you only need to install btsync-user:

sudo apt-get install btsync-user

Alternatively, if you’re setting up your BTSync server, install btsync:

sudo apt-get install btsync

btsync client

在官网根据自己的机器选择合适的 client 下载并解压。并运行:

./btsync

即可。

默认的Web GUI地址是 : http://127.0.0.1:8888

更加详细的安装指南可以参考这篇

VPS上架设

类似 Linux 下安装,官网下载并解压 btsync 文件。

tar -zxvf BitTorrent-Sync_x64.tar.gz

然后执行:

./btsync --dump-sample-config > btsync.conf

创建配置文件,然后修改 btsync.conf 配置文件中的:

"listen" : "0.0.0.0:8888" 

还有 loginpassword , 端口默认是8888,可修改成其他没有冲突的。loginpassword 是登陆用户名和密码。其他配置看注释修改即可。参考官网 config 文章.

然后保存配置文件,启动:

./btsync --config btsync.conf

在浏览器中就能够在 http://ip:port/ 访问 Web GUI。

然后在本地获取同步 key ,和 VPS 上同步即可。

技巧

移动同步后的文件夹

如果你已经同步了一个文件夹,比如在 ~/books,现在想要将该同步的目录移动到 ~/btsync/books 目录下。 就像Dropbox 同步已经存在的文件夹一样,如果单纯的再重新下载一边太麻烦了。所以幸好 btsync 和 dropbox 都有这样的性质,同步的内容都有文件记录,将文件重新加入索引,等索引完之后就可以继续和其他的文件同步了。

  1. 拷贝该文件夹的”共享秘钥”
  2. 从 btsync 中移除该文件夹
  3. 在本地硬盘移动文件夹到新的位置
  4. 重新在 btsync 用之前的”共享秘钥“,添加该文件夹

VPS 上启用 https

默认 btsync 的 web gui 是没有启用加密的,如果想要使用 https://ip:port/gui 来访问,则需要使用 config 配置,并在config 配置中设置 force_https, ssl_certificate,ssl_private_key ,然后重启 btsync 。

如果觉得这样让 btsync 直接获取证书不安全,这里 还有另外一种配置,利用 nginx 的代理。

分享密钥的网站

reference


2016-04-18 btsync , 产品体验

小行星视图App review

最近迷上了360度全景,搞了得图800,和理光 theta m15的全景相机玩。然后就对周边的全景处理App都体验了一下。最早接触到 Sphere Photo 也要归功于 Google 的原生 Camera, 然而因为不知道的原因,在 Android kitkat 之后的版本中这个小行星视图就消失不见了。而我还是依然很怀念这样的视图。下面就是一些 Play Store 中存在的制作小行星视图的App。

Android Apps

Tiny Planet FX Pro

完整却不够完美 市场上唯一一款收费的小行星app,但是给我的感觉却是做的不够精致和完美,今天竟然处理出不完整的人脸。处理图像甚至比不上另一款免费的app。

Little Planet

除了开始的广告一切还好 开始的广告可能是让很多人打低分的原因,但是这款app,确实达到了我的需求,并且实现的很好。开发者可以尝试提供pro版本来去除广告或者内购去广告。

Tiny Planet - Globe Photo

广告多功能简单 太多影响操作的广告,横幅广告侵占了操作预览区域。功能比不上其他app。

Spherify

功能简单广告影响使用 功能几乎没有,处理时间太长。广告占据太多篇幅。

最后推荐 Little Planet , 虽然在App开始出现了全屏广告,但是效果及功能和收费的 Tiny Planet FX Pro 相差不大。

temple

android

cosoc

How to make sphere photo using photoshop

大多数时候我没有时间用 Google Camera 照完整个全景,这个时候如果可以后期合成当然是最好的,于是就有了这样一篇文章 ,只要有一张全景照片,利用 Photoshop 同样可以实现 Sphere Photo。 同样也可以参考这篇文章

最后推荐一个社区 https://plus.google.com/u/0/communities/115970110085205516914 ,社群的简介里面有很多教程,并且分享的 Post,质量都很高。


2016-04-16 Android , SpherePhoto , Android app

推荐网站之邮件签名:htmlsig

推荐好用的网站系列之生成邮件签名 htmlsig 。想要一个漂亮的邮件签名,又不想自己写 html,最好的方法就是找一个模板然后自己填写内容。这个网站就是这样的。

官网地址:https://htmlsig.com/

样式1 htmlsig 1

样式2 htmlsig 2

样式3 htmlsig 3

样式4 htmlsig 4

当然我本人最喜欢样式2.

如果稍微懂一点 html 知识,将模板下载下来然后自己手动修改倒也是不错的选择。

生成自己的模板之后,Gmail 和 Inbox 都可以使用复制粘贴的方式将签名添加进去。


2016-03-23 website , 推荐网站

Google+

最近文章

  • 将 MySQL 升级到 5.7 这些天折腾 Django 的时候用到了 MySQL,然而本地和VPS 上使用的版本不一致,本地使用了 5.7 版本,而 VPS 上使用了 5.5 的老版本,在数据迁移的时候遇到了 5.5 版本下不支持 DATETIME(6) 这样的数据类型。 DATETIME(6) 用来保存精确到微秒的时间。
  • Docker 入门 Docker 是一个能够把开发环境的应用程序自动部署到容器的开源引擎。该引擎的目标是提供一个轻量、快速的环境,能够运行开发者的程序,并方便高效地将程序从开发者的笔记本部署到测试环境,然后再部署到生产环境。 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
  • 使用 nethogs 查看每个进程流量 在 Linux 上查看系统流量有很多命令,平时一直使用 iftop 来查看单块网卡或者系统整体的流量,iftop 可以查看 TCP 链接的流量情况,分析出流量连往的 IP 地址。但是 iftop 无法做到查看系统中单个进程的网络流量情况。所以 Google 一下之后发现了 nethogs 。
  • 使用 supervisor 管理进程 Supervisor (http://supervisord.org) 是一个用 Python 开发的进程管理工具(client/server),可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。
  • MySQL 数据类型 了解并熟悉 MySQL 中的数据类型,对建表和数据库优化都非常重要。 MySQL 实现了 SQL 定义的类型,也响应的增加乐意 tiny, small, big 的类型。 MySQL 的数据类型主要分成三个部分: Numeric Type 数值型 Date and Time Type 日期和时间 String Type 字符型