2008年12月6日星期六

《C专家编程》里的一个有趣的故事

前段时间在看《C专家编程》这本书,书不怎么看得懂,不过作者在里面写的一个小故事蛮好玩。

有一个很早的故事,讲的是一位物理系学生寻找新奇的方法用气压计测量一幢建筑物的高度。故事如下:
一位学生被判不及格,因为他拒绝使用班上老师所教的方法回答问题。当这名学生提出抗议时,学校指定Alexandar Calandrain作为仲裁人。Alex来到教授的办公室,阅读了考试题目:“怎样在气压计的帮助下测量一幢高楼的高度。”
这位学生是这样回答的:“把气压计带到楼顶,用一个长绳系住,把气压计放低,直到触及街面,然后再提起来,测量绳子的长度,绳子的长度就是建筑物的高度。”
高分的回答应该是充分运用物理学原理,但这个回答显然没有说明这一点。Alex提议给这个学生另外的一次机会回答这个问题。然后Alex跟这个学生说:“我给你六分钟时间让你重新回答这个问题,答案必须于物理学的知识有关。”结果这个学生只用了一分钟就交上了答案:“把气压计带到楼顶,倚再屋顶的边缘上,然后放开气压计,并用秒表开始计时。然后运用物体下坠公式S=1/2gt2计算建筑物的高度。”Alex好不犹豫的给这个学生满分。
这位学生继续说出了3中运用气压计测量建筑物的高度的方法:
在阳光灿烂的日子里,测量气压计的高度、气压计影子的高度以及建筑物影子的高度,然后运用简单的比例原理,计算出建筑物的高度。
带上气压计走上建筑物的楼梯,当爬楼梯时,用气压计的高度在墙上做标记,到达楼顶后,数一下做的标记的数量,就可以得到以气压计高度为单位的建筑物的高度。
最后一种方法(也许最不可行)是把气压计送给建筑物的管理员,让他告诉你建筑物的高度。

这个问题在SUN公司被讨论,涌现出如下好方法:

气压法:分别测量楼顶和楼底的气压,然后根据气压差计算大楼的高度。这个方法是这个问题最初设计时的标准答案,也是测量大楼高度最不精确的方法之一。

钟摆法:来到建筑物的顶部,用绳子系住气压计,把它放低到地面。然后晃动气压计,测量钟摆的摆动时间,根据摆动时间可以计算出钟摆的长度,也就是建筑物的高度。

贪婪法:把气压计当掉,换取一点种子基金。然后用连锁信方法(或者称之为神秘链方法)积累上一大笔钱。把这笔钱堆的跟大楼一样高,然后根据每张纸币的厚度和纸币的张数计算大楼的高度。这个方法并没有提及如何在pol.ice闻讯赶来之前完成对大楼的测量。

黑手party法:用气压计作为武器,威逼大楼的管理员说出大楼的高度。

弹道法:在地面用一架迫击炮把气压计送入半空,让它正好达到楼顶的高度。你可能需要进行几次距离修正发射以获得刚好能够把气压计送到大楼高度的发射方法。运用标准弹道计算表,你可以计算出这次弹道发射的高度,也就是大楼的高度。

########重点##############
镇纸法:把气压计作为镇纸压在建筑物的设计图纸上,然后从图纸上找出建筑物的高度。

音速法:从大楼的顶部把气压计扔下来,让其做自由落体,测量气压计撞击地面和你听到撞击声的时间差。在实际可行的距离内,视觉传递的时间可忽略不计,而声音的传递速度(在标准温度和气压条件下是340m/s)是已知的,根据上面这些数据可以计算出大楼的高度。
反射法:把气压计的玻璃面作为镜子,测量镜面反射亮光从楼顶到地面的来回时间,由于光速是一个已知量,所以大楼的高度也可以据此测出。

商业法:卖掉气压计用这笔钱买一些适当的仪器测量大楼的高度。

