很少在这个时候写日志

An entry by BlueF on 06/15/2009

上一篇日志是一个多月以前的吧. 这个月发生了很多事, 服务器被封, 飞往南京, 安排旅程, 等等等等. 一直在计划着半小时后写日志, 然后一个小时一个小时的那么拖下去. 实际上有很多的懒惰就是这么拖出来的. 只是不想在现在, 校园里到处都是人的时候, 去买东西吃.

最近变得比过去的两年更加的孤僻. 不想笑, 不想说话, 安安静静的走路, 工作, 以及看书. 记得曾经还会很顾及别人的感受, 会怕因为自己的沉默而导致对方的不适. 现在已经真的可以活在自己的真空中. 于是各种热情的出租车司机看到我的冷漠只能无奈的把话咽下去. 一直想着别人不会知道我不会记得我下次到同一家店是一个月后的事情了, 那么就可以毫无顾忌的按自己的方式行事.

在南京的时间总是快乐的. 时刻看到她的笑, 以及两个人在一起的相互依赖. 毕业那天在校园里晃. 以及午夜给她买的夜宵. 无论如何, 两个人能在一起, 就很好.

定下了几个城市之间的机票, 开始订旅馆. 独自一人在沙捞越边走路, 在马六甲河边的旅馆里看着窗外发呆, 以及一点一点走遍新加坡. 从小就不是喜欢旅行的人, 但这次还是会带着期望.

有很多事没做好. 有很多事要去做. 这个六月.

# | 2 Comments | Filed in: life

一年

An entry by BlueF on 05/12/2009

现在是下午四点半, 再过两个小时, 一年前的那个时候我在食堂二楼心惊胆战的吃完饭, 在跟Helen打电话, 突然余震, 大家惊恐地从楼里往外冲.

打不通的电话, 发不出的短信. 幸好地震后立刻给她打了电话, 才让家人能知道自己的情况. 那时候还是在吵架的吧, 但是灾难来临时, 才知道你我的珍贵.

尽管现在看来, 我们甚至根本不配说自己经历过灾难, 仅仅是度过了几天的恐慌, 却没看过楼房倒塌, 也没看过死亡.

重新看了当时写的那篇日记(, ), 当时的恐慌, 无奈, 绝望, 仍然历历在目.

只有经历过, 才知道生命的珍贵.

她说,我们平平静静过日子吧.

我说,嗯.

# | 4 Comments | Filed in: life

Failure, again

An entry by BlueF on 05/02/2009

尽管已经过去几天, 但是每当空闲下来, 脑子里仍然是那个投失的球. 在投出去的一瞬间, 突然非常没自信, 篮球也在篮筐里转了几圈又滑出来. 似乎那一瞬间已经决定了整场比赛的结果. 在第三年, 依然还是失败者. 每次在赛后都觉得有多地方本来可以做得好一点, 但是每次都沮丧的发现, 比赛已经结束了, 我还是输了.

第一年, 由于各种不利的因素, 比赛结束后回到寝室摔东西掉眼泪. 尽管前两天还因为一个绝杀而兴奋不已. 第二年, 完全放弃比赛, 而自己终于忍不住上场刚有一点表现, 就由于受伤在床上躺了一个月. 第三年, 40%的发挥, 结束后的萎靡, 虽然第二天睡醒身上完全没有疲劳的感觉, 或许是由于后来补充了足够的运动饮料的原因, 但是, 最后一场比赛, 已经结束了.

打满了40分钟, 得到的却不是想要的结果. 虽然只是一种游戏. 每次都是信心满满的迎接, 每次都是失败无奈的接受.

几周前的某个凌晨把高中到大一那段时间写的东西又看了一遍. 以前的文字果然是用来被笑话的. 不过依然能感受到从前张扬的信心. 虽然可以把现在的状态称之为谦虚和谨慎. 只是时间一直往前走, 过去的都只能成为回忆.

虽然每天都要跟Laura交流, 但是英语水平却一直没有任何进展. 多数时候的确是成功的意思表述清楚了, 但是语法… 看来工作交流对英语水平是起不到什么积极的效果了. 当自己的语言越来越口语化, 翻大一时用英文写的post一看, 那时候的英语比现在要好很多吧.

还是只能努力的工作, 然后希望能得到好的结果. 时间总是要向前走, 而把时间浪费在过去的失利上是愚蠢的行为, 对吧.

# | 3 Comments | Filed in: life

[SNIPPET]基于NetConnection的通信类

An entry by BlueF on 04/26/2009

package {
	import flash.net.NetConnection;
	import flash.net.Responder;
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.ErrorEvent;
	import flash.events.DataEvent;
	import flash.events.IOErrorEvent;
	import flash.events.SecurityErrorEvent;
	import flash.events.NetStatusEvent;
 
	public class NetMessenger extends EventDispatcher {	
                public static const CONNECTED:String = "nc_connected";
                public static const GATEWAY:String = "gateway_url";
		public static var connected:Boolean;	
		private var _action:String;
		private var _nc:NetConnection;
		private var _data:Array;
		private var _responder:Responder;
		private var _response:String;
 
		public function NetMessenger(action:String, data:Array = null):void {
			_action = action;
			if (data != null) {
				_data = data.concat();
			} else {
				_data = [];
			}
			_responder = new Responder(onResult, onFault);
 
			_data.unshift(_responder);
			_data.unshift(_action);
			connected = false;
 
			init();
		};
 
		private function init():void {
			_nc = new NetConnection();
 
			_nc.addEventListener(IOErrorEvent.IO_ERROR , ioHandler);
			_nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
			_nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
 
			if (!connected) {
			     connect();
			}
		};
 
		public function connect():void {
			_nc.connect(GATEWAY);
		};
 
		public function call():void {
			dispatchEvent(new Event(Event.OPEN));
 
			var f:Function = _nc.call;
			f.apply(null, _data);
		};
 
		public function get action():String {
			return _action;
		};
 
		private function onResult(response:Object):void {
			_response = String(response);
			dispatchEvent(new DataEvent(DataEvent.DATA, false, false, String(response))); 
		};
 
		private function onFault(response:Object):void {
			dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, String(response.description))); 		
		};
 
		private function ioHandler(e:IOErrorEvent ):void {
			dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, "Unable to connect the server"));
		};
 
		private function netStatusHandler(e:NetStatusEvent):void {
			trace(">>>", e.info.code);
			switch (e.info.code) {
                              case "NetConnection.Connect.Success" :
			            dispatchEvent(new Event(CONNECTED));
                                    break;
 
                              case "NetConnection.Connect.Closed":
                	            break;
 
                              default :
                	            dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, e.info.code));
                                    break;
                        }
		};
 
		private function securityErrorHandler(e:SecurityErrorEvent):void {
                      dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, "Security Error"));
                }
	}
}

最近由于需要用到AMFPHP所以也就修改了以前使用的Messenger类. 使用数组来传递参数, 一定程度上提高了一点这个类存在的意义… 没有用...args的原因是觉得直接使用数组反而会方便一点.
当取到结果时直接转成String了, 如果有需要的话请自行修改成自己的处理方法.

# | 2 Comments | Filed in: actionscript

醒来

An entry by BlueF on 03/29/2009

终于撑不住, 在八点就已经困得不行, 两个小时混乱的睡眠, 醒来后完全空虚的神经.

连续几天的劳累, 突然很想抱着你对你笑, 然后看着你对我笑. 然后吻你.

# | 4 Comments | Filed in: life