Android开发站点被墙

封吧,纯技术站点都不放过。

用http://androidappdocs.appspot.com/index.html和迅雷搞定。

一声叹息~

面试就像超级女声,能走到最后的都是纯爷们。

转载自Yuguo的QQ签名,实在贴切。

Debian挂载Windows分区

昨天给笔记本换个320G的硬盘,昨天晚上把Windows装好了。鉴于手中Debian 5.0的光盘升级量会比较大,索性重新下载Debian 5.0.3,结束后立马刻盘安装,安装过程中找不到一个包。镜像下载之后我检查过md5,那么问题肯定出在刻录速度过快,看来是刻费了一张碟。第二次控制刻录速度,重新刻盘安装。非常顺利。

我的分区计划是让Windows和Debian都能够同时使用一个120G的分区,用来存放文档,多媒体之类的文件。可惜Debian Lenny不能双击挂载Windows分区,算了,双击我也省了,让它自动挂载吧。

ganquan@debian:~$ sudo fdisk -l
Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xf601f601

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        5099    40957686    7  HPFS/NTFS
/dev/sda2            5100       12748    61440592+   7  HPFS/NTFS
/dev/sda3           12749       28046   122881185    7  HPFS/NTFS
/dev/sda4           28047       38913    87289177+   5  Extended
/dev/sda5           30406       38913    68340478+  83  Linux
/dev/sda6           28047       30356    18555012   83  Linux
/dev/sda7           30357       30405      393561   82  Linux swap / Solaris

ganquan@debian:~$ sudo mkdir /mnt/WINC /mnt/WINE /mnt/WINF

ganquan@debian:~$ sudo vi /etc/fstab

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>           <dump>  <pass>
proc            /proc           proc    defaults                0       0
/dev/sda6       /               ext3    errors=remount-ro     0       1
/dev/sda5       /home           ext3    defaults                0       2
/dev/sda7       none            swap    sw                      0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto         0       0
/dev/sda1        /mnt/WINC        ntfs-3g    default                 0         0
/dev/sda2        /mnt/WINE        ntfs-3g    default                 0         0
/dev/sda3        /mnt/WINF        ntfs-3g    default                 0         0

完事,挂载参数只要default就行,不必单个指定编码,掩码之类的

十日总结

1.简历一定要简洁

2.笔试基本上技术都是考基础

3.认清自己的位置,不要再继续自杀式投递

回家

回家来整整3天了。这边的天气很宜人,昨天在黔灵湖边坐了好久,好舒服。

联通3G网卡用起来感觉还不错,我个人看好WCDMA,TD承载了很多本不应该由一个通信标准来承载的东西。在宿舍已经能搜索到电信的wifi热点了,移动应该有一些大动作了吧。。。

据说封校解除了,是个好事。

无题

中国很多貌似忠良的品牌都已经彻底变为洋人的东西了,以前就知道不少,今天看到这个帖子更加感觉国货很悲哀。

肯定有很多人又要号召抵制洋品牌,我觉得那些愤怒的青年都是没有自知之明的家伙,打开他们发帖的电脑来看,不知有多少芯片是外国生产的,你不是要抵制吗,你先试试把那些芯片都抠下来看看你还能发帖抵制外国货不。

在我念初中的时候,看到网上有强烈的反日情绪,那是2000-2003年。我记得当时有好多抵制日货的帖子在网络上游荡,一直持续到我上高中,我那个和女人一样不服老的愤青(其实他的年龄已经不能当愤怒的青年了)语文老师兼教导主任整天在课堂上宣扬他在网上学来的那一套日本阴谋论和抵制日货,说日本购买中国煤炭沉海以备战时之需,整天宣传日本阴暗面。当时我就感觉这个不服老的愤青比很多年幼的愤青更容易受到舆论影响,而忘记了自己的本质。我至今都还记得那个老愤青的数码相机和摄像机都是佳能的,对了,我还去过他的办公室,打印机也是佳能的。

我从来就不抵制日货,我也没有仇日情节,因为我有自知之明。这个事其实还有一段缘由:

初中的时候最开始是用猫加电话线拨号上网,当时用户名和密码都是163,一拨就能上,但是速度特别慢,下载东西只有10k左右的速度,有时候还不到10k。后来我初二的时候去电信办了“窄带”(当时我们那里还没有ADSL),就是ISDN,好像叫什么综合数字业务的东东,反正网络接入速度上去了,好几十k,我一下子感觉很棒。

当时弄那个窄带的时候,有一个特殊的猫,还要在机箱里面装个专用的网卡。当时我从电信局花了800块把东西拿回来,回家立马找起子拆开机箱装网卡(现在意识到是当时想上网的欲望让我变得力量无穷,不惧困难,不怕弄坏电脑,毅然自己拆开机箱)。呀,机箱里面原来是这样的啊,好奇的我把机箱抬到写字台上,用台灯照着把主板上的芯片看了个遍,当时我发现那些芯片上有诸如:Made in Japan, Made in Korea, Made in Malaysia之类的字样,我一下就明白了。哦,这些东西都是外国生产的啊,我幼小的心灵里面就想,如果我也抵制日货(碰巧我的主板上Made in Japan的芯片比较多),我就没有电脑用了,也不能上网了,这是多可拍的事情。

在那以后,凡是我看到或者听到抵制日货的言论的时候,我都灰溜溜低头的告诉自己把头埋下来,埋得更低一点,我抵制不了日货,不能和愤怒的青年组成抵制日货的统一战线,我惭愧啊。妈的,桌上的喷墨彩色打印机也是日本的佳能生产的,我立刻就发现我简直和抵制日货没有任何缘分啊!

我思考了一下发现我很懦弱,自己没有当愤青的潜质,于是我索性就敞开怀抱接受日货。
所以高中我就开始嘲笑我的愤青语文老师说一套做一套,真搞笑。我做不到,所以我不胡说八道。

扯远了。反正这就是我不抵制日货的原因。

我突然阴暗的想到一个问题:号称自主知识产权的龙芯将来会不会变成外国货啊?哈哈哈

1,国产要想强大,就要专心研究技术,就要踏实的做产品,别把衣食父母消费者当做猴子耍
2,要专心研究技术,就要有扎实的教育作为基础,别把教育当市场来运作,教育产业化是一个笑话
3,社会风气不正,上面两点办到了都是白搭。给某某TV一点钱,他就可以像狗一样对你摇尾巴,把施舍者以前的丑恶都忘记得干干净净,给钱多一点还可以指使这条XXTV狗去咬其他人。
4,其实我也想爱国货,但是我早晨起床,掀开黑心绵作的被子,用致癌牙膏刷完牙,喝杯过了期的碘超标还掺了三聚氰胺的牛奶,吃根地沟油炸的洗衣粉油条,外加一个苏丹红咸蛋,在票贩子手里买张车票,准时赶到地下烟厂上班,九点三十分偷偷用山寨手机看股票从6124.04点跌到1240.46点,中午在餐馆点一盘用地沟油炒的避孕药喂的黄膳,再加一碟敌敌畏喷过的白菜,盛两碗杯陈化粮煮的毒米饭;晚上蒸一盘病的瘦肉精养大的死猪肉做的腊肉,沾上点毛发勾兑的毒酱油,夹两片大粪水浸泡的臭豆腐,还有用福尔马林泡过的凉拌海蜇皮,抓两个添加了漂白粉和吊白块的大馒头,还喝上两杯富含甲醇的白酒。这么爽快的日子让我乐不思蜀,我哪里还有心情和时间爱国货呢?

妈的,发现我自己说话越来越啰嗦。四个字结贴:体制问题。

笑话一则

今天下午我突然很想看电影,特别想看高清的,最好是1080的。

然后我开始在网上到处找,对了,我特别喜欢看科幻片。

找了半天无果,我问宿舍人,有啥新出的科幻片推荐没?

一人顺口回答:建国大业

总算不用吃学校送的饭了,豆腐豆芽豇豆,整整一个星期,一共14顿饭,天天都是这几个菜。。。。