类比法:用一根绳子系住气压计,把绳子绕在一个小型的发电机的轴上。然后把气压计从大楼顶上扔下来,绳子就会使发电机转动。测量气压计从楼顶掉到地面期间发电机所发的电。发电机产生的电能是和轴旋转的圈数是成正比的,根据这些数据可以算出楼顶到地面的高度。

三角法:在地面上选一点,它和大楼的距离是已知的。带上气压计和一个量角器来到大楼的顶部,等待太阳达到水平线。然后把气压计当作镜子,把一束日光引到先前所设定的地点,用量角器测量气压计的角度,然后用三角学原理计算大楼高度。

比例法:测量气压计高度。叫一个朋友,并带上一把卷尺。趴在大楼外已知距离的一点,气压计放在你和大楼之间。调整气压计的位置,从你看上去气压计的上端正好和楼顶相平。
然后叫你的朋友测量你的眼睛距离气压计的距离,最后根据比例原理计算出大楼高度。

照相法:从大楼外已知距离的地点支起三脚架,架上照相机。然后把气压计放在与照相机距离已知的地方,拍下照片。根据照片中间气压计和大楼的相对高度,你可以计算出大楼的实际高度。

重力法I:用长绳系住气压计,从大楼上挂下来直到地面。测量钟摆的摆动周期,根据重力加速度的差别计算大楼高度。

重力法II:在大楼的顶部和底部分别用弹簧秤测量气压计重量(不能用天平秤),两个重量应该有所差别,这是由于重力加速度的差异引起的(一位读者告诉我Lacoste Romberg重力计能够提供准确结果所需要的精度)你可以根据这两个读数之差计算出大楼高度。

卡路里法:把气压计从楼顶扔下来,掉到地面一个装有水的容器。容器的开口应当尽量小,尽可能防止水溅出。水温的升高是气压计的机械能转化为热能的结果,根据水温的升高的度数可以计算出气压计到达地面的势能,进一步可以计算大楼高度。

2008年11月28日星期五

写Python脚本释放C盘空间

发现C盘空间不够用,检查了一下,发现Qt4的安装文件夹有些巨大,有1.4GB,进去一看,example文件夹有500MB,又发现大小主要由其工程中debug版本的可执行文件所决定,所以打算写一个脚本,把所有debug版本的生成文件删除,没想到这么简单的一个任务,因为长久不摸Python书,变得不是太简单,搞了半个多小时,终于大功告成,代码如下

[code:python]
def inter(dirname):
        os.chdir(dirname)
        pwd = os.getcwd()
        for file in os.listdir(pwd):
                nowfile = os.path.join(pwd, file)
                if os.path.isdir(nowfile):
                        if file == 'debug':
                                os.chdir(nowfile)
                                os.system("move *.exe C:\\debug")
                                os.chdir('../')
                                print nowfile
                        else:
                                inter(nowfile)

if __name__ == '__main__':
        import sys,os
        if not os.path.isdir('C:\\debug'):
                os.mkdir('C:\\debug')
        inter('C:\\Qt\\4.4.3\\examples')
[/code]

然后到C盘下debug文件夹下查看,好家伙,500MB,被我全部删除,C盘空间就不紧张啦!

2008年11月15日星期六

数字电路笔试题

发给自己看的,其实我不喜欢转别人的东西,但是下面那些题目笔试考的几率大啊,自己看看

1、 什么是同步逻辑和异步逻辑?
整个设计中只有一个全局时钟称为同步逻辑。同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。
不同子系统使用多个时钟信号的逻辑设计称为异步逻辑。

2、 什么是竞争与冒险现象?怎样判断?如何消除?
信号在数字电路器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。信号的高低电平转换也需要一定的过渡时间。由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为"毛刺"。如果一个组合逻辑电路中有"毛刺"出现,就说明该电路存在"冒险"。
解决方法:一是添加布尔式的消去项,二是用D触发器,格雷码计数器,同步电路等优秀的设计方案可以消除。

3、什么是亚稳态?如何解决亚稳态?
亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。
解决方法:
1) 降低系统时钟
2) 用反应更快的FF
3) 引入同步机制,防止亚稳态传播
4) 改善时钟质量,用边沿变化快速的时钟信号,关键是器件使用比较好的工艺和时钟周期的裕量要大。

