last year in hzu

09月 18, 2008 · Posted in Thinking · 10 Comments 

这是在惠州学院的最后一年写下的。

一早起来就看到了pluskid的这篇post,看完后很想把自己的想法写下来。

从上学期末开始,我就一直泡在实验室,一边开发一边学习,和同学们也疏远了。到了大学的末期,和身边的人可以用分道扬镳这个词来形容,有的已经为了生活在外打拼,有的为了考研苦读,有的还是一直蹲在宿舍玩着游戏看着电影。每个人怀着不同的想法,正走在各人选择不同的路上。记得那时刚来到的时候,大家三五成群,一般都一个宿舍全体一起去吃饭,一起出去玩,或者是一个班的同学组织去什么活动。现在比较多时间是一个人骑着单车在去实验室的路上,或是搭着女友去上课。

现在每天都很忙,我是那种遇到了自己想做的事情就会接下来做的那样,不会考虑太多自己的时间精力等问题,所以现在身上事情挺多,同时要忙着3,4项事情,还要自己学习看书。但一旦答应了别人就要帮别人做完做好事情,不过以后我回把一段时间内要做的事情控制在2件左右,以我的精力并没用能力作那么多事情。

对于未来,经过一段时间的思考。大概已经有了答案。就是找份payment不错的remote work,这样就有很多时间学习。出国的梦想已经破灭,但是我还是想能有很多时间学习,但又不想考研不想在国内读研(另一方面国内考研难度也不低),所以基于这些考虑,这个选择是不错的,还可以留在惠州这里陪着女友。

最后一年,在搬出去外面住之前可能大部分时间都会在实验室里渡过。到了上学期末,托和索老师做项目的福,得到了这个实验室的资源。好像比较好的学校的话,都会有这种资源提供给学生的吧,而且是让学生自己以社团的形式参与并开发出一些东西,比如pluskid所在的浙大。希望这个实验室能够给更多的学生,带来好处,让他们能够在这里开发,学习,交流,这对于来到这间学校的学生来说,是莫大的好处。可是这仅仅是我个人的天真想法,这学期本来想吸纳一些07级的学生进来,可是经过考察和了解后,发现他们还是差远了,差远不是说技术人品等,而是觉悟想法,他们现在还没有那种老老实实呆在实验室学习的觉悟,也没有太多关于以后的想法。竟然还有一个因为想参与进来但不想带电脑来又不想没时间,一直在和我和老师做些原则上的无谓争论。最后只加进来了两个06级的师弟,结果还不错^_^真心地祝福后来的同学能够好好利用这个资源,提高自身的价值。

现在每天都很累,咖啡喝了不少,睡眠不足。不过前两天病了一下,在床上躺了两天,觉得很无聊,头又痛又晕基本不能工作。所以要好好保重好身体,要革命先得有革命的本钱。

要学习的东西还很多,人生才刚刚开始没多久,路还很长。

rails i18n feature

09月 11, 2008 · Posted in Promgramming · 1 Comment 

最近在其中一个项目中需要对Rails app进行i18n,时不时会查查Rails源码,昨日在insoshi的mailist中看到了这个link:

http://rails-i18n.org/wiki

建议对此有兴趣的人去看看,基本上把i18n都讲得比较清楚。其中还有个demo:

http://github.com/clemens/i18n_demo_app/tree/master

我clone下来看看后顺手就也加上了zh_CN的locale configure,我先fork了一个分支,花了一个钟,完工pull,不知什么时候才会被merge。大家如果想要了解Rails22的i18n可以看看我汉化过的Demo,enjoy:

http://github.com/maninred/i18n_demo_app

Rails越来越多功能,但也越来越臃肿了。还可以看到Ruby也有很多i18n资源。

check spelling on rails

09月 11, 2008 · Posted in Agile, Promgramming · Comment 

A few days ago I need to do spell checking for a rails project, but can’t find a ready-to-use plugin, so I implemented one.

