Pages

Tuesday, August 27, 2013

华为C8812无法在Ubuntu系统Eclipse ADB中使用

华为的电信定制手机C8812连接Ubuntu后,打开调试模式,使用命令

adb devices

返回如下结果

➜  51-android git:(develop) adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
emulator-5554   device
????????????    device

识别出了手机,也能在命令行的ADB中正常使用。但是却不能在Eclipse中使用,就因为那一行问号。解决办法不是Google官方的添加 /etc/udev/rules.d/51-android.rules 文件(添加这个文件之前adb devices显示的结果就是这样)。而是华为自己的问题,解决办法如下,来自这里

  1. 使用电话拨打##2846579##
  2. 这时会出现一个菜单,选择projectMenu
  3. 接着选择后台设置
  4. 接着选择USB模式
  5. 选择Google模式

完成步骤5后就可以了,不要重启,我第一次找到这个方法时,按帖子说的重启了,结果又变回去了。

事实又一次证明,国产手机对于好玩机的人来说就是个坑,尤其是定制机。

Written with StackEdit.

Sunday, August 25, 2013

想去程序员培训学校

无意中看到了CSDN办的黑马程序员训练营,培训Android开发,说是平均工资7K。学习时间4个月,学费13500,可就业后分12个月付款。下载了一集它的入学前必看的基础视频看了一下。想起了去年在东软的日子,都是同一性质批量生产程序员的培训机构,没多少区别。要说有区别,这个视频上讲课的教师思路清晰,写代码很快,是个老手。20多分钟就从零开始做了一个可以播放音频文件的Android出来,还注意到了基本的易错的地方。讲的节奏很快,照这个速度,如果是我学4个月应该能做一个合格的入门Android程序员了。

前几天也看了一个微软程序员的博客(刘未鹏,博客),他很重视学习方法,读了许多认知心理学方面的书。他也讲到现在的大学教育(软件开发这一块)与软件公司的用人需求严重脱节的现象,还专门写了一篇博文(怎样花两年时间去面试一个人)。分析这个问题并给出了可行的建议。他写到现在学软件的大学生的困惑:

绝大多数应届生直到毕业也不清楚他们想要去的公司到底需要什么样的能力,或者说,他们到底需要具备什么样的能力才能在应聘季节拥有自己的选择权。中国虽然本科教育环境差,但是同样有很多的人在本科希望整点东西出来,他们有一腔的激情和抱负,有强大的动力,但就是不知道自己需要掌握哪些技能才能满足雇主的要求,求告无门,整年整年苦闷的像没头苍蝇一样乱撞。

我觉得我就是这个处境,大学三年了,学了些C,C++的语言基础,也认真读完了《深入浅出MFC》对MFC的原理也大略有个了解。可也于了解,学完了基础就不知道接下来干什么了。我知道其实这主要是因此我懒,有那么多开源项目可以去学习,或者自己写小软件自娱自乐,可是我都没有做。我只乐于学习一些小Trick,比如结构体的内存对齐,C函数参数的入栈顺序有哪几种,C++的虚函数,纯虚函数,又或者一些漂亮的命令行命令,却又不去系统的学习bash。玩Linux又不去看鸟歌的书,也不编译内核,也不写大的程序。学了Python,仅止于能爬几个页面,处理个字符串,不去学Web框架。

我去学个黑马程序员培训班学的话,如果出来真能找到7k的工作,那比考研好多了。因为我就需要有实际的项目需求摆在那里,督促着我去学习,只有这样,我才知道该往哪里努力。而程序员学习本应该是这样的,以实际需求为导向,缺哪补哪。而且以我在大学学习的基础知识(操作系统,体系结构,算法),加上培训后掌握的开发经验,进一般的软件公司应该没有问题。进入公司,才算上了道。老在学校里,我又不会和人交往,永远不知道自己该干什么,知道了也没有压力和动力学习。对这个大学早已厌倦了。也不想继续读研究生了,虽然考上的可能性也很小。那就明年毕业后去黑马吧。

告诉我该做什么,怎样做,我就能做好。

Written with StackEdit.

Wednesday, August 14, 2013

Ubuntu 12.04.2 编译 Vim 7.4,带有中文支持

还没编译过vim,趁这次vim出新版,Ubuntu源里还没有,又想尝鲜,就促成了这次编译。

安装依赖库

为了保证编译顺利进行,首先安装依赖的库。
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev libgtk2.0-dev libatk1.0-dev\ libbonoboui2-dev libcairo2-dev libx11-dev libxpm-dev libxt-dev libperl-dev python-dev
其中libperl-dev和python-dev分别用于perl和python脚本支持。如果需要lua和ruby的支持,需要分别安装 liblua5.1-0-dev 和 ruby-dev。

git下载Vim源码

git clone https://github.com/b4winckler/vim.git

配置

假设上一步把vim的代码下载到了~/vim目录中。
cd ~/vim
./configure --with-features=huge --with-python-config-dir=/usr/lib/python2.7/config/ --enable-multibyte --enable-cscope --enable-fontset --enable-gui=auto --disable-hangulinput --enable-luainterp=yes --enable-perlinterp=yes --enable-pythoninterp=yes --enable-xim --prefix=/usr
其中

  1. --with-features=huge 打开最多特性。
  2. --with-python-config-dir=/usr/lib/python2.7/config/ 指定的是一个包含config.c的目录(安装python-dev后才有)。
  3. --enable-multibyte 支持多字节文字(中日韩等)
  4. --disable-hangulinput 取消韩国语输入法。
  5. --enable-xim 支持xim输入法(以防不能使用ibus或者fcitx,不知道是否必需)

