android String字符串中提取数字

做课程项目(北大燕园教室查询模块)过程中,遇到一个小问题,需要从字符串中提取一下数字。记录一下。

 

String str = "一教楼101室"
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(str);
m.find();
System.out.println(m.group());//output is 101

Ubuntu 11.10(内核3.0.0.16-generic)升级内核到3.2.9无线网卡驱动问题

—————————————————————-——背景———————————————————————

前几天上《Linux内核分析及驱动编程》的时候,老师布置了一项作业——安装Linux发行版系统,下载Linux内核,编译、配置和安装内核,配置启动文件。

本身机器上已经安装了Ubuntu11.10(内核版本3.0.0.16-generic),好,拿着同学的一份实验报告过来,照着命令一路欢乐的敲,经过长时间的编译、配置、安装,然后更新grub,成功加载了新内核3.2.9。果断重启,结果发现不能无线上网了,点击网络连接那里,根本就没有搜索周围的无线网络。然后上网各种查,发现资料挺多,但是太杂乱,而且多是一篇抄一篇的,版本也基本是比较早期的,看来看去,自己也按照那些帖子、博客的方法解决来解决去,依然无果。

后来,同学推荐了一本书《火与冰》,当当上缺货,亚马逊也缺货,京东也没,上中关村书城的在线系统查,还是没有,淘宝倒有,去看了,影印的,比较喜欢看了以后收藏,遂放弃之。一问哪买,说是北大小西门的二手书那里有概率能淘到。然后在一个据大叔说是天儿不错的日子出门了。20几个地铁站后,到了本部,又不熟悉路,找饼出来带我去小西门,到了好像没发现有卖书的迹象,饼又带我去了国图和中关村图书大厦,在里面耗了两小时,想,不能就这么回去了吧,去买一本计算机的书看看得了。转悠转悠就看到了一本O‘REILLY出的书《LINUX内核技术手册》,翻了一下,好像正好是关于构建和定制内核的,想着有可能能解决前面打问题,心动,买之。总算有点儿收获了,反正也打算再去北大图书馆逛逛(之前在图书馆在线管理系统那里查到图书馆还有5本,其中有一本编号不是1,能够借出来),就再去了一趟小西门儿,问了一下保安卖二手书的事儿,答曰周六周日他们回出来。额,被坑了,,,直接杀向图书馆,遇到一咨询老爷子,被告知能借出的这本书在学院里面,没在图书馆里。Soga~~ 回北大荒去。

新书慢慢看,今天翻到网络驱动这块,抱着试一试的心情,一顿捣鼓,好之。现在我的Ubuntu已经能够无线上网了。打算把配置过程写下来,方便以后选了这门坑爹课又不幸遇到同样问题的小学弟小学妹们以及谁谁谁。

————————————————————————-—割—————————————————————

第一,找到你的无线网卡的驱动

首先,回到你安装的开发版Ubuntu(内核3.0.0.16-generic),因为你升级以后的内核不是没有驱动嘛,现在就回以前版本去找驱动。

 

这是我升级内核前的版本,如下图

 

 

 

或者也可以在系统监视器里查看内核版本等信息

 

 

 

然后,逆向的从网络连接名中找出控制它的PCI设备。要做到这一点,请查看各种网络连接名称,

在终端中输入:

$ ls /sys/class/net/

如图所示(我们默认以后命令都以截图方式给出,懒得复制出来了。。。)

 

 

 

lo目录代表的是网络回环设备,它没有连接到任何真正的网络设备。eth0、wlan0目录是你应该注意的,它们代表了真正的网络设备。

可以使用ifconfig工具,进一步查看并找出你所关心的网络设备

 

从这个列表的以下几行可以看出,wlan0是活动的并处于工作状态的网络设备:

 

该输出表明这是一个分配了有效IP(inet)地址的以太网设备。现在我们已经找到了wlan0这个设备,为了使它能在新内核中工作,我们需要找出控制此设备的驱动程序。在sysfs文件系统中跟踪链接是很简单的,用一条简单的命令就可以:

 

 

该输出表明模块iwlagn(如果你的模块名字不是这个,没有关系,下面遇到相关命令的时候对应替换就行)正在控制wlan0网络设备。Basename命令将完成以下步骤(可以不用管,这里只是给想了解的同学详细列一下)                                                                                                                                                                 

