Category Archives: 信息技术 - Information Technology

i = h.items()
     i.sort(lambda (k1,v1),(k2,v2): cmp(v2,v1) ) # sort by value, not by
     key
     i=string.join(map(lambda (x,y):x, i),"")  # extract letters from each
     return (h,i)

1. def reverseString(s):

2. “”"Reverses a string given to it.”"”

3. return s[::-1]

(刚刚开始接触GAE):

撇开Big Table,GFS,Paas,IaaS以及云里雾里的Cloud Computing不说(其实是不懂),GAE仍然是一个很了不起的服务,它不仅给那些startups穷光蛋们提供了最大的福利,同时也让Python 语言以及Django为更多的人们所认识,最重要的是他的出现突破了传统意义上的Web Hosting Service Provider,他免费提供10个App,每个App 500MB 的持久存储空间,以及可支持每月约 500 万页面浏览量的足够 CPU 和宽带。而你使用机器是Google的架构,Big Table,GFS等,而且带宽、CPU资源、可靠性、吞吐量都是可扩展的,如果不够可按需购买,但其实像我们的简单的应用已经足够使用。其中 Datastore是分布式数据存储服务,我想应该就是Big table技术,他不同于传统关系型数据库(所以如果你集成Django到GAE中来就不能使用Django的ORM),至于GAE的SDK,其实许多地 方模仿了Django了,所以如果了解Django,你可以很轻松地使用SDK的API,而且利用SDK你就可以进行本地的开发和测试,最后部署到GAE 上时只消一个命令就搞定,你完全不用像使用PHP、J2EE Dedicated服务器那样进行大量的服务器端配置,特别是Apache Server(如果你是高级管理员)。如果你也在进行GAE上的Web开发,有问题的话我们也可以讨论一下;-),我也在和我的同僚们进行一项Web App的开发,现在只完成了一小部分。Good luck。

我琢磨Processing已经有些日子了,对于这种小型计算机语言,我总是抱着”Just for fun”的态度来尝试,的确它真的满足了我的猎奇心理,而且很好玩很强大很有创造力。语法很简单,由于是基于Java语言,所以在很多方面,它秉承了Java特性,对我来说学起来很快,不过这种语言不是给一般的程序员使用,It targets visual designers and artists.许多年前,凡高用颜料和画纸、画笔、调色板创作油画,古代中国人用墨水、宣纸和毛笔创作水墨画,当代有素描画、蜡笔画、炭笔画、水彩画等,我在高中时代甚至用蓝色圆珠笔和素描纸作画…可是在计算机技术横行的时代,传统的艺术形式显得太保守了点,现在Processing正颠覆这些传统,可是你不要以为他是Photoshop、Flash、Google SketchUp、3DMAX或是其他设计软件,Processing是一种计算机语言,就像Java、Python、Scheme.
他是用Java语言写的,Open Source,用来创作数字艺术,你通过编写程序代码,创作一件艺术品,通过分形,递归,适当的和谐函数,你可以获得极佳的效果,当然你可以将它保存生成的图像格式(如png,tiff,jpg等),同时还可以输出Applet小应用程序在网页上显示(他可是基于Java的,没什么好奇怪的吧),个人觉得图片就没有这个必要了,一般动画影片可输出为Applet,可能忘了告诉你,Processing还可以创作动画和影片等许多多媒体形式。Processing可以运行在Windows、Linux、Mac上,需要Java虚拟机,所以如果你没有安装Java环境的话,记得下载一个自带Java的包,Processing的官方站点是www.processing.org,感兴趣的话,尝试一下。下图是我的初次尝试:

From Processing
From Processing
From Processing
From Processing
From Processing
From Processing
From Processing
From Processing

以前在《Google  Hacks》上了解到GmailFS可以挂载到本地硬盘,今天没事干,在Ubuntu上尝试玩了一把。
前提:1′ 有一个Gmail帐户
2′ Ubuntu操作系统
3′ 可以连上Internet
Just do it:
终端上:
b@t:~$ sudo apt-get install gmailfs
b@t:~$ sudo mkdir /mnt/gmail
b@t:~$ sudo mount -t gmailfs none /mnt/gmail/ -o username=toozoofoo,password=mypassword,fsname=Linux
可能终端会出现Ignored option :rw的提示,那没关系。
事实上我并不知道挂载成功是什么状况,因为挂载后,什么也没变,/mnt/gmail里什么也没有,可是当我在这个挂载点上创建一个目录时过程有点缓慢,
b@t:~$ sudo mkdir /mnt/gmail/Hello_Gmail
我知道它是联网在远程gmail服务器上创建了目录,那么我想应该是成功了。并且当我登录我的gmail时有四封电子邮件,发件人是我自己,其中一封很明显地告知我已经挂载成功:
标题:

v=3 r=1222872307 q=__g__Linux__h__

正文:n=__c__Hello_Gmail__d__ p=__a____fs____b__ l=__e____f__
虽然有些符号看不明白,但不打紧,我见着了Hello_Gmail这个字符串,它正是我创建的目录名。

学长走之前给我们拷贝了一份的考研的视频(现在开的考研视频班用的大概也就是他了),可是呢,我那不争气的Ubuntu(8.04,7.10)死活无法播放flash文件,我已经尝试了许多方法,都不奏效。于是,我又转到Mac OSX上,使用QuickTime,但是令我失望的是QuickTime从7.1.3开始默认不支持Flash,至于原因,你可以阅读或者 Apple’s terse statement .

但现在我已经找到了使QuickTime播放Flash文件的方法,以下是Google翻译后的文章,原文连接:http://macosx.com/forums/howto-faqs/224332-howto-make-quicktime-player-accept-wmv-swf-files.html?nojs=1

[如何] QuickTime播放接受对WMV和SWF文件

如果您使用flip4mac的格式播放器 ( 10元;免费演示) ,以发挥wmv文件在QuickTime ,您可能恼火,你不能简单地拖曳’ ‘下拉wmvs到QuickTime播放器的图标。

It’s also a bit of a secret these days that QuickTime Player can play (some) Flash (.swf) files.这也是一个位元的一个秘密,这些天, QuickTime播放器可以发挥的(一些)的Flash ( 。瑞士法郎)的档案。 But again, you can’t drag ‘n’ drop them.但同样地,你不能拖’ ‘下降。

Here’s how to enable drag-and-drop for both WMV and SWF files (Note: you’ll probably need an administrator password to complete these steps):这里的如何启用拖放双方对WMV和SWF文件(注:您可能需要有管理员密码,以完成这些步骤) :

1. 1 。 Control-click QuickTime Player (in /Applications), and select “Show Package Contents”.控制点击QuickTime播放(在/应用) ,并选择“显示包的内容” 。 (Make sure QuickTime Player is not loaded.) (请务必QuickTime播放是没有加载) 。

2. 2 。 Open the Contents/Info.plist file in any text editor, like TextEdit or BBEdit.公开的内容/ info.plist文件在任何文本编辑器,如文字编辑或bbedit 。

3. 3 。 You’ll see a bunch of HTML-like tags.您会看到一大堆的HTML类似的标记。 Make a new line after this:使一个新行后,这:

Code:代码:
<key>CFBundleDocumentTypes</key>
<array>

And paste in this:并贴在这:

Code:代码:
 <dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>swf</string>
			</array>
			<key>CFBundleTypeMIMETypes</key>
			<array>
				<string>application/x-shockwave-flash</string>
			</array>
			<key>CFBundleTypeName</key>
			<string>Flash</string>
			<key>CFBundleTypeRole</key>
			<string>Viewer</string>
			<key>LSIsAppleDefaultForType</key>
			<string>No</string>
			<key>NSDocumentClass</key>
			<string>QTPMovieDocument</string>
		</dict>
		<dict>
			<key>CFBundleTypeExtensions</key>
			<array>
				<string>wmv</string>
			</array>
			<key>CFBundleTypeIconFile</key>
			<string>r129.icns</string>
			<key>CFBundleTypeName</key>
			<string>WMV</string>
			<key>CFBundleTypeOSTypes</key>
			<array>
				<string>ASF_</string>
				<string>WMV_</string>
				<string>WMV </string>
			</array>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>LSIsAppleDefaultForType</key>
			<string>Yes</string>
			<key>NSDocumentClass</key>
			<string>QTPMovieDocument</string>
		</dict>

