PHP, Java, C , C, Perl, JavaScript 在线美化
PrettyPrinter.de, an online pretty printer for PHP, Java, C , C, Perl, JavaScript这个站点是G-Mailto的作者推荐给我的。我用它来格式化了gmail的javascript代码,很不错的。
在Isaac Mao的网站上有一个名字好听的书签:“美味”书签(del.icio.us),“美味”之名从何而来不知道,但是这样的一“简单”的网站提供的功能确很实用,并有现在热门的“社会软件”现象之功能。所有的bookmarks和tags均共享,所有的用户和浏览者都可以看到这些信息,并可按tags和url进行索引,这样就把有相同兴趣的人联系到一起,例如刚刚我加了一个photoblogs.org到Blogs Tags中,那么立刻就提示“and 46 others”,点击可查询到所有添加过此URL的信息,这样我就可以找到都有谁在关心这个网站,我可以到这些人的书签中找到更多的相关URL,轻松地获得很多有用的连接。
“美味”书签还有另外一个优秀的功能,就是Tags共享,每个人建立的Tags都会共享出来,相同的Tags的内容将放到一起,这更是一个体现社会化的一个方式。
“美味”书签还提供了popular、Archives、Most Active和RSS,都是方便bookmarker们使用的功能。
del.icio.us被Isaac Mao称之为“美味”书签,我要把它叫做Share bookmarks,感觉这个名字更能体现它的作用,晕~~为什么del.icio.us自己不起一名字,非让bookmarker们自己叫呢!
If
your problem is unique or requires further investigation, we will contact
you. Please refer to our list of known bugs at
http://gmail.google.com/support/bin/request.py to learn more about the
most commonly reported problems.
You can view the GMail javascript code by logging in to GMail and doing a view-source. Inside that source you should see a link near the bottom that looks like this:
/gmail?view=page&name=js&ver=9b13d59dd3d703c3
now just add gmail.google.com in front of that
Assuming you have written a python script myscript.py which you want to convert into an executable windows program, able to run on systems without a python installation. If you don't already have written a distutils setup-script, write one, and insert the statement 'import py2exe' before the call to the setup function:
# setup.py
from distutils.core import setup
import py2exe
setup(console=["myscript.py"])
Running
python setup.py py2exe --help
will display all available command-line flags to the py2exe command.
Now you can call the setup script like in this way:
python setup.py py2exe
and a subdirectory dist will be created, containing the files myscript.exe, python23.dll, and library.zip. If your script uses compiled C extension modules, they will be copied here as well, also all dlls needed at runtime.
These files include everything that is needed for your program, and you should distribute the whole directory contents.
The above setup script creates a console program, if you want a GUI program without the console window, simply replace console=["myscript.py"] with windows=["myscript.py"].
py2exe can create more than one exe file in one run, this is useful if you have a couple of related scripts. Pass a list of all scripts in the console and/or windows keyword argument.
1, 部分中文邮件的header没有MIME编码,GML不会在resent时给它编码,这导致了GMAIL里显示中文标题和中文收发人名称成乱码,Gmail把这类邮件都SPAM掉。
2,部分中文邮件没有content-type,GML不会按locale加上缺省charset,导致GMAIL显示中文乱码。
3,发送fail或skip掉的邮件没有记录,fail的邮件又不会重发,不方便断点续送。
4,不知是python的bug还是windows的问题,GML使用python来处理mbox文件,它总是把next msg的首行(from行)的部分字符追加到上一邮件的末尾,而且这个问题,似乎用家都无觉察。
5,可能是python的win引擎不好,经常在发出部份信后,程序无响应,挂起。
When I saw (and used) Mark Lyon's Mbox & Maildir to Gmail Loader (GML) (I wrote about it), I was inspired to write a GUI version of it (I didn't copy Mark's code, just in case, though it works on the same basis). gExodus is what came out at the end of half a day's work.
FromTue Apr 15 06:59:55 2003
Received: from ml3.jp.example.com by polar.example.com
with SMTP id PAA96667; Tue, 15 Apr 2003 06:59:55 +0000
Date: Tue, 15 Apr 2003 15:59:48 +0900
From: Taro
Reply-To: greeting@example.com
To: greeting@example.com
Subject: Hello in Japanese
Message-ID: <20030415.150425.518470cc6ef@jp.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: quoted-printable
=1B$B$3$s$K$A$O!#=1B(B
FromTue Apr 15 11:42:20 2003
Received: from ml2.cn.example.com by polar.example.com
with SMTP id PAA98169; Tue, 15 Apr 2003 11:42:20 +0000
Date: Tue, 15 Apr 2003 19:42:05 +0800
From: Li
Reply-To: greeting@example.com
To: greeting@example.com
Subject: Hello in Chinese
Message-ID: <20030415.193436.274c278069a@cn.example.com>
In-Reply-To: <20030415.150425.518470cc6ef@jp.example.com>
References: <20030415.150425.518470cc6ef@jp.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=GB2312
Content-Transfer-Encoding: base64
xOO6ww0K
Received: from ml3.jp.example.com by polar.example.com
with SMTP id PAA96667; Tue, 15 Apr 2003 06:59:55 +0000
Date: Tue, 15 Apr 2003 15:59:48 +0900
From: Taro
Reply-To: greeting@example.com
To: greeting@example.com
Subject: Hello in Japanese
Message-ID: <20030415.150425.518470cc6ef@jp.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: quoted-printable
=1B$B$3$s$K$A$O!#=1B(B
Date: Wed, 16 Apr 2003 03:00:05 +0000
From: greeting-admin@example.com
To: Undisclosed recipients:;
Subject: Messages Posted Yesterday
Message-ID: <20030416.030004.0b93d3b234d@example.com>
MIME-Version: 1.0
Content-Type: multipart/digest;
boundary="--------=_NEXTBODYPART-010C11D7AB79F830D3"
----------=_NEXTBODYPART-010C11D7AB79F830D3
Content-Type: message/rfc822
Received: from ml3.jp.example.com by polar.example.com
with SMTP id PAA96667; Tue, 15 Apr 2003 06:59:55 +0000
Date: Tue, 15 Apr 2003 15:59:48 +0900
From: Taro
Reply-To: greeting@example.com
To: greeting@example.com
Subject: Hello in Japanese
Message-ID: <20030415.150425.518470cc6ef@jp.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: quoted-printable
=1B$B$3$s$K$A$O!#=1B(B
----------=_NEXTBODYPART-010C11D7AB79F830D3
Content-Type: message/rfc822
Received: from ml2.cn.example.com by polar.example.com
with SMTP id PAA98169; Tue, 15 Apr 2003 11:42:20 +0000
Date: Tue, 15 Apr 2003 19:42:05 +0800
From: Li
Reply-To: greeting@example.com
To: greeting@example.com
Subject: Hello in Chinese
Message-ID: <20030415.193436.274c278069a@cn.example.com>
In-Reply-To: <20030415.150425.518470cc6ef@jp.example.com>
References: <20030415.150425.518470cc6ef@jp.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=GB2312
Content-Transfer-Encoding: base64
xOO6ww0K
----------=_NEXTBODYPART-010C11D7AB79F830D3--