顺便强烈推荐一下zsh,它兼容bash,可以解析Makefile,Tab自动给出配置选项,使用它就不用手工输入这些长长的选项了,例如:我输入 “./configure --en” 按两次Tab键(按第一次补全为“./configure --enable-”),自动列出所有可用选项,见下图:

zsh自动补全
ZSH自动补全功能
当然它的功能远不止这一项。文件名和其实常用程序的参数自动补全也非常强大。

编译

很简单,直接使用make命令:
make

安装

安装之前,可以先运行一下编译好的新vim,查看功能是否正常
./src/vim --version
./src/vim
确认没有问题后,根据下面参考文档的建议,先把系统原来的vim卸载掉(我安装时没有卸载,安装后vi命令指向的还是原来的vim,vim也是原来的vim。因为我原来的vm安装在/usr/local/bin,现在的vim安装在/usr/bin,vi是vim的链接。新vim安装后好像不会更新vi的链接)
sudo apt-get remove vim vim-addon-manager vim-common vim-gui-common vim-tiny vim-scripts vim-runtime
然后再安装
sudo make install

把vim作为默认编辑器

来自下面参考资料里的方式,很高级的样子。顺便也把vi链接到vim了:
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1
sudo update-alternatives --set editor /usr/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim 1
sudo update-alternatives --set vi /usr/bin/vim

参考资料:

Building Vim from source

Saturday, August 10, 2013

同步技术不简单:DropBox技术过硬,Xmarks跨浏览器同步书签,还是扶不起来的阿斗

最近Chrome换了Blink引擎后就一直抽风,打开网页就会卡5-10秒钟,几乎不能用。所以暂时将就着用Firefox,还下了个Opera,因此听说它也要换Blink引擎了,可惜Linux版是个旧版,比最新版落后了3个版本。用着也还行,偶尔卡一下。

用Firefox就得重新登陆各种网站了,一个一个找注册时用的密码很麻烦,在Chrome里都是自动登陆的。最要命的是Chrome里的书签没法同步过来。去年用过Xmarks,同步功能有问题,删掉的书签过一会儿又出来了,搞的很烦,就不用了。现在又要用,Google了一翻,大家异口同声的说Xmarks,看来还是没有别的选择,只好再把它装起,看看它的技术进步了没有。刚才在Chrome里整理了一些书签,删了几十个。过一个小时发现删掉的书签又出来了!!!!直接覆盖了我的修改!!!不玩了,立马缷。

同步这东西,看着简单,但是小公司做出来的东西就是不靠谱。用Windows的时候,找同步网盘,首先用的是Windows家的SkyDrive,微软大公司了吧,可这个SkyDrive一点也不靠谱。经常出现文件冲突。最可气的是出现冲突了,SkyDrive一点提醒都没有,只是默默的把冲突的两个版本的文本重命名一下。只有当你打开我的电脑,进入那个文件夹才发现冲突了。这时候可能你也不知道应该保留哪个版本了。真恼人。后来换了国内的一个网盘,记不大清了,好像是盛大网盘,问题与SkyDrive一模一样。后来电脑就换了Linux,大部分网盘都不支持Linux,于是试用了众口相传的DropBox。从此世界就安静了,再没出现过文件冲突的烦恼事。不愧是专业的同步网盘!现在如果有人问用什么网盘,我只推荐DropBox。

DropBox的优点:

  1. 技术过硬,这一点最重要,从我将近一年的使用来看,从来没有出现过文件冲突的情况。微软的SKyDrive和盛大网盘都经常出现。
  2. 瞬间感知文件变化。修改一个文件后,按下保存Ctrl+S,立刻就能看到任务栏里的DropBox在转动,表示正在同步。不知道这个特性是否为LInux独有。
  3. 保存最近三个月的文件修改记录。而这些历史版本不占用存储空间。这个比git方便多了。同步密度比git大多了,每保存一次就同步一次。
  4. 文件可以外链。接收文件的人不需要有DropBox账号就可以下载。
  5. 简洁好用,没有广告。
  6. 全平台支持,不论将来你换了Android, iPhone, Mac,Linux,还是其他设备,DropBox都在那里。
  7. 等你发现
唯一的不足:
  • 空间小。注册有2GB,facebook, twitter关注它可送1-2G。我现在有18.88GB,原因是去年末有个活动。所在学校注册的人数达到一定数量,就送相应的空间使用权2年。虽然只有两年时间,这个应该不是问题,互联网的发展速度这么快,两年之后网盘是什么情况,还不一定呢,说不定到时候DropBox的免费空间要提到20GB呢。以后也许还是其他活动。
这点不足,应该和它的定位有关,它是同步盘,不是网盘。虽然用户并不会区分这一点。2GB的空间肯定是对用户使用的平均空间进行过统计测算的,对大部分人够用。免费的,技术又这么好,也别奢求太多了。只能盼望着网盘的空间也遵守摩尔定律,像电子邮箱一样,从原来的几十MB,1G到现在的几乎无限容量。

我的DropBox只同步了文档,照片和音乐(我的文件不是很多)这些最重要的东西。所以空间只用了60%。将来空间用完了,就不同步音乐了,这个是可以从网上再下载的,而且可以转移到网上歌单。文档就比较独特了,价值最大,因此最优先同步文档,其他的都可丢到一边。

下面是我的DropBox邀请链接,通过这个链接注册DropBox,你和我都可以多得500MB空间。共赢,何乐而不为?

http://db.tt/5GnQmDbJ (通过此链接注册DropBox,多得500MB空间)