lock, unroot & update android

root android 的教程海了去,但 unroot 和重新 lock 的似乎没多少。下面是对我的 Nexus7 unroot,update 4.2.2 和 lock 的过程,虽然理论上应该是一致的,但不担保别的 android 设备 OK。下面说明以 Ubuntu 为平台,但对于 Windows 等系统应该也是一致的。

另:先备份保存数据,以免欲哭无泪。

首先得确保安装了 fastboot 。最简单的安装方法就是下载 Android 的 SDK,解压或安装后在 platform-tools 目录即可找到。debian / Ubuntu 可以使用 apt-get install android-tools-fastboot 安装。

然后为了免掉敲长路径的痛苦,把 fastboot 所在目录加入到环境变量中,或者 ln 一下。
继续阅读“lock, unroot & update android”

使用 jQuery.windowName 进行 ajax 提交数据时的一个注意事项

0.9.1 版本来说明,开头有这么几行代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(function ($) {
$ = $ || window.jQuery;
var origAjax = $.ajax, idx = 0;
$.extend({
ajax: function (s) {
var remote = /^(?:\w+:)?\/\/([^\/?#]+)/,
data = '', status = '', requestDone = false,
xhr = null, type = s.type.toUpperCase(), ival = setTimeout(function () {}, 0),
onreadystatechange = null, success = null, complete = null,
localdom = remote.exec(s.url);
if (s.windowname || (type === 'POST' && localdom && localdom[1] !== location.host)) {

// more code...
} else {
return origAjax.apply(this, arguments);
}
}
});
})():

留意第 11 行的判断条件,当不满足的时候将使用回普通的非跨域的 ajax 提交。

那行的判断条件是:配置中存在着为 true 的 windowname 属性或是 post 类型的提交且存在着非同域的有效提交地址。

所以当想确保使用跨域 ajax 提交时,需要确保进入 if 分支才行,不然服务器那边用跨域的方式返回数据,js 这边却认为是非跨域的,结果就报错了。

由于测试的时候可能忘记了使用不同的域,所以最保险的方法是在 .ajax 方法中显式加上 windowname: 1

今天被测试机上的这个问题搞了 2 个小时,找到真相后欲哭无泪。

使用jquery windowname插件实现跨域提交的几个要点也提到些值得注意的地方。

独生子女的婆婆妈妈

看完了这部 4 个独生子女的爱情婚姻家庭生活剧,感想些许。

爱情是两个人的事,爱就爱了,不爱就不爱了。但婚姻是两个家庭甚至是 4 个家族的碰撞。生活平淡但不平静,从换鞋、拖地到吃饭、消费和孩子,都可以爆发出无限的分歧和冲突。代与代之间存在着巨大的鸿沟,从生活习惯到对待事物的态度上。其实更确切地说,是生活在不同环境中的人之间有着巨大的鸿沟,在外出发展和耕耘于田地的老一辈间尤其凸显。

“据理力争”的问题在于大家都认为自己是有道理的,没有人觉得自己错了。没多少人肯主动委屈自己来成全别人,于是后果便是两败俱伤甚至于反目成仇。很多年前看过一篇文章,意思大抵是婚姻家庭生活中不应是讲道理。
继续阅读“独生子女的婆婆妈妈”

windows里取消分区的活动标志

上周手贱,不小心在 windows 下把硬盘的某个分区设为了『活动分区』,直接后果便是无法引导进入系统。

最惨的是系统本身的那个『磁盘管理』没有取消活动分区的这个功能,虽有命令行工具,但那时已重启。

还有,手头有装有 PE 的 U 盘。

U 盘启动,进入 PE,打开命令行

1
2
3
4
5
6
diskpart
list disk           # 列出所有识别的磁盘
select disk 0       # 选择欲调整的磁盘(根据容量来识别应该就 ok 了)
list partition      # 列出所选择的磁盘的所有分区
select partition 3  # 选择待调整的分区
inactive            # 取消设为活动分区

成功后一路 exit 退出即可。

面对历史的车轮

面对着历史的车轮时,大抵有 3 种反应:

  • 1. 世界怎么变成这样了
  • 2. 世界不该是这样的,消除异端,还我青天
  • 3. 历史的洪流势不可挡,当应顺应潮流

第一种基本都是小兵的命,无论车轮怎么转,都是在被拉着走的份。

第二种和第三种谈不上好坏,谁赢了谁说话,谁赢了谁暂时掌控下车轮,顺便动动车轮后面的拖把。