分类“未分类”的存档

  • 08
  • 7月

一直听三表同志骂新浪SB,今天着实见识了一把,差点没把我肚子笑破。

新浪的这条新闻《超人奥尼尔也有禁区克星 大号远房表亲隐居小城市

红网长沙7月7日讯(记者 贺冠铭) NBA联盟首屈一指的中锋大鲨鱼奥尼尔以他庞大的身躯称霸篮下,囊括4个总冠军戒指。在篮下以推土机似的进攻轰炸篮筐,无人能防。然而他的远房表亲却让他在篮下吃尽了苦头。奥尼尔笑称:“我年轻时一直为自己的庞大身躯感到自卑,不过当我在15岁第一次遇见杰斯特时,我感觉好了很多。”

杰斯特-卡登(Jester Cadden),是奥尼尔的远房表亲年长奥尼尔两岁,身高7尺5寸,体重超过350磅。出生于佛罗里达州的安瑞尔镇,父母都是当地的运动健将。杰斯特从8岁起接触篮球,但很快他发现镇上的大孩子已经不堪一击了。在他13岁的时候,已经学会如何去击败那些参加过高中生明星赛的家伙,杰斯特在一次采访中谈到:“我习惯用身躯去挤压他们,在靠近篮筐附近的地方勾射或者扣篮。命中率非常不错。”

长到16岁时,杰斯特拒绝了橡树山等高中篮球名校的邀请,选择了本地的Hollowfield高中,并加入了篮球队。很快他把这支羸弱的队伍变成了一支极富竞争性的球队。他在高中联赛中场均砍下37分19板,但球队依然止步最后的决赛阶段。但这时,已经有无数的球探踏破了他家的门槛,其中包括湖人,火箭这样有着中锋传统的优秀球队。杰斯特的意见是:“我不喜欢去大城市抛头露面,我很享受篮球,这一点都没错,但我更喜欢现在的生活。”他没有选择这些球队或者篮球名校,而是安心在乡下做起了农夫。”

当然他没有抛弃篮球,在2001年,他甚至远赴洛杉矶,为他的兄弟奥尼尔做陪练。大鲨鱼回忆起那段时光时,总是心有余悸:“我经常和他在训练结束后玩内线的1对1,一次都没赢过,他就像是一部推土机那样蚕食篮下的空间,左右手投篮都准得要命。有时候我想要是他来到联盟,我还能领到这么高的薪水吗?”

02年的时候,由于过于庞大的体重,杰斯特的膝盖终于出了问题,无法再回到篮球场上。时至今日,他依然是Hollowfield镇上一个普通而快乐的农夫。

原本是HoopChina论坛bingosaint写来玩的东西,居然被各大网站以新闻转载。sina、Tom、kong.net都位列其中。

以下给出“新闻”原稿:
令奥尼尔都无法抵挡的史上最强中锋,无意加入职业联盟的篮球天才

及原作者的嘲笑贴:
史上最牛中锋还是史上最弱智的门户网站?

附:文章中一些英文单词的翻译

Jester Cadden jester=fool,小丑 cad=恶棍;有人会叫这个名字吗?
Hollowfield:hollow=false, unreal,虚伪的;field=地方;合起来就是“不存在的地方”。

  • 07
  • 6月

当使用Gmail加入GoogleGroup后,那些比较活跃的group一天十几封甚至几十封邮件发过来,你的收件箱内很快就会被这些Group的邮件塞满。以至让那些本来发给你的邮件不见了踪影。其实只要利用好Gmail的过滤器和标签功能,完全可以让各个Group的邮件分门别类存放且互不影响。

这里让我以希望泉Group的设置为例,完成后,来自希望泉Group的邮件将会从全部从收件箱转移到“希望泉”标签里。

1.点击Gmail搜索栏按钮右侧的“创建过滤器“Create a filter”链接(中文应该是“创建过滤器”,以下不再翻译)。在“To”中输入Group的邮件地址。希望泉Group的是:Main-Team-Of-Hope-Spring@googlegroups.com。Next Step>>