4、常用逻辑电平有哪些?TTL与COMS电平可以直接互连吗?
TTL,COMS,不能直连
LVDS:LVDS(Low Voltage Differential Signal)即低电压差分信号,LVDS接口又称RS644总线接口,是20世纪90年代才出现的一种数据传输和接口技术。
ECL:(EmitterCoupled Logic)即射极耦合逻辑,是带有射随输出结构的典型输入输出接口电路。
CML:CML电平是所有高速数据接口中最简单的一种。其输入和输出是匹配好的,减少了外围器件,适合于更高频段工作。

5、数字电路设计中,静态时序模拟和动态时序模拟各有什么优缺点?
静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。
动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题;

6、多时域设计中,如何处理信号跨时域?
不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。
跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级D触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。 如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。

7、IC设计中同步复位与异步复位有什么区别?
同步复位在时钟沿采复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。

8、latch与register有什么区别?
latch是电平触发,register是边沿触发,register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。

9、BLOCKING和NONBLOCKING赋值有什么区别?
非阻塞赋值:块内的赋值语句同时赋值,一般用在时序电路描述中
阻塞赋值:完成该赋值语句后才能做下一句的操作,一般用在组合逻辑描述中

10、Moore与Mealy状态机各有什么特征?
Moore状态机的输出仅与当前状态值有关,且只在时钟边沿到来时才会有状态变化;Mealy状态机的输出不仅与当前状态值有关,而且与当前输入值有关,这一特点使其控制和输出更加灵活,但同时也增加了设计复杂程度。

11、 什么是“线与”逻辑,要实现它,在硬件特性上有什么具体要求?
将几个OC门结构与非门输出并联,当每个OC门输出为高电平时,总输出才为高,这种连接方式称为线与。

12、 如何用D触发器实现2倍分频的逻辑电路?
把D触发器的输出端加非门接到D端即可实现2倍分频的逻辑电路。

13、一个四级的Mux,其中第二级信号为关键信号如何改善timing?
关键:将第二级信号放到最后输出一级输出,同时注意修改片选信号,保证其优先级未被修改。

14、为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大?
和载流子有关,P管是空穴导电,N管电子导电,电子的迁移率大于空穴,同样的电场下,N管的电流大于P管,因此要增大P管的宽长比,使之对称,这样才能使得两者上升时间下降时间相等、高低电平的噪声容限一样、充电放电的时间相等。

15、 什么是Setup和Holdup时间?
建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。

16、如果已知reg的setup,hold时间,组合逻辑的delay需要在什么范围内?
Delay
17、时钟周期为T,触发器D1的寄存器到输出时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问,触发器D2的建立时间T3和保持时间应满足什么条件?
T3setup>T+T2max,T3hold>T1min+T2min

2008年11月12日星期三

三方协议、报到证、干部身份

最近有研究一下这个东西,发现一篇很好的文章高不清楚出处了,贴在这里怕以后找不到

关于三方协议:

什么叫三方协议?网上答案都有,随便查查就知道了。但再深一些说呢,肯定有人不知道了。

三方协议,简单的讲就是学校、学生本人、工作单位三方就毕业生离校后就业工作落实所签署的一份协议书,很多人知道的是:三方协议过去必须签,但现在不一定,三方签了只是学校统计就业率的一个参考指标。三方和派遣证挂钩,但我没有留京户口,单位签三方就要解决你的户口,所以现在单位都不签三方了,尤其是私企等等。没错,上边说的都对,所以有些朋友们就把三方协议放弃了,而只是找到工作,自己去做个打工者,然后只考虑劳动合同。

那么究竟三方协议背后究竟还有什么呢?其实三方的背后还隐藏着很多。

如果说到三方协议,那么必需提到的就是派遣证与干部身份。