I use the Aspell Lib to do the checking work, and ajax for editing.

First you need to install the Aspell and at lease one dictionary.

Mac:
sudo port install aspell aspell-dict-en

Ubuntu:
sudo apt-get install aspell libaspell-dev aspell-en

Arch:
sudo pacman -S aspell aspell-en

And install the Aspell Ruby binding: raspell

sudo gem install raspell

Add a controller:

  1. # app/controllers/spelling_controller.rb
  2. class SpellingController << ApplicationController
  3.   def check
  4.     render :update do |page|
  5.       page.replace_html 'check-result', SpellingChecker.check_spell(params[:text])
  6.     end
  7.   end
  8. end

Add a SpellingChecker Class to Lib

  1. # lib/spelling_checker.rb
  2. class SpellingChecker
  3.  
  4.   def self.check_spell text
  5.     speller = Aspell.new("en_US")
  6.     speller.suggestion_mode = Aspell::NORMAL
  7.     wrongs = []
  8.     text.gsub(/[\w\']+/) do |word|
  9.       wrongs << word unless speller.check(word)
  10.     end
  11.     wrongs.uniq.each do |wrong|
  12.       text.sub!(wrong, "<span class='wrong'>#{wrong}</span>")
  13.     end
  14.     return text
  15.   end
  16.  
  17. end

in the view:

  1. <label for="description">Description: </label>
  2.   <div id="check-desc" style="display:none;">
  3.     <%=link_to_function 'Resume editing', "ttoggleChecking()" %>
  4.     <br />
  5.     <div id="check-result">Checking...</div>
  6.   </div>
  7.   <div id="edit-desc">
  8.     <%=link_to_function 'Check spelling', "new Ajax.Updater({ success:toggleChecking()},
  9.                                                             '/spelling/check',
  10.                                                             {method:'get', parameters:{text:$F('ticket_description')}});" %>
  11.     <br />
  12.     <%= f.text_area :description, :cols => 84, :rows => 10 %>
  13.   </div>
  14.   <script type='text/javascript'>
  15.     function toggleChecking() {
  16.       $('edit-desc', 'check-desc').invoke('toggle');
  17.     }
  18.   </script>

This is what it looks like:

That is it, quite sample, isn’t it? I would like to make a plugin for it, but no much time recently.

Thank yawl for pointing out my grammar misstake.

原来有个GitHost

09月 6, 2008 · Posted in something · Comment 

今天本来想为项目组配置个Git Repos,因为在merge和branch问题上svn还是不如Git的。

于是Google一下git,host,结果就发现了一个中文的提供Git Hosting service的githost.cn。貌似参照gitorious.org做的,现在上面也才几个项目,都和MacOSX相关,看来作者是个Macer ^_^

好像国内没有比较出色的Repos Hosting Service提供商,也可能是我孤陋寡闻。可能国内的开源文化不够,国内的线上开发协作行为不多。反而国外的蛮多的,比如unfuddle(最近一直在用,不错的说),assembla.com,bitbucket.org,github.com(Ruby社区的新宠),Lighthouseapp。

一直觉得国内协作平台火不起来,其中的佼佼者,有mangbar,everydo(润普的Py web app,另润普的广州分公司正在招Pyer)。可是国内没有开发协作平台,或者我没有发现,貌似大家的开源项目都放在googlecode上,或sourceforge,或github。

祝愿GitHost.cn能越做越好,能填补国内这个方面的空白。其实我自己想做一个国内的中文的高质量的开发协作平台,毕竟有这种平台对推进国内的开源文化有好处。

Ruby也要解放IO

08月 26, 2008 · Posted in Promgramming · Comment 

Ruby1.9的库,NerverBlock,非阻塞IO。

http://www.espace.com.eg/neverblock

看看它的官网上的benchmarks就知道真的是解放。

« 上一页下一页 »