驾照终于考完了

我终于考完了,Z-Turn了四个月,中间遇到了若干问题,不过还都是克服下来了。想想自己考这么个东西也是遇到了好多自己没有想到过的问题。

刚开始的时候,是时间安排的问题,是理想的情况是能在我放假之前把车学完,然后就可以回家过暑假了,暑假只有三周,所以自己挺期待这三周休息的时间的,但是驾校开始的时候跟我讲13天可以学完,也没有告诉 我不包含周末,于是我打了下小算盘,嗯,我只是晚回家一个星期,我还有两周的假期,也还不错。后来去学车的时候,教练队的队长又改话了,说要15天,还不包含周末,那就是我要学到8月7号左右,我也忍了,毕竟还有一周的在家里的时间。于是我在北京一个人数着日子过,终于把这15天过完了,教练才恍然大悟的告诉我们,不是那个时候考,要到8月11号才能安排考试时间,要学习20天,我的天呢,那我的假期不就完全没有了么!从知道这个消息的那一刻开始,我就有点抵触情绪,我研究生的第一个暑假,人生的倒数第二个暑假就这么给弄没有了。我不愿意!!可是又有什么办法呢,还有5个学日就学完了,如果这个时候转计时班,相当不划算,从“不做一个败家的孩子”的角度考虑,我还是忍了,不过那个时候就有点不太乐意学车了。后来我买了12号的车票,11号考的桩考,光荣的没有通过。不过还是暂时把这件事情忘了,回家过了一个星期。其中有五天是我请的假,当时极度不爽。

再说说平时的练车吧。我是五点到八点的班,在北大东门有班车,所以我每天1点钟睡午觉,2点钟起来洗洗弄弄,2点半出门,三点多到北大东门,然后等三点二十的班车,从班车到驾校四点半,等到五点开始练车,由于是三个人一个车,所以练习的时间并不长,每天也就大概45分钟的样子。七点半左右一般就下课了,然后等八点的班车,九点左右可以到达北大东门,我再下车转公交到公寓,路上买点乱七八糟的吃的,回到宿舍基本上就九点二十五了,然后吃完东西洗洗澡,十点半多快十一点,这个时候想做点事情,也没有多少时间,十二点之前睡觉。一天就为了那么点练车的时间,我却要把从1点到晚上十点9个小时的时间全放进去。加上我早上起得也晚,一天基本上全是学车了,没有时间做别的事情,而且基本上也没有心情做别的事情。

最惨的是周末,周末不用练车,我应该高兴才对哦,可是因为不能练车,我回家的时间就要被拖后,而且周末也基本上是一个人宅宿舍里,相当无聊。那段日子简直就是我人生里最黑暗的日子,每天做着自己不喜欢的事情。学车的时候挨骂是肯定的,而且还不能顶嘴。开车本身并不是一个难度多大的事情,主要的还是熟练的程度,可是我们毕竟每天就那么点练习时间,却要要求我们一上车就有“车感”,要能么?

暑假最惨的是,就算我这样子的情况下把车练完了,练到自己也信心满满的时候,桩考却没有过。而且也挺可惜的,倒库的时候出线了,打轮打早了一圈。之后24号我又考了一次桩考,吸取上次的教训,我没有掉以轻心,开得非常慢,非常谨慎,也许可能是因为节奏太慢,跟平时练习的时候不太一样,也光荣的在移库的时候折掉了。两次桩考没过,那个时候完全没有信心再考下去了。紧张,不适应考试的环境,压力,我自己从开始到后来都还是觉得平时练习的时候还是挺好的,一直也郁闷为什么在考试场上却总是出问题。

第三次桩考,已经是几乎一个月后的事情了,这次终于过了。科目二场地路考也进行的很顺利,当时就特别高兴。虽然在别人看来,这也许不是件什么值得庆贺的事情,但是对于我来说,我却是走过了一道曾经觉得很难走过的坎。然后约了路考的时间,两天后进行了集中训练,又过了一天,参加了路考。我觉得我考试的时候开的还是挺好的,车速也有,车身也比较平稳,以前练车的时候养成的看档的坏毛病也被我克服了,流程走的也都对。加到五档之后,就顺利的靠边停车通过了考试。

后来想想,自己也没有曾经想象的那么开心。

我有几点小小的感触:

  • 千万不要在你想做另一件事情的时候,去做一件你不乐意的事情,在开始的时候就不要妥协
  • 有些事情,没有必要看得那么重要,人总有不擅长做的事情,也许考驾照就是我不擅长做的事情之一
  • 没有克服不了的困难,如果某件事情别人能做好,那么自己多做几次也能做好
3,502 次浏览 | 3 条评论
2009年9月30日 | 归档于 生活

