0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

美国程序员讲述自己写代码获得陆军嘉奖奖章的故事

工程师人生 来源:网络整理 作者:工程师吴畏 2018-11-16 16:18 次阅读

2005年,作为“伊拉克自由行动”的一部分,我所在的国民警卫队被派往伊拉克。我的MOS(军事专业)是 92A,这基本上是一个后勤供应工作。我负责订购和收拾机械的零部件,并退还旧器件,管理危险品紧急处理小组,分派/回收任务车辆,并办理许可证。其实还做一些其他的事情,只是现在不记得了。总之,当时这个系统的核心是一个叫ULLS-G(部队级物流系统 – 地面)的工具。我说“当时”,是因为我们回来不久后 SAMS-E(标准陆军维护系统 – 增强型)替换了ULLS-G,它使用了Oracle作为后端数据库。比起 SAMS-E,ULLS-G简直就是恐龙。被派遣前,我在军队足足使用四年之久,从头到尾都是噩梦。 ULLS-G是一个DOS应用程序(是的,MS-DOS),我在军工厂使用的大多数计算机只能运行DOS系统(这时是21世纪初,所以DOS系统很常见)。到我被派遣时,多数计算机都运行WinXP/2K或类似的系统,所以可以使用”MS-DOS兼容模式”运行ULLS-G。

正如我前面提到的,使用ULLS-G是很痛苦的。作为DOS下的应用,你不能使用鼠标,只能通过键盘进行交互。记得在任务快结束时,我已经记住了按键,甚至不用看键盘,只需输入它们就可完成工作。没有任何形式的批处理功能,是该系统令人感到可怕的地方。比如说你得打印士兵的许可证,就不得不一个一个去检查并打印。你得在一个屏幕前,输入他们的许可证号,加载出许可证,然后打印。我们部队大约有150名士兵,为了打印所有人的许可证,我不得不逐个查找每个士兵。如果你要为士兵添加一个车辆认证,同样得逐一去做。其实这还不是最让人恼火的,因为每次只需处理部分内容。但我们是专门为某一任务成立起来的(我们的士兵分别来自第180炮兵团第1营的四个连,组成了第180炮兵团第1营第1旅部与旅部连),这意味着这个ULLS-G系统里没有士兵的认证。所以一开始,我不得不手动输入每个士兵的认证,然后打印出他们的许可证,基本上要花费大半个小时。在正规部队,情况会更糟糕。离开之前,我们在华盛顿州刘易斯堡有预动员训练。士兵要进行多项车辆训练(M-1114, 5-ton, deuce-and-half,等等)。这些都是交错进行的,所以每次训练任务结束后,我都不得不添加认证并重新打印许可证。

不用说,我很恼火。我甚至得到消息,到伊拉克后,将会有更多的车辆认证,这意味着我将不得不全部重新添加认证并打印许可证。现在作为一名程序员,我不断地想发设法简化工作。我不想坐在那一个一个地添加认证、打印许可证了。一是我懒得弄,二是这件事情效率太低了,所以我决定使这个过程自动化。我做的第一件事就是尝试找出ULLS-G数据文件的格式。不幸的是,我一点都没弄出来,主要因为时间不够 (所有的军事训练都在进行)。不过令人意外地是,我偶然发现了一个页面,上面有ULLS-G的ODBC驱动程序。这意味着我可以运行SQL查询ULLS-G数据文件。有了这些,我开始编写Perl脚本查询数据。我们达到了伊拉克的时候,我有一个可以生成所有士兵文本文件形式许可证的脚本。脚本运行只花了一两秒,最长的部分就是打印出许可证。但我还没有完成,所以令人恼火的是不得不手动添加驾照。所以我又写了一个脚本,以使驾照可以全部一起添加给驾驶员。脚本还有一个配置文件,允许把指定的某种认证添加到某人。

到了部队以后,我又不得不打印每个人的证件,我仍记得二十分钟后当我拿着一堆刚刚从打印机打印出来还温热着的许可证时,电机中士那疑惑的表情。他问道:“这个需要很长时间吗?”,于是我开始和他谈论脚本,可是当我刚说出几句关于Perl、SQL和 ODBC 连接时,他就不再听了,点着头把许可证放到 TOC,或许他没有问我太多问题是好事,因为我做的事是不太被批准的,只有取得执照的技术人员(另一种MOS岗位) 才能安装,至少在部队眼中,我是不合格的。

在伊拉克时,我发现我们必须每天向TOC发送报告(最终发送到军营)。这些报告包括车辆的情况(报废还是完好)和一些其他信息。几乎所有的部队都是手动向Excel表中输入信息,然后打印出来并送到TOC。手动输入总是出错,每天早上我都得花20-30分钟修正报告,确保它是最新的,最后打印出来,送到TOC。我记得有一两次因为信息出错被批评了,从那以后变得倍加小心。我又生气了,这些事情需要有一个更好的方式来做,而且确实是有的。Excel可以使用在Windows中注册的ODBC连接,而且我已经用ULLS-G的Perl脚本注册了一个。

所以,我使用Excel宏简单地复用了同一个连接,这个宏指令可以帮我高效地计算表格中的所有项。棒极了,它能够自动更新报废汽车单,同时也包括了其他部队没有上报的信息,像所有车辆的服务状态及其行驶里程。以前的话,当它被从调度返回时,我们不得不手动查找每个车辆的维修状态,所以说服务状态位在日常工作中是非常有用的。现在,我只需要查找Excel表格就能了解到需要维护的车辆。

