Chase Down My Dream

Life, Dream

  • Home
  • About
  • Sample Page
Twitter Facebook Sina RSS

奋斗?蜗居?

Posted on November 26, 2009 by stingrey
No Comments

半月前,在实验室找到了长期的坑,搬来了电脑。这几天,给电脑换了风扇,在内存价格涨到如此疯狂的时候,我还是用DDR2 800把主板上的内存槽全部插满,真汗啊~看了几集最近热播的《蜗居》,再联想起去年年底看的《奋斗》,《奋斗》讲的是年轻人如何盖房子,《蜗居》讲的是年轻人如何买房子,各种杯具难以言尽,在寸土寸金的这个时代,还得庆幸一下自己能在实验室找到个坑。

将来的路该有一些轮廓了吧,未来的路也是要自己奋斗出来的,蜗居不过是残酷现实的催化剂。这时的我,对于某些事也许还太执着了吧,我努力过,换来的却是不信任,想想自己,还不如一笑而过。将来,即使要面临残酷的现实,我依然还有许多要做。

怀揣着希望也好,幻想也罢,一个技术,一个游戏,一个乐队,世界如此多彩,我怎么舍得看开?

Categories: 生活 | Tags: 奋斗

MSTC TechCool月刊创刊啦

Posted on October 31, 2009 by stingrey
1 Comment

公元2009年10月31日至11月1日的某段时间,MSTC TechCool月刊创刊号终于上线。以前大家是不屑于将某些东西记录成册的,现在想想将各种8g、想法弄在一起,将来想看的时候是非常非常有意思的!

整个排版过程恨透了Word以及人肉版本控制,最终合并的时候我还犯了严重的错误,导致小朋友熬夜。。。回顾整个过程,弄杂志的过程就是一软工,稿件整理,排版,没有合理的安排是无法在短时间内完成的,若缘真是辛苦了!之后还和Rhythm聊了一下,这过程还需要和谐的版本控制,最终合并错误就是我错误的版本控制造成的。争取近期能弄出几个LaTex模板,然后试试Dropbox,期待下一期月刊!据说GRE和Kily对投稿很有兴趣~

最后感谢在月刊中辛勤工作的以及供稿的staff们!

月刊下载欢迎围观:dispbbs.asp?boardID=60&ID=2899954&page=

Categories: 另一个自己 | Tags: MSTC

舍不得看开

Posted on October 25, 2009 by stingrey
No Comments

世界如此多彩,怎么舍得看开?

Categories: 生活 | Tags: 心情

命运在捉弄吗?

Posted on October 10, 2009 by stingrey
2 Comments

在预想中本该和好朋友一起去争取,也该是信心十足的,现在知道结果,一点也不好受,真的是命运在捉弄?自己好不厚道,sigh,好难,

做一个自由而负责,真诚而练达,正直而宽容,深邃而单纯,执着而洒脱,勤勉而从容,豪放而儒雅,温暖而美好,沉静而有趣,踏实而创新,朴实善良的灵魂

Categories: 另一个自己, 生活 | Tags: 心情

保研面试

Posted on September 30, 2009 by stingrey
2 Comments

很幸运地拿到保研面试的名额,应该是最后一个挤进去的,验证了一句话:有机会就不要放弃。稍微准备了一下,昨天早上过去才听说今年英语面试大变化,这倒好,该咋办就咋办,呵呵。中午最后一个面试,没有什么紧张感,把能扯的扯了一遍,发现老师们都是很可爱的。最后面试成绩也还不错,88多,下午几个面试的老师就打电话过来问导师意向。可惜的是自己专业成绩确实排在太后面了,面试成绩并没有对我的面试排名产生很大的影响。很遗憾,没能保研成功。不过经过面试,自己考研压力小了很多,动力大了很多,继续复习中……昨天面试的老师们真是辛苦啊,折腾到晚上10点多,momo~

国庆快乐~中秋快乐~

Start of something new !

Categories: 另一个自己, 生活 | Tags: 保研, 心情

天气忽冷忽热~

