Posted by Kai on 25th August 2007
今天闲着无聊下载了Paint.Net3.10final 来使用。C#做的程序,能达到这个效率我很惊讶。然后去了Paint.Net的论坛,看到一个很酷的教怎么做看起来像爆炸的星球的东西。跟着做了一个,那是相当的酷啊。
Paint.Net是开源的,我把源码下下来,但是发现不知道从那里看起。14,000行代码,我从哪里开始看啊,一点头绪都没有。
这个工具作为Paint替代品是否合适我有点怀疑,因为我用mspaint主要是因为它快,一般我截屏之后会用mspaint选取我需要的地方。如果是大型的处理,我当然会用ps。
贴上我刚刚用新手法做的头像一个。Paint。Net论坛上看来的。

Posted in C sharp, tech | No Comments »
Posted by Kai on 21st August 2007
从8.1号开始看Exceptional C++ Style, 其后看 Effective C++, 接下来Exceptional C++, 再看C++ Primer, 今天把Primer看完了,发现了C++里面原来我还有很多地方不知道的。我大一时候学的真的实在是太基础太表面了。这是我的问题,学校的安排也有问题,教材完全是入门型。对与科班来说是远远不够的。不过我也仅仅是看完,很多示例没有时间做一遍。
9月份有空想看传说中的Inside C++ Object Model,如果图书馆不买的话就要自己掏钱去买了。上一次实习生招聘会的时候,直接被人家问看没看过Inside C++,我说没,他说这么经典的书都没看过,切。
昨天做glut中想插入MFC的代码的,结果出问题了。glut原来是个简化版的GUI库,我过多的期望glut了。想实现的功能,还得用MFC来做。
Posted in c++, tech | No Comments »
Posted by Kai on 17th August 2007
前天晚上听着mp3把一段完整的曲子用笛子写了下来。录出来感觉还有几处生硬,可能有1个小节我谱错了。
http://kezhong.iblog.com/get/6620/endless%20love.mp3
右击另存为,放到本地后再打开。iblog不支持流媒体。
Posted in music, personal | No Comments »
Posted by Kai on 15th August 2007
昨天看书看的头痛,于是回来吹笛子。没有谱子,凭感觉自己写的,后来发现有3个音写错了。今天做成mp3,放上来炫耀一下,lol
http://kezhong.iblog.com/get/6620/flute.mp3
有一部分是用cooledit加工了一下的,所以听起来比较圆润。
需要先下载才能播放。
Posted in personal | No Comments »
Posted by Kai on 15th August 2007
比如下面这个代码:
1) for(int i = 0 ; i < k ; ++i)
{
Matrix temp (ma1 + ma2);
2)Matrix temp;
for(int i = 0 ; i < k ; ++i)
{
temp = ma1 + ma2;
我以前一直以为2更加高效,所以一直用第二种形式。今天我才知道,原来第一种才更加高效。惊奇吧,一方面,第一种程序里没有赋值操作,只有拷贝构造函数,第二种程序里有赋值操作。而赋值操作总是比初始化要慢的。另一方面,第一种程序的局部性更好,对缓存的利用率更佳。
实验的结果就是,第一种写法要快上10%.这真是个大大的surprise.
Posted in c++, tech | No Comments »
Posted by Kai on 5th August 2007
昨天在《effective C++》上看到的例子。
template<int Factor>
struct Factorial
{
enum { value = Factorial<Factor - 1>::value * Factor };
};
template<>
struct Factorial<0>
{
enum { value = 1 };
};
int main()
{
cout<<Factorial<5>::value <<endl;
system("pause");
return 1;
}
输出结果为:120
这实在是太酷了!模板还可以这么用,真是变态到一定程度了。酷毙了,爽歪了:》
Posted in c++, tech | No Comments »
Posted by Kai on 5th August 2007
今天上午9点26分,睡梦中的我被聒噪的手机叫醒,一个本地号码温柔的声音问我是不是还在学校,朦胧中我说是,心中期待有什么事件的发生。她说来南门取快递。
Okay。驱车到南门,看到一个泡沫包裹。以前微软寄Tshirt的时候也是这种包装。于是想微软为什么要再给我寄件Tshirt,莫非有夏装?还是ImagineCup还有幸运奖?lol
撕开看,果然是Tshirt,正面清楚的写着“Business Objext”。黑黑的,一点都不好看。最让我失望的,就是衣服的尺寸竟然是“XXXL”,我可以用来当浴袍了。
下学期BO来学校开宣讲会的时候我要顺便问问有没有小号的Tshirt可以换。
因为我参加了BO的中文名网上征集活动,所以就收到了这个Tshirt。所以虽然没法穿,还是可以收藏滴。
Posted in personal | No Comments »
Posted by Kai on 1st August 2007
我知道的排序算法有8种:冒泡,选择,插入,希尔,快速,堆,归并,基数。其中快速排序可以用其他排序优化,在串比较短的时候,归并排序需要比较大的空间,堆排序程序比较复杂。
昨天我把所有排序算法实现了一遍,并放在一起比较速度,得到的结果很令我惊讶。
首先,选择排序比冒泡排序和插入排序,希尔排序都要快,是O(n^2)里面最快的。
其次,堆排序在debug模式是O(nlogn)里面最慢的,其次就是快速排序最慢(与快速排序的名字很不相称的结果)。
第三,归并排序,是最快的。在Release模式,基数排序和归并排序一样快(仅针对我当前的测试数据,不超过1000大小的数字,1000到250万长度的序列)。
其中我不明白的就是,为什么基数排序可以被优化的那么强烈,为什么快速排序不是最快的,反而归并最快。
Posted in c++, tech | No Comments »