下沙

天空啊下着沙,不要笑我太傻。

我不傻,真的又来了,沙尘暴,每年一次。

刚刚睁开眼睛,就看见魏然在玩电脑,背景是窗帘,窗帘被染成了金黄色。这幅画面实在是太美了!但是我确定这还是早上,不是黄昏。走出寝室,我更确定了这一点:是沙尘暴!

前年、去年,都是差不多在开春的时候,都回来一次。今年还是这么准时。

哈尔滨的沙尘暴比北京的好多了,至少不用挡着脸。沙子是悬浮在空气中的,但是不会让你感到窒息。那种效果,就像是在你周围罩着一层黄色的滤镜。一种相当复古和怀旧的情调,不过希望这种景象还是少来几次吧。

下午和同学聊天,他问,哈尔滨又下雪了吧。
我说,我不知道啊,不过是有沙尘暴。
他说,哦,杭州又要冷了,没有太阳
从这点来说,哈尔滨倒是挺好的,大多数时候是晴空万里,不会像江南的春天那样淫雨霏霏。

QQ天气预报说今天是雨雪。过了一会儿,有过来的人说下雪了。我走到窗口,向外望了一望,地上果然厚厚的一层白雪,天空倒是变白了许多。

Tomorrow is a better day.

usb接口

如果palm和手机有一个usb接口,并且有一个mass storage的驱动,那就帅呆了。

这样,我就可以用palm连一个U盘,想放多大的电影就放多大的。如果再加一个带电源的移动硬盘,那绝对是一台小电脑了。

不知道palm和那些手机厂商想到了没有,如果没有想到的话,我就去申请专利去:)

ihouse

搞了一个ipod shuffle,很爽哦。

现在我在想,以后有钱了,一定要请apple的设计师来设计我的房子,室内装潢让他们来做,外面也是一样。那样就太cool了!

我就叫它ihouse,或者powerhouse什么的,哈哈

单身的幸运

有时候真的不知道单身到第十一件好事还是坏事.至少单身的时候想干什么就干什么,想去哪里就去哪里,不用管别人怎么想的. 但是单身毕竟也有寂寞的时候.

看看傻达和谢佳就不错,这样走到一起了.考研的学校也一起,一起学习,一起奋斗.但是毕竟成事在天.谁也不知道会发什么事情.

今天考研成绩出来了,谢佳考得不错,基本上就没有问题了.下午打电话祝贺一下,顺便问一下傻达的成绩.谁知道他不知道考号,还不知道.

到了晚上,他给我发个短信,说是自己考得不好,基本上是没有希望了。 要我帮他学C#,好回去找工作。没想到会这样。

后来谢佳上网,和我聊天,说是比较郁闷,好像还哭了。我猜到也是这件事情。的确,一天经过大喜,又来一次大悲。换了谁都受不了。大喜,那就因为自己奋斗了半年终于有了收获,大悲,那是因为可能会和另一半分开。

我凌晨一点多发短信给谢佳,说是他没有事情。一切都好,发愤的事情我会帮助他的。想不到她也没有睡,估计她今晚也是没有睡好。
大四下学期,这是情侣们最烦的时候了。分开,还是不分开?坚持,还是不坚持? 都是问题。

我已经见过很多这样的例子了。有的人当机立断,长痛不如短痛,分得很洒脱;有的人瞻前顾后,生怕对方不同意,于是小心翼翼; 也有的人还放不下,但又无可奈何。

这种感觉,我不是不知道。但是我知道,有些事情,你是无法改变的,你无法让中国迁都到杭州,不能叫李开复把google中国总部定在哈尔滨。所以面对你的只有两条路:要么放下一切,好聚好散,时间会让你忘记一切;要么坚持下去,最后修成正果。无论哪条路,总不会轻松。

所以,一切的一切,单身最好!

我像TMAC?

晕死了,刚从床上睁开眼睛,就被魏然发现一个惊天大秘密,说我像麦迪。厚嘴唇,耷拉的眼睛。

唉,谁叫是刚醒来呢,萎靡也是正常的。谁知道下午开题报告的前在走廊中等待的时候,LS兄竟然对美鸥MM说:你看,懋懋像不像TMAC?
我再次晕,大哥,你是不是知道了今天麦迪去老婆家的葬礼,不在场,咱们家明明得了最佳,所以乱发感慨呀!

不过无所谓啦.反正我喜欢TMAC.顺便抬起脚,Show一下鞋子。看,这就是TMAC。

BTW,我可不会去mop,让达人们鉴定我像不像TMAC。太BT了。

BT时的遐想(续)