2.选择“Skip the Inbox (Archive it)”和“Apply the label:”,并将标签置为“希望泉”(下拉菜单里有新建的选项)。另外勾上“Also apply filter to 800 conversations below.”可以把以前收到的Group的邮件也转过去。Create Filter

3.没有了,就这么简单:)

  • 03
  • 6月

今年我这个小Blog颇为不顺利,先是3月份去年与人合租的DreamHost空间到期。在没有得到通知的情况下数据全丢。然后又是5月份,现在与人合租的这个空间两次被黑,而且还是数据全部被清空那种。没几个月下来,光恢复Blog数据的事我已经做过3遍了。期间攒了不少教训。

首先必需说的是:备份不能忽视,必须加以重视!
像我这样合租外国空间,自己架设Wordpress的情况。数据实际上是很不安全的。黑客攻击、空间到期、甚至不小心触了我们伟大的墙。你都将不得不面对恢复数据或迁移数据的问题。没有一个好的备份……

以下是我使用过的一些备份方式,及其比较:

1.phpMyAdmin导出数据库
优点:老牌MySQL管理工具,导入导出都不会出问题
缺点:Wordpress外另装的程序,得自己记得进去导出。容易忘记。(我只用过一次,不过每次恢复都会用到它导出的数据)

2.Wordpress自带的导出功能
优点:自备,不用自己安装。且导出的数据可以导入到其他域名的Wordpress上。(只有这个能做到,其他的都要自己修改导出的数据库文件,用新域名替换掉旧域名,否则导入后打开主页会默认转回到原始域名)
缺点:内容比较多时,导出的数据有时候不能正常导入。且只能备份文章和评论。

3.backupwordpress
优点:能定时自己备份所有文件和数据库。
缺点:导出数据库功能基本没用。中文乱码,且包含一些绝对路径信息。

4.wp-db-backup
优点:定时备份数据库,并发送到指定邮箱。且中文支持良好。
缺点:功能单一(就算缺点吧*_^)

这几次备份、还原折腾下来,我最终选择了wp-db-backup自动备份我的数据库并发送到我的Gmail中。Wordpress文件则在自己电脑上放一份与服务器完全一样的,如要修改先在自己电脑上改,再上传到服务器。

而backupwordpress虽然有很多人说好,由于中文乱码和绝对路径问题,基本上是用不得的!

  • 04
  • 4月

上次与人合租的DreamHost主机3月中旬到期了,导致近半个月本Blog无法访问。还好找到这一家比较好的lunarpages主机合租。重新将Wordpress上传,导入备份好的数据(勤备份果然救命啊!)

另外顺便更新了一下Wordpress的版本。2.5版的后台管理界面确实发生了相当大的变化。一时都有点不适应的感觉。不过插件加入了一键自动升级功能确实不错,再了不用费事下载-上传了:)

另外最近正”following the star in my own heart”,为自己的前途而努力。可能又不能时常更新这个Blog了。

  • 19
  • 2月

Java对String的操作提供了两个类StringBuffer和StringBuilder(我是说操作,如果你直接用String对象进行大量的字符串操作,我只能说声佩服)。为什么要提供这样两个类呢?

查阅JDK得知:StringBuilder是在java1.5中新加的类,在使用上与StringBuffer主要的区别只是StringBuilder不是线程安全的,在编写非多线程程序时使用StringBuilder速度能快一些。

与此类似的还有Vector和ArrayList,同样前者是线程安全的,后者是在JDK较新的版本中加入的非线程安全的实现(java1.2时加入的)。

其实只要不是在太大规模和程序上使用,是否线程安全对运行的影响是很难看出来的。而且如果你根本不知线程为何物的话,选择非线程安全的类一般不会有任何问题:)

参考:

  1. 是 String,StringBuffer还是StringBuilder?
  2. 精辟的String与StringBuffer(StringBuilder)的区别
  • 31
  • 12月

再有没几分钟就要告别2007年了。按照“传统”总结一下我的2007年吧。

可以很自豪地说2007年是我收获的一年。在这一年,我开始写自己的博客,记录自己的收获。