a. 跟踪符号链接 /sys/class/net/wlan0/device进入包含wlan0设备信息文件的/sys/device/目录下。请注意,在新版本内核中/sys/class/net/wlan0可能也是一个符号链接。

b.在sysfs目录下描述该设备的子目录中,有一个绑定到这个设备驱动的符号链接driver,因此我们跟踪这个链接。

c.在sysfs目录下描述该设备的子目录中,有一个到包含这个驱动的模块的符号链接module。我们要的就是这个符号链接的目标。可以通过readlink命令得到它,输出像这样

 

d.由于我们只关心模块的名称,要去掉readlink输出中的多余路径,只留下最右面的部分(模块名称)。这是basename命令所做的工作。直接传递路径给basename,它将输出:

 

所以,我们把readlink输出的一级级的符号链接所指的路径,传递给basename程序,使整个处理过程只用一行就能完成。

———————————————————————-———不用管结束———————————–—————————————

 

第二,找到驱动模块对应的配置选项

现在我们已经得到了模块名称,还需要找到控制它的内核配置选项。

进入到你的linux内核目录。应该是/usr/src/目录下的。

 

查看具体配置信息。

如果你的模块名字不是“iwlagn”,将其替换为你要找的模块名字即可。

接着在上面find命令的输出中找出那些含有CONFIG_的行。它们就是构建模块需要启用的配置选项。在上图中

CONFIG_IWLWIFI_DEBUGFS

CONFIG_IWLWIFI_DEVICE_TRACING

CONFIG_IWLWIFI_DEVICE_SVTOOL

就是你要找的配置选项,现在有了配置内核所需的信息。运行菜单配置工具:

 

然后按下/键(这会启动搜索)并键入要配置的选项,去掉CONFIG_ 部分字符串。如下图所示(以CONFIG_IWLWIFI_DEBUGFS为例,后面两个雷同)。

 

搜索之。

 

搜索结果,如下图所示。

 

该图显示出的就是你所寻找的。Location中的信息告诉你要把模块iwlagn构建到内核中,下面的配置选项必须启用:

第三,配置新内核

进入你下载的新内核解压后的目录,我的是在/home/david/ss.pku/linux-3.2.9目录下的

然后运行菜单配置工具进行配置,sudo make menuconfig,按照上面的路径,去把相应模块选中,即

方括号中选上*(“如上图的【*】”)

 

第四,重新编译、安装新内核

安装模块

安装内核

不用担心会重新编译全部的内核,make会查找哪些做出了更改。

小技巧:如果你的CPU是双核,或者4核,那么在make的时候,你可以采用sudomake install -j4或者sudo make install -j8命令,这样可以充分利用你的CPU资源(核的数目*2就行,默认是单核 -j2),可以大大降低内核编译安装的速度。

sudo make install -j8命令会把编译文件夹的“arch/x86/boot/bzImage”文件复制到“/boot”,同时还会复制 config 和 System.map 文件,最终在“/boot”会多出如下4个文件:
/boot/config-3.2.9
/boot/System.map-3.2.9
/boot/vmlinuz-3.2.9

/boot/initrd.img-3.2.9

输入命令update-grub,更新grub

重启,输入-uname-a,或者gnome-system-monitor可以看到加载了新内核,并且无线网卡已经驱动起来了,可以无线上网了。

The Da Vinci Code

前前后后差不多花了一周的时间,把《达·芬奇 密码》看完了。

 

在重新开始玩Dota和WoW的之前,我一般会把闲暇时间用来读点书,不为什么高尚的理想,只是打发时间,或者说是敲代码敲累了时的一种很惬意的放松。

 

鸟人说不玩游戏,说明你们已经老了。也许确是这样。但我再也找不到什么游戏能像当初WoW那样,能让我燃起那份激情,那时候总说“WoW是一种生活态度”,呵呵(额,,,,,每当我看见呵呵这俩字的时候,习惯性翻译为“去你妈的”,此处不是,,,算了,有点儿是)。

 

