Live data from Hacker News

How I got a medal from the Army for writing code

vivin.net

41–50 of 82 posts

Re: How I got a medal from the Army for writing code

#41
post #18

This is the reason that I say that most people need to learn to code, even just a little bit. Regardless of what career path you choose, it's highly likely that you'll at least use a computer for some of it, and being able to write macros or simple programs to automate things can make you stand out from your peers.

I'll tentatively agree, with the reservation that I would like to see some studies on the effects of this before we go all out teaching everyone to code a little. My concern is that while macros or simple programs would let people do things more productively or do things that would not be feasible manually, they also let them make bigger and more costly mistakes. We need to figure out how to get the former while mini…

Code can also stop manual errors from creeping in.

This spring, I put together a graphic novel. When I was creating the list of source files to drop into InDesign's batch processor (a tedious task that involved full file system paths to a bunch of sequentially numbered files), I left one out. I managed to miss the forest for the trees when proofing, and didn't realize I'd made this mistake until I was sitting down to relax and enjoy reading the advance copy. With 399 more sitting on a loading dock waiting to be shipped to me.

I had to do a new print run; this cost me about $6000, which pretty much puts the Kickstarter for this volume in the red.

I also wrote a simple little script that I can point at a directory full of files, and get a CSV of everything in it to feed to InDesign. I will not be making this particular mistake again on a larger project. There will be other ones, I'm sure. And I'll try to find ways to automate stuff I can, and improve my proof reading process as well.

You are going to make mistakes. By hand, and in creating automated systems. This is a fact of life.

Re: How I got a medal from the Army for writing code

#42

In 2009-2010, I was an infantry officer working in Kandahar (Afghanistan) Airfield's brigade HQ; a canadian HQ then. My job was to receive all the reports from the ground and fan that info out thorough the HQ and our higher ups/sides. The HQ was processing things like medical evacuations, support fire missions, contact reports. The way it was done was very inefficient, frustratingly so. For instance, a medical missio…

Battle Captain, right? I know exactly how you must have felt. I did this job as a 1LT in a bunker in Korea with shitty outdated MS Office and I never even thought to write a VBA app. This sounds like an interesting startup idea: TOC software. It would be easy to write. I wonder how difficult it would be to sell to the Army. I see from your Github that you, too, write Go. We should talk sometime. http://github.com/chr…

Yup, in the canadian forces, they call it 'Duty Officer', much less glorious sounding than Battle Captain =)

I think the best way to make a difference with software would be as a consultant, deploying with units and doing work straight from there, in an ad-hoc way. Similarly I guess to the stories about how the Obama elections team worked. Deploying a small group of devs with a battle group, who have for purpose to write custom software to make the battle group more efficient. By participating in the pre-deployment training and exercise, the devs could familiarize themselves with the most important tools that need to be created for the deployment. Then while deployed, polish the rough edges and adapt the tools to new situations.

Otherwise, going through the procurement chain of the army will inevitably lead to insanity and bad software, and no actionable result. We had software when I went about writing those tools; it was just so bad and inappropriate that nobody used it.

Re: How I got a medal from the Army for writing code

#44
post #18

Earlier quoted context omitted.

I'll tentatively agree, with the reservation that I would like to see some studies on the effects of this before we go all out teaching everyone to code a little. My concern is that while macros or simple programs would let people do things more productively or do things that would not be feasible manually, they also let them make bigger and more costly mistakes. We need to figure out how to get the former while mini…

Code can also stop manual errors from creeping in. This spring, I put together a graphic novel. When I was creating the list of source files to drop into InDesign's batch processor (a tedious task that involved full file system paths to a bunch of sequentially numbered files), I left one out. I managed to miss the forest for the trees when proofing, and didn't realize I'd made this mistake until I was sitting down to…

The thing I like about making automated mistakes is that when I fix that mistake it usually doesn't happen again.

I also wonder about the percent of mistakes made.