由C#入门了面向对象程序设计,写了一个简单的“连连看”游戏玩了一下MVC模式,用php+mysql开发了一个较为复杂的人事管理系统,由webwork开始结识Java的开发框架。总之在编程方面由原来一个只会用面向过程的方法写点简单的小程序的状态进化到基本会用面向对象的思想编写一个小型数据库系统的状态。开始觉得自己有点像一个“程序员”了。

学习上很幸运的拿到了一次一等、一次特等奖学金。捡了个大学生英语竞赛一等奖。成功扭转了大一时逢考皆为三等的状态。

这一年继续做《希望泉杂志》,受到了开复学生网“社区之星”的表彰。去北京见过两次我们的主编MJ。参加了开复学生网的更名仪式,见到了李开复、徐小平、陈朝益等开复学生网的老师。被MJ灌过很多东西。

加入了“好运北京国际女足邀请赛”的志愿者队伍。做了一把“正式”的志愿者。明年可能还要为08北京奥运会服务。

去过一次IBM中国研究院,见识了一下大公司的样子。突然感觉自己该考虑就业的问题了。

收获么,暂时就想起来这么多。遗憾也还是有的。有几本原打算看完的书始终没能看完。几个原打算编写的项目最终也没能做成。做《希望泉》技术部负责人时没能让这个团队交流更活跃。

还是那句老话,希望明年更好吧;)

  • 13
  • 12月

上次说到一个普通的接收用户输入的操作,居然成了整个课设的难点。确实是相当让人头痛。

不过顺藤摸瓜,亦步亦趋的方法在最坏的情况下总是能解决问题的。

用户输入用的是键盘,内核肯定要处理键盘操作的。那就从键盘操作的最底层找起。于是找到了键盘中断的底层处理代码keyboard.s,根据调用关系找到调用它的tty_read函数。继续向调用关系树的上方找的时候发现内核中没有函数调用tty_read。那好,就分析tty_read吧。

仔细分析了一下这个函数,其实功能很简单,其实不过是把read_q里的东西倒腾到secondary里,顺便做了一些必要的转换工作罢了。而read_q中的字符就是由键盘中断读取到的键盘输入。在没有输入函数的时候,最简单的方法就是循环检测这个队列,看看有没有输入回车。

理论分析很快就搞定了,但在实际修改的时候又遇到了很多麻烦。

最开始犯了一个错误是把读取输入队列的函数放到了处于用户态的进程1之中,弄出了一个困扰了我好几天的奇怪问题:可以正常读取队列头指针处的键盘输入,但只要读完之后increase一下头指针,下一次读取就再也得不到新的键盘输入了。最后发现只要把这些代码放入main函数MOVE_TO_USER_MODE之前就OK了。产生这个问题的具体原因我至今还不是非常明白。估计是遇到了内核的保护机制,内核区的内存对用户区的程序是只读的,若用户态程序修改时会给它一个副本(?)(在内存页式管理中实现的?)。

另一下问题则更另人郁闷。实验环境是Windows下跑的bochs里面运行的字符界面的linux0.11。对文件所有的修改都是在linux0.11下的vi里做的,编译也是用里面的make。vi好在已经在Windows下用过一个学期了(gVim)问题不大,但make对我来说可是个完全陌生的东西。这下在完成第二个要求的时候就遇到了很大的麻烦:虽然我基本分析明白了生成最小内核所需的文件,但只要小改一下代码或Makefile文件,make一下就会生成好几屏的错误报告。而字符界面的linux没有滚屏功能,这下我根本弄不明白到底最开始是哪里出了错误。为了减小代码,最终我不得不采取了一个极其笨拙、极其不geek的办法:把用不到的函数一个个清空内容。

就这样,好不容易在验收前那个上午把东西搞定了。验收时发现,全系只有我一个人用的是改内核代码的方法成功的。其他人有用汇编自己写了一段代码搞定的(体积是够小,但与linux还有什么关系?),另外大部分人居然用的是自己编写一个实现输入输出的程序,替换sh让内核启动时执行(这个与内核就更没什么关系了)。

看到了自己的成果与收获,小小骄傲一下。呵呵

