一个奇怪的梦

梦的开端,我在博实超市出口的自习处用电脑上网(大抵是家里上网时间有限制,就跑到梦里补上网时长了吧……),然后上着上着就跑去货架了(不知道为什么……)。然后,梦中的我想起了中学老师说的要收集(百事可乐、美年达、七喜)(可口可乐、芬达、雪碧)这六种饮料。当时ms已经有了百事可乐,然后就突发奇想要把剩下的五种集齐。然后发现其中的两种只剩下大瓶的了,而小瓶的三种中间有两个是当时的最后一瓶了。就这样,我拿着五瓶饮料(三小两大)去了收银处。
梦的发展。跑到收银处,发现木有人排队,于是我就递上博实卡,然后收银员开始扫描。隐约中发现东西巨贵无比,大瓶2L的饮料要19元。心理想着,算了,也就两瓶,懒得换了。可是,结账下来发现居然要190元,才五瓶饮料诶大爷!更悲催的是,当时我博实卡的余额只有四十多了(和现实重合了……),我不想付现金,就质疑收银员操作错误了。收银员这时候问:这个篮子里的东西不是你的么?这时我才注意到边上有个堆满东西的篮子。我说:“这些都不是我的”。收银员于是取消该笔操作,结果,收银用的电脑死机重启了……
梦的深入发展。在等待重启的过程中,我跑去找了值班的,向她反应情况,结果她说让我耐心等等。我想,算了吧,也就一分钟的事情,不是有那种宁停三分,不抢一秒的传统么~(小学每周都会说的)于是就等到收银机重启完。这时候,收银机旁已经排了很多人了(心想:这么多结账平台,干嘛都来这里!),收银员第一个给我结账。“要塑料袋吗?”“不要”然后正常结账,那是不可能的……一个五大三粗的汉子把一大袋小笼也结算在我这里面了。“喂喂!这小笼不是我的!”这时候收银员显得很不耐烦,一面又重启了电脑……等待期间,我还发现我的书包、电脑都不见了(虽然瞄了一眼发现在出口处的桌子上),很生气。回头一看,还发现王胖胖在讥笑我,很生气,就去找值班主任,结果我无论如何怎么陈述事实,主任都一副不屑的样子。于是我很无语,再要去结账,发现连那两瓶只剩下一瓶的饮料也被人买走了,因为我前面在理论的时候收银机已经修好了……
梦的结束。我很生气,索性理了包走人。跑到校外,不知走了多元又往回走。在小西门的地方碰到了贺一二三四昱二二三四旻(免得给百度到)老班长,向他说了故事的经过。他跟我说,其实,要收集齐那些饮料是很难的,他也曾经尝试过,最终还是放弃了。因为美年达不停会推出新的口味的……
——————————————————————————————

然后梦就醒了,才早上8点。我是一个很少记住梦的人,大抵是这次的梦境在梦里面已经复述过一遍的原因,所以记得比较清楚,而且还是临近起床,现在也就过了不到一个小时,所以赶紧记下来。至于为什么会有这样的梦呢?我看了看床头,才想起昨晚睡觉前看的是《算法设计与分析》这本书,各种P=NP之类的概念。唉,看来以后睡前还是得看动漫的书才行啊~

昨晚的决意

大抵是受到小汤圆要去实习了的刺激,昨天晚上躺在床上想了很久,自己应该干什么,不该干什么,于是就有了这些决意。

1.减少SNS时间。具体做法是减少人人、bbs的使用时间。其实在上面很多时候是闲逛,完全没什么收获。所以大抵以后一天上两三次人人就够了吧。
2.停止玩微城市。等到了50级,土地成为方形之后就把整个土地卖空。原因是这个游戏花费时间太多了,因为每5分钟就有能量,能量上限30,相当于每两个多小时就需要至少操作一次,而且每次的操作时间都比较长,不像魔法卡片那样丢着一天也照样收获的。所以我决定不玩这游戏了。
3.加速linux下CBCD的修改和云平台下的移植。虽然deadline定在10月底,但是这样没有很大的动力。为了腾出时间进行paper reading和实际设计算法,还是应该早点干完手头的活的。
4.每天早睡早起。1点睡觉,8:30起床吧。

