温故而知新
zeitgeist 试用
Gentoo Portage 中出现了 zeitgeist,版本是 0.7.0,便 emerge 了一下,确切的说,是开启了 fts 这个 USE Flag 之后 emerge 的。
GObject 子类私有属性的外部访问
GObject 子类对象的私有属性模拟
上一篇文章“使用 GObject 库模拟类的数据封装形式”讲述了 GObject 子类化过程,本文以其为基础,进一步讲述如何对数据进行隐藏,即对面向对象程序设计中的“私有属性”概念进行模拟。
使用 GObject 库模拟类的数据封装形式
事实上,有关 GObject 库的学习与使用,GObject 库参考手册提供了一份简短且过于晦涩的指南。如果你能够理解它,那么完全可以无视这篇以及后续的几篇文章。倘若没有明白那份指南,那么建议最好能克制一下,先不要急于去做文档 [1] 中所列举那些探索,谨记 Knuth 所说的,过早优化是诸恶之源。
这篇文档主要讲述如何使用 GObject 库来模拟面向对象程序设计的最基本的要素,即基于类的数据封装,所采用的具体示例是一个双向链表的设计。
要相信 GObject 是有用并且简单的!
很多人被灌输了这样一种概念:要写面向对象程序,那么就需要学习一种面向对象编程语言,例如 C++、Java、C# 等等,而 C 语言是用来编写结构化程序的。事实上,面向对象只是一种编程思想,不是一种编程语言。换句话说,面向对象是一种游戏规则,它不是游戏。GObject 告诉我们,使用 C 语言编写程序时,可以运用面向对象这种编程思想。
那个遗传算法的继续改进
本文是“Hello,遗传算法!”的续集。
想了一下,还是决定把种群的最佳个体从历史课本里拿出来,用它来替换每一代种群中最差的个体。虽然这样做容易导致局部最优个体的基因片段会急速增加从而使进化有可能限于局部解,但是我们可以通过增大变异概率的方法来提高种群中个体染色体的多样性来帮助种群跳离局部最优。
HELLO,遗传算法!
这篇文章讲述如何利用遗传算法解决一个二元函数的最大值求解问题。由于我对遗传算法的理解还处于菜鸟级别,所以本文所讲的方法以及所写的程序不一定 正确。之所以写这篇文章,是因为我已经烦透了教科书或论文里对遗传算法那么刻板的叙述,所以很想写一篇稍微轻松一点的入门文档,娱乐一下。
gnome shell 的工作区是按需分配的
前两天玩 gnome 3 的时候,对 gnome shell 的桌面工作区不是很满意,但是出于吹捧 gnome 3 的需要,没声张。刚才更新了一下 gentoo gnome overlay 里的 gnome-shell-9999,发现工作区功能改进了。
GLib 学习笔记(未完成)
用 ConTeXt MkIV 排的,源文档及 pdf 位于 http://code.google.com/p/way2ctx/downloads/list