三方协议作为国家统计大学生就业率的一个根据,同时也是国家派遣证发放的一个证明。只有你签署了三方协议,拿回学校,学校才会在你毕业后将派遣证发给你,而你拿着派遣证到你工作的单位报道,就此开始计算工龄,而你也就拥有了干部身份(每年基本6月25日毕业,所以6月18日前必需将三方交到学校)。

派遣证(报到证):

派遣证一式两份,一份是派遣证,另一部分是报到证。派遣证在你毕业后将放入你的档案,由国家直接打到你的单位(档案属国家机密,不允许个人持有。如果你的用人单位拥有档案保存资格那么你的档案就放在单位,如果没有,那单位会掏钱将你的档案放在人才市场类的档案保存处。你过你没工作,那你的档案就直接打回原籍)。而报到证则交由你手自行保管。在这里必须要重点说的是,很多人在毕业后没多久就把报到证丢了,而当若干年后单位希望将你提干要求出示报到证时,很多就没有了,而只能再跑回某地去重新开证明,这时的证明可就没那么好开了,所以还是劝君保管好。

干部身份:

在中国社会体系中,公民分三中身份:农民、工人、干部。农民归农业部管理,工人归劳动局管理,而干部归人事局管理。大学生属于国家培养的专业人才,属于国家干部身份。很多农村来的朋友家里都希望孩子通过念大学而改变祖辈农民的身份(这里没有贬低农民朋友的意思),而很多人却从毕业后就莫名其妙的丢了自己的干部身份。当然也有很多是根本不在乎自己的干部身份。认为有就有,没有就没有,没有的话我至少是四年大学毕业学士学位。其实你错了。如果你没有留住你的干部身份,可以说你的大学就是白念,而你只是个有学士学位的工人,根本没有改变你自己(就很多农村朋友来讲)。

干部身份靠什么来?靠三方协议,靠派遣证。派遣证就是你大学生干部身份的证明,假如某天你被提干时,这个就是你可以被提干的证明,因为你是干部身份。否则你就不能被提,因为你是工人。

也许很多人说:我不会被提干,那我要干部身份干嘛,我就想挣钱。

那么我现在要说的就是职称评定了。其中也涉及到关键一年的具体事宜。

大学生持报到证到单位上岗后,必须要经过一年的见习期(国家规定。相当于中专、大专的实习期)。见习期满后,本人必须记得要签“毕业生见习期考核鉴定表”,这是你转正的鉴定表(从此你就拿正常工资了),说明你已经是一个合格的人才了(见习期需要在同一单位完成,也就是你的三方、派遣证以及你的转正证明表,这三个上面盖的要是同一单位的章,否则视为无效)。紧接着要记得填写“国家统一分配大中专院校毕业生 专业技术职务任职资格认定表”,也就是初级职称评定表(这些事要你自己留心,没有人会提醒你去做的,表要到人事部网站下载)。具体可评定的职称可以到人事部网站上查询(职称最好和自己学的专业有联系,否则到中高级评定时比较难)。现在我国职称评定这块要通过考试(除艺术、工艺美术、体育教练员及广播电视播音4个系列外,申报其他初级系列都需要通过考试才能获得初级专业技术资格。考试采用闭卷笔答方式,实行统一大纲、统一命题、统一组织。申报人员参加北京市初级专业技术资格考试成绩合格,即可取得《北京市专业技术资格证书》),以考试来决定你是否能评上职称。当然有些职称评定也不排除某些单位内部的人为原因。在你初级职称评完四年后,也就是你工作的第五年,你可以申请评定中级职称。再五年后,也就是工作第十年,评定高级职称(具体可上网查)。这样你一辈子的职称就基本评定完了,所以有些幸运的人10年就可以当上“高级工程师”。在我国,无论各行各业都会有职称评定,而且相信任何单位都希望有那些有职称的人来工作,而且,就算你工作的单位没有职称评定一说,那想你如果是高级工程师,你拿的钱也绝对比别人多。而什么人能评定职称呢?有干部身份的人。所以从此看出,就算你不当官,你只挣钱,那干部身份对你来说还是有用的。