还是不能出学校,封校就是一个动作很大意义很小的行为。

原创文章,转载请注明出处:www.ganquan.org

我发现有个公司面试的时候问了对TCP协议比较细节的地方,那就写一下帮助自己加深理解和记忆。在开始说TIME_WAIT状态之前,要知道TCP协议是如何关闭连接的。
很多人对TCP协议的三次握手都很熟悉(不知道的可以参考我以前的帖子),因为学校的垃圾考试都爱考三次握手,但是很多知道三次握手的人都对TCP协议是如何关闭连接不了解。不说废话了,TCP关闭连接过程如下图,寡人用photoshop画的,凑合看一下:
tcpclose
为了方便描述,我给这个TCP连接的一端起名为Client,给另外一端起名为Server。上图描述的是Client主动关闭的过程,FTP协议中就这样的。如果要描述Server主动关闭的过程,只要交换描述过程中的Server和Client就可以了,HTTP协议就是这样的。

描述过程:
Client调用close()函数,给Server发送FIN,请求关闭连接;Server收到FIN之后给Client返回确认ACK,同时关闭读通道(不清楚就去看一下shutdown和close的差别),也就是说现在不能再从这个连接上读取东西,现在read返回0。此时Server的TCP状态转化为CLOSE_WAIT状态。
Client收到对自己的FIN确认后,关闭 写通道,不再向连接中写入任何数据。
接下来Server调用close()来关闭连接,给Client发送FIN,Client收到后给Server回复ACK确认,同时Client关闭读通道,进入TIME_WAIT状态。
Server接收到Client对自己的FIN的确认ACK,关闭写通道,TCP连接转化为CLOSED,也就是关闭连接。
Client在TIME_WAIT状态下要等待最大数据段生存期的两倍,然后才进入CLOSED状态,TCP协议关闭连接过程彻底结束。

以上就是TCP协议关闭连接的过程,现在说一下TIME_WAIT状态。
从上面可以看到,主动发起关闭连接的操作的一方将达到TIME_WAIT状态,而且这个状态要保持Maximum Segment Lifetime的两倍时间。为什么要这样做而不是直接进入CLOSED状态?

原因有二:
一、保证TCP协议的全双工连接能够可靠关闭
二、保证这次连接的重复数据段从网络中消失

先说第一点,如果Client直接CLOSED了,那么由于IP协议的不可靠性或者是其它网络原因,导致Server没有收到Client最后回复的ACK。那么Server就会在超时之后继续发送FIN,此时由于Client已经CLOSED了,就找不到与重发的FIN对应的连接,最后Server就会收到RST而不是ACK,Server就会以为是连接错误把问题报告给高层。这样的情况虽然不会造成数据丢失,但是却导致TCP协议不符合可靠连接的要求。所以,Client不是直接进入CLOSED,而是要保持TIME_WAIT,当再次收到FIN的时候,能够保证对方收到ACK,最后正确的关闭连接。

再说第二点,如果Client直接CLOSED,然后又再向Server发起一个新连接,我们不能保证这个新连接与刚关闭的连接的端口号是不同的。也就是说有可能新连接和老连接的端口号是相同的。一般来说不会发生什么问题,但是还是有特殊情况出现:假设新连接和已经关闭的老连接端口号是一样的,如果前一次连接的某些数据仍然滞留在网络中,这些延迟数据在建立新连接之后才到达Server,由于新连接和老连接的端口号是一样的,又因为TCP协议判断不同连接的依据是socket pair,于是,TCP协议就认为那个延迟的数据是属于新连接的,这样就和真正的新连接的数据包发生混淆了。所以TCP连接还要在TIME_WAIT状态等待2倍MSL,这样可以保证本次连接的所有数据都从网络中消失。

各种协议都是前人千锤百炼后得到的标准,规范。从细节中都能感受到精巧和严谨。每次深入都有同一个感觉,精妙。

一次错误

在千橡注册过程中,我很老实的点了一个下一步,然后服务器就抛出线程异常了。

我运气这么好?
千橡错误