既然不能实习,那么也不应该把时间就这么浪费掉。与其现在happy,不如苦上一阵子,发个paper啥的,然后就有毕业的资本了,然后就能安心于自己的事情了。

_______________________________________________________
上面是昨天晚上下的决心。然而早上依旧如故,起床,玩游戏,再睡觉。下午去实验室,给一个MAC本本分区,结果弄得分区表混乱了(因为之前不知道MAC本本要用MAC和XP的话XP如故要多分区还得做一些操作),幸好还有PE,最终恢复原样了(虽然还是没能分区,相当于白做了2小时)。然后就在看海贼王的漫画,猛然发现三个多月没看漫画了,惭愧啊。。。回宿舍觉得困了,就睡个觉(居然睡了2小时,导致现在不怎么困了),然后看了F1(舒马赫又退赛了……),然后就10点多了,于是也无心学术了。唉,决心是好的,可是具体执行却又那么困难,原来我是那么没有毅力的人么……

努力啊!

解决linux下WaitForMultipleObjects的一种方法

借助了linux下的Semaphore(信号量),实现了一种简单的WaitForMultipleObjects。
关于Semaphore参考如下的文章:
http://blog.163.com/wulin_shenghua/blog/static/27580770200952644311771/

具体思想:多个线程共享一个信号量,子线程结束后让信号量+1,主线程做n次信号量-1的操作(为0的时候会自动等待),等到做完n次-1,说明n个子线程都完成了+1,说明全部子线程都执行完了,就可以继续了。
这只是WaitForMultipleObjects的一种简单替代,因为没有返回值,所以不能判断某个线程出问题与否。

#include #include
#include
#include
using namespace std;

typedef struct pinfo
{
sem_t * bin_sem;
int id;
}pinfo;

void *thread_function(void *arg)
{
pinfo *t=(pinfo*)arg;
printf("thread_functiont%dt--------------sem_waitn",t->id);
int ii=t->id + 1;
sleep(ii); //暂停一会,这里模拟程序执行
sem_post(t->bin_sem); //信号量+1
printf("sem_donet%dn",t->id);
return NULL;
}

