May 07
期末考试的 Timetable 出来了,从 6 月 12 日考到 6 月 18 日。一个礼拜之内,考掉 4 门科目……而且最郁闷的是 6 月 16 日需要考两门,第一门 COMP9321:e-Commerce Implement Infrastructure 是从早上 8:45 到 12:00;而第二门 COMP9201:Operating Systems 则要从下午 13:45 到 16:00。
富贵险中求啊……哦,不,是成绩险中求。
晒晒考试时间表……
| Day | Date | S.Time | E.Time | Course |
|---|
| Thu | 12/06/2008 | 08:45 | 12:00 | COMP9414:Artificial Intelligence |
| Mon | 16/06/2008 | 08:45 | 12:00 | COMP9321:e-Commerce Impl. Infrastruct. |
| Mon | 16/06/2008 | 13:45 | 16:00 | COMP9201:Operating Systems |
| Wed | 18/06/2008 | 08:45 | 11:00 | COMP9331:Computer Networks&Applications |
May 03
用 Java 完成了一个 DNS Resolver 的作业程序。自我感觉结构写得还不错,便拿着到处和同学比测试速度和测试用例。到最后,实在是比无可比,便想到了比代码行数……
计算代码行数需要去除代码中多余的空白行和注释行。所幸 Cure 有用 Python 写过一个代码行数统计程序,便取过来,配合 Java 语法规则,做了些小修改。便完成了这个 Java 代码行数统计程序。
使用该程序需要 Python 运行库支持,使用命令行,
python LineCount.py
在网上还找到一个代码语法高亮着色器,着色一下修改后的代码,贴出来看看效果。
1 import sys;
2 import os;
3
4 class LineCount:
5 def trim(self, docstring):
6 if not docstring:
7 return ''
8 lines = docstring.expandtabs().splitlines()
9
10 indent = sys.maxint
11 for line in lines[1:]:
12 stripped = line.lstrip()
13 if stripped:
14 indent = min(indent, len(line) - len(stripped))
15
16 trimmed = [lines[0].strip()]
17 if indent < sys.maxint:
18 for line in lines[1:]:
19 trimmed.append(line[indent:].rstrip())
20
21 while trimmed and not trimmed[-1]:
22 trimmed.pop()
23 while trimmed and not trimmed[0]:
24 trimmed.pop(0)
25
26 return '\n'.join(trimmed)
27
28 def FileLineCount(self, filename):
29 (filepath,tempfilename) = os.path.split(filename);
30 (shotname,extension) = os.path.splitext(tempfilename);
31 if extension == '.java': # file type
32 file = open(filename,'r');
33 self.sourceFileCount += 1;
34 allLines = file.readlines();
35 file.close();
36
37 lineCount = 0;
38 commentCount = 0;
39 blankCount = 0;
40 codeCount = 0;
41 for eachLine in allLines:
42 if eachLine != " " :
43 eachLine = eachLine.replace(" ", ""); # remove space
44 eachLine = self.trim(eachLine); # remove tabIndent
45 if (eachLine.startswith("//") == 1
46 or eachLine.startswith("*") == 1
47 or eachLine.startswith("/*") == 1
48 or eachLine.startswith("*/") == 1): # LINECOMMENT
49 commentCount += 1;
50 else :
51 if eachLine == "":
52 blankCount += 1;
53 else :
54 codeCount += 1;
55 lineCount = lineCount + 1;
56 self.all += lineCount;
57 self.allComment += commentCount;
58 self.allBlank += blankCount;
59 self.allSource += codeCount;
60 print filename;
61 print ' Total :',lineCount;
62 print ' Comment :',commentCount;
63 print ' Blank :',blankCount;
64 print ' Source :',codeCount;
65
66 def CalulateCodeCount(self,filename):
67 if os.path.isdir(filename) :
68 if not filename.endswith('\\'):
69 filename += '\\';
70 for file in os.listdir(filename):
71 if os.path.isdir(filename + file):
72 self.CalulateCodeCount(filename + file);
73 else:
74 self.FileLineCount(filename + file);
75 else:
76 self.FileLineCount(filename);
77
78 # Open File
79 def __init__(self):
80 self.all = 0;
81 self.allComment = 0;
82 self.allBlank = 0;
83 self.allSource = 0;
84 self.sourceFileCount= 0;
85 filename = raw_input('Enter file name: ');
86 self.CalulateCodeCount(filename);
87 if self.sourceFileCount == 0 :
88 print 'No Code File';
89 pass;
90 print '\n';
91 print '***************** All Files **********************';
92 print ' Files :',self.sourceFileCount;
93 print ' Total :',self.all;
94 print ' Comment :',self.allComment;
95 print ' Blank :',self.allBlank;
96 print ' Source :',self.allSource;
97 print '****************************************************';
98
99 myLineCount = LineCount();
April 19
前人将“德”与“法”这两个神圣的表字,放在这两个国家的名字中……这本是相当美好的寓意。但是,最近这两个国家的媒体以及政客的蓄意误导行为,却让人不得不遗憾于这两个国名,实不至,名不归……
先有德国媒体对西藏暴乱的一系列误导性照片和视频。接着又有法国巴黎火炬接力过程中的无法无天。近来,德国又开始有 17 家媒体炮制中国政府驱逐外国留学生的报道。三人成虎,更何况这十七家有头有脸的媒体共泼脏水。
由此产生的结果,倒是无端地激起了全球中国人的愤慨——特别是青年一代。有人将之简单的归纳为网络民族主义的高涨,并担心民族主义可能产生的恶果。这,多少是一种转移视线,避重就轻的说法。无论是游行中的五星红旗到处飘扬,还是 MSN 上的红心 CHINA,其基本的出发点都是抗议不实报道的一种本能策略——既然你抹黑,那这边自然就要抹红。
其实,作为 80 后, 90 后的中国青年,应该是受西方文化影响最深的两代人:吃着麦当劳、肯德基,听着格莱美,看着好莱坞。男生会去关注奥迪,女生会去关注 LV。经济大好的几十年,同样也造就了大量的留学生,往赴全球各地。这批在西方学成的留学生,在西藏暴乱后,却纷纷站了出来,建立网站、发布视频、组织游行……纽约时报将这愚蠢地归结为中国青年的“乐观”。认为“最近毕业的中国大学生是乐观的一群”。但是,身处中国的青年又有哪个不知道“毕业等于失业”的名言。如果真要怪罪,要怪的,只能是中国青年的“天真”。在国内,听多了贪污腐败,听多了老实人要被别人骗。本以为自己所到的外国,应该是如电影中那样宣称地“民主与自由”。但在西藏暴乱之后,民主是有局部性的,自由更是会选择性失忆的。
当年很傻很天真,如今自然会很愤怒,但不暴力……
April 13
今天悉尼和墨尔本同步举行华人爱国和平游行了。
悉尼警方统计此次游行共六千人;而据说墨尔本今天共两万人游行,难怪有人说,猛然发现墨尔本原来有这么多中国留学生……只能用很好很强大来形容了……
具体细节、照片,去看论坛报道吧。