Flickr Girl

When I explored in Flickr today, I saw a group called ‘Flickr Fan Art‘. Then I wan to paint something for Flickr since recently I like Flickr so much. So, I draw this in Flash with mouse.

豆腐渣三号

豆腐渣三号, originally uploaded by marchbox.
怎么样?很有难度吧!!继续拆…

汉字的魅力

果对裸说,哥们,穿着衣服还不如不穿呢!

结束

好几天了,坐在电脑前,很多事要做,就是不想做。看着这帮人在QQ群里叽叽喳喳,感觉现在再没有比这个更幸福的事了。
最后这段时间,事情一件接着一件,感觉四年来,比上课更痛苦的事是考试,比考试更痛苦的事是作毕设,比作毕设更痛苦的事是交毕设,比交毕设更痛苦的事是度过这最后一段日子,然而,当真正即将走完这段路的时候,才发现,原来上课、考试、作毕设、交毕设都是那么美好。
明天就是毕业典礼了,昨天晚上大伙喝了酒,抱在一起也哭了,最后去KTV通了宵,也就这么过去了。放在原来,周四要交论文,周一会觉得还有三天可以磨蹭。可是现在,周四就要开始离校了,觉得周一到周四太短了。
就这样记录一下吧,希望我的兄弟姐妹们一路走好,感谢你们给了我四年的美好回忆。总之,咱家还有群、还有豆瓣小组,以后记着常联系就是了。

Google Notebook的GUI

昨早上发现Google Notebook已经上线了。早都希望Google能出这么一个东西了,让我随时能够记录看到和听到的东西。而Google这次不尽能让你记录文字,而且还有bookmarks的功能,并且,最重要的是可以分享。不过还没有tag。
试 用之后,感觉仍然是很有Google的风格——有待改进,首先是颜色上,虽然整体风格沿用了Google产品线上一贯的Ajax应用的风格,但是颜色来看 和 Gmail,Calendar有出入,即后两个都是以蓝色作为内容,黄色作为设置,绿色作为搜索(Calendar中结果页用蓝色显示,但符合逻辑);而 Notebook则是以蓝色显示私人记事本,黄色显示公开记事本,绿色显示某个记事本中的section,我想应该有更好的办法来区分这些项目而不是以混 用颜色的方式吧。其次是对note的编辑,不喜欢那个频繁出现灰框,总让我觉得很不安,觉得应该是在点击了“展开”按钮(就是那个小三角)后才变成灰色比 较合理。另外还有些其它比较细节的地方希望能改进。
不可否认的是,这东西现在已经很好用了,尤其是加上针对Firefox和IE的插件。不 知道Google准备怎么玩他,希望和Google Bookmarks和Gmail整合,当然还有Calendar和Reader。现在已经开始拿这东西写Blog了,刚才写了一半Firefox又崩了, 多亏这东西,要不全白写了。
还有,顺便说一下,太喜欢Google Lab的新logo了。

Del.icio.us和Google Bookmarks的Tag Suggest交互差别

又有好久没有更新blog了(为什么要说“又”!),最近上班,手也变懒了,上班忙,所以脑子想里 的东西也就少了,手和脑子这两个用来写blog最终要的东西都歇菜了,所以也就没什么更新。不过,这几天还是发现了一个可写的东西—— del.icio.us和Google Bookmarks的tag suggest之间的交互差别带来的体验差别。先看看下边的图片。

从 图片中来看,基本差别不大,但是在使用中,del.icio.us的在提示出现时,如果按下Enter就会直接提交,而Google Bookmarks则会把提示栏内选中的tag添加到输入框中。拿上图中举例,举例来说,如果在del.icio.us中,我输入“s”后,提示栏出现, 默认选中了第一个相关tag——“standards”,这时,在我未输入完standards的所有字母前提下直接按Enter,页面就会被提交,那么 这个bookmark的tag就是“s”,而不是我希望的“standards”,但在Google Bookmarks中则会将当前默认的“web standards”添加到输入框中。
另外,在提示框出现时,如果框内有不止一个的tag,那么,在del.icio.us中按方向键则会 移动光标,提示框会消失,而在Google Bookmarks中则会在多个tags之间切换,来选择tag。最后,来看看,当我键入“s”的时候,Google Bookmarks中出现的“web standards”。del.icio.us使用空格来区分tags,Google Bookmarks使用逗号来区分,我更倾向于后者,因为用逗号就使我们的tags不一定必须用一个单词或者几个单词中间用连字符相连,现在在看我的 del.icio.us标签中,有很多诸如[”user],[ajax,],[experience”]等等这样的tags,而且,我认为,尽管 del.icio.us虽然在tag输入框之后写明了用空格分隔,但是毕竟这不符合人类的书写习惯,所以应该在处理的时候有能力处理地较量完美,而不至于 留下象我上面列出的那些怪异的tags。

