• Red-Black Tree

    2008-05-31
        红黑树是个复杂的数据结构。其插入,删除操作复杂度都为O(lgn)。
        红黑树在 linux 内核中应用很多,比如虚拟内存管理,进程调度等。且其常常和 hash 一起出现,是非常重要的数据结构。


    Contents:
      Defination of Red-Black Tree
      Insertion
      Deletion...
  •     看了《dive into python》HTML处理那一章,忽然突发奇想,扫描 angelived 网站,将所有的文章下载下来,解析成纯文本文档,按照 angelived 的分类方法归类(文件夹)。

        在头脑中风暴了一下,一个晚上加上一个下午,脚本完成。
        大致思路是:
           1. (mainPageMine.py)从主页 http://angeli...
  •     这是 linux 课程实践的大作业:
           用 curses 库实现终端弹球游戏。
  • 这篇文章的目标读者:
        1. 大致知道什么是 Unix, Linux, Open Source
        2. 对 Unix, Linux 文化不抵触
        3. 乐于接受新思想,尚没有被 M$ 和 Windows 洗脑的同学
  • Merge-Sort 实现方法。 

    使用 c 语言和 python 语言分别实现 Merge-Sort。

    比较语言性能。 

  •     是linux programming课程的作业。

        使用工具:
        IDE: gvim
        Compiler: gcc
        Debug: gdb/gprof
        yacc & lex

     &nb...
  •     vim真是好东东,某一天晚上,我下载了一篇巨长无比的小说,三四百万字吧,见鬼的是居然是放在一个txt里的。所有的章节都在一个文本文件中,看起来真要命。

        用vim摸索了一会儿,搞定了,使用一条nmap命令,将长长的小说按章节分割成许多小文件,文件名即为章节名。

        用vim打开文章,输入命令如下:
        :n...
  •     呼呼,最近入了一只索爱的智能机,M608c,忽然对J2ME开发产生了兴趣。

        于是开始接触netbeans。现在看来,netbeans对手机应用程序的开发远远好于eclipse,至少索爱官网上是推荐使用netbeans的。

        最让我震惊的就是流设计(visual MIDlet)了。它可以让开发者以使用者的角度,来模拟程序运行的真实情况,表示不同屏幕...
  •  

        哇哇哇哇,看看我一个晚上都干了些什么!

        搞定了我小黑的休眠(sleep)支持,屏幕关闭,并且让原来ibm的热键和合上屏幕的动作全部得到正确相应!

        盛夏一个无比炎热美好的不眠夜!

    IBM ThinkPad R52热键的设置:
    -------------------------------------------

        1. 首先确保已经正确安装acpid。同时,我将内核的thinkpad_acpi编成了模块,并且在rc.conf中自动加载。在/etc/modprobe.conf添加
  • cpu调频

    2007-07-29
        linux的cpu调频这一块一直很乱,有手动的,自动的,不同的工具和后台程序。大致整理了一下,至少可以使用。

        1. 首先,系统通过acpid来获取电池/电流等硬件信息,所以首先要安装这个守卫进程。其实安装了这个工具频率已经可以改变了,内核提供了对cpu信息的获取。我们还需工具(调节的接口)来控制频率(手动或者自动)。这个工具就是cpudyn:
            pacman -S acpid cpudyn
        2. 然后就可以运行这些工具:
            $/etc/rc.d/acpid start
    &n...
  • fonts.conf

    2007-07-26
     

        因为系统默认字体太丑,自己设置了一下~/.fonts.conf。

        主要设置了serif,sans-serif,monospace三种子簇,其他改动很少,只是一个半成品。

        中文主要采用文泉驿字体,英文采用Pragmata等宽字体,因为个人不喜欢serif字体,并且电脑最常用来写程序和敲命令行,所以重点设置了等宽字体和sans-serif字体。

        我的fonts.conf:

       
  • Fresh words

    2007-06-03
        说说最近听到的一些不靠谱的话:

        1. "Google是个购物狂"----SteamedFish

        在谈论到google最近以1亿美元收购FeedBurner时,SteamedFish说了这样一句话。于是我特地跑上网查了一下google的收购扩张史。

         2. "大家一起丢人也就不丢人了"

        在谈论到为什么袁隆平没有能够进入中国科学院当院士,而是进了中...
  • 周末技术观览

    本周六和abcx去了鼓楼,商讨南京大学鼓楼校区LUG成立事宜。主要是大家出去腐败了一下,然后找了个教室开了个小会。

    见到许多小牛牛和大牛牛们,还是很happy的。大家讨论了一下每周的聚会形式,然后进入扯蛋环节。

    发现自己要学习的东西还是很多。

    大家用的linux发行版各种各样,SteamedFish那边居然有许多人用Mandriva, 然后有一个人提到了ArchLinux(他的ID我忘了,真可惜),和他讨论了一下arch的优缺点,和gentoo的横向对比,知音难觅的感觉。呵呵。

    不过ArchLinux真的非常好用。
  • 上次和cyfdecyf谈论字体,cyf说我的系统字体很丑,没有配置过。其实已经花了许多时间来配置字体,从刚刚开始学会安装,到选择终端等宽字体,一直没有系统地学过。

    许多年后,我再次遭遇文泉驿的字体,忽然觉得就是它了,我一直想要的。就像看遍天下,还是原来的好。

    文泉驿是一种bitmap字型,按照董强的说法,是点阵字体。而对应的truetype字型是矢量字体。但是怎么我总瞅着觉得点阵字体更漂亮呢?
  •     今天挺happy, 因为终于把我的终端打扮得漂漂亮亮, 可以出嫁了.
        改内容如下:
            1. 纯终端下可以正确显示和输入中文
            2. 纯终端的1024*768的分辨率
            3. 纯终端的色彩显示

  • From ArchWiki

    For GTK2 apps (i.e.Gaim) you can do the same with 'gtk-theme-switch2'
    # pacman -S gtk-theme-switch2
    You probably would like to install some themes too:
    # pacman -S gtk2-themes-collection
    Now run '

  • 设置硬件时钟的操作:
    # hwclock --set --date="09/17/2003 13:26:00"

    系统时钟和硬件时钟同步:
    # hwclock --systohc
     

  • 配置vim 和一些命令
  • 1. 找到 /var/lib/locales/supported.d/local 文件

            添加一行 zh_CN.GBK GBK

    2. 执行 sudo locale-gen

            重启动X, 如果用gdm启动选择语言 中文(GBK)的就可以了。

            如果不是gdm启动,修改/etc/enviroment 将LC_ALL,LANG等等都改为GBK

    3. startx

  • 1. 修改/etc/gtk-2.0/gtk.immodules文件,把有关xim的部分改成:
    "/usr/lib/gtk-2.0/2.4.0/immodules/im-xim.so"
    "xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"
    多加上的en就会使GTK程序在en_US的环境下也启用xim作为输入法了。

    2. 在etc目录下用gedit新建environment文件再在该文件输入如下内容:
    LC_ALL=zh_CN.UTF-8
    LANG=zh_CN.UTF-8
    XMODIFIERS=@im=fcitx
  •     经过一个星期的努力,终于Enlightenment成功地跑在了我的ubuntu和arch上。


        但是enlightenmet中的字太小,很难看。修改方法如下:

    startx as "startx -- -...
  • Ubuntu中安装e17

    2007-03-16
    E17 即 Enlightenment 窗口管理器的最新开发版。与 GNOME、KDE 等主流的桌面环境相比,E17 的优点是更加轻快。同时,E17 的外观也是相当漂亮,具有下拉阴影以及许多动态效果。如果你想完全感受 E17 的魅力,那么不如亲自去体验一番。

  • Ubuntu中安装IE

    2007-03-10
    Ubuntu中安装IE

    by news sudo apt-get install wine...
  • ubuntu小技巧

    2007-03-09
    1. 将程序加入主菜单

    我们以创建eclipse为例:
    1.创建桌面连接
    sudo gedit /usr/share/applications/eclipse.desktop
  • 把Beryl的源设置成SVN


     事先声明:SVN相当于内部的即时测试版,你可以在第一时间获得Beryl的最新版本。SVN意味着这将是一个频频更新的版本,即使今天增加了一个功能,但是由于不完善或种种原因,明天就会取消。SVN适合一些喜欢追新的人。
     废话不多了,来用SVN的Beryl代替源里的吧:

     

  • ubuntu小技巧

    2007-01-27
    * 设置grub的密码

    1. 在终端输入grub-md5-crypt,然后输入grub密码。
    2. 将生成的字符串复制,编辑/boot/grub/menu.lst,在single选项里
    password --md5 xxxxxxxxxxxxxxx(刚刚生成的字符串)
    3. 保存。

    如果要给整个grub加密就在第一段加上上面2步中的字符串。
  • How to install Graphics Driver (NVIDIA)
    1. Read #General Notes
    2. Read #How to add extra repositories

    sudo apt-get install nvidia-glx nvidia-kernel-common

    sudo nvidia-xconfig

    1. Should the above not enable the new driver, you can enable it manually by opening the X config file:

    sudo gedit /etc/X11/xorg.conf

    1. and replacing "nv" with "nvidia"
    2. Read #How to restart GNOME without rebooting computer
    3. Enable XvMC by creating the nVidia XvMC configuration file

    sudo gedit /etc/X11/XvMCConfig

    1. Insert the following line into the new configuration file, to tell the players the name of the nVidia XvMC shared library:

    libXvMCNVIDIA_dynamic.so.1

  • ubuntu小技巧

    2007-01-10

    1.提高打开文件夹速度

      如果你觉得 Gnome 桌面菜单弹出速度过慢,可以通过以下方法解决:

      1.在你的 home 目录中创建一个名叫 .gtkrc-2.0 的文件

      vim .gtkrc-2.0

      2.将下列内容添入其中:

      gtk-menu-popup-delay = 0

      3.保存。

    2.让Ubuntu 6.10 在开机时显示启动信息

    开机时的启动信息已经被华丽的图片所替代,如果你还需要查看他们应该怎么做呢?

    1.打开/boot/grub/menu.lst文件

    gksu gedit /boot/grub/menu.lst

    2.寻找标有kernel的一行,类似:

    kernel /boot/vmlinuz-2.6.17-10-generic root=/dev/sda6 ro quiet splash vga=0x318

    3.去除quiet字符:

    kernel /boot/vmlinuz-2.6.17-10-generic root=/dev/sda6 ro splash vga=0x318

    3FreeMind Ubuntu Edgy Eft 中的安装

    2006-11-21 Toy Posted in TutorialsRSSTrackback

    FreeMind 的安装是要讲究技巧的,对于某些用户来说,按照常规办法安装的 FreeMind 可能难以正常运行。下面,我们就给出 FreeMind 0.8.0 Ubuntu Edgy Eft 中的安装过程。

    FreeMind

    1. 安装 libcommons-lang-java

    sudo apt-get install libcommons-lang-java

    2. 安装 librelaxng-datatype-java

    sudo apt-get install librelaxng-datatype-java

    3. 安装 libforms-java(需要下载)。

    sudo dpkg -i libforms-java_1.0.5-2_all.deb

    4. 以上三步的安装主要是为了解决 FreeMind 的依赖问题。现在我们可以开始安装 FreeMind 0.8.0 了(同样需要下载)。

    sudo dpkg -i freemind_0.8.0-1_all.deb

    5. 如果上面所有的安装都没有问题,那么现着启 FreeMind若正常,则说 FreeMind 已成功安装。

    4.Ubuntu 提示三

     

     

    1. 获取 Ubuntu 的版本信息:

     

    * cat /etc/issue-获悉 Ubuntu 的版本号

    * uname -r-获知所用的 Linux 内核版本

    2. 检查性能状态:

    * cat /proc/meminfo-提供内存占用的信息

    3. 使用 root 模式:

    * sudo -s -H-作为 root 用户切换到 root 模式

    * sudo -s-切换到 root 模式,但仍为当前用户


  • Step1:将GBK转为UTF8

    正规说法是id3信息升级成支持utf8id3v2.4

    1. 下载python-mutagen脚本 edgy源里面有

    是用来转码的软件

    2. cd MP3目录,输入
    find . -iname "*.mp3" -execdir mid3iconv -e GBK {} \;

    命令意思是在当前目录及其子目录中,寻找以mp3为扩展名的文件,然后将所有这些文件的id3信息升级到v2.4,同时进行转码,转码是从GBK转为utf8

    Step2

    安装Amarok中文歌词脚本
    http://www.kde-apps.org/content/show.php?content=50120
    用此插件可以显示中文歌词

    OK

  • cd /usr/share/fonts
    ln -s /home/fwolf/tools/fonts xpfonts
    cd xpfonts
    mkfontscale
    mkfontdir

    这样作和把字体拷贝到/usr/share/fonts的一个目录下的效果是一样的。后面的两个mkfont命令是生成xpfonts目录下所包含的字体的索引信息。然后运行fc-cache命令更新字体缓存:

    fc-cache