Posted on September 19, 2009 by stingrey
3 Comments

最近天气一阵热一阵冷,提醒朋友们不要感冒了~

手机在上周末突然抽风,铃声失效,貌似扬声器的IR电路接触不良(实验室的万用表不好用,没有测出具体哪个地方坏了)。没了铃声,虽然手机经常处于静音状态,但是发现自己竟然如此不习惯,莫非还真的有手机强迫症?没了铃声,振动有时候效果不好,可能要每隔一段时间查看一下手机,即使这样我还是经常会miss掉一些短信和电话。如果最近短信回复迟了或者漏接电话请朋友们原谅!以前的M600i和Palm Treo 750v都拿去换米了,sigh,有个备用机还是很有必要的~没了铃声,闹钟也变成振动,幸好最近已经是自然醒了,表示对生活影响不大。

实验室蹭饭的日子已经过去了 :cry: ,现在偶尔去实验室讨论paper,挺好玩的,看了一些paper,才知道暑假做的东西太入门了,真想能有很多时间尽快尝试自己的一些想法。虽然每次到实验室都会被n多人围绕着大谈直博的好处,然后是一片劝博的呼声,但是我已然有打算,考研啊考研,考研复习进度有点慢了,英语在无数paper的轰炸下感觉还不错,只能是感叹一下应试啊应试……复习还是很有好处的,数学很美妙,数值分析课上讲的原来大一的时候就摆在那边了,再次sigh。在大学里自己曾一度荒废数学,现在真要加把劲了。205教室真折腾,几乎每次看了几个小时,保安就过来说要我们换到201去,要稳定啊稳定~

“生活不容易,生活不艰难。”

现在是越发想抓住那另一个自己,一个游戏,一个乐队,相信不会太遥远了~啊,还有那5年的mustang~

Categories: 另一个自己, 生活 | Tags: 心情

Micolog Tag Cloud jQuery 3D版

Posted on September 3, 2009 by stingrey
7 Comments

Capture1 话说Tag Cloud的flash版,浮云是浮云,可是由于flash的先天因素,必然导致页面加载很慢。当时移植flash Tag Cloud的时候也恰巧看见了一篇很有意思的文章 Exploring 3D in Flash,讲述如何呈现3D效果,估摸着可以用jQuery之类的实现一下。同样对jQuery已经生疏了,只能边搜资料边写写看。折腾了半天,实现了右边贴图的效果。很神奇,正在头痛如何优化时,发现了比较类似的实现:
How to Create a 3D Tag Cloud in jQuery 。剩下来就是弄到Micolog上的事情了。

讲讲在Micolog上怎么弄吧,其实就是把jQuery的脚本加到Tag输出那一段,稍微改一下样式就可以了。

显然是在sidebar.html中修改:

<li>	<h2>Tags</h2>	<div id="jTag"> <---添加id	{% if tags %}	{% for t in tags %}		<a title="{{ t.tagcount }} topics" href="/tag/{{t.tag|urlencode}}"                  id="{{ t.tagcount|tagsize }}">{{t.tag}}</a> <---这里也改一下	{% endfor %}	{% endif %}	</div>

# 添加js脚本<script type="text/javascript">$(document).ready(function(){		var element = $('#jTag a');	var offset = 0; 	var stepping = 0.01;	var list = $('#jTag');	var $list = $(list);	$list.mousemove(function(e){		var topOfList = $list.eq(0).offset().top;		var listHeight = $list.height();		var adjustH = 360; <---这个要根据页面实际情况调,主要就是让                var x=0.5;  <---这个值主要是用来调整旋转速度的,越大越快		step = (e.clientY + adjustH - topOfList)/listHeight * 2 * x - x;	});	for (var i = element.length - 1; i >= 0; i--)	{		element[i].elemAngle = i * Math.PI * 2 / element.length;	}	setInterval(render, 200);	function render(){		for (var i = element.length - 1; i >= 0; i--){				var angle = element[i].elemAngle + offset;			x = 120 + Math.sin(angle) * 30;			y = 45 + Math.cos(angle) * 40;			size = Math.round(6 - Math.sin(angle) * 6) +                                  element[i].getAttribute("id")/2; <--- 获取popular程度			var elementCenter = $(element[i]).width() / 2;			var leftValue = (($list.width()/2) * x / 100 - elementCenter) + "px";			$(element[i]).css("fontSize", size + "pt");			$(element[i]).css("opacity",(size-6)/10);			$(element[i]).css("zIndex" ,size);			$(element[i]).css("left" ,leftValue);			$(element[i]).css("top", y + "%");		}			offset += step;	}});</script></li>