Family是什么?

有朋友刚发给我的!
不属于自己的, 常常心存欲望;
握在手里了 , 又怀念未拥有前的轻松;
生命若不是现在, 那是何时 !!
愈是简单的快乐 , 愈可以经久不变,
不用苦苦追求快乐, 就是一种幸福 !!
假如明天我们离开这个世界,
我们所服务的公司会在短短的几天里找人替代我们,
而我们的家人却在他们的生命里不断感受失去亲人的痛苦。
仔细想想,我们对工作的投入往往超过了对家庭的投入,
这确实是个不太明智的投资,难道您不这样以为吗?
这给我们更深的启示是什么?
您知道家庭 (Family)这个词的意味着什么吗?
家庭(FAMILY )
爸爸 Father
和 And
妈妈 Mother
我 I
爱 Love
你们 You 。

[翻译]在Mozilla中使用XML和JavaScript

前段时间给神奇一刻做一个加载随机图片的JavaScript效 果,图片信息需要放在XML文件里。原来用Flash做过,对actionscript里加载XML文件还比较熟,但是用JavaScript加载XML 还是第一次。原来只知道在IE中可以用ActiveXObjext对象来做,但一直不知道如何在Mozilla下用js加载XML,于是google到了 这篇文章,非常详细!
文章原文地址:http://www.sitepoint.com/article/xml-javascript-mozilla
在我的文章《用JavaScript来读取和显示服务器端的XML文件》 中,我讨论了在微软的Internet Explorer中使用JavaScript来操作XML文件。而现在,我将告诉你们在Mozilla中如何用JavaScript来读取和使用XML文 件中的数据。我们将会看到如何显示标签(March注:tag)中的值、标签中的属性值等等。
从现在起,我不会特意提及Mozilla,因为我们只会涉及Mozilla,包括Netscape 6.x和7.x等(March注:当然也包括Firefox、Flock)。然而当提及Internet Explorer(MSIE或IE)时我会特别说明。
XML文件范例
我将使用和我上一篇文章相同的XML文件,这样会让已经明白那一个XML文件的人比较容易理解。看看下面的XML文件:
<?xml version=”1.0″ ?>
<company>
<employee id=”001″ sex=”M” age=”20″>Premshree Pillai</employee>
<employee id=”002″ sex=”M” age=”24″>Kumar Singh</employee>
<employee id=”003″ sex=”M” age=”21″>Ranjit Kapoor</employee>
<turnover>
<year id=”2000″>100,000</year>
<year id=”2001″>140,000</year>
<year id=”2002″>200,000</year>
</turnover>
</company>
如你所见,上面的XML文件展示了一个公司雇员的详细信息:用<employee>的值(或者说节点值)储存了员工姓名,其他的诸如员工编号(id)、性别(sex)和年龄(age)的信息则被储存在了相同标签(<employee>)id、sex和age属性中。文件同时用标签<turnover>的节点值储存了公司的营业额(turnover),在该标签的year属性中储存了相应的时间信息。
在接下来的章节中,我们将操作上面的XML文件,使之为我们所用。
XML和JavaScript
在我们开始读取以及更高级的操作这个XML文件之前,我们必须得确定用户是否在使用Mozilla浏览器,这点很重要。
检测Mozilla
很显然,你不可能只针对一个浏览器来编写你的基于XML的JavaScript应用,你需要很容易的来支持多种浏览器。然而,如何编写你的应用得取决于你的用户使用什么样的浏览器。
要检测Mozilla,我们只需要使用这个简单的变量:
var moz = (typeof document.implementation != ‘undefined’) && (typeof
document.implementation.createDocument != ‘undefined’);
这个变量可以作为一个布尔值来使用:
if(moz) {
// 的确是Mozilla!!
} else {
// 别的浏览器…
}

