刷MIUI三天试用感受

自己机器是三星i9003,之前一直有关注到miui的消息,可是我这个机型不算大众,所以理所当然没有MIUI官方支持,i9000就有,国外xda上有些大牛还是愿意去改造miui来适应i9003。

早两天突然手闲了就想刷机,主要考虑Android ICS和MIUI,看了几个图觉得MIUI还真的挺不错的,之前用的Rom是XXKPQ,拿CWM备份一次就开刷了,这里吐槽一下CWM里面按键太滑了,备份的时候我用中间硬件确定一下就按了两次的样子,有点危险的说。

这次的Rom是从这里下载的,是先看到的刷机精灵这工具,工具看上去不错,貌似要把刷机这个折腾活傻瓜化,但是对于我的手机用不了,只是说搜索不到刷机方案。

下面开始说体验。

我个人试用过后觉得MIUI最大的特点莫过于做好了很多必备的用户级程序,体验很好,可定制型强

之前的Rom上面我需要用很多第三方程序才能满足我的需求,主要有:来电通(智能拨号、拦截等用途)、Go短信(美观、定时发送、来信即显)、天天动听、UC浏览器。而我发现刷了MIUI之后系统自带的已经能够基本满足我的需求了!一开始用我基本只需要装个输入法就好

上图分别展示拨号器、浏览器、短信、音乐播放器和图库。从上面看以看到MIUI做了很多细节上的优化,例如短信那幅图还有标注飞信发过来的(12520打头的号码)等

上面的图展示了拨打电话使得界面还有一些小东西像录音、指南针、便笺,这些可能不常用但是还是看到用心做的痕迹,倒数第二个图看到的是MIUI通知+开关整合的下拉通知栏,之前我也有下拉十三开关,但是只是一排横向而且和通知挤在一页很不协调。

最后一图展示的是MIUI的主题商店,在这里可以找到很多好看的主题可以随心更换
 从上面的图可以看到一个主题还能分模块部分应用和自行做小修改。不知道看到上面的桌面的图你们有没有疑惑,反正一开始我刷完的时候就很疑惑,有没有发现好像少了一个Application List的按钮,点击之后应该可以看到所有已安装程序的图标的。没错,确实是没有按钮,MIUI直接把图标都放在桌面上了。再思考一下其实之前的Application List和桌面的区别就只在于桌面可以放壁纸和各种widget,整合在一起应该是个好主意。

另外说到定制性,MIUI里面很多东西可以通过设置来修改,例如状态栏电池图标是图形方式还是数字方式这些。在其他的Rom里面恐怕得通过自己手工修改覆盖系统中的文件才能达到同样效果。

上面说了这么多好的再来说下不好的地方:

耗电问题:确实比较耗电,一天一充也很难撑得住。有一点注意到的是,关于手机里面显示的1.2Ghz的CPU频率,也就是超频了,原生Rom里面默认工作频率是1Ghz。另外MIUI主题包一个可以有十来M的大小,其实动画我开了部分,电话短信都不多,爱美要付出代价……
驱动问题:毕竟不是原生MIUI支持i9003,驱动这个不能怨言太多。目前就发现大家都知道的摄像问题,拍照可以,摄像不行,不过我不常用,我手机买回来只摄像过……两次?

总的来说我对于MIUI还是表示十分喜欢,估计一段时间内不可能刷回去原来的Rom,听说腾讯也来折腾这玩意,名号Tita,刚出来的,貌似手脚太慢了点,而MIUI号称国内外已有50万发烧友用户

汇编第二章的思维导图

今天毛概课的时候在手机上做了这个汇编第二章的思维导图

之前看了很多思维导图的相关资料,觉得这算是个不错的工具,但是自己一直没有做过图

推荐一下这个Android上面的思维导图软件Mindjet,免费,可以保存3种格式

PC平台首推Freemind,在线平台推荐Mind42.com

除了图上看到的树状结构之外,有一些节点有部分小的Note是一些要注意的地方,包括书上讲的老师讲的我自己理解的

