三百零二节 修电脑的人

    三百零二节 修电脑的人 (第3/3页)

。题目是《关于申请开展1635年度人口普查工作的报告》。他皱了皱眉,发动机计划结束两年,人口运输安置却是去年才彻底完成,人口配置方案都是人力处一手操作的,检疫营那边也有相应的记录,海南岛内的人口情况目前还是比较清楚的。他继续往下看,民生省提出的这次普查的重点一是男女平衡问题,二是土客矛盾问题。

    “男女不平衡问题一直是元老院面临的严峻挑战,曾经非常严重,随着全岛攻略和发动机行动后得到了一些缓解,但仍然处于相当的不平衡状态。临高本地性别比例曾达到惊人的8:1,那时临高县大约有12-13万人的规模,全岛攻略后,元老院控制人口增加了20多万人,这20多万人基本是男女平衡的,即便是琼山历年流入人口以逃荒男丁为主,推测也不会超过6:4。”

    “发动机行动共获得人口约48万人,除去台湾福建移民、留在济州岛和预备送到济州岛共计10万人,还有去台湾香港的移民,约28万人登上海南岛,女性比例占40%以上。因此,发动机行动之后,元老院控制下的男女比例推测约为13:7左右,年龄分布尚不清楚。比第二次反围剿之前要乐观,但仍旧有近一半男人面临找不到老婆的问题。”

    “元老院治下内部是一个相对安定的社会,基本不可能被打烂坛坛罐罐。因此人口的非正常死亡将降低很多,预期平均寿命有所增加。元老院的军队是小而精的,因此即使以后对外连年征战,阵亡的男性人口并不会像越南和苏联那样多到影响人口比例的程度。我们的人口结构十分年轻,仅发动机行动吸纳的人口,超过50岁的只有5%,大部分是青壮年和儿童。综合上述所有因素可以得出结论:如果没有外部人口流入纠偏,海南岛上的性别比例失衡将是一个长期困扰元老院的问题。”

    “土客矛盾在这一轮元老蹲点调查中集中得到了反映,尽管我们在移民安置工作中已经尽量考虑到减少这一问题,在目前元老院强大的治安能力下,矛盾尚未激化,但蹲点调查的结果显示,不少村寨都有暗流涌动,部分被打击过或者主动蛰伏的当地大户势力有因此而重新抬头的趋势……”。

    马千瞩放下报告,觉得土客矛盾的问题真是十分头疼,现在伏波军将长期在大陆作战,海南岛上的武装力量有所减弱,要是真闹出什么械斗之类的事情来,那可就难看了。“元老院对基层的控制还是不够强啊”,马千瞩暗暗想到。“这就是不彻底清算地主阶级的后果。”在他看来,土客矛盾的本质也是阶级斗争,如果清算彻底的话,阶级矛盾就能压住土客矛盾。不过按照元老院现在的形势,清算地主阶级是不用想了。相比之下,男女不平衡倒不算大问题。

    ——大陆上的人口还有很多,等闯献等人闹腾起来了,等鞑子入关了,还是有大把机会捞到女性人口,以大陆的庞大人口基数,指头缝里漏下来点就够海南岛上比例平衡了。不过考虑到大陆也是元老院的规划国土,其实也面临同样问题。此外,天灾人祸中,最先损失的就是老幼妇孺,假如元老院不再像发动机行动这样倾全力介入,吸纳女性人口能收到多大效果还是个未知数。

    “未来可以鼓励青壮年男性人口随着伏波军远赴澳洲和新大陆殖民,以缓解压力。”马千瞩把这个想法记到了小记事本上。

    他继续翻看报告。

    “……拟采用新式穿孔卡机器进行本次人口普查。目前,元老院的主要人口普查数据均为电子存档,不仅与‘去信息化’的国策不符,而且归化民工作人员要查阅和使用数据极不方便。随着设备老化,人口普查信息‘纸质化’势在必行。然而对1633版人口普查数据进行纸质化从成本上并不划算,因此,民生省拟采用穿孔卡为存储形式,重新进行人口普查工作,并为全体归化民和土著发放穿孔卡身份证件。”

    看到这里,马千瞩的兴趣被勾起来了,他拿起电话,“接民生省人力处”。

    “看到了,是,报告在我这。”

    “对,这也是我想问的。”

    “嗯……以未开发成功的技术为前提进行准备,好像会被质疑?”

    “哦?什么时候?好,我看一下日程。”

    马千瞩挂上了电话,摇了摇铃。侯闻永走了进来,他现在比几年前成熟、沉稳多了。过几天他也要外放香港待命,准备充实到大陆的新政权里去,预计会成为第一批归化民县长。

    “把下周三下午空出来。”

    穿孔卡片

    “为什么要采用穿孔卡片?其实很清楚,就是为了解决数据处理中的三大难点。其一,文档尺寸、形状太多;其二,单个文档上记录的交易太多;其三,文档记录数据的形式和方法太多。换言之,就是标准化的问题。”

    冯诺停了一会,平缓一下紧张情绪,觉得自己的声调有点偏高。他没想到杨云真的在报告里提了这八字没一撇的穿孔卡计算机系统,还钓来了督工这条大鱼。冯诺太清楚领导来参观对事业的重要性了,这不仅仅是个人在领导面前露脸的问题,就算领导一言不发听完就走,也会对这个项目的前途产生很重要的推动作用,和过去做生意请领导题个字是同样的道理。这机会必须抓住。

    穿孔卡计算机的立项研讨会已经开过一次,基本确定了参加人员和大致计划。这次会议主要是对“穿孔卡片”本身的讨论。因为这穿孔卡计算机和手摇计算机不同,首先得确定数据载体——穿孔卡片的规格和各种标准,才能进行下一步的机械设计。元老院手里没有实物可以仿制,只能根据资料和卡片本身进行逆推。所以,项目的第一件事,就是确定穿孔卡片的标准。

    冯诺当然极力拿到了负责这一块的任务,他本来就做了不少调研,又是企划院的代表,而那些搞机械和电力的元老对这事也不大感兴趣。

    “因此,我们一开始就要确定好穿孔卡片规格,至少在民用领域的所有应用中全部统一。穿孔卡片有45列,80列,90列等类型,但最通用的,也是最早在美国1890人口普查中使用的,是‘霍勒里思’穿孔卡,后来又通称‘IBM卡’。该卡由坚固耐用的卡片纸做成,印有10行x80列数字,每行的数字分别为0-9。此外,卡上还有11和12两排打孔位置,但没有印刷记号。11排亦称X排,12排亦称Y排。其位置实际位于数字行列的上方。这两行,加第0行,又合称‘三行区’或‘高区’”。

    “国内以前应用穿孔卡片的时期较短,行业也较为局限,因此,穿孔卡片的标准完全照搬IBM卡的标准。其制造标准如下:缺角矩形卡片,水平方向为长边,长度187.32毫米,误差不超过0.12毫米;垂直方向为短边,长度82.55毫米,误差不超过0.18毫米;厚度为0.175毫米,误差不超过0.005毫米。纸纤维方向应为水平方向。每边的不直度公差为0.08毫米,各对应边的不平行度公差为0.08毫米,相邻两边的不垂直度公差不超过5分,缺角夹角为60度。请大家查看分发到手的资料。”

    “然后是打孔规格,卡片基准直线X,即水平基准直线是卡片上缘直线,卡片基准点是右边缘上距X基准直线41.27毫米的点,卡片基准直线Y是通过基准点并与基准直线X垂直的直线。卡片平行于基准直线Y的80条直线称为卡片的‘列’,列间距2.21毫米,卡片平行于基准直线X的12条直线称为卡片的‘行’,行间距6.35毫米。穿孔形状为矩形,孔中心位于行与列的交点上,其长边平行于Y,短边平行于X,尺寸为长边3.2毫米,短边1.4毫米,误差不超过0.05毫米。同一横行上各代码孔的最小边缘距离应大于0.51毫米,孔中心线与行列标准线误差小于0.25毫米。”

    会场一片安静,与会者大概都在怀疑他们能否造出读取和打孔这么精密卡片的设备来。而冯诺想的则是忘了把造纸厂的人请来参加讨论,眼下能否造出合乎规格的纸来都十分难说,想爬个科技树,步步都是坑啊,千头万绪。不过他早有准备,继续说道:

    “这是70年代末期国内发布的穿孔卡片标准,其制造精度当然是为了满足穿孔卡计算机系统当时每分钟1000张到2000张卡片处理速度的要求来制订的。我们手里目前没有穿孔卡计算机系统早期的卡片标准,不过可以肯定,20世纪初的技术达不到这样的精度标准,实际上,一则50年代的资料中,穿孔卡的尺寸被简单介绍为18.6厘米x8.3厘米。因此,适用于我们自制设备的穿孔卡精度及误差标准,还有待于在开发中进一步摸索。”

    “穿孔卡的每一列可用来记录一个字符,包括从0到9的数字和26个英文字母,以及若干种符号,如等号,百分号等。每列记录一个字符,整个卡片共可以记录80个字符。”

    “字符通过打孔实现,某列如果要表达一个数字,直接在第0行到第9行的对应行穿孔。如果某列要表达一个英文字母,则需要高区和数字区同时打孔。通常顶端还会印制该列的取值作为参考,具体方案请大家翻到资料附录2。”

    穿孔卡片的每一列都能够存储1个英文字母,其方案为:

    12-1        A        11-1        J        0-1        /

    12-2        B        11-2        K        0-2        S

    12-3        C        11-3        L        0-3        T

    12-4        D        11-4        M        0-4        U

    12-5        E        11-5        N        0-5        V

    12-6        F        11-6        O        0-6

    12-7        G        11-7        P        0-7        X

    12-8        H        11-8        Q        0-8        Y

    12-9        I        11-9        R        0-9        Z

    “三行区上打孔,搭配1-9数字行打孔,共有3x9=27中方案,除去0-1位置表示特殊符号‘斜线’,刚好能表示26个字母。有意思的是,之所以用0-1表示斜线,则是因为整个方案中,就只有这个编码两个孔的距离最近,技术实现难度较大。此外,其他的特殊符号则可以用每列穿3个孔的若干方案解决。霍勒里思代码里仅用了8号孔作为搭配的孔,但这同时也揭示了,3孔编码在技术上是可能的。”

    “之所以提到3孔编码,是考虑到中文编码的问题。”

    这时会场出现了不少窃窃私语的声音。中文的编码是元老院应用穿孔卡的一大问题。当年穿孔卡计算机没有在国内自行生产,用途也不广泛,实际并无标准的中文编码方法。

    穿孔卡比起元老们熟知的数据存储载体,容量实在小得可怜,每张18.7x8.3的卡片只能存80个字符,还只是英文字母。如果要是政府或者商务的业务处理也就罢了,大不了多用标准编号,比如几年前司凯德和洪璜楠力推的国家标准代码体系,终于有了用武之地。

    仅就眼下人口普查的需求来说,性别、籍贯、出生地、出生时间、现居所、文化水平、家庭成分等问题其实都可以很容易地通过编码解决,过去18位身份证上面仅用了6位就表示了全国每个人的出生地。原因很简单,命中每一个编码的人都很多,编制编码表是合适的。学过数据库的人画个ER图就很容易发现本来就应该这么做。但是唯有一个字段,就是姓名,永远也绕不过中文编码的问题。人口普查表各字段的具体设计工作可以丢给民生省的人,可是这中文编码必须现在解决。

    “其实中文编码问题不难解决,问题是占用空间太大。”

    “1980年颁布的《信息交换用汉字编码字符集》,通称GB2312编码,不仅仅规定了汉字在计算机上的表示方法,其实也定义了一套使用4位十进制数字表示汉字的方法,就是区位码。区位码收录了一级汉字3755个,二级汉字3008个,符号682个,基本满足当前需求。所以最简单的中文编码方法就是每4列编码一个汉字,大家以前高考的时候都涂过自己的姓名,当时用的就是区位码。”

    “目前邮电部在全岛的电报系统已经基本铺设完成,电报员也培训了好几批。我看是不是直接用我们的标准中文电码更方便?人手也可以通用。”这时一直没怎么发言的绍宗开口了。

    “区位码在每级汉字内部排序是按照拼音顺序,不怎么用培训吧。反而是标准电码是按部首排序的,实际上比掌握区位码难得多。”

    “标准电码从19世纪末就有雏形,直接从清朝那时就编制了,是现阶段汉字编码的自然之选。”

    “说话容易还是写字容易?标准电码从字形入手那是因为开始用电报的都是读书人阶层。我们的国民普及教育从拼音入手实际已经颠覆了过去的体系,普通人当然是用区位码更方便。”

    “美国护照当年用的可一直是标准电码。”

    ……

    ……

    区位码和标准电码之争持续了一小会,最后还是因为区位码直接和以后电子计算机的汉字国标码挂钩而获得了多数与会者的倾向性赞同。

    “农业口要控制土地,工业口要控制技术,财金口要控制货币,军政口要控制位子,到咱IT圈,就要控制标准啊标准。”冯诺神秘一笑,心理暗想。

    “如果采用4位数字编码1个汉字的话,每张穿孔卡片可以存储20个汉字。”编码方案本身,与编码在穿孔卡上的表示实际是两个问题。如果按穿孔与否作为2进制的观点来看,每列实际上有12位,一个半字节的信息。足可以编码4000多个字符。

    “这也太少了,好像还不如80个英文字母的信息含量大,7张卡片才能发一条微博,还没算标点符号。”又有人说道。

    “4位数的中文编码在实践中可以用两列来表示,只是机械设计的难度会增大。具体方案请大家查看附录3。”

    原来冯诺的设想是每列打3个孔来表示两位数字,其中在每列的0-9位置上打两个孔表示两位数字。高区11行打孔表示下面穿孔的两位数字从小到大排列,12行穿孔表示下面穿孔的两位数字从大到小排列。

    “两位数字相同怎么办?”

    “11行和12行同时穿孔,0-9只打1个孔。下一页有说明。”

    不过3孔的方式虽然能把汉字编码长度缩减到一半,让一张卡片最多存储40个汉字,但显然机电系统和控制系统设计都不是一日之功,讨论来讨论去,会议还是决定本次人口普查的卡片设计采用4位数字编码汉字,毕竟欧美人姓名也是动辄十几个字母,相比之下汉字姓名也不算太长。

    冯诺接下来又简要介绍了资料上的一些内容,最后特意说道:“我们做这个工作时间比较匆忙,部分资料查得有不到位的地方,以后也会继续完善。督……马国务卿对机械式计算机的研究很久也很深入,期望能给我们一些方向上的指导和细节上的补充。”

    马千瞩笑着说,“我今天本来打定主意只带着耳朵来。不过你们讨论得这么热烈,我就当自己是个爱好者说两句。你们的工作还是很充分细致,我只提两点,一个是机电设备的制造,继电器的开发有没有把握?工作要先易后难,先急后缓,就人口普查来说,最紧迫的是什么?打孔机器,量产可靠便携耐用的打孔机器,而打孔机器又是穿孔机系统里最基本、最简单的设备。也最容易设计制造。调查需要时间,后面的设备可以同步研发制造。等调查做完了,卡片收上来了,等一等也是可以的,宁可让数据等机器,不让机器等数据。这是第一点。”

    “第二点是卡片,我看精度要求还是要符合咱们生产力的现状,建议你们把造纸厂和印刷厂的同志们请来一起商量一下,德隆现在在造纸币,他们的经验也要听一听。现阶段技术成熟、能够稳定量产、成本上可以接受的卡片标准是什么样的,一开始慢一点、粗一点不要紧,有原型系统,后面的事情就好办……”

    “我可以补充一下1890年打孔卡技术,我之前也查了一些资料,1890年美国人口普查也用80列卡片,但是当时打的是圆孔,卡片尺寸与现在我们说的IBM卡还不一样,打孔设备极为简单,几乎就和我们过去坐火车检票的钳子差不多,人工打孔,也没有印制对应取值的功能。错误率和偏斜律高达1/20。同期的分类机和制表机想必也精密不到哪里去。而就是这样简陋的机器设备水平,仍然比1880年人口普查的统计效率高出百倍千倍。这样的水平,我们完全能够超越。”

    “工业化不是一蹴而就的,科技树也不会一枝独秀,每个点上都要齐头并进。手摇计算机项目暴露了我们机械制造上的不少短板,也带动了我们部分技术的飞跃;穿孔卡计算机涉及到前数字时代方方面面的工业技术,同样会遇到这样那样的问题,把这些难关一一攻克,也就标志着咱们的工业化水平就又上了一个新台阶。”

    ……

    冯诺边记边点头,虽然这些指示在技术上作用不大,不过可以写一篇新闻发到《临高时报》上去。

    最终,打孔机的方案还是确定为全机械结构,由于冯诺提出的3孔双列的汉字编码方案暂时延缓,打孔机现在可以已完全仿制1923年的IBM-011型数字打孔机。该打孔机早期适用于45列卡,1929年80列标准IBM卡确定之后,又重新设计为能够适应标准IBM卡的方案。该机型是没有英文字母的打孔的,是全数字的打印机。有14个按键,分别为0-9,X,Y,S,R,其中12个键分别在0-9,11(X),12(Y)行上打孔,S为空列不打孔(Space),R为结束打孔(Release)。

    IBM-011体积较小,结构实现容易,针对眼下的人口普查需求也足够用了。唯一遗憾的是没有实物仿制,冯诺在数据中心翻箱倒柜找出了一些技术参数和几张模糊不清的照片。好在原理比较清楚,机械口的元老们又从打字机项目组取了几次经,总算把图纸定了下来。

    “接下来就没什么自己能插手的事了,不过还是得盯紧点这个项目,这可是自己转型的关键作品。”冯诺一边例行检查计算中心的运行情况,一边琢磨。

    蜂鸣器的响声打断了冯诺的出神,他浑身一哆嗦,果然,又一块内存失效了,这一下,仅剩的两个胖节点,也有一个称不上胖了。

    “这个月好像没什么用户申请用计算中心,应该可以考虑再缩减一下规模,省下来设备未来说不定还能用得上。”冯诺喃喃自语。他想喊冯珊给自己拿份提案表来,又想起来她今天去找几个归化民技术员开“项目协调会”去了。由于前段时间跟冯诺往机械口跑得很勤,最终冯珊没有和钟小英一样选择基础科学的题目,而是选了合金热加工性质研究方面的课题报上去获批了。

    冯诺自己拿了一张表格,开始填写起来。

    “关于计算中心设备使用率较低与进一步封存的建议”。

    时间进入1635年4月,打孔机彻底定型并开始投产。月中,计算中心宣布无限期关停一半刀片和1个仅有的胖节点,仅余6台刀片机和2个不太胖的节点采用4台一组轮流开机的策略继续运行,其余所有设备立即清拆封存。数据中心则维持与大图书馆那边的镜像轮流开机的策略不变。随着资料纸质化与中文化的进行,想必离关停的日子也不远了。

    冯诺走在路上,他一早接到印刷厂的电话,通知他参加穿孔卡印刷技术改进讨论会,穿孔卡上数字的印刷精度一直不太理想,只能凑合,而用纸币印刷技术又嫌成本太高,这次据说有所突破。“卡片这一关过去了,从6月份开始总算能先开始进行人口普查了,这个项目也算是初见成效,以后继续钓鱼也方便。自己虽然只是没毕业的博士,不过这一招以前老板可是百试百灵。”他松了一口气,有些猥琐地想着。

    冯诺在旧时空虽然也姓冯,但是并不叫冯诺。一边走着,他忽然想起来自己穿越时报了这个名字,是想着,在新时空,即使比不上冯·诺依曼,也要至少达到其一半。

    这才是个开头,他想,觉得朝阳稍微有点刺眼。