20130406

用graphviz画机房拓扑的几个关键词

用graphviz画机房拓扑的几个关键词

我准备用graphviz画机房的拓扑图。用excel或txt记录机器和VLAN什么的信息,用antlr写个工具解析,然后生成dot文件,最后用graphviz把dot画出来。

想到有这么几个基本技术,今天试了一下。下面的这段代码就是例子。行号是我加的,为了说明方便。执行结果如图所示。

建一同学提到用graphviz画UML,请参考 plantuml。不知道为什么被墙了。

1 // dot -Tpng test.dot -o test.png; eog test.png
2 digraph a
3 {
4     node1 [label="NODE1", shape=none, image="pc.png", labelloc=b]; // color=white,
5     node2 [shape=box3d];
6     node3;
7     node4;
8
9 //    edge [weight=100, arrowhead=none];
10     node1 -> node2 [taillabel="tail", headlabel="head", labeldistance=3, labelangle=-45 ,label="label", sametail="a"];
11 //    edge [weight=0.5, arrowhead=none];
12     node1 -> node3:se [sametail="a", weight=100];
13     node3 -> node4;
14    
15     {rank = same; node2; node4; };
16    
17    
18 }

1. 定制节点

默认的节点是矩形圆形多边形这样规则的形状。可以使用图片,人类看起来漂亮一些。

参见第4行,image="pc.png"。

2. 线连接的位置

有些节点要连出去很多线,线连接的位置如果散开,有时候比较难看。sametail可以让它们都聚在一起,参见第10和第11行。

也许,有时候想从特别的角度连到节点上,可以指定方向,参见第12行node3:se,表示从东南方向连接。

3. 题注的位置

用了定制的图片以后,题注标在节点正中就有些不合习惯,可以用labelloc指定位置。参见第4行,lableloc=b,b表示底部。

线的题注 (这东西叫题注么?) 除了label本身以外,可以用taillabel,headlabel,分别标在箭尾或箭头。标在箭尾或箭头的题注,可以用labeldistance=3, labelangle=-45进一步修订,参见第10行。

4. 节点的位置

某个节点,如果希望它跟别的节点平级,用rank,参见第15行。rank不仅能same,还可以起名字。这一技术还可以用于水平的图,让时间与事件对齐。

还可以用node的属性pos指定节点位置。实验表明,1.需要给出所有的node的位置,2.要使用neato引擎,不能用dot本身。而且,我在实验中发现,想指定一个合理美观的节点位置实在太难了。如果想强调某个结点的核心位置,请参见下一条。

5. 连线的位置

如果想强调某根线,用weight。weight越大,线越直,线连接的节点间距离越近。参见第9、11、12行。

weight是edge的属性,因此既可以加在某条线的后的"[]"里,也可以如第9行的写法,从此向下的edge都具有这样的属性。


