Hello world!

12月 28th, 2008 by ender

欢迎来到撞击思想. 这是你的第一篇blog,开始你的撞击思想之旅吧!

Latex中文配置

10月 20th, 2008 by ender
  • Linux

从源里面安装Texlive2007(apt就是好啊),之后下载YueWang zhfonts 。解压到$HOME下的.texmf-config.texmf-var文件。
搞定。

  • Windows

还是用CTEX套装吧,别瞎折腾了。

参考
http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=84013

Powered by ScribeFire.

Buffered I/O and non-buffered I/O

10月 12th, 2008 by ender

实验需要对Flash Disk做无系统缓冲的I/O操作,顺便了解了一下Linux下的I/O.

Linux上的块设备的操作可以分为两类:

  • 第一类是使用C标准库中的fopen/fread/fwrite 系列的函数,我们可以称其为 buffered I/O。

具体的I/O path如下

Application<->Library Buffer<->Operation System Cache<->File System/Volume Manager<->Device

library buffer是标准库提供的用户空间的buffer,可以通过setvbuf改变其大小。

  • 第二类是使用Linux的系统调用的open/read/write 系列的函数,我们可以称其为 non-buffered I/O。

I/O Path

Application<-> Operation System Cache <->File System/Volume Manager<->Device

此外,我们可以通过设置open的O_DIRECT标志来实现Direct I/O(或者叫Raw I/O),即绕过OS Cache,直接读取Device ( that’s what we want^o^ ), 等于将OS cache换成自己管理的cache。不过,Linus在邮件列表中建议不这么做,而是使用posix_fadvice, madvice。[2]中表明Direct I/O比buffered I/O的性能高很多。

在使用O_DIRECT的注意buffer的address必须是block alignment的(i.e. 初始地址必须是boundary), 可以用posix_memalign()函数分配内存以得到这样的buffer。至于为什么要这样,与实现的mmap有关,参见[5].

参考:

  1. Linux: Accessing Files With O_DIRECT http://kerneltrap.org/node/7563
  2. Andrea Arcangeli , O_DIRECT Whitepaper http://www.ukuug.org/events/linux2001/papers/html/AArcangeli-o_direct.html
  3. A Trip Down the Data Path: I/O and Performance http://articles.directorym.net/_A_Trip_Down_the_Data_Path_IO_and_Performance-a894569.html
  4. Operating Systems System Calls and I/O http://articles.directorym.net/Operating_Systems_System_Calls_and_IO-a894576.html
  5. Linux Device Drivers, 2nd Edition, Chapter 13 mmap and DMA http://www.xml.com/ldd/chapter/book/ch13.html
  6. http://topic.csdn.net/u/20080806/10/cdb1faa1-0146-4e96-8b12-26ba60acdbb5.html
  7. http://lists.alioth.debian.org/pipermail/parted-devel/2007-July/thread.html#1855
  8. Read系统调用剖析, http://www.ibm.com/developerworks/cn/linux/l-cn-read/

Powered by ScribeFire.

dhcp与静态ip切换

10月 11th, 2008 by ender

实验室用的是dhcp,寝室用的是静态ip地址,每次切换起来比较烦人,于是上网搜了一下写了个脚本。

  • Windows

寝室设置[静态ip地址]

netsh interface ip set address “本地连接” static IP 地址 子网 网关 跃点数(一般为1)
netsh interface ip set dns “本地连接”
dns地址

实验室[动态IP地址]

netsh interface ip set address “本地连接”  dhcp
netsh interface ip set address “本地连接”  dhcp

参考:

  1. 如何使用 Netsh.exe 工具和命令行开关 http://support.microsoft.com/kb/242468
  2. 如何使用 NETSH 命令在 Windows 2000 中将静态 IP 地址更改为 DHCP 地址 http://support.microsoft.com/kb/257748
  • Linux
  • 等用了再说

Technorati 标签: , , ,

git

10月 4th, 2008 by ender

git是一种分布式的版本控制软件。前段时间完成GSoC的时候用过一段时间,非常强悍!下面是一些资源以及一些常用的命令。

 

Resources

  • 中文教程

http://www.bitsun.com/documents/gittutorcn.htm

  • gitHub上的guide (强列推荐)基本上你想问的问题都有了

http://github.com/guides/Home

  • 上面的精简版

http://www.sourcemage.org/Git_Guide

  • Kernel Hackers’ Guide to git

http://linux.yyz.us/git-howto.html 最后,最重要的还有官方文档。

 

Useful Commands

Day of GIT

    $ git clone http://xxx
    $ git branch gsoc           # new branch
    $ git log #浏览历史
    $ git show 12798172e98f1    #显示相应的版本
    $ git-tag old 12798172e98f1 #为版本命名
    $ git diff a..old a..gsoc   #比较两个版本

 

Revert