编程的角度来看,我做的并不是很出色。我只是找到了从ULLS-G数据库获取信息的方法。但却令我的领导印象深刻,尤其是我的班长和电机中士。大概两三个月后,来了一个新的大队电机员(如果没记错的话是CW2 Lee)。他对我做的事情非常感兴趣。有次我演示给他看后,他看着我说“你难道不知道不能这么做吗?”。一开始我担心我会有大麻烦,但他脸上却浮现出了笑容。他告诉我,他不会追究,因为我似乎知道自己在做什么,而且因为我提供了准确的报告,部队的效率也提高了。

接下来的几个月很快就过去了,还有一两个月后就要离开伊拉克了。除了遇到一些小问题,我的脚本和宏一直运行得不错。快结束时,部队有一个颁奖典礼。指挥官和军士长来到调配场发奖项。接到电话时我有点惊讶,我没期望我会得奖(我的工作地点主要在营地,虽然我觉得我工作得不错,但没认为它值得表彰)。授予我陆军嘉奖奖章(Army Commendation Medal)后,他们和我握了手并祝贺我。在我看到文书前,我认为这仅仅是一个一般性质的“优秀工作”奖。当我阅读文书,看到因为使用Perl脚本和Excel宏完成工作,班长SSG Lopez将我选为获奖者时,我很惊讶也很高兴。虽然我不是为了得到奖励而工作,但是自己的工作被赞赏,仍旧是一件很美妙的事情。

这就是我通过写代码获得部队奖章的故事。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4788

    浏览量

    68625
  • 程序员
    +关注

    关注

    4

    文章

    952

    浏览量

    29805
收藏 人收藏

    评论

    相关推荐

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 0次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 0次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册

    机械革命发布CODE AI程序员

    近日,英特尔新质生产力技术生态大会在成都举行,机械革命作为重要参展商带来了多款明星产品引爆全场!其中更是在AI PC软件生态产品发布分论坛上,Intel、智谱、机械革命三方联合发布了专为程序员设计的CODE AI程序员本,成为本次大会的一大亮点。
    的头像 发表于 11-30 10:34 389次阅读

    Linux驱动程序程序员指南

    电子发烧友网站提供《Linux驱动程序程序员指南.pdf》资料免费下载
    发表于 11-22 15:53 0次下载
    Linux驱动<b class='flag-5'>程序</b><b class='flag-5'>程序员</b>指南

    AI编程工具会不会抢程序员饭碗

    AI编程工具可辅助编程,减少手动编码,提升效率,对程序员有积极影响也有挑战。程序员需深化技能、拓宽知识应对。长远看,AI与人类程序员将共生共荣。
    的头像 发表于 11-08 10:17 170次阅读

    第五届长沙·中国1024程序员节开幕

    据官方媒体报道,10月24日;  第五届长沙·中国1024程序员节在湖南湘江新区开幕;本次中国1024程序员节以“智能应用新生态”为主题。设置有岳麓对话、技术英雄会、主题峰会及赛事、展览等活动,一场
    的头像 发表于 10-25 15:42 201次阅读

    京东上万程序员都AI用它!

    对大模型生成代码进行智能修复,为程序员开启代码漏洞修复的“自动驾驶”模式,不但减少人工接入、提高工作效率,更为企业抵御内外部各种攻击构建起一道坚固的安全屏障,确保业务的连续性和稳定性。 JoyCoder是京东云自主研发的一款辅助
    的头像 发表于 07-17 16:29 270次阅读
    京东上万<b class='flag-5'>程序员</b>都AI用它!

    程序员节视频创意大赛,用串口屏赢取千元大奖

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-08 10:38 72次阅读
    <b class='flag-5'>程序员</b>节视频创意大赛,用串口屏赢取千元大奖

    程序员节视频创意盛宴,邀您共襄盛举!

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-04 09:00 67次阅读
    <b class='flag-5'>程序员</b>节视频创意盛宴,邀您共襄盛举!

    助力程序员告别困扰已久的梦魇-Bug

    程序员的噩梦是什么?不用怀疑,就是让你加班到崩溃的Bug!下面是经过业界大佬们“长期加班”积累的小妙招,助力你离早下班又进一步~一、定位Bug范围及性质要有效解决问题,首先要缩小范围,集中关注最近
    的头像 发表于 07-02 08:10 324次阅读
    助力<b class='flag-5'>程序员</b>告别困扰已久的梦魇-Bug

    阿里云内部全面推行AI代码

    阿里云正在内部全面推行 AI 编程,使用通义灵码辅助程序员代码、读代码、查 BUG、优化代码等。
    的头像 发表于 04-07 09:22 562次阅读

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 411次阅读
    适者生存,<b class='flag-5'>程序员</b>最终会流向哪……

    GitHub Copilot:你的代码超级助手!程序员的最强福音

    今天小启给大家安利一款令人兴奋的AI工具——GitHubCopilot。它无疑是程序员们的最强福音!无论你是新手还是经验丰富的开发者,GitHubCopilot都将成为你的代码超级助手。想象一下
    的头像 发表于 03-05 08:04 1143次阅读
    GitHub Copilot:你的<b class='flag-5'>代码</b>超级助手!<b class='flag-5'>程序员</b>的最强福音

    2024程序员的未来方向如何走?还看今朝

    这几年的IT行业想必大家已经感受到了,Android、Java、前端等等程序员都经历了大厂……
    的头像 发表于 02-02 09:45 825次阅读
    2024<b class='flag-5'>程序员</b>的未来方向如何走?还看今朝

    陆军2024年完成IVAS头显测试,单兵AR头显项目加速发展

    自2022年起,美陆军分阶段购买了初期的IVAS 1.0和1.1版本,以供军事训练使用。据悉,2022年美陆军购买了5000套IVAS 1.0,2023年再购入5000套IVAS 1.1。这些设备被广泛运用于士兵培训,以提升他们对于新技术的理解与操作。
    的头像 发表于 01-02 10:38 966次阅读