还是说说这本书吧,是实验室基友张one man和宝领他们推荐的,那天突然又想看看书,就问问有没有什么推荐的,还好,能轻易的找到,当当网没有缺货。很前很前一段时间,一直在找viola推荐的《火与冰》,挺难找的,托在本部的李琦帮我找也没找到。后来也就放弃了,想想作者也不会在意少我一个读者。

 

二货可可又来我房间乱蹦,先收拾他出去的!

 

yeah。

 

想到哪儿了。嗯,这本书里记载的很多艺术品、建筑、文献和秘密仪式据作者说是准确无误的,如果是这样,那我还真了解了很多以前不知道的东西。比如维纳斯、金星、五芒星和奥运会的联系。诶,丫坤,有没有感觉到熟悉的思路?

 

很多评论都说这本书情节紧张,会诱使读者屏住呼吸追逐情节,并罪大恶极的公然以此为荣。或者说该书令其他以智慧见称的恐怖小说黯然失色等等。但我却没有那种想要一口气看完的感觉,或许是文化的差异,体会不到作者想要克造的那种紧张气氛;也或许是读这本书的时间点的原因,那时距离能被放回家还有一周,一直就比较闲了,没有那种工作疲惫之后,好不容易能闲下来的那种心境。期望是第二种原因,过段时间在回头读一读罢,还从没有过重复读一本书呢。

 

就写这么些好了,不是读书笔记,只为留个纪念。

Here Comes The New WeiMingKe

想知道北大这群娃一天到晚讨论的十大热点是啥么?想知道他们论坛上征友贴的PPMM具有怎样的魅力么?想知道他们的巴拉巴拉巴拉巴拉是怎么样巴拉巴拉巴拉巴拉的么?

 

怕带男\女朋友逛北大却迷路而感到尴尬么?

 

想知道百年大讲堂本月、下月、下下月、下下下月即将上演怎样的激情么?

 

在燕园复习考研的童鞋们,想知道北大本周及下周都有哪些教室可供你上自习么?

 

想知道北大图书馆都有些神马书么?

 

如果你的爪机系统是那可爱滴Android,那恭喜你了,未名客能为你实现以上的一切。

 

附网站介绍地址:http://opensource.ss.pku.edu.cn/pkuapp/weimingke/index.html

 
无图无真相,网站截图搞起的干活儿

Tippi of Africa

不知道怎么就翻译成了《我的野生动物朋友们》。

 

当喜欢一样东西的时候,我往往是不愿上网去作过多的搜索的。听到一首陌生的歌,很喜欢,就想知道歌手长啥样,就想Google,但又害怕,怕看到人以后会有失落,这本身跟自己没半毛钱关系,只是我还是个肤浅的外貌主义者而已。

好几年前就知道有这么个“野生”的法国小女孩,很喜欢她和动物们毫不做作的嬉闹,也不知道为什么就一直没有买她的书。直到今年六一,想着送点什么东西给小小弟——可可,偶然在人人上看到有人分享tippi,于是一道闪电划过柯南的脑袋,就它了。但又想想六一都已经过了,要不我先看看?好主意。

 

当当的速度还是很快的,拿到这本书,在实验室一群大老爷们儿惊讶鄙视的目光中,花了小一个中午看了一半,第二天中午就整个看完了。第一次这么完整的欣赏完整个Tippi系列的图片,被tippi的诚实、被她和她的动物伙伴们的和谐相处打动。

 

忍不住就上网Google相关信息去了,结果到处都是诸如“蒂皮另有真相”这种让人心生不悦的消息。这些文章无非是提到和Tippi玩耍的并不全是是野生动物等等,更有跑去向她父母证实这样的闹剧。我真怀疑你们仔细,哦不,只需大概看过小女孩写的文字没有。她好几处都提到了和她的动物朋友们不都是野生的,也明确指出了她与好朋友们的接触还是有底线的,爸爸妈妈也是很担心的,不知道你们是怎么忽略掉这些的。是只看了书名和前言?不知道译者为什么翻译成了《我的野生动物朋友们》并且前言里面也一直说全是野生动物,你可爱的误导了那些已经老得不能再老的评论家们。

 

管那些动物是不是野生的呢,我仍一厢情愿的喜欢这个叫Tippi小女孩与动物们嬉闹的故事,她脸上的笑容,她与动物间的亲密无间,还有豹子温柔的眼神。

 

贴一张书中很喜欢的照片。