更多细节,请参考[http://www.graphviz.org/doc/info/attrs.html]。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]

20130405

今天我生日 今天我生日,不过亲爱的各位请别祝贺了。前两天我下半夜睡着睡着,突然想 到,还有20年多一点我就退休了,如果按工作年限,就只有15年了。悚然一惊, 从梦里醒过来,翻来覆去想了很久。 也许15年或20年对有些人来说还很远,可是对我来说不太一样。从能够独立计 划,不必按老师安排学习以后,我一般订计划是以五年为期的。而今发现,这样 的周期只有三四次而已了,令人叹息。三次四计划,又能完成些什么呢。 我想起初中还是小学读到的一个日本作家的话。他当时确诊为癌症,医生说还能 活一年半吧,他写了本书,叫做《一年有半》。他说:一年半确实非常短暂,不 过无论谁,所余的生的日子与死后的无穷岁月相比,都不仅是短暂,而且趋近于 无。读到这一篇的时候,我只是感叹而已,心里倒是确认需要数日子的人里肯定 不会有我的。如今,各位,所余无多,当好好珍惜。 最近拍的照片,还有画的画,在 [http://www.douban.com/photos/album/100275452/]。 -------------------- 博客会手工同步到以下地址: [http://giftdotyoung.blogspot.com] [http://blog.csdn.net/younggift]

今天我生日

今天我生日,不过亲爱的各位请别祝贺了。前两天我下半夜睡着睡着,突然想
到,还有20年多一点我就退休了,如果按工作年限,就只有15年了。悚然一惊,
从梦里醒过来,翻来覆去想了很久。

也许15年或20年对有些人来说还很远,可是对我来说不太一样。从能够独立计
划,不必按老师安排学习以后,我一般订计划是以五年为期的。而今发现,这样
的周期只有三四次而已了,令人叹息。三次四计划,又能完成些什么呢。

我想起初中还是小学读到的一个日本作家的话。他当时确诊为癌症,医生说还能
活一年半吧,他写了本书,叫做《一年有半》。他说:一年半确实非常短暂,不
过无论谁,所余的生的日子与死后的无穷岁月相比,都不仅是短暂,而且趋近于
无。读到这一篇的时候,我只是感叹而已,心里倒是确认需要数日子的人里肯定
不会有我的。如今,各位,所余无多,当好好珍惜。

最近拍的照片,还有画的画,在
[http://www.douban.com/photos/album/100275452/]。



--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]

20130401

创意,有时候啥也不是

创意,有时候啥也不是

那天和李记者喝酒,我说,你注没注意我跟你说话的时候从不注视你的眼睛,没有眼神交流,就盯着桌子或者墙。他说,我还一直以为你那是眼神空洞,表示睿智呢。我说,那是因为反正我也看不见,看哪都差不多。有的时候,只是傻看着这个世界,想说的很多,却不知从何说起。

今天说说创意吧。说说创意啥也不是的时候。当今之世,有人说这是个"创意"的时代。他有证据的,你看乔布斯吧,他的创意就好,手机啊MP3什么的,到了他的手里,就成了流行元素。这是"有人"最近的观点,他们在早些年举的例子是比尔盖茨。不过,他们刻意或无意地,回避了乔布斯其实很多年前就出过传记,那时候他还没死,还不是传说的时候。他创意过苹果和苹果II,最早的个人计算机,流行一时。不过如果你这就得出了创意无敌,还早点,他在苹果II以后还创意过好像叫Lisa的电脑,用据说第一款鼠标,还创意过一个NETX或者类似名字的公司,二者基本上都被认定为不怎么成功,如果避免用输得一塌糊涂这样的形容的话。

你只看到了贼偷,没看着贼挨打。

往远了说。春秋战国有个国君想拉拢人才,贴了告示,有啥能耐都用。来了个老头。问他会啥,说,我会小九九,就是九九乘法表。国君说你玩我呐。老头说,你想啊,大王,如果连像我这样会小九九的都能得到您的赏识和重用,那更有能耐的人不就接着来了吗。国君重用了老头,果然来了很多有能耐的人。这老头够有创意吧,故事的结局也不错,不过那老头后来呢?那老头从此淡出了历史。

再说。汉高祖刘邦对知识分子不礼貌,呼来喝去的。又来个老头,知识分子,说有大政方针指点。刘邦正洗脚呢,我忘了是一边擦脚还是坐那撇着腿了,就说,"啥事,说吧。"老头说,这可不是国君应该有的态度啊。刘邦然后就正式接见,然后就厉害了。故事又完了,那老头呢?这个老头后来倒是历史有点记载,不过跟洗脚这事没关系,他去当死间被人家烹了。

再说。李自成还是朱元璋进京以前,一片农民起义军。这个时候总会跳出来个人指点他,毛主席也遇到过这样的神仙,叫李鼎铭。他们说,"广积粮,缓称王"。然后大事遂成。怎么样,这个家伙也有创意吧。但是历史上,后来就没有他的事了。

这些有创意的人,他们都没有后来。

乔布斯的创意与这些才高八斗指点江山的家伙有所不同。乔布斯能在自己家车库(相当于仓房?)里把苹果机焊出来,而这些家伙的创意都是由别人去实现的。在这个世界上,创意从来不重要,除非你不把他拿出来。只要你拿出来,那就是全人类的,专利也只保护你那么几年。如果你不拿出来,那它就是不存在的,甚至也不属于你。没验证过的,不是创意,是吹牛。

所以,老板,如果你真的觉得自己的创意很好,那就亲自动手去干,或者出钱,证明它很好。老板们是不是脑袋都进水了,以为忽悠大家一起创意,然后这个世界就和谐了。没有一群工程师出力,谁替你把创意带到世界上来。

非老板们也以为自己一个创意就能救了自己。那是老板忽悠你的。上述春秋战国某王、刘邦、李自成的谋士的故事都告诉我们:未来的公司是属于跟老板一起光膀子打天下的。那个当初指指点点这么干能成的家伙,早就被大家忘光了。

别说,有一个人,他倒是例外。他当初指点他爹造反,建立了唐朝。他爹说过,要不是你那句话,咱们哪有今天。这位爹是李渊,儿子是李世民大帝。不过,他爹可不是没事回忆和感谢这位儿子当年的创意呢。李世民先是亲手跟老爹和兄弟们打了天下,后来杀了两个哥,逼李渊退位当太上皇。他爹对这位牛人的好评,可不是凭创意得到的。

《创世纪》里,上帝说,要有光。他老人家可不是说,我看有光不错,你们几个整一个试试。如果成了算我的,整出毛病来,反正也不是我整的。

作为工程师,少整点创意,多点实现创意的能力吧。

最后,我想起来十来年前给一位老板修机器时候的对话。他说,你为什么不考虑一下市场需求,创意很重要啊。不是原话,大致如此。我说,手头的活儿都干不过来,没工夫整创意。

有资本的人是有资本谈创意的,因为他有钱支持创意。如罗素所说,有闲阶级的太太们可以养活一大群无聊和不咋地的艺术家。没资本的人少扯点创意,多点实现别人创意的本事吧。

即使我有一千个创意,倒也不见得非得讲给无关的人听,又不是想拉他的投资。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]