星期一, 六月 04, 2007

此消彼长?

国内的有识之士们正在担心中国的性别比人为偏高的时候,美国和日本的出生婴儿性别比却在下降。我们的科学家担心中国男人过多时,美国人却又在担心男人不足了。也许以后中国未来最大宗的进口贸易会变成进口新娘,而最大宗的出口贸易会变成出口新浪新郎?

星期六, 六月 02, 2007

gnome-terminal sucks!

for (i = 0, p = environ; *p; p++)
{
/* Strip all these out, we'll replace some of them */
if ((strncmp (*p, "COLUMNS=", 8) == 0) ||
(strncmp (*p, "LINES=", 6) == 0) ||
(strncmp (*p, "WINDOWID=", 9) == 0) ||
(strncmp (*p, "TERM=", 5) == 0) ||
(strncmp (*p, "GNOME_DESKTOP_ICON=", 19) == 0) ||
(strncmp (*p, "COLORTERM=", 10) == 0) ||
(strncmp (*p, "DISPLAY=", 8) == 0))
{
/* nothing: do not copy */
}
else
{
retval[i] = g_strdup (*p);
++i;
}
}

retval[i] = g_strdup ("COLORTERM="EXECUTABLE_NAME);
++i;

retval[i] = g_strdup ("TERM=xterm"); /* FIXME configurable later? */
++i;


想把termcap的定义从xterm改成vt100或者linux,慢慢等着吧!

星期二, 五月 29, 2007

BTW,
可能不止perl,TeX也是只写(write-0nly:-)的!不晓得怎么加批注,或协同作业!

星期五, 五月 25, 2007

不会爆的充水气球

水果公司是不是也要起诉一下这个……

看来抄ipod广告的产品还不止iGasm一家,这个ElectricForeplay估计也有希望被Apple青睐一下:

水果公司起诉的就是这个……


就是上面这个小小的震动棒——iGasm,抄了ipod的广告,于是Apple怒了:“法庭见!”

其实那个制造商的商标也有点抄苹果商标的意思。

Slashdot的回帖最有意思:有人问slashdot上有么有人使用过此产品,但是,很显然slashdot上大多用户为男性(也不排除有另外的取向的同志们)。

还有一条,说这个RMS已经做过了:许多年前的GNU/Gasm就是,只不过那个只能配合RMS自己的曲子工作。囧rz

星期四, 五月 24, 2007

Xgl的启动

刚才搜索xgl相关的知识,发现Emanuele Tamponi写的《How Xgl works》的综述比较明白,特别是关于Xgl如何启动的这部分:

第一步:Xgl和Xorg启动

  • (记住我们讨论的是Xglx)
  • Xgl启动。
  • “Xgl初始化过程”启动Xorg。
  • Xorg加载NVIDIA的X驱动
  • Xorg加载NVIDIA的libglx作为其X Server的GLX扩展(作者称之为“隐含的GLX扩展”)
  • Xorg可以给OpenGL客户程序提供直接OpenGL上下文


第二步:请求上下文
  • Xgl被链接到NVIDIA的libGL并用它来进行渲染。
  • 目前,Xgl是一个OpenGL客户程序,故需要一个OpenGL上下文。
  • NVIDIA的libGL使用自身的GLX函数开启一个同隐含的GLX扩展进行的会话。
  • NVIDIA的libGL得到了一个给Xgl的OpenGL上下文。
第三步:Xgl开启并运行,提供了一个心的Xserver。
  • Xgl现在可以用OpenGL函数绘制窗口和root。
  • Xgl加载自己的libglx作为其X Server 的GLX扩展(作者称之为“Xgl GLX扩展”)。
  • Xgl只能向OpenGL客户程序提供间接OpenGL上下文,原因在于Xgl GLX扩展会把OpenGL命令传递给Xgl。
第四步:一个OpenGL客户程序被启动
  • Xgl内部,一个OpenGL客户程序被启动。
  • 这一OpenGL客户程序被链接到NVIDIA的libGL上。
  • 现在,它需要一个OpenGL上下文。
  • NVIDIA的libGL使用自身的GLX函数开启一个同Xgl GLX扩展进行的会话。
  • NVIDIA的libGL为它的客户程序获得一个间接OpenGL上下文。
  • OpenGL客户程序可以用OpenGL函数绘制其内容,并被Xgl通过GLX协议接收。
  • Xgl收到OpenGL函数调用并使用NVIDIA的libGL绘制内容。