这个图上面只做了我们课程要求的8086/8088部分而已,其他的没有做进去

导图点击下载:汇编语言指令系统(格式:Freemind) Ps:wordpress直接上传Freemind的mm后缀文件不允许,我就压缩了一下

黑苹果折腾手记(二),安装过程

下面开始讲黑苹果安装的过程,还是一样,教程里面有的我就不重复了。

我们安装软件都有一种不停按下一步而不看内容的心理,我第一次安装黑苹果就是败在这里了,在标题为安装摘要的窗口里面,下一步就会开始安装,这个时候其实窗口左下角有一个按钮“自定”,这里是用于选择安装时候附带的软件包的,包括引导程序的选择、显卡声卡网卡的驱动选择,这里面就驱动部分要仔细选一下,例如我显卡选的Natit的驱动,声卡VoodooHDA0.2.6(后来发现这样还是没声音,后面进去系统之后再装了另外一个东西才行),以太网卡RTL8169。还有个值得一提的地方就是PS/2键盘,后面我选了Voodoo PS2(默认是没有选PS/2键盘的)。我是笔记本电脑,我第一次没有“自定”安装的时候就检测不到键盘,我就奇怪了这键盘还得驱动,其实还真要,USB键盘和PS/2键盘有点不一样。

完了之后就可以开始安装过程,这个的速度跟光驱有很大关系,我光驱就是快挂了的那一种状态极其不稳定,有一次我是17分钟,有一次则装了超过一个小时。这里顺便提个东西,安装过XP、Win7、Ubuntu、CentOS、黑苹果等等,感觉黑苹果的安装体验最棒了,苹果不愧是苹果。安装完的时候,总是会提示你安装失败让你重启再试什么的,这里一般是说没办法写入启动信息。在上一篇里面我讲过我机器之前的状态时Ubuntu+Win7共存,主引导程序是Grub。机器启动的时候会是Grub菜单让我可以选择要引导哪个系统(后面再说Grub如何伟大)。而这黑苹果安装完说失败要求重启,重启之后直直的进入了win7,明显安装的时候主引导程序已经被破坏,而由于Win7在C盘第一个主分区(激活状态的)所以Win7被直接引导。

