碎碎念
bleakxandu
这个作者很懒,什么都没留下…
展开
-
One torture
Its about a mistake I blundered when I worked for a aero-related company. We were lack of equipments which hadnt been made or data hadnot been designed entirely to test codes. So I had to admi原创 2009-03-03 15:59:00 · 771 阅读 · 0 评论 -
C类型表达式一例
<br />有人关于如下代码为何编译出错不解:#include<stdio.h>main(){ char a[][5] = {"abcd", "efgh", "ujkl"}; char (*p)[3]; p[0]=a[0]; printf("%s/n", p[0]);}<br />解释如下:<br />a的类型为<br />a : arr ( 3, arr ( 5, char ) ) 可以读作 a is arr(3) of arr(5) of char<br />p的类型为<br /原创 2011-04-09 11:51:00 · 737 阅读 · 0 评论 -
在公司做技术预研工作?
之前做过软件开发和一点技术管理,然后回学校读了研究生。课题空闲之余去公司做过预研+开发,毕业后干脆在公司做预研工作。目前对工作比较感兴趣,但也有点找不着主线似的惶恐。在网上查了一些关于技术预研的的资料,记录一下。技术预研:技术预先研究,TPR跟踪国内外技术发展,分析技术发展趋势。跟标准,推提案,参会议,写专利预研项目:有具体的形态和应用背景的产品作为目标技术预研:在产品规划的指引下,难原创 2012-02-07 23:32:41 · 20377 阅读 · 2 评论 -
一个软件移植工作的总结
上个月终于完成了一个专家系统的移植工作,移植到实时系统中用于实时故障诊断。我分析了系统的难度和复杂度(110k+行代码),连同别人的预估,综合起来最后报的计划是7-8个人月,但是由于涉及的领域都是我感兴趣的,并且有研究基础,所以工作效率比较高,实际用2个月多一点就完成工作,下面分阶段总结一下过程中的经验。1、可行性分析,制定计划。凡事预则立,不预则废。话虽如此,如果不对系统有一定程度的理解,是原创 2012-05-28 01:37:16 · 1882 阅读 · 0 评论 -
辞旧迎新,我的2012
一年的工作,一年的生活,几多欢乐,几多感慨。这一年,我为公司做了两个很有意思的软件。一个是专家系统,一个是系统建模工具。冲刺撞线后短暂的欢乐抛在身后。这一年,我做了想做的工作,是时候了;这一年,我锻炼了自己的能力,是时候了;这一年,我为公司创造了价值,是时候了……我是谁,我要做什么?自己的想法,可实现否?原创 2012-12-31 22:58:03 · 626 阅读 · 0 评论 -
关于产品定义、架构和设计实现的一些想法
碎碎念,自己总结一下。一、怎么定义产品?好的产品自然是“设计”出来的,而不是树上长出来的。“设计”这个词很虚,我试着分解成定义、架构和设计实现三个过程。产品的定义就先从产品的使用来看吧:无论什么样的产品都有I(输入)-P(处理)-O(输出)这三大坑,好产品的功能很强大,性能很优越,输入输出方便、直观、容易理解。但是,一般而言,越是功能强大、性能优越的产品,它的P坑是非常复杂的,因为强大原创 2016-08-15 00:40:08 · 1194 阅读 · 0 评论 -
恐龙技术生存体验(二 初出茅庐)
我在北交大上本科时,读的是一个计算机应用的专业,程序语言学了VB、Java,学了一点网络、数据库,虽然很多CS基础课程都没开,但是学了一坨经管的课,做了一些MIS/ERP大作业。一心向往计算机系,去那里旁听了些课,四年过去了,懵懵懂懂。后来毕业就去了航天院所了。刚开始的感觉就是莫名其妙。像我这样的野生二半吊子软件工程师水平真的很菜,上学时做的某某系统都是企业应用,在工作里根本用不上。虽然同原创 2016-10-11 15:47:08 · 493 阅读 · 0 评论 -
恐龙技术生存体验(四 大开眼界)
回顾我在研究所的几年工作,技术上的收获就是端正了工作态度,树立了质量意识,了解了行业背景,学习了开发知识。但是那时基础不牢、能力不足,工作中时常迷惘,不知如何如何解决问题。抱着解决这些问题的期望,我在本科毕业后的第四年,离职去读了研究生。本来想换个方向换个领域,但是很不幸的还是去做航天课题,要做一个跑在卫星上的软件。虽然不知道以后要干什么,但是我知道基础很重要,选课的时候我挑了很多基础理论原创 2016-10-24 04:26:14 · 776 阅读 · 0 评论 -
恐龙技术生存体验(一 引子)
每当听到“千万别学C/C++”、“要学C#/Java/PHP”、“MFC早就淘汰了”的话,总是“虎躯一震,菊花一紧”,这些东西的确早已普遍被认为是陈年旧货,市面上也极少有人讨论了。作为一个有十多年的软件从业者,还一直用着这样陈旧的工具和技术,我们这些人难免被认为是步履蹒跚的恐龙,行走在最后的大路上。这是真的吗?这样的生活是一种什么体验?原创 2016-10-02 17:15:23 · 393 阅读 · 0 评论 -
恐龙技术生存体验(三 眼花缭乱)
于是我工作后终于发现了第一个朴素的道理:不能正确运行的程序是垃圾。之后做过几个离线数据抽取软件和实时数据处理模块,处理各种卫星数据的时候,发现功能完全一样,只是格式不同而已,怎么破?听说面向对象比较好,我也研究C++的继承、多态的概念,写程序的时候搞一个父类,不同的卫星去继承。听说设计模式很时髦,我也买了书研究,每个字都能看懂,就是不知道说了啥。GOF,骗子。接手升级过一个有奇怪名字设备的原创 2016-10-17 22:16:41 · 607 阅读 · 0 评论 -
近期总结(上)
系统软件是最复杂的4类软件:操作系统、编译器、数据库管理软件和协议软件。在学基础理论的同时,需要将理论与实践相结合,就一定要提高自己的设计实现水平。在看一些静态分析的材料时,知道他们讲的头头是道,可是究竟怎么验证、如何实现?首先需要理解第三方的编译器或者分析系统的框架,然后在其基础上做一些修改。充分理解别人的设计、实现和技巧是很困难的。开始时看一些“轻量级”的编译器就会比较艰难,后来去找了一些分析框架仔细看了个把月,发现既难(他们通常用函数式语言,开发和调试环境不太熟悉)又不完全符合功能需求,这个框架太难,原创 2011-03-27 15:38:00 · 816 阅读 · 0 评论 -
Donald Knuth教授寄来$0x1.00支票了。。。
对,就是大名鼎鼎的计算机程序设计艺术(TAOCP)的作者,Knuth来信了。因为我发现了taocp习题的一个错误。这是一件好事,另一件事是坏事,就是我今天刚刚得知马上要开题了。。。。这几乎不可能,但我也曾经预见到。所以以后要提高警惕了。我做的项目远离其他学生,在另一个实验室里,我老板不管理我,然后带我项目的老师(不是我实验室的)也没告诉我要开题了。于是耽误了好久啊。。。。可见,我的定理有起作用了:能预见到的最坏情况通常能发生。我下一个可预见的问题就是毕设会有麻烦,但愿能给我敲个警钟啊。。最近没搞dsu,而是原创 2010-11-10 23:20:00 · 4414 阅读 · 3 评论 -
用IO完成端口提高读写速度的探讨试验
Ⅰ 问题提出:我在写硬盘时通常采用简单的同步IO技术,这可以解决多数工作中的问题,所以并没有注意使用异步模式。后来对一个盘阵进行测速时,发现用我们自研的测速工具的测试结果达不到从高速数据源接收记录数据的要求,而对其用Iometer测出的速度则很理想,可以达到项目要求。据我所知IO完成端口适用于小数据量快速并行处理的场合,比如网络服务器。对于大数据量(大于4G)的应用未知。于是决定用IO完成端口原创 2009-03-03 15:39:00 · 5196 阅读 · 2 评论 -
用飞信免费短信接口编写小工具
我有时需要编译大程序或做一些运算,计算机处理数据时间比较长,这时很难说服自己去做别的事情,经常眼巴巴地瞅着计算机,心急如焚。即使放下这个活去做别的事情心里也不踏实,经常时不时地回来看看计算的情况。如果能有一个简单易用的办法及时告诉我程序处理完毕就好啦。后来我发现了http://sms.api.bz/这个飞信免费短信的接口平台,用这个平台可以轻松发送短信通知自己。因为觉得这种需求可能不大,所原创 2009-12-04 20:22:00 · 867 阅读 · 0 评论 -
基础概念之数学基础
<br />把1.2.10之前看完了,1.2.6之前的共166道题都做了(除了45级以上的)。做到1.2.6的二项式系数、1.2.7的调和数、1.2.8Fib数,真是让我火大。我浏览了vol 4——所谓knuth最喜欢的组合算法,内容极其丰富,习题众多,但是对于他这么喜欢的题目,6、7、8的正文里只是罗列了许多公式但不给证明,而是放到习题里;他一定意识到了这样写是不漂亮的,所以才有了在CMath前言里的话。<br />然后我去图书馆借CMath,发现为了向沙河调拨而闭库,下周一重开,只好回来看ebook发现原创 2010-06-26 16:22:00 · 781 阅读 · 0 评论 -
dsu之一
摆在桌上的文章有只有11页长,是关于所谓动态地软件更新。摘要关键字1引论2相关工作3结构3.1仓库管理器3.2映像管理器和内存管理器3.3引导装入器4模块化与依赖分析5动态代码更新5.1对函数的引用5.2活动的函数5.3调用栈上的函数5.4变量的更新6结论和当前状态引用从3开始,我认为有启发的思想就是对功能的抽象,他们根据不同阶段的功能抽象了6个-er——ELFextractor, RepositoryManager, MemoryManager, Linker, Image Manager, Bootl原创 2010-07-12 16:40:00 · 2456 阅读 · 0 评论 -
dsu之二
<br />继续考虑动态更新。想想看能不能用代码插装(code instrumentation)的办法解决?看到了很多实现,有John Panzer的99年(!)在C/C++ Users Journal发表的Automatic Code Instrumentation。里面用到了vc编译器的一个特性,打开-Gh开关后可以插入一个_penter函数,然后通过_penter可以做出自己的_pexit,这样就可以在进入和退出函数时插入代码。因为代码插装通常都用在性能分析中,所以可以加上计时的代码。动态更新不用这么原创 2010-07-12 17:00:00 · 951 阅读 · 0 评论 -
dsu之三
确定函数的调用依赖关系,据说可以很简单的——如果用gcc编译器——只要改一个编译开关,不过对于diab编译器来说就有点麻烦,没有这么直接的办法。我想了两个方案,若f调用(依赖)g,1、已知f求g;2、已知g求f;从两个方向解决这个问题。1、已知f求ga)打开-x129开关,为每个函数生成一个.txt分割段;b)查符号表中Name=f的st_shndx,let it be x;c)查段头表Inf=x的名字,let it be z;d)在名字为z的重定位表中查Sym.Num,let it be M;e)在符号表原创 2010-07-16 23:57:00 · 718 阅读 · 0 评论 -
后知后觉-观sicp
<br />当我看到sicp P25里计算Fibnacci的一种迭代计算方法<br />a<-a+b<br />b<-a<br />明显是错误的,或许我们应该只领会精神就可以了?<br />正确的应该是<br />tmp <- a+b<br />b <- a<br />a<- tmp<br />所谓sicp就是那本著名的MIT曾用教材—计算机程序的构造和解释。我在买之前真的应该先在图书馆看一看的。<br />个人总结买书有两个经验:<br />1、通常越有价值的书价格越便宜;<br />2、应该买带习题答案原创 2010-07-13 18:27:00 · 1255 阅读 · 2 评论 -
Hello, taocp.---踏实&&分析
knuth的所谓taocp是很久以前就被膜拜的算法好书,7、8年我看到其电子版后心想不过如此,认为里面的数学和复杂度分析并不难,无非是些初等代数、微积分、数论、图论,简单的组合数学、一丁点线性代数或概率,只怕是徒有虚名而已,于是把它束之高阁,拖到一个偏僻的文件夹里,继续搞一些实用和时髦的东西。转眼这些年过去了,我继续着我的浮躁,却感觉有点累。回过头来感觉自己还是头脑空空,觉得自己在做很多事情的时候是凭着经验,根本不愿,也不会动脑分析。taocp的正文很简单,事实上每节正文几乎都曾经在其他学科学过,现在看只是原创 2010-06-14 17:03:00 · 1777 阅读 · 0 评论 -
dsu之四
<br />这个问题很久前就close了。我用了一个狡猾的办法,但是还有缺陷,对开发有一些额外要求。所以最近在看一个大牛的解决方法。如果可以,就根据人家的方案做一套toolchain(工作量很大,胆颤。。。)原创 2010-10-26 20:57:00 · 792 阅读 · 0 评论 -
从数学恐慌症中恢复
现在贴有“计算机”、“软件”标签的知识太多,让人无所适从。几年前我很关注那些冠以“xx沉思录”、“xx之道”之类的东西,很快就觉得疲劳而没有收获,在工作实践和理论研究中都收效不大,很遗憾既没有“沉思”也没有得“道”。后来就听说算法才是“王道”。但是究竟什么知识可以归为算法呢,应该怎么学呢?稍微看一点算法,就知道算法是与数学紧密结合在一起的,而且许多“problem”本身就有漂亮的数学解。当然还有人说“problem solving”才是王道。(据说AI被搞臭了后就才被改名为problem solving)p原创 2010-10-26 20:48:00 · 1148 阅读 · 0 评论 -
恐龙技术生存体验(五 峰回路转)
毕业找工作时纠结了一番,因为同学们几乎都去了互联网bat之类,出路都很好。我作为老家伙,有点不好意思和他们同台演出。而实习的公司想留我,说有一个推理引擎的项目要做。这个公司还是传统的航空航天军工口的,我很不想继续做老本行。谈了一下offer,不满意就拒了。接着就思考了一番,觉得自己对这种东西很感兴趣,和编译器虚拟机很接近。拷问自己,如果自己有很多很多很多钱,我会怎么生活?我的回答是去个公司做自原创 2017-01-01 16:42:09 · 656 阅读 · 1 评论