回到上次的commit状态(撤除现有的所有修改) $ git reset –hard 回到某个commit状态 $ git revert $id

 

Merge

合并两个branch $ git merge $id

 

remote

push一个branch [code]$ git push origin branch-name[/code]

删除一个branch [code]$ git push origin :branch-name[/code]

Misc

这样一个场景

        repos in web
        /               \
repos1          repos2
 |
 branch-my

现在要把原来在branch-my移到repos2下,可以通过patch来完成。

To Be Continued…

数据管理研究的问题

08月 15th, 2008 by ender

数据管理要研究的问题本质上是 在各种计算环境下针对各种数据类型的各种计算问题。
大概有下面这些

  •  计算环境

单机, 分布式(P2P, Sensor Network), 并行
Flash Disk,多核,GPU,Cache

  • 数据类型

结构化数据(表),半结构化的数据(XML),无结构的数据(Web)

高维数据(多媒体数据…)
数据流
uncertain的数据

  • 计算问题

数据存取-索引结构
查询- 传统的查询操作, skyline, top-k, knn, keyword search, 自己定义一种查询(这个比较牛X)
数据挖掘 – 聚类
安全,隐私保护
信息集成 – schema mapping

而(计算环境 × 数据类型 × 计算问题)的笛卡尔乘积就构成了问题空间:-D
比如SIGMOD08
有这种比较古怪的
Monochromatic and bichromatic reverse skyline search over uncertain databases
还有这种比较有才的
EASE An Effective 3-in-1 Keyword Search Method for Unstructured, Semi-structured and Structured Data
可以找一个比较古怪的组合来做一下,嘿嘿~

回家啦

07月 17th, 2008 by ender

今天,又送走两个人。


我也总算在走之前完成了GSoC project PostgreSQL的第一个patch;-)中期检查算是通过了,之后还要抓紧时间测试。
明天就要回家了。还好,有同学一起走。
湖北的酷暑,我回来了~~~

Powered by ScribeFire.

结束与开始

07月 15th, 2008 by ender

终于,寝室走得差不多了,不得不离开2063了。


  • 7月是离别的一个月也是疯狂的一个月。

6月末,寝室8个人总算到齐了。本来说8个人轮流请客,结果发现时间安排不过来-__-|||
结果只能两人一组了。最终出现了大半夜的去吃夜宵,然后一群人去K歌到早上5点,结果,某人的嗓子沙哑了…
要毕业的人果然都是疯狂的。

  • 7月7号,毕业典礼。

学士服,合影,抛向空中的学士帽,这就是毕业了。想起来,4年,原来也只是弹指一挥间。
晚上是班级的散伙饭。一群人喝得酩酊大醉。才明白,人为什么要喝酒。羁绊太多,有些话,人在清醒是说不出来的。一个个抱着痛哭。每个人或许都有不为人知的苦痛和留恋吧。人生苦短,能大声痛哭的时候又有几时?不如哭个痛快。

  • 7月14号是住在二公寓的最后一天。

原本规定8号就得离校,后来知道其实可以多呆几天,结果寝室的8个人只有1个人走了,3个人退了票;-)
7个人的寝室还是像以前那样吵吵闹闹,让人有一种幻觉-这只不过是另外一个普通的暑假罢了,一切如常。而毕业只不过是一场梦。大家一起打游戏,去看午夜场的赤壁首映……很惬意的日子呢。
只不过,该离开的始终要离开。昨天已是住在二公寓的最后一天,寝室的兄弟一个又一个的走了。送别罗的时候,某人哭得稀里哗啦。
昨天搬到了9公寓,醒来见到的,不再是熟悉的面孔,我才真正意识到——真的是毕业了,有很多人很久都会见不到了。

不写了,我们在大学的这四年中,相遇,相知,相离。人生本就聚多离少,四年的相聚,我们应该知足了。
大家,一路顺风,前程似锦,有缘再见,我会永远想念你们的。2063的兄弟们,我会记得我们走过的那段日子的。

大学四年的生活终于划上了一个休止符了。一起迎接新的生活吧!

推荐《把时间当作朋友》

06月 8th, 2008 by ender

上个月时间利用得真是混乱不堪。在网上看到李笑来老师的《把时间当作朋友》如当头棒喝,醍醐灌顶,一身冷汗……(省略若干词)。

强烈推荐,很好很强大。

从现在开始作“事件-时间日志”,把每天做的事情以及花费的时间记录下来,很有效哦。

P.S. 端午节快乐。
Google今天也换logo了,很漂亮啊,可惜没粽子;-)


Powered by ScribeFire.

BLESS

06月 7th, 2008 by ender

又是一年高考,转眼间,4年就过去了。工大今天貌似初中生的什么考试,看到红楼外面的家长们,想起当年高考时,父亲就是这样等在外面的吧,真的恍若隔世。

弟弟今天也高考,bless~~~

P.S.今天还是工大88周年的校庆日:-)