[OS] Plan 9 has been forked

"Plan 9 has been forked to start a development out of the Bell Labs (or whatever they are called these days…). This true community-approach allows further development of Plan 9, even if the shrinking resources at Bell-Labs for Plan 9 are vanishing. The homepage and thecode can be both found at Google code. You can boot 9front from the regulary built live cd or build the binaries in your existing Plan 9 installation. Installation instructions and further information can be obtained at the 9front wiki."

 

Plan 9 是贝尔实验室计划开发的下一代网络操作系统, 不过最新版本停留在第四版.

最近Plan 9托管到了 google code , 有了他的开发社区,并且更新了吉祥物。

Space Glenda原本的吉祥物: Glenda

image  现在的吉祥物:⑨(又称 琪露诺,东方幻想乡人物,幻想乡最强⑨)

 

你可以用通过live cd试用或者自己编译一个

发表在 系统, 网络 | 标签为 , | 留下评论

VIM 使用小记

发现VIM功能比想象的强大太多,一直没把整个文档看一看,有些命令用过就忘记了,这里整理一下。

另:文章没有详细介绍命令的打算,如果不清楚请查阅vim自带的帮助文档。

g/rmvb/d  删除包含rmvb的行
v/rmvb/d  删除不包含rmvb的行

split 分割窗口 vsplit竖形分割
close 关闭窗口

%s/four/4/g 把所有包含four的单词替换成4

 

image

发表在 编程, 网络 | 标签为 , , | 留下评论

推荐阅读:《我在赶集网的两个月》

引子:

很好的一个流水帐,很好的一个实习生案例,很好的一个职场现身说法,很好的用数据说话的实战例子,很好的鲶鱼!请仔细阅读,尤其是你们中刚刚踏入职场没几年的年轻人,看看一个大三的北邮学生是怎么震了赶集网的销售、数据挖掘、竞情分析、产品、团购、运营和电话销售

引用赶集网YJ先生对这位大三实习生的褒奖邮件中几句结论,共勉:

2.以结果为导向  
任何工作活动,都要有结果,要清晰的知道目标和目的,得有实现结果的”势利眼”。为实现目标,谁都可以随时站到全局看问题,技术人员可以站在商务角度考虑问题,产品也可以了解一定的技术思路,这些方式、技术、工具、能力,都只是手段,甚至都不是最重要的,最重要的是随时知道想要的结果是什么,知道大家共同的目标是什么。  
不该以”苦劳”来论成绩, BUG 百出的代码,看似忙碌,实则是一种破坏;冗长的会议也不好玩,没有结果的会谈任何人都该随时中止。  
3.共生而不是惰化  
一个人做不成任何事情,甚至都生存不了,人只有与组织共生。但组织大了常会有个体的依赖, 1+1<2 ,甚至 <1 ,最后整个组织都烂掉。我们不需要组织性惰化,我们需要每个人都时刻警醒:自己是否为别人提供了有价值的付出,自己是否帮助到了团队同事;自己是否变懒了,自己是否在抱怨各种所谓的不公。  
4.挖掘自身的价值  
每个人都有别人不及的价值,我们在工作中都需要千方百计的把自身这些独特的价值挖掘出来,不用拘泥于现有思路,更不用局限于已有的经验。要敢做,要尝试不同的方式,同时也要尊重自己以外的每一个团队成员的价值。每个人都这样做,才能整体而全面的超越对手。

继续阅读

发表在 网摘, 网络 | 标签为 , | 留下评论

7.11 留给自己

盼望就是指望善良之事,使心灵与丰富的神相连;

而欲望充满非理性的渴念,使心灵与身体相连。

愚拙者,不喜欢安逸和平静,从来不会坚定而稳固的植在任何一条原则上,这是他们本性使然。

如立法者所说,他的整个性命悬计无定,没有坚实的根基,总是任凭兴趣拖前扯后,东飘西荡。

所以立法者在另一处说“被挂的人是在神面前受诅咒的” 《申命记》二十一章,23节。

发表在 读书 | 标签为 | 留下评论

[阅读]不要轻易屈服

来源: 你不是个天生的失败者

1965年,一位名为马丁•塞里格曼(Martin Seligman)的科学家开始了电击狗的实验。
他试图扩展巴甫洛夫——这可是个能够让狗在听到铃铛响的时候分泌唾液的家伙——的研究范围。塞里格曼想把研究引向另外一个方向,当他摇铃的时候提供给狗的不是食物而是电击。为了让它们保持不动,他在实验的过程中用狗项圈限制了它们的活动。

在狗被建立了条件反射之后,塞里格曼把它们放进一个大箱子里,这个大箱子里有一个低矮的栅栏将它一分为二。实验者设想如果他们摇铃(并不电击),狗将会跳过栅栏以逃脱电击,但结果它并没有这么做。它只是坐在那里做好被电击的准备。于是他们决定试试铃响后电击。结果狗仍然只是坐在那里并且承受了电击。当他们把一只之前从来未被电击的狗放在盒子里,然后电击它——结果它跃过了栅栏。