说到这里,基本上一般的情况都讲完了。但有些人会问了,我不是本地生,我户口不能留这,没公司给我签三方,你说的都是屁话。呵呵,那你就错了。为什么不变通的想想呢?例如:你在北京上学,但毕业后没有公司解决你的户口,怎么办?好办!在家里找公司签三方。因为你不能留京,所以你的户口会打回原籍,而档案与户口不能脱离,所以你的档案也要打回原籍,而如果你想保住干部身份(但想在北京工作),那你就托人也好,请客也好在家找个单位把你的三方签了。然后其他和上边一样,只是一年后记得回家去办转正与职称评定。如果嫌麻烦,没关系,你就回家就业,别担心回不来北京,因为如果你有职称,那么你就可以以后来京找工作,而你也会属于人才流动,这时只要你提出单位也会适当解决你的户口问题,否则凭你打工者的身份要求单位解决你户口,梦吧你!

三方协议的签署是没有限制的,与任何公司或单位签都可以,不一定要国企或事业单位,否则每年那么多大学生就业,还不80%都要丢了干部身份,国家还不成白痴了。但要保证一点,就算是三个人的小公司也能签,但不要在一年内倒闭,否则你就没有人给你签转正了,切记切记。

又有人说了,我想考研,我明年要考,我就不签三方了,随便找个活干干,挣点钱完了。那你就大错特错了。

记住,不论任何时候,别放弃你的身份!

如果你要考研,那么你属于在职考研一类,我们分类说一下。

假如你考上了:

你6月大学毕业,7月到单位报到。第二年7月,你转正,初级职称评定。研究生9月入学。当你研究生入学时,哥们已经是有身份的人了,3年研究生读完,哥们出来直接拿正常工资了(进私企),没有见习期一说了(研究生毕业也有3个月的见习期)。如果你进国企或事业单位,那么研究生3年算工龄(我不知道私企是不是,但国企或事业单位绝对是),你出来就可以评中级职称了,哥们又赚了一大笔。所以你说你该不该保你的干部身份?

假如你没考上:

没考上更简单,直接继续工作,回头等着评中级,没差什么。

很多人总是怕麻烦,其实一切就是这么简单(我打的不简单),如果你做了,那么也许我的话会改变你的一生,如果你没做,那么就当给我捧场,也谢谢你,我们又少了一个竞争对手。不过要记住一句话,别因小失大,谨记!

2008年10月31日星期五

Busybox移植

今天做了一个Busybox的移植实验。
我使用的是Busybox 1.7.0
编译器使用的是arm-linux-gcc 3.4.1。
编译Busybox有很多选项,但是以下的几步是必须要做的,剩下的选项自己看着进行勾选。
首先修改Makefile在175行和176行,本来是
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
修改成
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
然后执行make menuconfig 进入Busybox Settings,然后进入Installation Options,然后勾选
[*] Don't use /usr
然后在Linux Module Utilities配置项中,因为我使用linux2.6内核,所以我取消
[*] Support version 2.2.x to 2.4.x Linux kernels选项,让这个选项变成这样
[ ] Support version 2.2.x to 2.4.x Linux kernels
在Miscellaneous Utilities配置项中,取消[*] taskset 的选中状态,让它变成这样
[ ] taskset

因为我使用glibc库,如果想编译成静态的,那么需要在Busybox Settings选项中的Build Options子选项中选择使用静态链接,然后
把applet目录下applet.c文件中如下的一堆注释掉就可以开始编译了
#if ENABLE_STATIC && defined(__GLIBC__) && !defined(__UCLIBC__)
#warning Static linking against glibc produces buggy executables
#warning (glibc does not cope well with ld --gc-sections).
#warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
#warning Note that glibc is unsuitable for static linking anyway.
#warning If you still want to do it, remove -Wl,--gc-sections
#warning from top-level Makefile and remove this warning.
#error Aborting compilation.
#endif

然后进行其他的配置,保存配置后,执行make和make install两条命令就可以在_install目录下得到需要的东西了。

