我的第一份工作(三)

2008年5月,汶川地震成了全球瞩目的焦点,截至2008年,这次地震是唐山地震后最严重的一次。以后的日子,国家定义5.12为全国的防灾减灾日。
任何大型三维软件,其主要运行的核心是3D引擎。引擎也是许多人特别不乐意做的东西。引擎涉及到软件的核心架构,要考虑很多上层设计。数据库、功能、接口等等。你无法用浅显的理论依据去处理类似的架构思路,很多程序大人都是拥有许多年的具体编程经验后才会依照自己的能力制作自己期望的引擎架构。引擎架构不是一朝一夕能够编辑清楚的,需要许多时间去打磨。在多数以产品为主而不是以研发为主的公司是很少去制作引擎的,究其原因是其成本无法控制。
2008年,CATIA在来福士研发的产品功能尚属于首次。我当时尝试了结构模块(SFD)、详细结构模块(SDD)的全部有趣的新功能。这两个模块是专门为造船业而做的模块。当时H196项目是针对新模块、新功能的最突出的一次测试。这次建模成了有史以来最奇怪的建模经历,因为要跟上项目进度还要测试软件功能。当时领导的大主管还下达了一项更为苛刻的任务目的,用三维模块结构数据导出二维图纸。
最近看闲书,发现矩阵的坐标似乎有些理论上的应用价值。不过程序应用与理论研究没太多牵扯。二维(Drafting)图纸是取三维坐标内的线条进行数据转换形成平面,其应用在初步设计中是非常可取的。
多年做图纸的人应该明白,初步(primary)设计图纸与详细(detail)设计图纸是不能相提并论的。初步设计是原始性设计,比如有了技术规格,有了总设计草图,那么初步设计就已经开始了。如果让初步设计体现在三维中,只需要做到某些重要节点就可以了。如果做得太多就成了详细设计,而非初步设计。
记得那一年我们投入了大量的时间去研究三维转二维图纸的每一个命令,工程绘图中的命令我们几乎研究了一遍。这个过程中主管竟然要求我们出施工图。我当时那眼泪不是流在脸上,那是流在心里啊!初步设计和施工设计中间的差距根本不是一个阶段的流程和效果,两种不同的图纸。施工图分类后还需要备份几种图纸,这几种图纸在CATIA这种开放式(未过滤)投影效果下是非常难编辑的。我当时特别纳闷是谁给下了这么一条优秀的命令,我心里当时忒憋屈。
基于我是一个还在见习时期的人我只能认命。当然,我费尽心思做了N种配合施工图的标注。这个过程挺艰苦,我每天在结构图纸中寻觅解决办法,但是依旧不得法。这其中还有许多新加入的问题,我是边工作边适应的。
我当时挺佩服公司老板章先生的,为了研发竟然开始更换新电脑了。我们当时的工作站是4G内存,四核心或者八核心的惠普电脑。公司为我们更换的电脑是芯片频率更高的电脑。我操作着内存8G的电脑感觉我以前用的电脑都是地摊儿货。当时我们旁边是做动态模拟的小组,他们电脑没有我们先进,所以他们一直唏嘘我们电脑多好多好,为啥给我们配置这么优秀的电脑之类的。当时我们这边的同事心里那感觉幸福极啦~
更换电脑还有一个更主要的目标,要做共享部署。最开始我们做建模只是把数据,也就是文件上传到公共服务器。后来,软件环境小组利用cmd开始做服务器间的存储转换。记得那时CATIA软件环境小组的主管因为CMD的问题长了不少白头发,在服务器间编辑.bat文件是挺烦人的,不能篡路径啊。在我的印象里,如果用linux做类似的东西会更好一些,因为linux本身就是用黑框窗口操作的系统,自然天成很重要啊!
写到这我似乎表述了这么复杂冗长的,针对一种软件而做的诸多的尝试。换成今天,或者说换成纯软件公司,比如我熟悉的netease,他们的做法应该是分开做,先做server,再做client。思维方式不同,换成现在老师的话儿是思维导图不雷同。
写到这儿吧,后面再继续。
二零二零年一月十日于锦州

我的第一份工作(二)