文章提到了“习得性无助”,我们常常在接连不断的失败后,开始习惯失败,并且放弃挣扎,放弃自己的权利,开始逃避问题,我们会相信事实已经如此,并且不会因为我们所做的有任何改变,我们感到无助,孤独,却不知道其实是我们自己放弃了掌握自己命运的机会。

那么究竟该怎么做?一个很简单的道理,不要轻易屈服。

不轻易屈服,要慢慢学会掌握自己的节奏,做一些自己喜欢做的事情,给自己考虑多一些选择,多相信自己一些。

要明白你绝不是天生的失败者,也许没有那么聪明,但是也不至于这么脆弱。别轻易放弃,整理好自己的思绪,在拼搏一把。

发表在 网摘, 读书 | 标签为 , , | 留下评论

[ZZ]Picasa在linux下不能启动的解决办法

Google推出了很多Linux下的服务,下午的时候装上Picasa发现不能用,以为是Fedora15有很大的调整,没有折腾。
晚上Google了一下,发现解决办法:

安装wine后,sudo cp /usr/bin/wine-preloader /opt/google/picasa/3.0/wine/bin/wine-preloader

此外还有:

sysctl -w vm.mmap_min_addr=0 并且在rc.local 里面设置为启动变量 的方法,不过感觉比较凶险没试。

原文:http://www.heqq.info/2011/05/picasalinux.html

发表在 Linux, 照片, 系统 | 标签为 , , | 留下评论

APUE习题2.3 —— sysconf 的使用和调整

守护进程在运行后常做的一件事情是关闭当前所有打开的文件。代码如:

#include 

for (i = 0; i

我们希望使用POSIX.1的OPEN_MAX来提高代码可移植性, (OPEN_MAX 表示系统设置的能打开的最大文件数)

#include 

for (i = 0; i

但是有可能会出现系统未设置OPEN_MAX值的情况,sysconf会返回-1导致for循环根本不会运行,这里编写小程序。
PS: 根据书后习题,添加了当OPEN_MAX被系统缺省设置为LONG_MAX的情况,如果是那样的话,会浪费大量时间。

/* *
 *
 *	CHANGE CODE 2-4 IN APUE ACC FOR LONG_MAX RETURN BY SYSCONF
 *
 *	APUE TEST 2.3
 *
 *	MIUC 2011.06.26
 *
 * */

#include 
#include 
#include 
#include 

#ifdef OPEN_MAX
static long openmax = OPEN_MAX;
#else
static long openmax = 0;
#endif

#define OPEN_MAX_GUESS 256

long open_max(void)
{
	if (openmax == 0) {
		errno = 0;
		if ((openmax = sysconf(_SC_OPEN_MAX)) < 0) {
			if (errno == 0) 
				openmax = OPEN_MAX_GUESS;	/* it's indeterminate */
			else {
				printf("sysconf error for _SC_OPEN_MAX\n");
				return -1;
			}
		} else 
		if (openmax == LONG_MAX) openmax = OPEN_MAX_GUESS; /* LONG_MAX is too long , waste time */
	}
	return openmax;
}

int main()
{
	printf("openmax : %ld\n", open_max());
	return 0;
}

发表在 C, Linux, 系统, 编程 | 标签为 , , , | 留下评论

此文章使用ScribeFire发布!

 ScribeFire是Firefox下的一款插件,用于博客文章的编写和发布。
 拥有自动上传图片的功能,在Linux使用比较方便。

 

发表在 博客 | 标签为 , | 留下评论

关于const pointer 的测试

睡前无聊看了下APUE的习题,测试下const pointer,详细信息看注释

#include 


int main()
{
	int a = 3;
	const int * b = &a;

	//	*b++;  compile access, run like *(b++)
	//	(*b)++ compile error ,  *b can not edit

	printf("%d\n", a);


	int c = 3;
	// int const * d = &c;  compile access, 'int const' like 'const int'

	int * const d = &c; 	

	//*d++;   //  compile error, d can't change

	printf("%d\n", c);


	int e[2] = {3, 4};

	const int * f = e;

	// f[0]++;   error, *f can not change
	
	// f[1]++;   error, *(f + 4u) can not change


	return 0;

}



发表在 C, 编程 | 标签为 , | 留下评论

【Gnome3 Extention weather】Gnome3 天气插件错误修正

今天闲来装上Gnome3的天气插件,遇到一些问题,这里简单写一些。
gnome-shell-extension-weather

1. 编译安装时遇到 Makefile 提示缺少符号,仔细查看config时候的输出,发现一个Error,安装Glib2-dev后正常
2. 安装插件后,可以在 /usr/share/gnome-shell/extension/下找到,或者在 ~/.local/share/. ooxxx 下面
3. 发现插件显示和yahoo正确的气温不符,仔细看了下js代码,找到GET 的url,发现yahoo 那边传过来的今天详细天气数据都错了。
4. 测试了下语法可行性,因为第二次调用forecast返回的今明天气是正确的,可以临时做以下操作:
A. 交换 刷新今日详细信息 和 刷新今明天气信息 的函数。
B. 在今明天气信息里做判断,预先填充部分今天天气信息。
C. 在今日详细里注释掉重复部分。

ctr+F2 r 重启gnome3 OK

发表在 Linux, 系统 | 标签为 , , | 2条评论