2008年10月30日星期四

miniGUI编译小记

因为项目需要,但是目前暂时又没有开发板,所有想在PC机上搭建一个miniGUI的开发环境。
首先是安装qvfb了,因为我用的ubuntu,所以,简单,sudo apt-get install qt3-dev-tools-embedded 就好了,接下来要编译miniGUI。
参考网络文章:http://blog.iyi.cn/hily/archives/2006/09/miniguii386.html,下载了那几个包,这篇文章写的也玄乎,这里会出错哪里会出错的。果不如其然,make一下一堆的错误,奇奇怪怪,其中一个是 keyboard.h:43: error: 说是缺少')'还是什么的,晕,改了半天都没用,后来去网上找半天,找到这一篇:http://www.lyore.cn/blog/read-205.html,不过我觉得他的解决办法是不是也很麻烦,我直接把那些个ushort定义了 typedef unsigned short ushort; 就好了。还有一个错误是说什么重复定义还是什么的,开始我用gcc 4.2进行编译的时候我的解决办法是把那个.c文件中的那个结构体定义删除了,不过后来我还是换用gcc 3.4进行编译,这个错误变成一个警告了。后来编译例子的时候,又出错,“libmingui.so: unreference to function 'pthread_kill_other_threads_np'”错误,这还是minigui代码线程库使用问题,解决办法是在minigui解压路径下,使用"grep -r pthread_kill_other_threads_np *"查找所有包含该函数的调用,然后注释掉。最后重新编译即可。

编译这东西真是累啊,也不知道那个作者是怎么编译成功的……

其实原因就是因为编译器的原因了,gcc的开发人员不知道怎么回事,总得搞个向后兼容才对呀-_-!

(本来这篇文章应该7月16号贴上来的,因为那天的网络原因,所以把文章保存与一文本文档中,今天被我不小心翻出来所以就贴上来了)

2008年10月27日星期一

弱冠之年

昨天是我二十岁的生日,不管是古代还是现在,都已经是成年人了,弱冠的说法是这么回事:古人二十岁行冠礼,以示成年,但体犹未壮,故称“弱冠”。

2008年10月16日星期四

接到HR的电话了

刚刚接到HR的电话,说通过上次的面试觉得我各个方面都还不错,说可以去他们公司实习了!

我很高兴,想一下就让全世界知道。我马上打电话给了爸爸妈妈,还有亲戚,让他们一起来分享这份喜悦。

我觉得我找到工作又和周围的人不一样,我早就规划好我毕业后是工作的了。而有些人是想考研,有些人无所谓,他们可能等到毕业那天再说。但是我不一样,我很急切,我想早点工作,我想早点锻炼,我想早点拿工资,呵呵

先写到这里吧,吃饭了回来,继续想想有什么要写的。:)

2008年10月4日星期六

如何移动VMware虚拟机

这次移动虚拟机,没有成功,害得我差点没抓狂,为了不让这种事情再次发生,虽然这件事情过去了,但是我还是去网上找了一下资料,后来在官方网站看到下面的信息,我终于明白我的移动为什么没有成功了。因为我在移动之前没有关闭客户机,我一直都是用暂停的,省得去开机关机。但是这次暂停仿佛是有问题的,官方的说明明确指出了这一点,虽然我觉得暂停的内存文件被删除了那么和关机没有什么两样,但事实上是我还是开机不了,GRUB选择之后,内核一直启动不了,不断的重启。下次我还是要试一下关机之后再移动看看有没有用。


Preparing a Workstation 5 Virtual Machine for a Move



1. Shut down the guest operating system and power off the virtual machine. If the virtual machine is suspended, resume it, then shut down the guest operating system.