2020年是闰年,很好的开始。
在实习期间的趣事也有很多,两万吨的龙门吊在没有完工时我曾拿着实习卡爬上去过。70米和100米是两个概念,当你站在100米且只有几十平米的高处眺望芝罘岛的时候感觉很高远。你甚至不能想象在上面施工有多么提心吊胆。当时我如果有好相机一定会拍些照片,可惜没有找到。今天的两万吨桥式固定龙门吊依旧在恪守着本职工作,定期执行合拢任务。理论上讲,这么优秀的船坞和龙门吊还可以执行更高效的大件货运装载任务。只不过这种操作必须是非半潜类设备才能执行,半潜设备根本不需要吊装操作。
写程序是灵感和坚持相结合的事儿。很多程序猿有怪癖,写不完某个class就会熬夜加班或者在地铁、公交上继续写,抓头发的事儿在大师傅走了以后就没有见到了。在小组里,我只见过他是写程序掉头发量多的人,其余的人是天生发量少,他当时的工位就能看到很多散落的头发。
实习回来以后我的工位几经辗转,从H办到N办,其中有很多次不同的学习和工作任务。大师傅走了以后,部门内出现了很多分支,好几个人晋升到了主管职务。彼时部门叫产品生命周期管理部。产品生命周期与国内一直传唱的多快好省是相悖的。中国国内的很多产品都在讲良心,最终却都败在低附加值、高消费的理论中。产品生命周期管理其实是为产品使用年限做整体分析的部门,部门在转到N办公加入了很多年轻的优秀硕士生。他们的实力很强大,几年时间就征服了DNV的校检。
程序小组被分成了三个小组。一个小组负责程序、一个小组负责CATIA的DMU部分(后来这组基本负责设计部三维软件的环境维护及技术交互)、还有一个小组专门做动态模拟的(他们主要也适用CATIA来做运动动态模拟,当然抛弃运动分析,动态模拟还是3DMAX执行的flash更优秀)。
我在程序小组里,但当时部门分配的数据处理任务和开发任务特别少。我也不是重要角色,每天的工作就是跟各位大佬学习,处理些小事。有时候次年法定假日excel我也会做,我对这样的事情倒是乐此不疲。不过于我来说这并不算事儿。
主管程序的大佬是从财务部门转过来的,据说处理ERP数据的能力十分强大。2007年到2008年,部门的协同处理机制非常差,大部分工作是面对面交流的。主管后来跟我们说做一款内部网站程序,但他想做的软件思想是任务提交、部署,而不是部门协同类的OA软件。开发使用的软件是visual studio2005,vb与C#会同时匹配使用。
一个人写服务器后端,还要写服务器前端是很麻烦的。主管的意思是这东西应该在一两个月内有基本功能形态。我当时想这工作量太大啦!这绝对是四、五个人同时开发的工作,我无奈假期回家的时候找到了一套.net制作的现成网站。我打算利用其后端server部分逐步修改前端和功能。不过这工作量也依旧不小,要兼顾美工、前端、功能、调试,这活根本不是一百行、两百行能完成的任务。
2008年的春节,应该是我毕业后最开心的一年。因为这份工作是我出生以来第一份有价值的工作。春节在家里嘻嘻哈哈十来天后回烟台工作。没想到部门在三、四月又进行了大调整。又有很多新员工入职,可我的工作变得越来越慢。因为COPY过来的class和子程序越多,要顾及的部分就越多。我执行的程序对话框也与主管想的不一样。主管是多快好省类型的,所以这进度和模式他肯定不开心。主管有一次叫我去他的办公室说我这样的员工不好,得开除。后来程序小组招了很多人去写那套程序,程序的功能为任务上传、部署、批阅,主要针对图纸。
上级领导没说什么,在新部门调配时,直接给我调配到结构建模的小组。结构建模组就四、五个人,主要的任务是为新项目做CATIA的详细结构建模。我加入建模小组后更多人加入到了小组里。最多时候小组人数达到了罕见的十几个人。几乎每个项目都会有任务切进来。虽然这活没有写程序烧脑,但这活需要眼睛非常好使,组长要求详细结构中出现的问题必须及时调校、上报,并且传到公共环境server区域内的模型不能有文件名和修改错误。有时候这种眼力超高的工作常使我晚间下班回家倒头就睡熟了。
现在新闻中比比皆是的996,其实我那时已经很普遍了,工作量太大没有办法。后来因为CATIA的版本更新,法国达索直接派了几名工程师去来福士进行联合开发。进度其实没有那么快,就像我上面曾写过的,大程序的调校是很耗费时间成本和人力成本的,即便是熟知达索软件的人也会很累。我当时晚间下班路过他们的办公室,经常会看到8点以后他们还在加班。他们的辛苦其实在公司上级领导眼里根本不是事儿,因为上级领导更关心公司项目进度和船期交付的问题。据当时传说晚一天交船,除去消耗外会赔进去一台大众。
法国人交流很有趣,他们说的是带有法国味儿的英语。欧洲语言是相通的,但是各有各的本地话儿,他们说话就很有法国调调。我这种在英语口语中较死板的人,听习惯了地道英语,对这种交流极度很不适应。况且我仅仅与他们交流两、三次。不过DMU小组的同事与他们交流的最多,他们早习以为常。虽然法国工程师很努力,但后来却被国内代理直接换了过来。一群来自全国各个部分CATIA大佬到我们部门工作。CATIA二次开发也从那时候开始的,当时用visual studio 2008的C++来做。我听过他们的PPT,讲的非常系统、详细。
写到这儿,后面还会继续。

