将 Cikada 推倒重来

很长一段时间以来,因为要处理的主要矛盾太多了,Cikada 这种次要矛盾只好推到一边,虽然它是我最想做的一件事情。这是 Cikada 项目自发布 0.0.2 版本之后一直都没什么进展的主要原因。

虽然这个项目搁置了好久,但是也不是坏事情,在这段时间中我对报告中的演示需求有了更多的体会。下面是一些粗略的新的规划:

  • 去掉那个时钟模式的概览视图。主要因为用了一段时间感觉很不方便,观看进度时画面是不应该切换成概览模式的。
  • 保持只有“淡入/淡出”的页面切换效果不变。
  • 提供演示文档的“剧本”支持。基本思想是:演示文档的每一页,用户都可以将其视为演员,可通过“剧本”来控制文档主题树、演讲时间,甚至添加一些辅助文本、图形与视频。
  • 报告的进度应当直接呈现在演示画面当中,并且进度的测度不应当由当前页数与总页数的比值来表示,应当将其表示为预期的报告时间以及各个页面对应的报告时间。
  • 分段加载页面时,在各段的起点时页面切换会出现停滞,决定使用一个线程负责页面切换,另一个线程负责预加载页面。
  • 以树状图的形式建立概览视图,这样可以快速的跳转到各个子主题。

面向 GTK+ 3 的 GtkGLExt 现状

自 GTK+ 3.0 发布后,GtkGLExt 一直没有支持它,并且这个项目已沉寂了很久。最近 GtkGLExt 邮件列表中 Thomas Zimmermann 的三封邮件,让这件事情看上去有了一些眉目。

继续阅读

GObject Introspection 的作用与意义

GObject Introspection(简称 GI)用于产生与解析 C 程序库 API 元信息,以便于动态语言(或托管语言)绑定基于 C + GObject 的程序库。

继续阅读

单子与太空衣

Eric Kow (firstname.lastname@loria.fr)
20 November 2005
Version: 0.8.2 (2007-08-30)

原文:http://www.iterasi.net/openviewer.aspx?sqrlitid=ixx7fcluvek_9lfolsxr_g

这份文档尝试以直观的方式解释单子(Monad)的概念。我要使用空间站与宇航员作为隐喻来消除抽象。希望这一隐喻可以帮助你透析单子的内部逻辑且不致让你头昏。

阅读本文需要注意:我并不打算解释单子的用法,只是专注于揭示它的工作机理。最适合阅读这篇文章的人也许是那些已经对如何操纵单子代码有一些了解但是想深入其内幕的人。另外,我也不会解释有关单子的一些概念缘何而设,只是使用空间站的隐喻来表现其合理性。

继续阅读

PulseAudio 跨网络应用

我们屋里有一台计算机是专门用来做报告的,为它配备了一台投影仪。在作报告的时候,有时想播放一些音频文件,但是这台计算机没有扬声器。为了便于问题的描述,可以将这台计算机称为“哑巴机”。除了这台哑巴机之外,其他的计算机都内置了音效挺好的扬声器,相应的,我们管这些带扬声器的机器称为“有声机”。由于我们比较缺钱,所以不想为哑巴机再配备一个外部音箱,只想找个办法使得哑巴机可以通过有声机的扬声器播放音频。使用 PulseAudio 可以很简单的解决这个问题。

继续阅读

X Window 系统与云计算

不懂 Unix 的人,注定最终还要重复发明一个蹩脚的 Unix。这句话对于 X Window 系统可能也很合适。

继续阅读

iwlagn 网卡在 linux 3.1.5—3.1.7 中频繁掉线问题的修复

如果你的无线网卡是 iwlagn 驱动,并且它在最近的 Linux 3.1.5, 3.1.6 内核上无法与无线 AP 正常连接,症状是连上即断,继而再连……那么你可能需要查看 http://www.gossamer-threads.com/lists/linux/kernel/1466171 第 10# 帖,将该帖附件中的补丁打到内核源码并编译。

Fedora 16 环境编译安装 FreeCAD 记略

FreeCAD [1] 是以 OpenCascade 为核心,采用 Coin 实现三维图形渲染,采用 Qt4 实现 GUI 的三维 CAD 系统,软件协议为 GPL/LGPL,支持 Linux, Windows 与 Mac OS X 平台。目前,FreeCAD 已具备特征建模、草图建模、工程制图、网格模型编辑等功能,一些重要功能尚在开发中,例如逆向工程、机器手臂运动仿真、CAM 等。虽然 FreeCAD 整体功能与 Windows 平台的商业 CAD 系统(NX, PRO/E, Catia 等)相去甚远,但是对于开源的 CAD 软件而言,FreeCAD 是最堪用的。

继续阅读

使用 cups-pdf 解决 VUE 不支持中文 PDF 导出问题

VUE [1] 是我在 Linux 环境中最喜欢的思维导图软件,以前写过一篇文章 [2] 介绍过它。但是对于中文用户而言,在 VUE 中绘制的思维导图保存为 PDF 文档时,无法显示中文。这是因为 VUE 没有为中文设定正确的 PDF 字体,事实上对于非西文用户都面临这一问题。解决这一问题的方法有两种,一种是对 VUE 的源码进行 dirty hack 与编译,即修改 VUE_SRC/src/edu/tufts/vue/pdf/VueFontMapper.java 文件;另一种是使用 cups-pdf 虚拟 PDF 打印机。由于我不熟悉 Java 编程及 itext 库,所以避重就轻的选择了后者。

继续阅读

GNOME 3 应用程序菜单的定制

GNOME 3 因其革新幅度较大,一些应用程序显然未能跟得上形势,alacarte 这个在 GNOME 2 时代用于定制 GNOME 应用程序菜单的主要工具就是个例子,它不仅依然重度依赖几个 GNOME 2 的核心库,而且尚未与较新的 gnome-menus 库取得兼容 [1]。目前定制 GNOME 3 应用程序菜单比较好的方法是 gmenu-simple-editor 与 lxmed 这两个工具的配合使用。

继续阅读