后面我要实现Grub引导三系统共存可选启动,所以grub还是要修复回来。这个时候用到的是Ubuntu的live cd。用它启动之后打开终端,重新安装Grub引导程序。命令如下(后面#开头的是注释不用输入)

sudo -s                                                                 #获得Root权限
mkdir /mnt/root                                            #创建一个目录做挂载点
mount /dev/sda12 /mnt/root                 #挂载sda12到上面创建的挂载点,这里sda12是我ubuntu所在分区
mount -t proc none /mnt/root/proc    #重新挂载proc
mount -o bind /dev /mnt/root/dev      #重新挂载dev
chroot /mnt/root /bin/bash                    #切换系统根目录,windows你敢这么干么?
grub-install /dev/sda                                   #重新安装grub

完了之后就可以重启了,这时候grub引导又回来了,之前的引导菜单还会在,那么这个时候如何进入黑苹果呢。我们可以在grub菜单出来的时候按c进入grub命令行,敲入命令

set root=(hd0,14)               #设置启动的根分区,我这里黑苹果的分区是第14个
multiboot /boot                  #启动相关文件 存放在启动分区的/boot里面
boot                                          # 开始引导启动

完了之后就引导到黑苹果里面去了,接下来会有一个配置过程,像用户名密码、时区什么的,这些也是找找教程里面有,不重复,配置完之后就可以开始使用了!!那后面我们要进入黑苹果每次都要在grub那里敲命令么?不是的,下面可以重启进入一次Ubuntu,安装一个叫做grub-customiser的软件,这个软件顾名思义可以自定义grub,安装之后打开他会扫描硬盘上面的可启动的操作系统,Mac OS明显会被发现,这就是grub的伟大之处。它可以引导很多不同类型的系统哦,linux/win/mac通杀,使用这个工具还可以调整启动菜单,包括显示的项目(你可以去掉一些内存测试和旧版本linux内核的启动条目)、默认启动项目(你可以设置成默认启动win)、等待时间(之前宿舍里生哥不小心把等待时间弄成0就选不了引导了)。

现在这个Grub的引导菜单文件(grub.cfg)是存放在Ubuntu所在分区里面的,所以后面你重新安装黑苹果的话菜单文件是不会丢失的,所以grub引导菜单上面的Mac OS条目还在(当然安装黑苹果破坏grub引导程序之后重新安装grub还是必要的),不过你会发现这时候选择它并不能正确引导,原因是安装Mac每次都会生成一个uuid,你打开grub.cfg会发现,而因为重装黑苹果过后这个uuid变化了,所以引导失败,你还可以用grub-customiser再生成一次,要不也可以手工改grub.cfg把黑苹果引导的那一块换成上面的三句,不用uuid一劳永逸。

安装过程到这里就就完结了,看看字数又一千多了。安装完之后可以用,但是这是10.6.3的版本,现在很多程序例如Evernote要求10.6.6以上版本才能用,那么接下去我还会写一篇关于升级和备份的相关问题

利用OpenVPN实现跨地域跨网络机器互访

可能有不少人知道VPN的,在其中有一部分人应该知道并在使用OpenVPN或其相关技术。看看你的网络连接,是不是有TAP/TUN之类的虚拟网卡?是不是用过一些软件穿墙而出?有一些VPN类型的穿墙工具其实也是基于OpenVPN的,只不过可能自己再封装一个图形界面程序仅此而已。今天我要说的并不是穿墙的事,而是……如题。

普及一下IP与网络互访的问题

我们知道我们现在要访问网络上的机器,我们需要通过TCP/IP协议,利用IP地址找到对应的主机。IP地址分有几类,有一类是公网IP地址,也就是这个地址是全球唯一标识你的机器的(排除所有钻牛角尖的情况),那么通过这个IP地址我可以直接访问到你的机器。还有一类是IP地址是私有IP地址,一般会在局域网内用到,这类地址有一个范围,包括10.开头的(10.x.x.x)、172.16到172.31的和192.168开头的(192.168.x.x)。

私有的IP地址一般在局域网内用到,而局域网是有很多很多的,整个暨大内部可以组成一个局域网,你宿舍里面用路由器可以组一个局域网,你家里用路由器也可以组一个局域网。正因为局域网用的私有IP是不能在整个网络上唯一标识你的(在局域网内可以唯一标识你的机器),所以跨网络或者跨地区(指明显不在同一个局域网内)的时候,你无法直接访问一台只有私有IP地址而没有公网IP地址的机器。

一般的家庭ADSL宽带上网貌似都能拿到一个公网IP,如果你在家里就你一台机器接上MODEM拨号上网,那么公网IP就在你的机器上唯一标识你的机器,全世界都可以通过这个IP访问到你的机器(排除各种防火墙阻挡的情况),而问题是如果你在一个局域网下没有公网IP地址的时候,访问的障碍就产生了,这种情况很常见哦,例如你在家里用个路由器来自动拨号,或者用它来把网络共享给多个电脑,这样公网IP就分配在路由器上面了,你的机器将会得到的路由器所建立的局域网内的局域网私有IP,这个时候外部就算访问路由器得到的公网IP也只能访问到路由器这一层,而无法穿越到路由下的局域网内的机器(这也是路由器隔离隐蔽作用的体现,路由器之下还是有一些办法能够让外边机器访问到内网机器的,例如端口转发,但是不一定适合需求,后详)。

如果说两个机器有一个有公网IP而另外一个没有,那还是可以实现单向的访问的,但是如果两个机器都在局域网内怎么办?这个时候就需要一个中继来辅助了(排除TCP/UDP打洞穿越NAT等技术,什么东西都是有例外的,所以这文章这么多排除排除……)

VPN的再认识

VPN这个东西如果你没有穿过墙没有撞过墙恐怕在企业上班工作之前甚至一辈子都不会接触到(感谢郭嘉用这么强硬的手段来督促我们学习相关技术)。VPN中文是虚拟专用网络,P是private也可以理解为私有,上面说的局域网就是一种私有的网络。我们知道像局域网这样,局域网内的机器是可以通过局域网内私有IP地址互相访问的(再次排除各种防火墙和网关限制)。而VPN正是要去虚拟一个私有网络环境(暂时也理解成局域网吧),来让连接到VPN的机器组成一个虚拟的局域网,可以做一些局域网才能做或者才比较好做的事情(例如互访,访问特定资源)。

说这么多虚的来举下例子,很多企业他们有一些企业内部的资源会存放在企业内部的服务器上面,这个服务器并不允许一般人从外网直接访问,只能在内部局域网访问(例如公司里边办公室组成一个局域网之类的)。但是这家公司有多个地方的分公司,又或者要允许公司里面的人可以在家里办公,可以访问这个内部服务器。那么他们一般会有一个VPN服务器,这台服务器可以对外网提供服务,当外边其他地方的机器通过VPN的客户端软件连接到VPN服务器,那么它就相当于连接到了公司内部的网络(发现这个有点不好解释)。又例如我们暨大的图书馆资源,只能是学校内部网络上的机器可以访问,那么回家了怎么办?也是通过VPN这种方式把外网机器接入到暨大内部网络从而实现访问,很多高校的图书馆都是这么做的。

VPN有好几种类型,例如PPTP VPN,L2TP VPN和标题里面的OpenVPN等等。Openvpn是我看来一种比较好的方式,实现简单支持的设备多,作为服务器安装的OpenVPN可以装在各种服务器上面,包括OpenVZ的VPS,而PPTP VPN就不行。另外作为VPN的客户端,OpenVPN在各个平台下都有相应的工具,覆盖Win/Linux/Mac甚至各种移动平台,另外OpenVPN一般使用证书作为认证手段,默认一个人一个证书,并且默认不允许多人共用一份证书,相对安全一些。

OpenVPN的安装配置过程我就不想说了,网上一搜一大把,一般按照默认配置,我这里提几个关键的东西,例如服务器的配置中:

;push “redirect-gateway def1 bypass-dhcp”    这一行是说是否推送默认网关的设置,推送了的话连接到服务器的所有客户的流量都会转发到服务器那里过(一般穿墙用的就是这么整的),如果去掉了分号注释的话就推送,还需要额外配置iptables和转发的配置,如果只是为了标题说的机器间互访则不需要推送的。

client-to-client    这一行配置是允许及其之间互访的,默认是不允许的(前面有分号注释)。

说了这么多到底切到题没有我也不清楚,OpenVPN服务器客户端配置都不难,都能找到资料。连接上之后那个TAP/TUN的虚拟网卡就会拿到一个虚拟网络的内网IP,默认是10.8开头的,连进去的机器就可以通过这个IP实现互访,是互访哦不是单方向。

从新入移动硬盘说说USB3.0那些事

今天在某东网上买的移动硬盘到货,很高兴拆开,拿出来接电脑上第一时间是测试。

在贴测试结果之前,先来普及一下usb3相关信息,百科什么的得自己去看,这里我说几个大家可能关心的问题。

1.USB3.0的设备啊?我的机器好像并不支持USB3.0,那能用吗?
答:能用,USB3.0标准向下兼容,也就是在那些一般的不支持USB3.0接口的电脑上还是能用,至于怎么去看自己机器是否支持USB3.0,我想这里有一个最简单的方法:USB3.0规范规定USB接口里面的那块塑料片是蓝色的,一般USB2.0设备的相同位置都是白色的,如果你电脑上USB接口看进去不是蓝色的那么应该是不支持的。

2.USB3.0我听说会快很多,但是我机器确实不支持USB3.0,那我还要买USB3.0的设备吗(例如移动硬盘和U盘)?
答: 还是应该选择USB3.0的设备,目前比较新的机器一般都配有USB3.0接口了,而像U盘/移动硬盘这些设备也有了很多支持USB3.0的型号给我们选择,虽然比较之下USB3.0设备要比USB2.0的贵上一些,但是我个人认为选择USB3.0设备还是具有前瞻性和实用性意义的。USB3.0的移动硬盘/U盘在普通只带有USB2.0接口的机器上面读写还是有速度提升,下详。

我呢,之前是买了一枚USB3.0的U盘,当时我在自己机器上面做过测试,我机器是不支持USB3.0的,用的是ATTO

从图上可以发现这个U盘写入速度基本可以达到20MB/s左右,读出速度则在34MB/s,这听起来是不是让人非常兴奋?确实是的,下面来看看作为对比的一枚普通USB2.0的U盘的测试结果

这个速度大家可能就比较熟悉了,10mb/s左右写入,15mb/s左右读出。注意一下这两个图底下坐标轴是不一样的。

我一宿舍电脑都是不支持USB3.0的,也就没去测试USB3.0存储设备在支持USB3.0的机器上的情况了,不过听说还能快上很多很多。

后来随着时间的推移,机器里边的320G硬盘已经塞得满满的,于是寻思买移动硬盘,今天总于是到手了。

其实除了图上,还有两三个分区在win下面看不见,包括Ubuntu的一个主分区和交换分区,黑苹果的一个Hfs+分区。

USB3.0的移动硬盘到手,第一时间还是拿ATTO来测试,结果如下

移动硬盘和U盘从物理结构上就有很大的不同,这里我们发现移动硬盘读写速度基本上是相等的,而对比上面的U盘,U盘普遍是写入较慢读取较快且有较大差距。

看到上面的图的时候我其实有点失望,为什么呢,我先贴下一般USB2.0的移动硬盘的测试结果。

通过上面两图我们可以发现,一般移动硬盘也能达到30MB/s以上的读写速度,而USB3.0接口的移动硬盘的读写速度并没有很大的提升,只到了35mb/s左右,快了一点点而已。

通过以上的对比,我们发现,U盘的速度很大程度受到接口标准的限制,所以升级到USB3.0的U盘可以有很大的速度提升(硬盘类里面最快的SSD固态硬盘也是像U盘那样使用存储芯片作为存储介质),而移动硬盘的速度瓶颈在于他的机械设计,所以USB3.0接口标准的提升也不能为它提升多大的读写速度。(据我所知机械硬盘内部速度瓶颈大概在60MB/s左右)

除此之外我们还可以得到的信息是,U盘和移动硬盘由于结构上的不一样,存储速度是有很大差别的。所以不要以为移动硬盘就是容量大一点而已。现在有一些U盘容量也相当大,例如32G的和64G的,我个人认为U盘的优点是便携,适合转移一些小文件。而移动硬盘虽然块头大,还要带根线,不方便,但是读写速度上面还是有很大优势,快几倍,适合转移一些大文件。至于实际情况选择哪个,还是要看大家自己喜欢了。

黑苹果折腾手记(一),准备阶段

早一个星期不知道为什么就很热血的折腾起黑苹果。之前觉得自己对于操作系统还算了解,包括linux,但是唯独没有试过Mac OS。之前自己一直比较偏向软件,然后偏向web方向研发,也去关注前端关注体验,也很想知道苹果系到底是以如何的体验得以吸引这么多用户。没有钱钱买白的苹果,就黑下吧……

废话完,介绍下我机器本身环境,笔记本,型号华硕A41e667id-sl,系列名字是K40ID,
CPU: Intel Core 2 Duo T6670
显卡: Nvidia Geforce GT320m
内存: 4G DDR3 1333Mhz  自己升级的
有线网卡 Realtek RTL8169
无线网卡 Atheros AR9285
声卡  Realtek ALC269

为什么要晒硬件呢,这是因为,折腾黑苹果这个“折腾”,很大一部分是在折腾硬件驱动,Intel系的东西弄黑苹果应该会比较顺利(至少教程是这么说的)。

对了忘了说一个纠结的问题,就是我那个已经非常满的320G的硬盘。除了win7,我的机器上还有装ubuntu(分区号12,还有分区号为13的swap分区),引导工具为grub,win7+ubuntu双启动菜单。我先是在ubuntu下虚拟机安装黑苹果成功,然后就迫不及待要在本机硬盘上装了。

为了腾出空间,我删了ubuntu下虚拟机中的xp和黑苹果,我还删了一堆东西,才有了大概25g左右的空间腾出来。有些人说黑苹果必须装在主分区,然而实践发现并不是这样的。另外,下面介绍一个分区相关工具gparted(http://gparted.org/),多语言,基于linux live-cd的方式启动使用。这个工具很有用,可以调整分区大小甚至移动位置(例如几个分区各能挤出一点空间,挤出来之后将这些已有分区移到一起,把挤出来的空间合并为连续的空间给新的分区,我就是这么干的),而且该工具号称是安全的,无损转换。(实际情况我调整过后,进入ubuntu和win7都要求扫描磁盘,win7下面的扫描还好像发现丢了几个目录)

关于黑苹果的安装来源,我是使用的经典的东皇2.2 雪豹10.6.3,而且我刻了盘。后面折腾过程中发现了一个工具叫做YUMI,这个工具可以用来制作启动u盘/移动硬盘等,他的亮点是可以引导各种iso镜像(我一度以为可以通过这个方式格了光驱/光盘的命),他利用了syslinux,对于linux系镜像可以自动解开文件并且引导内核,而对于一般的/未知的可启动iso则自动使用grub来做引导,有一个简单的gui程序方便的添加和删除iso镜像。

不过这个方式其实不能解决所有问题的,像是引导黑苹果的安装盘iso。安装黑苹果要求开启ACHI模式,不开的话会明显卡在安装盘的引导过程中(具体卡在那一句我没记,如果你也卡住了,上网查下就会看见说是ACHI的问题),很多主板bios默认ACHI设置是关闭的,显示的是兼容模式(compatible),对于我们现在笔记本电脑来说,硬盘光驱基本都是SATA串口连接,IDE基本绝迹。开启这个东西问题不大,对于windows,如果在安装系统之前没有开启ACHI,后面贸然开启,进系统就蓝屏。别紧张,先用兼容模式(关BIOS ACHI设置)进入win7后修改系统注册表,禁掉MsAchi驱动的启动就好了,具体方法自己搜索。Ubuntu到没有这个问题,开启ACHI一切正常,还解决了之前的一个问题。我之前Ubuntu重启的话不能断电,关机倒是正常,单单是重启会卡在机器完全停了,电源灯还亮着这个情况。

扯回去上面说的移动硬盘启动,直接引导ISO不能解决所有问题。这正是因为ACHI,usb接口的启动U盘/移动硬盘,我搜了很久都没发现他们跟ACHI能扯上关系,所以理所当然有出现了卡住的情况。对于一般的Bootable ISO,我还是推荐用移动硬盘启动引导这种方式,一来移动硬盘读写比较快,二来省了刻盘。

没想到这准备阶段都能写千把字,为了控制文章长度先打住,未完待续……

Win7网络终极修复,winsock/tcpip

今天什么六级放榜的,可蛋疼了,还得下载个什么查分保护盾,先不论这个东西多蛋疼,但有一点,它直接或间接导致我的网络发生了故障。故障表现为:

1.win7自带网络诊断提示没有安装一个或多个协议,ip地址为169.254.x.x,dns地址为空

2.修复winsock时,提示系统找不到指定的文件。

解决办法:

1. netsh int ip reset 重置 TCP/IP协议
2.在网络连接属性里面,tcp/ip协议(win7里面显示的internet协议版本4/6) 选中时卸载按钮是灰色的,但是我们可以覆盖安装,点击下方的安装,选择类型为协议,选择从磁盘安装,在路径选择的地方选择c:\windows\inf ,出来列表排在前面的就应该是TCP/IP协议了。
3.安装完之后再使用netsh winsock reset就能正常修复winsock了,至此修复完成