二零一九年十二月二十三于锦州

我的第一份工作(一)

我记得香港回归时,物价非常适当,但从此房价一路走高。
2007年春节后,我遵循着实习合同前往烟台。外出工作是我所处的行业的一种职业习惯,而本着我的职业能在一个地方一直不走动的人却很少。我当初并不清楚家里人为何劝导我去那样的学校去上学,或者又为何后来阻挠我远走他乡,归根结底我觉得人的脑袋瓜儿里的事还是不要乱猜吧!
2007年还是绿皮车的时代,彼时坐火车买到坐票很难,所以我只能买到站票去乘车。国内的基建发展很坚挺,十年后不但买票顺序变了,而且车都变了。可以说,在地球上人类算得上是上帝了。
从辽宁到烟台,火车绕道是很远,完全可以坐船的。我家人告诉我坐船不安全,我就改道坐车了。后来我查了资料,1999年冬季有一次特大的海难发生在大连到烟台的轮渡上。一艘不到万吨的船在海风凛冽的渤海湾口航行是很艰难的事情,一般的船横倾5度,频率每秒一下正常晕船的人就很难受了。何况时而还会有些8级以上的大风飘过。后来我也确实坐过一次大风天气开航的客滚船。
当时是午夜的船期,上船一出海,船就开始摇晃,我当时被摇晃睡着了。第二天早晨就到大连了,后来听旁边的旅客说整晚船都在摇晃。客船的晃动往往比货轮要轻微,有时候想想那些深海中在台风下拼搏的舰船,让人敬佩啊!
第一次外出我还满心欢喜,因为在乡村呆久了看到大城市还是比较开心的。经过了十多个小时的颠簸,我在烟台火车站下车啦!衔接着江苏一带山东天气果然比东北更温暖,海港城市的潮湿也更显得宜人。
第一份实习工作在烟台莱佛士造船厂,同时这家船厂还叫烟台来福士海洋工程有限公司。船厂以前是烟台造船厂。我当时被安排在船厂北门外的一排宿舍里,宿舍是六个人一间。虽然拥挤但多数都是同学和校友,年轻人的生活是无忧无虑的,所以我也无忧无虑的与大伙过着七七八八的杂乱生活。实习的压力也不少,我需要做毕业的最后一份论文。
领导为了让我们能学到知识并且能安心留下,他们似乎做了一些策应的观察。这期间有很多培训,包括各种软件。上学的时候老师把枯燥的word软件,cad都讲了,但在新的办公环境下资深员工和管理层又给我们讲了新的东西。包括word里的宏命令,vba操作,cad的操作,cad的命令行,cad的后台软件二次开发等等。三个月的学习我没有白费,跟着大师傅学习了很多VBA的知识。接着学校让我们学生回去交作业,当时领导并不想让我们回去,不过很多同仁都请假,最后给了一个集体假。
论起假期,我当时的时间算是非常短的。以往寒暑假有两个月,那一次的假期只有一个多月。回学校的事情是等着老师们安排我们的毕业论文,我根据大师傅教我的那套程序简单的写了一下。当时是用VBA做的,彼时的设计还是很肤浅的,只用VBA对CAD中的表格或者型线进行修改或者提炼。学校的老师对我的论文没有更多的了解,他们只是问我有没有接触到autolisp,我说没有。老师们看了我的论文对我的毕业算是首肯了。我很高兴,毕业就是与同学们东扯西扯,剩下的日子是回公司报道。
签正式劳动合同的当天,莱佛士的老板章先生给我们讲了很多话,我相信那是章先生当年话比较多的一次演讲。章先生是新加坡人,莱佛士船厂也是因新加坡比较著名的人士莱佛士而命名的。我想老板的意思一定是希望船厂能像新加坡一样在未来能够享誉世界。当时签约的薪水比实习期多出一倍,以我当时的水平我想这份薪水算是不错了。接下来的日子同学们多数都在研究建模软件,当时建模软件用的CATIA。法国达索公司因为我们用的软件没有注册差一点就起诉公司。后来老板同意购置了序列号并且还邀请了许多国内代理来船厂授课。CATIA是法国软件而且最初用在飞机制造中,能跨行业用在造船中还是比较少的。
传授我VBA的大师傅在我回来履职的时候离职了,大师傅很厉害,对cad那些程序很能担当。据说是找了人一同开了家外包公司,给人做程序外包。大师傅虽然走了,可办公室里又来了新人。来的新人比我们大很多,我们这群穷学生才毕业,每天还在嘻嘻哈哈,人家可是学有所成的人。
我写了这么多还是写程序的问题,说程序是有原因的。
最初做数据和程序是因为领导让我们自己选择要加入的小组,人家不拦着我们。我记得当时有分析、数字建模、程序这三个小组,当时整个部门的人才几十个。我选了程序,我选程序原因很简单,我喜欢做做网页,在我上班前我至少有好几年做私人网页的经验。这次有机会能继续写写火星文,我自然不会放过。
当然,工作不会像想象中舒服,后面的事情更加麻烦。我有时间再写吧。