A long time back I made some scripts to bulk load new employees into our associate management software. Before that it took an admin loading them in one at a time. The admin could probably get one employee entered, give or take, per minute, given network latency. The script had delays and such to not slam the network, but ran in the background. My first version got a field wrong for 90 or so employees, but I just had to do some small modification and it went back and fixed them all.

Basically, I made 90 or so mistakes, but managed to make the mistake and fix it in a tenth the time it took to manually enter all of them, and then that mistake was never made again.

I guess a lot of it depends on how critical correctness is straight out of the gate (like in your case). For our purposes, it was fine.

Re: How I got a medal from the Army for writing code

#45
post #2

There is likely a near limitless number of ways that military information tech could be improved and streamlined, due to the usual tendency for large bureaucracies to have stale systems and the increased opaqueness that the military operates under...and also, the relative lack of programmers in the recruiting pool...but it's encouraging (and surprising!) to see that at least a few Army higher-ups care enough about te…

But its a perfect example of her wisdom: " Its easier to get a medal afterwards, then to ask for permissions beforehand "

Re: How I got a medal from the Army for writing code

#46

In 2009-2010, I was an infantry officer working in Kandahar (Afghanistan) Airfield's brigade HQ; a canadian HQ then. My job was to receive all the reports from the ground and fan that info out thorough the HQ and our higher ups/sides. The HQ was processing things like medical evacuations, support fire missions, contact reports. The way it was done was very inefficient, frustratingly so. For instance, a medical missio…

I love that story, it genuinely made my day to read.

It might sound corny, but this is what I like to think the profession is 'all about' - identifying real problems and using our talents with whatever resources are available to solve them.

Best of luck with your studies.

Re: How I got a medal from the Army for writing code

#47
post #39