4. 4 。 Save your changes.储存您的变更。 If you get an error message saying you don’t permission, follow these steps:如果你得到一个错误信息,说你不容许的话,请执行下列步骤:
4a.第4 A 。 Choose “Save As…”选择“另存为… … ” from the file menu, and save your Info.plist file onto the desktop.从文件菜单中,并储存您的info.plist文件到桌面上。
4b. 4B条。 In the Finder, drag the new Info.plist file you just saved over the old one (inside QuickTime Player).在Finder中,拖动新info.plist档案你刚才保存超过旧一(内QuickTime播放) 。 When the Finder asks you if you want to replace, say yes, and enter your administrator password at the prompt.当Finder中要求您,如果您要替换,说的话,并输入您的管理员密码在提示。

5. 5 。 In the Finder, move QuickTime Player to a different folder (it doesn’t matter what folder; I used /Applications/Utilities), and then move it back into /Applications.在Finder中,提出QuickTime播放到不同的文件夹(也不要紧,什么文件夹;我用/应用程式/工具程式) ,然后移回成/应用。 This is necessary to force OS X to update its database of what file types applications can accept.这是有必要的武力OS X中,以更新其数据库中什么样的文件类型的应用可以接受。

6. 6 。 Load QuickTime Player, and try dragging a WMV or SWF file onto its icon in the Dock.负载QuickTime播放,并尝试拖动wmv或SWF文件到它的图标,在被告席上。 It works now!它的工程! You’re done!您就大功告成了!

Again, keep in mind that QuickTime Player can NOT play all SWF files.再次,请记住, QuickTime播放器不能播放的所有SWF文件。 I guess (I’m not really sure) that it can only play ones made with older versions of Flash, which is why they took out the drag-and-drop ability they had in previous versions of QuickTime Player.我猜(我不是真的确定) ,它只能发挥的取得与较旧版本的Flash ,这就是为什么他们拿出拖放能力,他们在以前版本的QuickTime播放。 *shrug* *耸肩*

And, of course, you need Flip4Mac’s WMV Player if you want to be able to play WMVs. ,当然,您需要flip4mac的格式播放器如果您希望能够发挥wmvs 。

利用暑假这段时间,一边学习Groovy和Grails,一边尝试着用这个框架编写一个论坛,这个论坛在许多方面严重抄袭了V2EX(现在叫Project Babel,你可以去mac.6.cn找到他的影子),我深深感到单纯用Java,用Spring ,Struts,Hibernate,来开发Web软件实在是一件痛苦至极的事情,一大摞的xml配置文件(这是在考验无微不至的细致和参禅打坐的耐性),也许Groovy on Grails 不是最终的赢家,但是,现在它带给我的轻松愉快的编程方式是Java无法给我的。

Google为了和百度竞争,推出了音乐搜索服务,而且可以免费下载,而这些音乐都是经过授权的正版音乐。百度在中国搜索服务中分额是最大的,其次才是Google,而音乐搜索又是百度的一个竞争性服务,(虽然这好象是不合法的),现在百度似乎在这方面已感到压力了,另外这个服务仅限于中国(不知道这是耻辱还是幸事),国外的许多人通过Google查找代理,访问中国Google,这样他们便也能下载音乐了。

Google又推出了一个新服务–Insights for Search,似乎这个服务对商业的应用很有帮助,不过对我来说,它跟Google Trends很相似,具体我也不太清楚,浅尝辄止的,我简单的查询了一下关键词:Java,结果是:

可以看出来人们对Java的兴趣越来越少(这也是我所担心的事),而象印度这样的软件外包大国,对于Java自然是关心度最高的地区,其实这也是趋势,所以你用Google Trends 也能得到类似的结果,中小型企业可能还在Java(J2EE)上面大量投资,然而大企业早已转向其他投资对象,例如RubyOn Rails,而象Google这样的公司有些特别,它选择了C/C++,Python,其实这正是它强大之处,这两种语言都是具有强大生命力的语言,我虽然擅长的Java,但我也学习过C/C++,而且现在正学习Python这条巨蟒(Python语言与蟒蛇没有任何关系,它取自与The Beatles同时代的喜剧组合Monty Python).

没事做,用Google搜索一下love,约有2,110,000,000项符合love的查询结果,再搜索hate,约有289,000,000项符合hate的查询结果,大家一看便知两者不是一个数量级的,所以有人说:“Google相信:‘爱’必将战胜’恨‘ ”。但当时的搜索结果分别是:75,700,000和7,900,000。