2. Do one of the following:



  • If you are moving the virtual machine to a new host and have a network connection between the original host machine and the new host, you are finished with the preparations on the original host.


  • Otherwise, you need to have a way of moving the virtual disk (.vmdk) files from the virtual machine's directory to the new host. You could move them to a shared network directory, for example, or burn them to CD-ROMs if they are not too large.



    Once you know how you are going to move the virtual machine, go to Moving a Workstation 5 Virtual Machine to a New Host.



  • If you are moving this virtual machine to another directory on this host, then you are ready to make the move. Copy all the files in the virtual machine's original directory to the new location.


  • If you stored any files in directories other than the virtual machine directory, be sure to move them into a directory of the same name and same position relative to the location of the virtual machine.



    Start VMware Workstation and open the new virtual machine you just created. Choose File > Open, then browse to the virtual machine's configuration (.vmx) file.




    还有移动后网卡不能用的问题,参考这个


    如果把vmware安装后的所有文件(vmx等)拷贝到另外一台主机,那么使用同样的vmware station可以继续使用已经安装的系统而不必重新安装。但是有一点要注意,就是网卡的问题。当拷贝后第一次启动,vmware会提示此系统是否是copy过来的,如果是那么就会为虚拟系统的网卡重新分配一个mac地址,可以通过查看vmx文件知道mac的详细地址。

    在debian linux虚拟系统中网卡的mac地址在 /etc/udev/rules.d/z25_persistent-net.rules中,只要把eth0或者对应需要的网卡标识对应到新的MAC地址就可以。同时需要修改/etc/network/interfaces中的IP地址,不然在同一个局域网中会产生IP冲突。修改完毕后重新启动就可以了。

    应该有办法不重新启动,但是还没有找解决方案,可能通过/proc可以避免重启吧。

    My ECG Device (9)

    和上次讲的不一样,这篇日志还不是讲在北京的事情。是这样的,我想在我画的软键盘后面加一个Backspace退格键。但是我这边没有开发环境,因为docodai的电脑好,所以我以前是把开发环境装在他的电脑上的,他BT,国庆回家才几天也把一个台式机给抬回去,真不累……所以他抬回去之前我把那个虚拟机拷贝出来,但是前天晚上我把那个拷贝出来的虚拟机放在别人的电脑上居然不能运行,弄了很多办法都没用,后来我只有这样了……

    我用QQ远程协助连接上我同学的电脑,然后在里面打开我的虚拟机,然后在里面添加了一句话,从新编译,接着把那个编译生成的文件通过邮箱发到我这边来。

    上面的过程说起来简单,我其实是吐血了一个下午!首先速度很慢,我打一个字,20秒后才有反应,我真佩服我的耐心了……然后还有我要设置NFS什么的,因为是在别人的电脑上,一切都得设置,超级郁闷啊。然后是我有一点疏忽了,我直接在里面编程是没用的,因为我的源代码是GB2312编码的,而linux采用的UTF-8编码,第一次发送回来的文件我放入开发板运行,直接是一堆乱码,搞得我没郁闷死,要知道这样搞一次回来花我多少精力啊……没办法,我只有从我这边再编程一次然后把源代码发送回去,没想到这次发送回来的编译结果又吐血:一点反应都没有!后来查清楚是因为我发送了一个错误版本的源代码过去,幸好用gedit编辑的文件会产生一个后面加~符号的备份文件,于是我在我同学那边把那个备份文件发送回来,编辑后发送回去再编译,然后再发送回来,这次终于成功了。

    昨天下午我快没累死:(

    winter in my heart

     [audio: http://bbs.ynnubs.net/music/080929/winter%20im%20my%20heart.mp3 ]




    winter has come冬天已经来了

    farewell to the sun太阳离得好远

    it's getting colder every single day一天比一天冷

    you are not here你不在这里

    can't stand you're not near不能忍受你不在身边

    I'll wait for you forever and I pray我会等待并为你祈祷

    My Fantasy makes believe that you're with me我仿佛相信我们还在一起

    I have winter in my heart冬天在我心里

    cause I miss you more than words can say因为我如此想念你以至无法言语

    when nights are long and lonely without you没有你的晚上是漫长和孤独的

    I have winter in my heart冬天在我心里

    count the hours every single day每一天都在数着时间

    that lonesome time is too sad to be true那种幽寂是那样的真实那样伤感

    got winter in my heart就像冬天在我心里
    snow falling down雪一直下

    and you're not around你不再回来

    I'm all alone in that white wonderland我孤独的待在那白色的妙境里

    taking a walk漫步

    there's no one to talk没有一个人和我说话

    we used to be together hand in hand我们过去经常是手牵手在一起

    my fantasy makes me believe thar you're with me我仿佛相信我们还在一起

    I have winter in my heart冬天在我心里

    cause I miss you more than words can say因为我如此想念你以至无法言语

    when nights are long and lonely without you没有你的晚上是漫长和孤独的

    I have winter in my heart冬天在我心里

    count the hours every single day每一天都在数着时间

    that lonesome time is too sad to be true那种幽寂是那样的真实那样伤感

    got winter in my heart就像冬天在我心里

    I have winter in my heart冬天在我心里

    cause I miss you more than words can say因为我如此想念你以至无法言语

    when nights are long and lonely without you没有你的晚上是漫长和孤独的

    I have winter in my heart冬天在我心里

    count the hours every single day每一天都在数着时间

    that lonesome time is too sad to be true那种幽寂是那样的真实那样伤感

    winter in my heart就像冬天在我心里

    2008年9月30日星期二

    My ECG Device (8)

    决赛通知下来了,我进决赛了!事实上我知道的有交那个论文的都进了,这让成功变的不那么兴奋,不过还是蛮高兴的。不管它,既然肥肉到手,吃了再说,不过学校那么小气,只能报销硬座还是让我有点不爽,要知道去北京很远的啊,自己得掏两百块钱车费一趟!有点郁闷。我也想趁这个机会拿个奖,再去找找老同学,也参加一下招聘会什么的,那就值了,呵呵。下一篇连载日志应该是讲在北京的事情了 :)

    My ECG Device (7)

    08-08-26 20:22
    回到泉州,又回到了晚睡晚起的生活……


    呵呵,确实是这样,在软件园学习的时候,生活超级有规律,晚上十二点半左右睡,早上七点起,回到泉州,这件事情基本很难做到~!-_-!

    大概9月4号吧,时间差不多要把初赛论文交上去了,但是我都不知道怎么写,以至于只写了一点点,但是没办法,再不写就来不及了,于是那天晚上通宵写论文……早上八点写完,我也很佩服我自己的。然后是去打印,刻录光盘,然后想查一下哪里有顺丰的快递网点,因为早就听说顺丰是最快的啦,后来发现学校附近没有网点,要等那个人过来拿,而且是下午。我就出去找别家的快递了,先是到邮局,问一下EMS,工作人员说华大这边一天只有一趟就下午4点,城东邮局11点有,但是我一看表已经11点了,晕。然后我没办法就只有出去找找后面那些什么什么通的快递了,找到一家申通,问了一下说12点有一趟,听到老板信心满满的后天到的承诺后,我把东西给了他了,之后就回去玩了(我倒也不太想睡,还是觉得玩比较重要),然后下午睡了个午觉睡到晚上8点,起来赶快到申通的网站上查下自己的单号,发现居然一点反应都没有,当时老板说中午12点有寄出去的啊,感觉上当受骗了似的,于是出去找老板问问,结果他说东西刚刚才拿走,晕。这老板真不厚道,知道你这么完才送走,我肯定用EMS或者顺丰了。这才去吃了晚饭,晚上没事做,看网页,聊天一边刷申通的网站,没想到一直到凌晨5点都没有结果,我是真的快气晕了,算了去睡了。中午起来一看才有了一个记录,终于放心一点了,我去网上搜索申通,发现有不少人对申通的龟速都有意见的,说一个东西一个礼拜,甚至几个礼拜都没寄到,但是顺丰就都是好评,这个时候我就跟上了贼船似的。唉,怎一个郁闷形容的了?后来嘛等了好几天东西终于是到了,但是我知道以后稍微重要一点的东西我都不会用申通了。终于一个月的事情终于告一个段落,接下来就等着决赛通知吧。