int main()
{
int res;
int n=10; //设置个线程
sem_t bin_sem; //设置信号量,下面初始化这个信号量

res = sem_init(&bin_sem, 0, 0);

if (res != 0)
{
perror("Semaphore initialization failed");
}
printf("sem_initn");
int i;
pinfo *p=new pinfo[n]; //创建个线程的参数结构体
pthread_t *a_thread=new pthread_t[n];
for(i=0;i

ubuntu下安装OpenCV2.0、eclipse编译环境

OpenCV对于windows用户而言非常友好,对于Visual Studio的配置也很方便。然而,在linux下,因为各种lib文件的原因,配置OpenCV并不是那么轻松的一件事。趁着今天刚刚配完ubuntu下的OpenCV2.0和eclipse环境,说说具体过程吧。
(参考文献:
http://www.opencv.org.cn/index.php/Debian%E4%B8%8B%E5%AE%89%E8%A3%85
http://hi.baidu.com/wr_dcy/blog/item/b425151e237989dca6866950.html)
1.下载OpenCV
去OpenCV中文官方网站下载即可。http://www.opencv.org.cn/ 注意linux选择unix版本的OpenCV即可。这里我选择2.0.0,其它版本的区别不是很大。
2.解压OpenCV到一个你方便操作的位置(比如/home/user/OpenCV)user为你的用户名。ubuntu是可以用右键解压的。
3.安装各类软件:(注意,需要安装libjpeg,否则jpeg文件不能load)
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install gawk
sudo apt-get install libjpeg-dev
sudo apt-get install libtiff-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
sudo apt-get install libgtk2.0-dev
4.在OpenCV文件夹下configure
user@master:~OpenCV$ ./configure
然后
make
sudo make install
5.这时候,OpenCV算是完成了。可以自己写一个小的测试程序,也可以去OpenCV文件夹里面的samplesc目录下面去试试samples 。例如:
g++ `pkg-config opencv –libs –cflags opencv` drawing.c -o drawing
然后./drawing
就可以看到一个示例程序运行了。

————————————————————————————
6.安装eclipse。
去eclipse官方网站http://www.eclipse.org/ 下载eclipse for C++ linux版本的。
解压。
这里需要之前安装过jdk环境。http://developer.51cto.com/art/201012/238581.htm 按照这篇文章里面写的就行了。注意/etc/profile里面的东西别写错,否则下次开机会进不去图形界面的。
7.运行eclipse。
8.新建一个项目,里面新建一个.c文件,然后写上下述代码:

#ifdef _CH_
#pragma package
#endif
#define CV_NO_BACKWARD_COMPATIBILITY

#ifndef _EiC
#include "cv.h"
#include "highgui.h"
#endif
#include
#include

int main( int argc, char** argv )
{
IplImage* img=cvLoadImage("baboon.jpg",1);
cvNamedWindow("haha",1);
cvShowImage("haha",img);
cvWaitKey(0);
int params[3];
params[0] = CV_IMWRITE_JPEG_QUALITY;
params[1] = 85;//设置s压缩度
params[2] = 0;

cvSaveImage("t.jpg",img,params);
return 0;
}

这个小程序会读取baboon.jpg(在samplesc文件夹下面有),显示,然后在你按键之后保存这个图到t.jpg。当然,现在肯定编译不过咯。现在要设置各种路径:
eclipse下:
project-properties- c/c++ general-path symbols
include中间添加:
/home/user/OpenCV/include/opencv
注意选中add to all configurations all languages
libraries添加:
cv
cxcore
highgui
library path 添加:
/usr/local/lib
然后确定。这样重新编译这个代码就可以运行了。

后面么,就像在windows下那样使用OpenCV吧~

VS2008的安装、修复时一个error的解决方法

error:VS70pgui: [2] 下列卷没有足够的磁盘空间用于修复/重新安装
原因:VS2008安装时会在系统剩余空间最大的磁盘分区里面放一点东西。比如你当时插着移动硬盘,然而后来拔掉了,再安装VS2008的补丁就会报磁盘空间不足。或者说你重新分配了盘符(比如苦逼的我……)
解决方法:卸载VS2008,然后重装即可。

everything about proxy

最初建立代理服务器的目的是小浩浩在清华只能用ipv6上网,而没法访问ipv4网站。于是某个周末聊到了这个问题,于是就自己试着建了个代理服务器。以前用过ccproxy,但是非注册版只能3个用户连接,比较少,所以就用了apache,折腾了一晚上搞定了。

然后就一发不可收拾了。想着要给在外国读书的孩子上国内网站的机会(esp学校bbs、优酷、土豆等),就开始研究了。可以直连国际网的比较好办,在浏览器里面输入代理地址即可。而也有诸如hw同学这样的bug例子的存在:本身上网需要代理服务器了,那么怎么办呢?

一种方法是二次代理,然而,大部分的二次代理都需要中间服务器的软件支持,而且需要诸如socks5这样的代理支持,这点只有代理服务器是自己设置的时候才比较容易操作。所以,这条路试了两天无果,遂放弃。

另一种方法是在线代理,这也是比较直观的想法。因为以前也有过sisxx.org结尾的代理。于是自己开始上网找这样的代理源代码。一般而言有那么几个比较常用的:
phproxy、glype、KnProxy
然而,虽然这些网页代理都赫赫有名,却都没法解决播放视频、上bbs这样的功能。于是郁闷了老半天。

最后想到qz大神在日志回复中提到的india web proxy。之前也找个,无奈把india拼成了indea了,于是悲剧了。这次发现错了,然后自己试着用了一下,发现很好用,用上之后效果和设置一次代理服务器一样。

另外,也曾经试着VPN,但是VPN需要两块网卡,单网卡下的win7 VPN相对比较复杂,也就没去考虑了。

so,代理服务器基本上是折腾完了。唯一的缺憾是迅雷下载时账号登陆这块不支持代理,即使用ccproxy的socks5代理也不行,所以离线下载只能在登陆网关的账号上进行了。

革命尚未成功,那就暂时先不革命了……

这两天在整理自己的空间,主要是想把原先的计划付诸实现:做个自己的个人网站,而不仅仅只是一个博客而已。然而,进展不是很快,主要是各种css、js都不熟悉,只能慢慢从头开始摸索(所以web技术概论课的东西全部还给老师了是么,虽然只见过那老师一次来着)。

不过,明天,也就是13号,本猫就要出去玩了,去黄山,顺便去芜湖之类的地方逛逛。同行者:小胖胖(不是王胖胖……,虽然也姓王……)、宝宝、小浩浩。17号晚上or18号白天到上海,视回来时候的心情,心情不好就坐火车,好就坐大巴。大巴比较快恩,因为火车还得绕道南京。

so,待到回来之日,继续修改我的homepage!目前已经有了一些构想了,特别是墙壁,打算弄得漂漂亮亮的~

暑假开始?

明天D301回上海。在经过了动车事故之后,D301俨然成为了一个敏感词了。而碰巧这几天“梅花”台风还在影响东南沿海,虽然刚刚看新闻已经降低了一个等级了,但估计明天大风大雨还是免不了的了。
so,看样子明天晚上怎么着都能到家了吧。于是,假期开始了?

大概不会是这个样子的=。=
实验室这边,因为项目虽然弄完了,但是效果很差,尚且不能交差,所以老板估计还会要改这改那的。原因很简单,三个项目,就三个人搞,一个月,怎么可能完成得了么!至于我么,大抵就是负责各种打杂的活的,比如各种数据集的收集。于是这个暑假我对于数据抓取有了更深的了解了。
然后就是写写基本的图像检索系统。之前形状特征的EdgeHist代码有问题,所以XSearch效果不怎么样。现在换用了正确的代码,效果在自然景观上尚可。原因是自然景观的数据集较大,所以怎么着随机返回的结果都会比较好的吧。。。
anyway,大抵后面还是要有一两天来改进这些算法的效果的,这些再说。

9号估计会找rzc玩,因为他10号就要去米国了。唉,6号小邃邃就已经走掉了,晚了一天多啊。。。
然后13号去芜湖,然后去黄山,到家大抵是17、8号了吧。
然后送送人?其实我只是想去浦东国际机场看看,因为到现在都没去过那边(其实虹桥也就出过两次站,还没有上海出发用飞的)
然后就接近开学了,找在上海的同学聚聚,大抵时间又没有了。

所以说,就好像上班了一样,以后能有大段的空闲时间的机会也就没那么多了。

最后,希望明天顺利吧。我可不希望铁道部因为2011.08.07的事故从此把D301这个车次打入冷宫……

愿岁好人安

最近发生的那么些事情,总让人感到生命的脆弱。
21号早上起床,打开手机看人人,结果发现全部的状态都是一个样子的。起初我还不幸,看了看时间发现不是愚人节,然后就彻底醒了。昨天还在人人上看到她传照片,睡了一觉就没有了,这种感觉很恐怖。
然而,bbs上悼念guoguo还没告一段落,周六晚上实验室之后回到房间,打开电脑,就看到了动车事故。一开始以为是开太快出轨了,后来才知道追尾了。虽然39个的死亡人数不那么可信,但是也不会超过100人的,因为那时候六节车厢一共才300人不到。本来一直以为动车很安全的,没问题的,自己坐过几次也都稳稳当当(甚至没有晚点),结果就这么出事了。于是,又一次的生离死别了(感慨一下那个在人人上“遗言”的哥们)。
于是就开始担心起来,说不定哪天在人人微博上留了一条状态,下面就出现了四位数五位数的留言了。这样的“人气”可一辈子都别出现啊!所以说,以后留言还是要乐观一点的,悲观的愤怒的消极的思想,那就留在心中或者写在日记里吧~

许是应景吧,北京这两天天气很怪异,天天电闪雷鸣的,大雨瓢泼。也不知道帝都什么时候有了这么多的眼泪,是老天都看不下去了么~anyway,在刚才即将出门回去的时候突然就倒下来了,于是就被打了回来,于是又开始感伤了。
你们都要好好的,虽然不知道再次见面是猴年马月了……