在style.css中添加显示Tag Cloud的样式:

#jTag {         font-family: Monospace, "宋体", sans-serif;        margin:0 auto;	height:216px;       	width:186px; <---高、宽参数根据实际显示效果调,会对脚本中adjustH有影响        overflow:hidden;	position:relative;	background-color: trans;}#jTag a{	list-style:none;	margin:0;	padding:0;	position:absolute;	text-decoration: none;	color:#666;}#jTag a:hover{	color:#ccc;}

要把base.py中的tag输出个数调整一下,大概12~16个比较好。差点忘了,最好去http://ajax.googleapis.com/更新一个最新的jQuery.min.js。

这样就能让Tag Cloud动起来了。脚本基本就是在现成基础上改的,修改参数挺崩溃的,一开始传到网页上去发现只能往一个时针方向转,而且怎么也停不下来。当时调试了很久不知道怎么解决,在本地都是很正常的。昨晚看调试输出的时候,发现网页上获得的e.clientY值是相对的,于是导致了step这个值一直是负值,所以就总是朝一个方向转了。偷懒没有写支持IE的部分。。。这个版本自然比flash轻巧,能根据Popular程度不同改变Tag大小和透明度。

Categories: Micolog | Tags: jQuery, Tag Cloud

Micolog Tag Cloud Flash版

Posted on August 31, 2009 by stingrey
12 Comments

lux_time

白天偶然翻网页的时候看见Tag Cloud的浮云版本,Flash做成的3D效果,感觉比较好玩(莫非我口味太重了)。上网找了找,发现这个最早是Roy Tanck为WordPress开发的插件,既然是flash的,那么感觉google app engine能扛住,于是就开始yy如何移植到Micolog上。本人对flash一窍不通,只能面对Roy的文档和提示慢慢折腾。幸好网上也有很多关于将这个插件移植到其他博客系统的文章,于是边学边干,一个小时就直接上货了。目前已经改好了中文Tag的显示问题。目前对Tag的更新还有点问题(现在用的是比较邪恶的方法),页面格式也还有待调整。

在侧边栏的显示效果大致就是这样的:

Capture1

Micolog添加Tag Cumulus的大致的方法(这里只是提供比较偷懒的方法,但是效果是一样的):

先去WP-Cumulus上下载Roy做的插件,其实我们只是要其中的flash源代码,所以最好是下载Development Version。

接着开始偷懒的方法,写一个tagcloud.xml文件,格式大致是这样的:

# 添上相应的tag和链接,这里就是偷懒的地方,最终flash就是从这个xml读取tag并显示的。# 好处是不用改太多代码,这样比较方便,坏处是有新的tag的话就要重新修改xml# 但是如果新tag还有中文,那么就可能要重新生成一遍flash了,原因在后面步骤<a style="font-size: 13pt;" title="3 topics" href="../tag/Linux">Linux</a><a style="font-size: 13pt;" title="4 topics" href="../tag/Micolog">Micolog</a>

关键部分,因为Roy原本的cumulus不支持中文,那么我们就要将自己的tag中的中文嵌入到flash中:

参看:3D标签云移植,以及中文版标签云 大致做法就是将前面下载的flash源文件做修改,嵌入自己博客中文tag相关的字体就可以了,这样就有个弊端,就是每次有新的中文tag的话就又可能要重新生成一遍flash。生成flash文件大小最好控制在40K左右,否则页面加载还是很累的。