二零一九年九月于锦州

夕阳灯塔

typecho是一款应用于blog的开源优秀代码,它的优异性已经得到了大众的认可。我觉得代码写得不错,而且易于维护。目前我在修改另外一套代码,我需要用codeigniter。两者比较,我认为codeigniter差了些许。
codeigniter里对markdown以及排版应用极少,我翻了最新的引擎,上面写得也很少。typecho很成功的运用了javascript来撰写。codeigniter目前也仅仅能应用于基本的文字需求。
codeigniter对网站uri的保护我认为也没有typecho做得好,伪静态及uri的保护看不到。至于数据库溢出限制,codeigniter绝对是一流的,每次发现数据错误我都能找到。
大多数人用codeigniter是用它的基本功能写一款blog,市面上开源blog很多。可多用户软件很少,也许是因为安全性的原因吧!2018年至今我一直在关注codeigniter的进度,至今的版本更新确实比前几年快了许多,但如果用该引擎做更高的设计,还需要再添加一些基础code。我相信codeigniter的未来会越来越好。
自从2013年我就在关注着服务器行业,万网仍旧独占鳌头,但其服务器的价位可比以前高出太多了。可见互联网产业的发展出现了一定的约束和制约。万维网至今的发展中国没有几家像样的企业能制定标准,html5也是世界认可后国内程序员跟着步调走。
技术的研发最终要制定一系列标准来衡量技术的可靠性,比如以前中国在建造半潜平台时会以DNV的标准来做标杆,目前国内制造业的发展也在不断降低纬度,或许是人们更加趋于市场的投机性,而杜绝了市场的周期开发性。
吐槽了这么多,其实我认为还是有个组织做开发或者修改代码比较舒服,各自负责一面。一个人写很是枯燥无聊,而且困难重重。作为三流代码编撰者我觉得很累,既要照顾后端又要兼顾前端。
我记得以往从宝山港出港后长江上会有标志性的小灯塔,有时候在夕阳下看来非常美丽,虽然我没乘坐过邮轮,但看的次数非常多。有邮轮、夕阳、灯塔的景色是最美的。假如有时间,我想看一看世界上那些著名的灯塔,我认为他们是非常有价值的航标灯。太空人常常欢喜海洋法规适合太空规则,我觉得类似的灯塔也适合太阳系规则。
前两天三伏天,很多人吃饺子,我纳闷的时候又补了一条知识,原来北方三伏天有这传统。以前我怎么不知道,我都是想吃就吃。过节多吃。
写到这儿吧,我准备在某个时候写一写毕业上班的前几年,虽然我不是大人物,但那些事情我不写下来,怕以后就忘记了。

二零一九年七月于锦州

  • 文章
  • 评论
  • 分类
  • 归档
  • 外链




Happy 2020