加载XML文件
当我们确定了浏览器后,就可以加载XML文件了:
var xmlDoc=document.implementation.createDocument(”", “doc”, null);
xmlDoc.load(”someXMLFile.xml”);
xmlDoc.onload = someProcessingFunction;
上面这段代码的第一行创建了一个xmlDoc对象的实例;第二行加载我们需要的XML文件(本例中为someXMLFile.xml);第三行处理或操作了我们刚才加载的XML文件。
现在,最好用一个不同的函数来加载XML文件:
var xmlDoc;
function importXML(file) {
xmlDoc=document.implementation.createDocument(”", “doc”, null);
xmlDoc.load(file);
xmlDoc.onload = readXML;
}
同时在Mozilla和IE中加载XML文件
Mozilla中绝大部分的操作都可以用于IE中,然而,加载XML文件却不尽相同,让我们看看这个能够同时在IE和Mozilla中加载XML文件的函数:
var xmlDoc;
function importXML(file) […]

iTunes vs. Windows Media Player

早都想写一篇关于苹果的iTunes和Windows Media Player在交互方面差别的文章,今天在新聚网上面看见了文章关于web易用性设计的一些要点,于是决定把这篇文章写下来。
正 式开始使用iTunes大概是从去年11月末,那时候开始心急火燎的想买iPod,在等候资金到位的同时,就先拿了iTunes过过瘾。其实之前也用过, 但是因为用Media Player已经快五年了,所以总是不习惯iTunes的操作,放弃过几次。但这次使用,稍微耐心了些,这下就爱上了iTunes,甚至不惜花3天的时间 把本本里储存的所有将近6G的wma全给转成mp3了(当然也是为后来入手的iPod作准备)。
iTunes和Media Player的差别主要在于,iTunes是基于搜索和播放列表来管理音乐,MP是基于手动和浏览来管理的。

基 于浏览的管理,用户必须得花大量时间来查找专辑名、艺术家名等,而Windows Media Player形同虚设的搜索功能又很难用,速度还很慢,所以,很难快速的找到自己想听的音乐。而iTunes的搜索相当方便,是快速搜索,好像和 Tiger里的一样,瞬间就可以找到你所查找的媒体文件。在iTunes的左侧栏中,没有像Media Player那样的以专辑、艺术家等分类的目录,而是放在了右侧媒体列表中,可以隐藏,这也简化了界面的复杂程度,减少了用户的工作量。
另 外,在文件管理方面,Media Player的媒体库和文件系统是分离,也就是说你在媒体库里更改媒体信息,实际的文件的位置、名称都不会改变,这点会给用户带来很大的麻烦,一首歌如果 要修改名字得改两遍。而在iTunes当中歌曲的文件是储存在艺术家的同名目录下的,当一首歌的艺术家名字被改变,该歌曲的文件就会被移入修改后的艺术家 的目录,而如果原来艺术家目录经修改后为空,那iTunes就会自动帮你删除原文件夹。
iTunes中的播放列表也是其一个亮点,尤其是其中的智能列表,让用户通过很简单的操作来自动生成播放列表,而且程序会自动更新播放列表。尽管这个功能在Media Player中也有,但是看看下面的图,就可以看出两者在易用性方面的差别。

总 之,用iTunes的体验就使简单,很多事情程序会帮你做,而且最有用的功能总能随手找到。不可否认,从功能上来说,Windows Media Player也是一个相当强大的媒体管理程序,但是,和微软其他的软件一样,所有的功能都放在了表面上,看似很强大,但实际上用户对这些功能无从下手,找 不到重点,不知道哪一个才是自己最需要的。

给phpBB创建模板

给phpBB创建模板还是很简单的,只需要再templates文件夹下放入你的模板文件夹,再安装一下就可以了。我就简单得把步骤说一下吧。

再templates文件夹下新建一个目录,目录名称就是你的模板的名称,这里就那神奇一刻为例,模板名成为magicserene。然后把phpBB原带的名为subSilver模板目录下的所有文件都复制到magicserene中。
这一步很重要,如果做不好会使模板在应用后整个论坛无法显示。将magicserene中的所有文件中的“subSilver”改成“magicserene”。
把magicserene文件夹上传,就可以安装了,在管理界面中的模板管理,添加就行了。
现 在先测试一下,建议再注册一个测试用户,然后在测试用户的个人信息中把模板设置成magicserene,这样如果magicserene不能正常使用, 清除一下cookie就可以了。如果直接把整个论坛的默认模板设成magicserene,那如果magicserene不能正常显示,就会造成论坛无法 访问。
这些都做完之后,测试的结果以应该是和原来的模板一样,只是名字不是原来的subSilver,而是magicserene。
测试没有问题后,就可以看是修改模板了。一般的模板编辑只涉及到以下几个文件:

index_body.tpl - 这是论坛首页的模板,不包括上方的header部分和下面的版权信息部分。
magicserene.css - 这个是该模板的css文件,也是模板风格(颜色、图片等)的控制文件。
overall_footer.tpl - 所有页面的页脚,就是版权信息那一块。
overall_header.tpl - 所有页面的页眉,就是上方的部分。
viewforum_body.tpl - 是论坛板块二级页面的模板
viewtopic_body.tpl - 是论坛文章页面的模板

以上的文件除了css外都是tpl文件,phpBB中的这些文件其实都是html编码,所以改起来很简单。
完成!