[tags]linux,编程[/tags]

  • 11
  • 12月

过去的一周估计是我这学期过得最紧张的两周了。一周时间内看明白并修改一个Linux内核实在是一件相当挑战的工作。

事情还要从头说起,这学期我们开了一门bt的实验课,名字叫《系统软件分析与设计》,从第12周上到第15周,一周就两节,应该是个很小的课。这课课时虽少,老师出的题可不简单,整个课就研究一样东西Linux 0.11的内核源码,主要的问题有两个:

1.详细分析至少150行的一段代码

2.改造Linux内核,使其启动时能依次显示三个问题,由用户输入三个答案,然后退出。

初看起来两道题都不怎么难,因此前两个周我基本上都在看《linux011内核注释》前面的理论部分,没开始研究源码。到第三周开始看代码时真是服了——面向过程的典型非正交代码。代码之间有大量的交叉引用,想看明白确实不是件容易的事。

幸运的是之前囤的软件没有白囤,SourceInsight这款软件在分析源码时帮了我极大的忙。按住ctrl点一下就能转到引用处,在处理这种复杂代码时帮助太大了。

不过第二个问题就没那么简单了。内核毕竟不是应用软件,除了自己定义的函数可没有可以调用的“系统函数”(“系统”之中哪来“系统函数”?)。内核中定义了一个printk函数,输出问题不用考虑了。但内核里是没有任何类似scanf之类的输入函数的。怎么接收用户的输入成了难点。

一个在普通编程中简单到不能再简单的接收用户输入操作,放到内核里把我卡了好几天

(未完待续…)

  • 07
  • 12月

今天上课很高兴地收到了Ubuntu的正版安装光盘。从Isle of Man(是欧洲的一个国家)寄来的。在此显摆一下*_^

注:这些文字是在它的LiveCD下写的。不过LiveCD下没有中文输入法。幸亏多少年前在《电脑爱好者》上看到过有InputKing这么一个在线输入法平台。用Firefox打开才有了我熟悉的五笔。

图一:

包裹的正面,是我的收件地址。幸亏当初留地址时多留了一个心眼,把自己的地址用英文和拼音写了两遍,我那倒霉的同学只留了个英文,比我早申请的至今还没收到…

图二:

包裹的背面,左边应该是发包人填写的单据,TNT Post的包,邮费有0.88欧元(合10块多人民币左右呢!)。右边是一个致相关人士的说明(中文),看意思应该是给海关看的,最后一句话是关键:“事 实上这些光盘是无偿派送的宣传品而不是以盈利为目的的进口货物,因此应当免除进口关税。”

图三:

内装光盘袋的正面,版本:7.10 for PC。正是我申请的那张。

图四:

光盘袋反面。是一个《What is Ubuntu?》的介绍。最喜欢的是下面那行粗字:“Ubuntu is software libre. You are encouraged and legally to copy, reinstall, modify, and redistribute this CD for yourself and your friends. Share the spirit of Ubuntu!”可以“ modify and redistribute”哦!

图五:

光盘袋里面、光盘和附送的贴纸。光盘袋的右下角是这么一行话:“Pass it on! This CD can be used to install Ubuntu on an unlimited number of PCs, desktops and laptops. So install it, and pass it to your family, friends and colleagues!”-这张光盘我会给很多人装的:)。另外贴纸本来有四张,拿回来之前已经被同学抢走了一张:(

PS:终于打完了,不过不得不说的是InputKing这套在线输入系统做的还真不错。可以说完全达到了一个正常输入法的要求,而且浏览器兼容性非常好,在Firefox下功能完全下沉,在没中文输入法的时候还真管用。

  • 19
  • 11月

游侠一直没出,这个是猪猪乐园做的。今天好不容易找到的。

适用于极品飞车11(NFS11)繁体中文版,而且无需虚拟光驱。

下载地址:
http://2007btpig.ys168.com/

说实话,这次游侠确实让人有点失望…

所有标签:.net Ajax Java javascript Linux map MySQL RSS TD-SCDMA Ubuntu vim web Win7 乱码 基础知识 备份 奥运会 希望泉 性能 缓存 编程