学校里的game和sports ftp挂了,所以只能重新操起BT这行当。BT之余,也随便想想。

  1. BT就是力量
  2. BT至今可以说是网络上最普遍的最新信息交流方式和电影、视频等资源下载的最佳方式。之所以流行,是因为它是我们体会到了奉献、共享、平等、自由和交流。它原来是一种技术,现在成为了一种生活方式、一种价值观。总会有人发布最新的东西,只要有人,哪怕是一个人发布,那么所有人都会获得。星星之火,可以燎原。
    任何人都可以发布,任何人都可以下载。这里没有尊卑,没有束缚,不用注册,不用visa。
    在BT的时候,我们总会听到一句话,下载完之后尽量多做种。做种子是为了让更多人能获得信息,让好东西让更多人享受。

  3. 傍大款
  4. 学校上网要用代理,下BT只能自己去连接别人,速度很慢。基本在几十K左右。但是不时的会发现,某一个下载任务突然达到200K。仔细一看,原来这个任务中,与某一个客户的速度达到了180K,而其他的只有几K,甚至更少。
    只要一个,我的速度提高了好几倍,一个任务可以少下载好几个小时。
    这多像傍上一个大款呀!很多女生都梦想榜上一个有钱人,这样就可以少奋斗几十年。
    只不过人家也有下载完下线的时候,大款也有喜新厌旧、事业失意的时候,BT可以换一个再来,人生还可以吗?

  5. 坚持的力量
  6. 下载视频一般都很大,有几百兆,游戏更多,可以到几个G。而下载的速度经常只有几十K。我常常担心,这种速度能下完吗?
    人生何不是如此?我们往往看到一个人做的事情是如何的伟大,感慨他是如何做到的。我们往往看到自己要去的地方有多遥远,要做的事情是多么不可能,想想怎么可能继续呢?
    每个人都会这么问自己,不同的是,成功的人在问完之后继续做自己的事情,而失败的人却催头丧气。不积跬步,无以至千里。跬步与千里,连接这两个有好几个数量级之差名词的是我们的恒心,一往无前的勇气。
    往往在几个小时或是几天之后,我就把那些不可能的任务完成了。这就是坚持!

  7. 0不是最小的,100不是最大的
  8. 每每看到与我连接的是那些完成0%的用户,我就想将它们断掉;而见到连接上那些100%的种子,我就想速度又能上去了。
    但是,结果往往出人意料。0%的用户虽然刚刚开始,但是我们的数据交换往往不是最慢的,而与种子,速度很可能是0。
    0%的用户是最有活力的,它们广建连接,将收到的数据迅速的转发出去。而100%的用户,它们却可能离你很远,根本连接不上。
    人生何偿不是如此?总渴望与那些名气最响的人大交道,拜学问最渊博的人做老师,而对那些巫医乐师百工之人嗤之以鼻。但是殊不知,名气最响可能是欺世盗名,学问渊博可能因循守旧,最好的人也可能会江郎才尽。而那些庶民却始终近于生活,富有活力。

基于Ajax模式的Blog Browser

只所以说成是Ajax,其实是我写成的代码,一不小心发现这就使传说中的Ajax模式。原来什么先进的东西,原来是这么平民化。

先说一下应用吧,背景是这样的:我有很多xml文件,作为单个xml文件,可以通过xml+xsl的形式进行浏览。例如,可以在浏览器中输入”http://marvel.hit.edu.cn:8080/weblogs/2004_8_23.xml”l来查看2004年8月23号的blog。问题是缺少我不知道我在哪些日子大发感慨,何况在浏览器中直接输入地址是一件很麻烦的事情。

于是,我需要做的事情是:

  1. 了解我写了哪些日记
  2. 获取这些日记

显然,第一件事情需要在服务器端完成,第二件事情是客户端浏览器完成的。

于是我先写了一个C程序,获得所有日志的信息,整合到一个xml文件中。(xml格式有利于客户端解析),代码在此 。执行之后生成的文件为list.xml

之后,我在浏览器中就需要获得list.xml的信息,并且需要解析该文件。普通的方法不行,我需要使用XMLHttp请求(在Firefox中称之为XMLHttpRequest,而在ie中,这是一个ActiveX控件,叫做Microsoft.XMLHTTP)。

下载函数主要代码如下,详见源文件:

[coolcode lang=”javascript”]
function loadXMLDoc(url)
{
// code for Mozilla, etc.
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
// code for IE
else if (window.ActiveXObject)
{
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}

if (xmlhttp)
{
xmlhttp.onreadystatechange=xmlhttpChange;
xmlhttp.open(“GET”,url,true);
xmlhttp.send(null);
}
}
function xmlhttpChange()
{
if (xmlhttp.readyState!=4)
return;
// if “OK”
if (xmlhttp.status==200 || xmlhttp.status==0)
{
//Code Goes here…
}
else
{
document.getElementById(“content”).innerHTML = “Problem retrieving XML data”;
}
}
[/coolcode]

  1. xmlhttp.readyState是指xmlhttp请求的状态,0为未初始化,1为正在装载,2为装载完毕,3为交互中,4为完成。当状态发生变化的时候,浏览器会回调xmlhttp.onreadystatechange函数,即xmlhttpChange。(请使用回调函数这种形式,不要使用while的无穷循环来判断是否完成,这种方式会大量消耗处理器资源,并且不能显示页面)
    xmlhttp.status是指返回的状态,Web正常返回为200 ,本地调试正常返回为0。
  2. 处理代码略去,如果想了解更多,可以参考http://marvel.hit.edu.cn:8080/weblogs/view_xml_blog.html。
  3. loadXMLDoc需要被调用两次,第一次获得list.xml,第二次获得某一天的日志文件