折腾Hadoop的一天

Hadoop自己的文档写的也确实不是特别清楚,抛去折腾(英文:z-turn)cygwin的时间,也花了我将近两个小时才把Hadoop Cluster配置起来。主要参考了两篇文档:

Cluster Setup

Running Hadoop On Ubuntu Linux (Multi-Node Cluster)

这里总结一下我的经验,把hosts各主机的主机名配好(生产中的应用应该用name server来作),然后在某台充当NameNode和JobTracker的机器上把Hadoop配置完成以后,将该配置好的Hadoop通过rsync的方式同步到其他机器上去,然后修改NameNode和JobTracker里的masters和slaves文件,即可。

之所以没在linux下做实验,是因为有些任务需要在windows下跑,所以才z-turn了一下cygwin。明天要z-turn一下在Hadoop上写自己的MapReduce程序了。

3,219 次浏览 | 1 条评论
2009年9月21日 | 归档于 云计算, 技术
标签: , ,

AOP in PHP

我们假设你使用的是Windows环境下的AMP环境,并认为假如你在知道如何配置Windows下的PHP的扩展的情况下,也知道如何配置Linux下的环境。

首先要启用runkit,在Windows上如果没有启用这个模块,你可以去http://museum.php.net/php5/下载一个PECl的集合,然后把php_runkit.dll解压到PHP安装目录下ext文件夹里,并在php.ini里加上一句:
[PHP_RUNKIT]
extension=php_runkit.dll

然后你就可以使用runkit在运行时动态改变函数以及类中的方法,具体的作法请参考runkit的文档,有时间我可以把runkit再封装一下,使它真正的可以直接拿来做aop。

另外,所有看了classkit又找不着扩展安装的同学 ,就不要再用classkit了,那个项目已被runkit代替,虽然这个现在也不发布新版本了。

3,474 次浏览 | 没有评论
2009年9月18日 | 归档于 技术
标签: , , ,

CodeIgniter中PNG图片处理背景不透明问题的解决办法

BS一下自己起的这个标题。

本文仅限于解决使用GD2来处理图片的情况。

我想很多用CodeIgniter的人都会有这样的需求,用户上传了一张照片,需要对照片进行一定的修改以后(缩放,调整大小)再存储下来,但是如果用户上传了一张背景透明的PNG图片,那么我们使用CodeIgniter中的Image_lib进行裁剪以后,将会得到一张背景是黑色的图片,为什么会产生这个错误呢,我们来看一下CI的处理逻辑。

  1. 新建一张图片,该图片默认是黑色不透明背景
  2. 把源图片相应区域中的内容复制到新图片上
  3. 处理完毕

毫无疑问,你将获得一张黑色背景的图片,其最根本原因还是在于使用GD2来处理图片时,imagecreatetruecolor函数本身生成的就是一张黑色不透明的图片,你把一个透明的图片拷贝到它上面,当然背景就变黑了,所以我们只要在以上步骤里的1与2之间添加处理,将新图片的背景设置成100%透明即可以解决这个问题。

在Image_lib.php(CodeIgniter 1.71版本)的515行

即$dst_img = $create($this->width, $this->height);之后添加

// Transparent the background!!!
if ($create == ‘imagecreatetruecolor’)
{
imagesavealpha($dst_img, true);

$color = imagecolorallocatealpha($dst_img, 0, 0, 0, 127);
imagefill($dst_img, 0, 0, $color);
}

便可以解决问题了。

更新,提供另一种办法:

// Transparent the background!!!
if ($create == ‘imagecreatetruecolor’)
{
imagealphablending($dst_img, false);
imagesavealpha($dst_img, true);
}

<!– end –>

3,666 次浏览 | 没有评论
2009年9月17日 | 归档于 CodeIgniter
标签: ,

FreeBSD 7.2下安装Gnome

步骤比较简单,但是有一些配置在你安装完成了gnome之后并没有生效,也许freebsd并没有想过要在桌面系统的易用性方面下功夫吧。

  1. 安装gnome,你可以通过sysintall或者是pkg_add来安装
  2. 更改配置
  3. rc.conf里加入gdm_enable=”yes”和gnome_enable=”yes”
  4. ~/.xsession里加入exec gnome-session

OK,我的机器上这样一搞就好了。

2,580 次浏览 | 没有评论
2009年9月16日 | 归档于 FreeBSD, Unix
标签:

ExtJS 3.0

先摆个下载地址在这里:http://extjs.com/products/extjs/download.php?dl=extjs3