接着将生成好的tagcloud.swf,tagcloud.xml,swfobject.js三个文件放在tagcloud文件夹中,然后放在micolog文件夹中的static目录中(只要这三个文件就够了,但是也已经很大了。放在micolog下哪里也无所谓)

之后在相应主题文件中修改sidebar.html,注释掉原来的tag输出,在相应位置嵌入flash:

<h2>Tags</h2>

# 按照这样注释掉tag输出就可以	{% comment %}	{% if tags %}	{% for t in tags %}	<!--a title="{{ t.tagcount }} pages" href="/tag/{{t.tag|urlencode}}"              style="font-size:{{ t.tagcount|tagsize }}pt;">{{t.tag}}</a-->        {% endfor %}	{% endif %}	{% endcomment %}

# 在这里添加flash显示,宽度和高度根据主题调整,tspeed是用来调整tag切换速度的,参数参见WP-Cumulus <script type="text/javascript"    src="http://xxxxxx.appspot.com/static/tagcloud/swfobject.js"></script><embed tplayername="SWF" splayername="SWF" type="application/x-shockwave-flash"              src="http://xxxxxx.appspot.com/static/tagcloud/tagcloud.swf?r=8269298"              mediawrapchecked="true" pluginspage="http://www.macromedia.com/go/getflashplayer"              id="tagcloudflash" name="tagcloudflash" bgcolor="#ffffff" quality="high"              wmode="transparent" allowscriptaccess="always"              flashvars="tcolor=0xffffff&tcolor2=0x999999&hicolor=0xffffff&tspeed=100&distr=true"              width="180" height="210"></embed>

到这里就完成了,非常偷懒的方法。

有一种jQuery方法实现起来相当简单,当然也就要稍微朴素一点……

Categories: Micolog | Tags: Flash, Tag Cloud

Micolog 添加评论回复邮件通知功能

Posted on August 30, 2009 by stingrey
14 Comments

usertile23 架了Micolog之后,发现评论功能比较简单,就根据HouKai的文章增加了Reply的功能(没有添加引用的功能,感觉不是很实用,还容易把页面拖的不整洁)。WordPress有个评论回复邮件通知的功能插件,于是想想也该给Micolog加个这个功能。

首先在相应主题的comments.html文件中在添加评论邮件通知的checkbox,位置可以随便定,感觉放在submit按钮之后会比较好:

<p><input name="submit" type="submit" id="submit" tabindex="6" value="Submit Comment" /><input name="reply_notify_mail" id="reply_notify_mail" tabindex="5" checked="checked"        style="width: auto;" type="checkbox" /><label for="reply_notify_mail">Notify me if there is a reply</label></p>

接着在blog.py中Post_comment类中添加处理客户端POST数据中的邮件定制信息:

# 大概在248行的位置,添加reply_notify_mail的几行        key=self.param('key')        content=self.param('comment')        replynotify=self.param('reply_notify_mail')        reply_notify_mail=True        if replynotify != 'on':            reply_notify_mail=False

# 大概在295行的位置,添加reply_notify_mail的一行        else:            comment=Comment(author=name,                            content=content.replace('^~',                            "<img src="../static/images/emotions/icon_" alt="" />'),                            email=email,                            reply_notify_mail=reply_notify_mail,                            entry=Entry.get(key))

然后在model.py中添加评论回复通知功能:

if g_blog.comment_notify_mail and g_blog.owner:#and not users.is_current_user_admin()            sbody=sbody%(self.entry.title,self.author,self.email,self.weburl,self.content,            g_blog.baseurl+"/"+self.entry.link+"#comment-"+str(self.key().id()))            mail.send_mail_to_admins(g_blog.owner.email(),'Comments on:'                                                  +self.entry.title, sbody,reply_to=self.email)            logging.info('send %s . entry: %s'%(g_blog.owner.email(),self.entry.title))

 # 大概在515行的位置,从这里开始添加功能        replyComments = re.findall(r'@[S]+[:]', self.content)        if len(replyComments)!=0:            originAuthor=[a[1:-1] for a in replyComments]            commentQuery=Comment.all().filter('entry =', self.entry)                                       .filter('author =', originAuthor[0]).order('-date')                     commentGet=commentQuery.get()                   emailInfo=commentGet.email            notifyEnable=commentGet.reply_notify_mail

            if notifyEnable and g_blog.comment_notify_mail                              and g_blog.owner and mail.is_email_valid(emailInfo):                emailBody=ebody%(originAuthor[0],self.entry.title,self.author,self.weburl,                                 self.content,g_blog.baseurl+"/"                                +self.entry.link+"#comment-"+str(self.key().id()))                message=mail.EmailMessage(sender=g_blog.owner.email(),                                            subject="Reply on your post:"+self.entry.title)                message.to=emailInfo                message.body=emailBody                message.send()

# 大概在460行的位置添加数据库中表示是否定制邮件通知的数据元:    author=db.StringProperty()    email=db.EmailProperty()    reply_notify_mail=db.BooleanProperty(default=True) <---添加这一句    weburl=db.URLProperty()

之后在index.yaml添加查询用的index,这个比较关键,当时前面order(‘-date’) gae总是报错,就是没有index的缘故:

# 重新添加一个Comment的查询index- kind: Comment  properties:  - name: entry  - name: author  - name: date    direction: desc

添加完毕后,博客程序便会根据被回复人在当前文章最新的回复状态来判断是否发送邮件通知。

参考:Email notification enhancement for micolog

Categories: Google App Engine | Tags: Micolog

Micolog 导入文章评论时间的问题

Posted on August 30, 2009 by stingrey
2 Comments

Cloud 前段时间把百度空间的文章导了过来,导的过程发现不论格式如何,文章评论时间都会变成Google App Engine的系统时间。感到有些悲壮了,评论的排序都乱了……

先是在导入文章格式上找原因,之后才开始在各个模块中找。查到admin.py才发现导入文章xml的模块根本就没有用到评论时间。

# 大概在215行的地方
for com in next['comments']:     comment=Comment(date=com['date'], <---添加date项                                    author=com['author'],                                    content=com['content'],                                    entry=entry)     try:          comment.email=com['email']          comment.weburl=com['weburl']     except:          pass          comment.save()     self.write(simplejson.dumps(('entry',next['title'],True)))
# 大概在375行的地方comment=dict(date=datetime.strptime(com.findtext(wpns+'comment_date'),                                                            "%Y-%m-%d %H:%M:%S"),<---添加date项                      author=com.findtext(wpns+'comment_author'),                      content=com.findtext(wpns+'comment_content'),                      email=com.findtext(wpns+'comment_author_email'),                      weburl=com.findtext(wpns+'comment_author_url')                 )

修改之后,只要文章评论时间格式”%Y-%m-%d %H:%M:%S”这样的,就能正常导入了。

Categories: Google App Engine | Tags: Micolog
Previous Entries
Next Entries
  • Recent Posts

    • 一年了,我回来了
    • Un Senso Di Te
    • 好雨时节
    • 虎年来在追昔时
    • 无题
  • Recent Comments

    • hzqtc on 一年了,我回来了
    • aaahexing on Un Senso Di Te
    • RainFlying on 好雨时节
    • Stingrey on 秦时明月,侠骨柔情
    • hzqtc on 被拒了~
  • Archives

    • November 2011
    • June 2010
    • April 2010
    • February 2010
    • December 2009
    • November 2009
    • October 2009
    • September 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • March 2009
    • February 2009
    • January 2009
    • December 2008
    • November 2008
    • October 2008
    • September 2008
    • July 2008
  • Categories

    • C#
    • Google App Engine
    • Hello Program
    • Linux
    • Linux and Windows
    • Micolog
    • Misc
    • Mojo
    • Music and Movie
    • Windows
    • 另一个自己
    • 玩意儿
    • 生活
  • Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
© Chase Down My Dream. Proudly Powered by WordPress | Nest Theme by YChong