返回的xml文件解析

当我们获得了xml文件,自然需要对文件进行解析。 解析日志文件的代码如下(解析list.xml的代码类似,详见文件):

[coolcode lang=”javascript”]
var title=xmlhttp.responseXML.getElementsByTagName(“Title”);
document.getElementById(“content”).innerHTML += (title[0].firstChild.data+”
“);
var posttime=xmlhttp.responseXML.getElementsByTagName(“PostTime”);
var post;
if(posttime[0] == null)
{
var year=xmlhttp.responseXML.getElementsByTagName(“Year”)[0].firstChild.data;
var month=xmlhttp.responseXML.getElementsByTagName(“Month”)[0].firstChild.data;
var day=xmlhttp.responseXML.getElementsByTagName(“Day”)[0].firstChild.data;
post= year+” – “+month+” – “+day;
}
else
{
post = posttime[0].firstChild.data;
}
document.getElementById(“content”).innerHTML += (post+”
“);

var content=xmlhttp.responseXML.getElementsByTagName(“Content”);
document.getElementById(“content”).innerHTML += (content[0].firstChild.data);

[/coolcode]

这次,全部搞定.分析一下

  1. 服务器端使用了C程序生成xml格式的文件,这可以看过Ajax的服务器端程序生成xml格式的结果供浏览器使用
  2. 浏览器客户端使用了xmlhttp的请求,异步获得了服务器端的xml结果,此期间没有刷新,只是出现了“Loading”的提示。解析完毕后即可显示内容。可以看出,Ajax的三大特征“异步交互、JavaScript脚本和XML封装数据的三大特征”完全得到了发挥

结论是:这次遵循了分析问题、解决问题的一般思路,搞定之后居然发现使用的模式就是现在相当热的技术。从而可见,做技术,应该是从实践需要出发,而不是单纯的去追求新的技术、新的框架。即使是最新的技术和框架,它们的出现必定有它们的道理,不需要刻意去学习。相反,实践才是最重要的,从实际中发现问题,解决问题,也许就能找到一种新的方法。如果我这个页面早做几年,也许我就是Ajax的创造者,你说呢?
附:Ajax,异步JavaScript与XML,是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新 加裁,就可以动态地更新。使用Ajax,你可以创建接近本地桌面应用的,直接的、高可用的、更丰富的、更动态的Web用户接口界面。

那一晚,我开始怀疑……

从今晚开始,我怀疑爱情是否真的没有保质期?
I:今晚一个人过节吗?
D:是的,车上寂寞吗?
I:嗯,车摇得头晕死了。这么久才等到你短信,还以为你不理我了呢。
D:我干吗不理你呀,我上网没听到吗
I:那怎么前几天上qq给你打招呼,结果没有反应呀
D:呵呵,你给我打招呼的时候我已经下了。你问我几号回去对吧
I:好像是吧,结果连你最后一面也没有见上,就先你一步走了。晕……
D:干吗这么说啊,你以后都不准备见我了?
I:Joking…记得高中时你给我的信里写道,在我失落的时候,你可以用不太强壮的臂膀抱着我。很享受着暴寒的话。现在只有你可以抚慰一颗寂寞郁闷有点头晕的心了
D:你还记得,现在听起来是有点酸。可是我的真心话。那以后我不说了
I:你的话我全记得,还留着你给我的字条呢。也许你自己都忘了吧。读起来彼时彼景,还是那么清晰。为什么不说了呢,不相信我吗?
D:不是不相信,是觉得酸,还有一点羞羞。我想我所有的异性朋友里你是让我感到最安全的。虽然很多年不见,这种的感觉没变过
I:我也没变。常想如果没去桐高,没去冰城。也许一切都会不同。这几天我常常在想,趁着现在有勇气的时候,我们还能重续前缘吗?可惜种种原因,没有当面说出来
D:可是你上了桐高,你去了哈尔滨..在这以前我一直特别珍视我们之间的感情
I:一切都可以会到原点,一切都可以重新开始,只要有勇气面对,明天依旧美好,不是吗?
D:不可以,不可以。四年可以发生很多事..
D:你的样子像是在吟诗一样,好好笑。我忍不知要笑一下。四年我也在等别人
I:也许有点可笑,我懂了,任何东西都会有保质期。除了祝福,没有什么礼物可以送你:)
D:我会收着你的祝福,可惜离我好远。你是不是觉得我很傻。有的时候我觉得很累。你困吗,困就睡吧。
I:我觉得我更傻,可能过期的菠萝罐头味道也不错。做个好梦
D:呵呵..大傻瓜。睡觉吧

也许只能对自己说,不求天长地久,只求曾经拥有。

潘bird

今天遇上潘承宇了。我们寒吁的内容开始自然是前途方向问题,之后就是篮球了。
我最怀念我们自然课结束后,五班和六班一起打篮球的那段时光了。大家都无有无虑的打球,不用考虑其他的东西。
这种感觉真好……