Thanks for sharing. I'm in the National Guard too. I've done some VBA to automate tactical operations center (TOC) reporting while deployed. I wrote an iPhone app / website for ammunition net explosive weight calculations ( https://itunes.apple.com/us/app/dodic-calc/id660062276?mt=8 ). Working on a bunch more. I'm in the logistics field and would love to collaborate.

I wish I was still in! Do you work in supplies or the motor pool?

Re: How I got a medal from the Army for writing code

#48
What a great story - thank you for your service, and for sharing!

I have a much, much less impressive story, but maybe someone will find it interesting: I was working at a military library as a civilian, and I automated repetitive parts of our workflow to add books to WorldCat using Autohotkey (We added books to WorldCat so other libraries could request them). I also came up with the idea of using our barcode scanners to check books out to people using a Word document - our library database at the time was slow, far away, and went down regularly. Up till then, no one had realized that you could scan bar codes into a document.

Unfortunately, I didn't realize that the automation I did was unauthorized; there was a shakeup that had to do with misuse of CAC cards, and as part of that, my scripts were discovered and I lost my job. Still, I think that kindled an interest in programming, and I now hack away happily at personal projects.

Re: How I got a medal from the Army for writing code

#49
This sounds a bit like my experience in a standard civilian transport company, except that I don't get medals (rightly so) and I don't deal with life and death (thankfully).

Our operational database is still accessed via an emulated version of IBM 3270 terminal [1], where we have Windows emulator for the client that connects to the DB2 database. It's freaking ancient, to the point where the emulated version uses the mouse input to emulate the "light pen" [2] from the original system, which was used because the mouse barely existed at that time. The thing uses 4-letter terminal codes to access every function. Oldschool.

Our employee distribution is quite significantly skewed towards the older generations. Compounding it, many of the people who interact with it tend to be trade-staff who started in workshops then climbed their way into being semi-technical admin (roles such as fleet planning, etc.). It works, but the mind boggles when you imagine the degree of time wasted every day by these guys because they don’t have any sort of significant batch processing capability.

In the course of doing my work, I was exposed at some point to ODBC drivers for the database. I managed to get some credentials used for running reports against it (I think I found another reporting query with them saved in the file and ripped them out of it) which that allowed me to arbitrarily query the database. From that, I started to automate a great many things - for example, where previously a yard coordinator would type in the code to query each storage road individually in his maintenance yard to see what he had around for the day’s work, I gave him a 1-click query for doing the same job.

Our maintenance database was a similar affair, except that it runs Oracle and is a little less antiqued. It also has a windows-native GUI but it is similarly lacking in many batch processes.

A more recent example that I tackled is that every single morning, a yard coordinator would work out which groups of vehicles would be coming in that day and were due for their roadside inspection (info from the operational database). He would then print out a list of these (literally on paper, next to his keyboard) and manually enter each vehicle, 1 by 1, in to the maintenance database to check whether they were then due for their yearly scheduled maintenance before their next roadside inspection. If they were, they'd be flagged for dragging in to the workshop. This took him approximately an hour, every single morning of his work life, and that would then be summed up and presented at his morning planning meeting.

He’d asked the guys who normally support this sort of stuff, but had got nowhere in about 7 months because it sort of fell between “fully-fledged IT department that can do this easily but comes with bureaucracy” and “guy who kind of knows how to develop database queries, but doesn’t know how to query 2 different databases in the one query” and so it never got anywhere. I was on site one morning for some unrelated work and saw him doing this. When I asked about it, I told him to give me some time and I’d come back to him and proceeded to write a query to do it in one click.

I’ve been doing this sort of stuff for about 3-4 years now and have a (good) reputation amongst the maintenance, operations, etc. guys now. The problem is that IT tend not to support them, as it tends to be more effort spent on bureaucracy than the task at hand. Furthermore, the guys don't know who to talk to in order to get this stuff done / don’t know any better, so they just deal with it and do it by hand.

In the end, I guess I did get noticed by middle management because I've now been tasked with being the lead on developing/acquiring a next-gen operations business intel solution which will draw together all the disparate bits of data we gather and put it to better use, so that's cool.

I guess my take-home message is that many of you guys work in the IT space in technology companies. You tend to be exposed to people who just get this stuff and so it all just happens. There's so so many more companies out there though, particularly established ones running operations (think mining, transport & logistics, the army as per the OP, etc.) where this stuff simply isn't done and it's a completely different world. They tend to have a distrust of "IT" because their experience with them is the bloated bureaucratic mess that is many corporate IT departments. IT in large, non-high-tech corporations can also be the sort of place where a problem either is too small to care about, or significant enough that it warrants a legion of SAP/Oracle DBAs and a whole heap of project management to develop a “solution” over a 12+ month period.

There is an astounding amount of potential for someone who gets operations / the guys on the coal-face, and can bring high-tech solutions to their problems rapidly. They will quite literally treat you as some sort of wizard who has mastered the arcane forces if you do this, because you deliver a solution that is otherwise unattainable in many situations. Your business impact is huge because you cut out a whole heap of otherwise wasted time, which is a direct benefit to the bottom line.

The major challenge IT has is bridging this gap. I’m not quite sure how you go about leaning yourself down enough whilst still appealing to the more rigid constraints of “IT in a big corporation” but I am convinced that there is no end of value to be created in this area.

[1]: https://en.wikipedia.org/wiki/IBM_3270 [2]: https://en.wikipedia.org/wiki/Light_pen

Re: How I got a medal from the Army for writing code

#50
Ah, Army IT style. Back in my conscript days, the unit's secretary once had to take a list of soldiers from system A (LASTNAME/FIRSTNAME) and convert them to the format required by system B (FIRSTNAME,LASTNAME)... so she was doing this manually in Excel: click, highlight, ctrl-X, delete, cursor cursor, ",", ctrl-V, repeat.

So I dumped the file to CSV, wrote a one-liner awk script that did the transformation, and imported the result back as a new column. No medal, but one very happy secretary!

What really astonished me, though, is that she didn't even think that this kind of thing was possible. In her worldview, one Machine spit out data in a fixed format and another Machine demanded it back in another, and it was just too bad if humans had to do mindless work to conform to their needs.

Post reply on HN