刚开始接触Ext这种规模的Framework,是本科的时候参加学院里的编程大赛,写了一个在线的IDE,使用的是Dojo,当时由于对JavaScript不是特别熟悉,Dojo本身的文档看起来也不是很完善,所以做的很痛苦;不过最后做出来的效果应该是满足了我们的需求。再接着是在阿里做的一个文件同步与维护的系统,也是做的B/S的架构,用的框架是YUI,当时Ext应该还是叫YUI.Ext,后来做大了才自立门户叫作Ext,本自的意思就是Extension嘛。后来用到Ext也是在阿里实习的时候,在SIP上做了一个Demo应用。之后的大部分开发(FaceFeed)使用的是jQuery,因为用不到类似于Ext那样的界面。到现在,我对JavaScript Framework的选择主要是考虑下面几个方面:

  1. 代码的质量
  2. 执行的效率
  3. 文档的质量
  4. 社区的活跃度
  5. 项目的活跃度
  6. 界面的美观程度

Ext是个不错的选择,MooTools也是个不错的选择,Ext我从1.x的版本用到3.0,每一次看到更新还是会觉得很欣慰。但是从代码风格上来讲,MooTools可能更好一点,JS天生不是一个面向对象的语言,通过何种方式让他更容易让我们这些习惯了OO的程序员使用,也应该是一个优秀的JS Framework所要解决的问题。

写这篇博客我并不想去比较不同的框架之间谁优谁劣,我甚至肤浅的表示出当初被Ext吸引仅仅是因为它比较美观,各有各的长处吧,用熟了都能当不错的兵器,帮助你快速构建一个你想要的,也是客户想要的系统。我仅仅是想表达一下我对这个框架的爱好之意。MooTools也不错,如果它能做的比较Ext更美观,我也会好好去看一下它,做UI对于我来说太难了。

2,757 次浏览 | 没有评论
2009年9月2日 | 归档于 JavaScript, 技术
标签: , , ,

每日食谱[2009-08-29]

午:青椒土豆丝、莴苣炒肉、米饭

晚:鸡翅中、蕃茄炒鸡蛋、麻辣烫、米饭

地点:食堂

晚饭是因为吃完了东西发现阿超的石锅拌饭还没拌好,才去买的麻辣烫,嗯,我自己也确实没怎么吃饱。

1,929 次浏览 | 没有评论
2009年8月29日 | 归档于 每日食谱

每日食谱[09-08-26]

午:地三鲜、黄瓜炒鸡蛋、扬州炒饭

晚:回锅肉、炝绿豆芽、米饭

地点:软件所食堂

中午那两个素菜实在是太贵,一个二块五,一个三块五;晚上的回锅肉挺好吃的,豆芽也不错,可是份量实在是太多,根本吃不下。

1,984 次浏览 | 没有评论
2009年8月26日 | 归档于 每日食谱, 生活

Freeware – XAMPP

自己使用过很长一段时间的Apache+MySQL+PHP,虽然各自都有安装文件,但是对于一个刚接触这些东西的人来说,一定会被它的配置困扰过,刚开始不懂,去网上一通乱查,后来知道了去看文档,但是这种成熟的软件,一般配置项都比较复杂,而且像mysql更是缺少一个易用的管理客户端。xampp现在看来是一个不错的选择,安装以后,apache,mysql,php便立即可用,推荐。

另外,推荐安装xampplite,这个版本不包括FileZilla Server,一般做开发也不需要架设FTP。

下载:http://sourceforge.net/projects/xampp/

2,589 次浏览 | 没有评论
2009年8月24日 | 归档于 Freeware, Linux, Windows
标签: , , ,

了解一些“云”

Windows Azure Platform

The Windows Azure Platform provides a wide range of internet services that can be consumed from both on-premises environments or the internet.

Apache Hadoop

The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing. Hadoop includes these subprojects:

  • Hadoop Common: The common utilities that support the other Hadoop subprojects.
  • Avro: A data serialization system that provides dynamic integration with scripting languages.
  • Chukwa: A data collection system for managing large distributed systems.
  • HBase: A scalable, distributed database that supports structured data storage for large tables.
  • HDFS: A distributed file system that provides high throughput access to application data.
  • Hive: A data warehouse infrastructure that provides data summarization and ad hoc querying.
  • MapReduce: A software framework for distributed processing of large data sets on compute clusters.
  • Pig: A high-level data-flow language and execution framework for parallel computation.
  • ZooKeeper: A high-performance coordination service for distributed applications.

IBM HiPODS

HiPODS has evolved to developing innovative, first-of-a-kind solutions to deeply challenging on demand business issues in such areas as:

  • Web 2.0 technologies
  • Collaborative innovation solutions
  • Cloud computing
  • Automated IT services management
  • Capacity planning for Service Oriented Architecture (SOA) systems
  • Software as a service
4,559 次浏览 | 2 条评论
2009年8月24日 | 归档于 Windows, 技术