leto@freecity.cn

修行在个人

Jake's Free House For Fun.

介绍 debian

估计都听说过 linux, 或者听说的不是 linux, 而是 red hat 阿, ubuntu 阿之类的, 他们都是 linux 的发行版(distribution). 所谓发行其实是这样的, 那些个有太多空闲时间的就会玩弄计算机的宅男们花了部分时间编译了内核, 在这个基础上编译了桌面系统, 文本编辑工具, 浏览器, 多媒体播放器等等一堆平时使用电脑需要的应用程序, 然后他们最喜欢分享又刚好网络情况不至于像浙大这么糟, 于是把这堆东西弄到一块去搞成了安装程序, 以前放在软盘里面, 后来因为男人帮比较流行就把软盘扒了衣服换成了光盘, 还嫌CD太小换成DVD, 其实有隐含 cup 的意思. 所以呢可以得到这么个式子:

发行版 = 内核 + 应用程序(桌面系统, blabla)
而 debian 刚开始也是如此, 后来又加上了许多独有的东西, 制定了软件包管理机制, 著名的 apt(advanced package tool) 程序集让你很方便地管理 debian 系统下的应用程序. 所以上述式子的改进版是这样的
发行版 = 内核 + 应用程序 + 软件包管理
像其他的发行版 gentoo, fedora 等等, 都有自己的工具以方便对系统中的软件进行管理.

好吧...有必要把一些东西和 Windows 常识区分开来, Windows 启动流程是这样的: 系统自检, 进度条, 登录界面...图形界面是和系统一条绳上的蚂蚱, 所以经常图形界面没反应了系统就卡住, 而 linux 则没有图形显示, 图形界面不是它的事情, 所以它的创始人 Linus 说, 标准的内核应该是管理计算机硬件并给软件提供它们所需要的资源的东东, 这些个发行版的图形界面, 都交给桌面系统实现. 然后我再介绍式子:

桌面系统 = 底层 Xserver + 一堆乱七八糟的图形应用软件
前面我把桌面系统归类的应用程序中来, 理由就在这里.

呛编辑器

很久以前上面向对象程序设计课的时候老师肥老鼠要我们安装 cygwin + gcc + vim 来学习理解编程和编译, 那个时候对 vim 很是不习惯, 只觉得是个要多按一个 i 建的写字板 (或者叫记事本? 总之相当低级的那个...), 而且还不知道怎么退出.

后来上 java 课, 楼sir 上课时候用的是 editplus, 比起记事本来自然显得好很多, 可以配置外部编译程序, 捕获程序运行结果, 树形目录结构显示, 语法高亮, 在我们这些还未习惯用 debug 工具的人看来, 俨然就是一 IDE.

然后再后来我装了 ubuntu, 编译安装了 emacs-snapshot-unicode-gtk, (简称emacs23...), 开始用它写程序, 写 latex 文档(当时用这个搞定了计算机网络和操作系统实验的几次实验的报告, 自认为效果比 word 好很多倍, 然而实验的分数不怎么令人满意), 然后用它来收校内邮箱的邮件, 听歌, 管理文件, 下BT...好吧, 其实后面两个我没怎么搞过, 只是扯一下说明我可以这么干而已.

学 emacs 的同时也装了 vim, 比起 emacs 它贯彻 KISS (keep it simple and stupid) 要彻底很多, 虽然同样可以扩展, 甚至能够改变键盘模式变得和 emacs 一样, 但是它依然是个纯粹的编辑器, 而 emacs 呢? 野心大大的. 其实也和我自己花的时间有关, vim 如果配置得当, 至少写 java 程序的时候能够获得 eclipse 般的文本编辑效果... 就是那传说中的自动补全...

然后我还要说 word, 这个学期的文档全要求用这个写, 把我恶心坏了. 它其实做得不错, 至少我自己用来它不会经常崩溃不会把你的论文搞坏, 管理论文格式(章节标题风格什么的) 和插入图片表格显得尤其方便, 还所见即所得, 蛮好. 然而我要鄙视它...因为经常会自作聪明, 自作主张调整行间距, 体会了 tex 的帅气和优雅你就会觉得 word 太土鳖了.

ps: 最近似乎有股浪潮反对接受 word 附件的电子邮件之类, 感兴趣可以去了解下, 搜 richard stallman 就有丫的大作一篇...文字还算简单, 因为我都看得懂-___-b

我爱 emacs

考完试, 去 `外婆家' 吃饱喝足, 排好长队, 重新看一遍 `Yi Yi', 然后开始写这个. emacs 是我在 debian 下每天必用的软件, 它可一点都不小巧, 虽然大小和那些 `产品级' 集成开发环境动辄几个 G 比起来绝对小巫见大巫, 但是如果你用了比较多的扩展包的话加载速度还是会有些慢, 不过如果再次和那些 `产品' 比起来... 还算不错.

扩展包用的编写语言就是著名的 elisp, 延伸自 50年代 MIT 人工智能实验室的编程语言 lisp, 先是实验室的 geek 们搞了几个未成熟编辑器(就叫 emacs 之类的东西, emacs for e-macro-s), 后来被 Java 的老豆 James Gosling 拿去做了比较多的改进, 使用了另外一个lisp 的方言, 那个时候对标准没现在这么关注似乎, lisp 延伸了很多方言, scheme, emacs lisp, common lisp 等等, 最后面这个带有标准性质, 而James 用的叫做 Maclisp, 和尚不知在哪的 macintosh 没关系, 起了个名字叫做 Gosmacs 卖给了一家公司. 后来现在的 emacs 的作者 Richard Stallman 大神通过朋友拿到了代码(必须这么干, 因为 Java 老豆那个时候似乎恰好很缺钱), 看了一番后决定自己重新写过, 于是缩减了很多 Maclisp 的功能, 目的为容易 customization, 并且能够在一台只有 2M 物理内存而且不支持虚拟内存的电脑上顺畅使用 emacs, 于是 emacs 和它的用来配置自己的语言 elisp 就此产生了.

闲话休提, 这里我只说我能用 emacs 做什么. 首先呢自然是作为文本编辑器最简单的功能 — 写程序. 支持所有市面上流行的编程语言, C, C++, Java, Common Lisp, Perl, Python, Ruby, HTML, ....(如果后面这些也能算的话)的高亮显示...这个其实很容易, 现在几乎所有的字处理程序都能作到, 除了某产品级 `写字板' -__-b 而主要的魅力在于, 你可以修改或者重新配置一番, 安装了编译程序加上一番配置之后只要一个 F9 就能搞定编译, 直接执行或者在 emacs 中开个 shell 执行都可以.

记笔记 — 俗话说好记性不如烂笔头, 加上自己经常会有些话要说, 所以会常常记记 写写一点东西, 而 emacs the dream weaver 便完全符合了我的要求. 相应的扩展包是 emacs -muse, 按照它的格式记笔记之后只要按 Ctrl+C, 再 Ctrl+T 就可以看到它自动生成的页面了, 无须接触恼人的 HTML tags, 哈哈. 不过如果得弄些 CSS 属性就得另说了, 有兴趣可以去看看我的小站.

听歌 — 好吧我觉得我开始 kuso 了, 但是还真的经常边写程序边听许巍的歌的, 啥也不说了, 附张图.

图片好长...去掉了....点我相册看吧

工具配置笔记

学生习作

在外网的我的窝

友情链接们