Jeffrey Valjean Cook, 1956 - 2013

We had some very sad news this week in the TrustTheVote Project -- the sudden and unexpected death of a key contributor: Jeffrey Valjean Cook. We all feel that among the ways to mark his passing, it's important to recall the many contributions he made. But for myself, I have to do so in a personal way, in the context of the 25 years that I've known and worked with him. Jeff was an example of many things to me – cook, artist, craftsman, surfer, father, writer, techie, election geek, colleague, friend – so this remembrance is not short.
One of the many things that I learned from Jeff, in some ways the most important, and certainly what I'll miss the most … food and hospitality. Jeff was a great cook, and a great host. I'll miss working with him, but I'll really miss working with him in his Venice beach house, fueled by his creations. When I met Jeff, he and Leo Marcus at Aerospace Corp. were extremely helpful as colleagues and mentors in some work that I was starting then, involving formal methods and information security. Good work stuff came out of that first meeting in El Segundo, but also the trading of some good recipes. We established a collegial relationship in the context of collaboration and hospitality outside work. I think that that beginning really was the foundation that enabled Jeff and I (and Jeff and many others too) to enjoying working together off and on for many years, with the ups and downs of the tech sector, the hassles, the hurry-up-and-waits, the standards committee grind, Federal procurement fun, and the dot-com boom-bust that took our company from a specialty R&D company to a publicly held product company to part of the then-third-largest software company in the world. Fast forward 25 years, and I'm looking at photos of a Jeff Cook feast on the smartphone of a colleague attending a conference after just having been in LA visiting with Jeff, talking about his latest creations.

Another time I learned from Jeff was way back in the day when Privacy Enhanced Mail (PEM, which was open before there was such a thing as open source) was pretty much it for any form of application security service (no SSL or IPsec or PGP then) and Public Key Infrastructure was just being invented. Oh, and no Internet then BTW. When I joined Trusted Information Systems (TIS), I had a steep learning curve to catch up with Jeff and with Dave Balenson and eventually a whole group of application security inventors at TIS. I learned from Jeff's insistence on the proper use of formalisms, careful syntax for data exchange, carefully defined semantics, and extreme clarity for where the semantics was actually absent or wobbly, and we'd just have to forge ahead anyhow. From such a laid-back surfer dude, the formalism was ironic, and also the HitchHiker's Guide philosophers' keyword "demarcation! we demand rigidly defined areas of doubt and uncertainty!" for carefully noted semantic fuzzyness. It was all the more gratifying when years later at OSDV, Jeff insisted on using BNF to clearly define our specifications, and put up with me when we ran up to lines of demarcation where we didn't really know yet what our real election officials needed – but were going to learn by making some stuff, showing it to them, and finding out what else was needed.

Another thing I learned from Jeff, though I know I haven't put into practice as well and as broadly as he did, is hard work. Jeff was really careful not to commit to a batch of work and the resulting work product, until we got really clear on what was required, up to but not past some good lines of demarcation. But once we got there, he was a demon worker, coding like crazy to get it done, making an over-the-top, beyond-complete test case generator, picking up new programming languages and development tools, pattern-matching from examples until the example blew up, and leveraging the experience of everyone around him to put the pieces back together. That meant that things proceeded in fits and starts, but that was OK in TIS days -- we were always multi-tasking on multiple funded projects or internal R&D -- and it was OK in OSDV days because Jeff also did a lot of work as an artist and craftsman; he made great stuff from atoms even better than he made stuff from bits.

Jeff and I worked closely on some important projects in the last few years. It started about 3 and bit years ago, when I was in LAX, heading home after some OSDV meetings about election tech work, pondering who I could ask to join the TrustTheVote team for some additional work that had come up. Light bulb moment, the answer was: Jeff Cook. I hadn't been in touch for a while, but I called him right then. I was pleased that the public interest part of the work grabbed him immediately, and that he even considered adding some new commitments to his plate. Not too long later, though, I was back at LAX with Jeff picking me up to go to some meetings with election officials -- and a fine lunch at a wacky little Peruvian place and a chance to see some of his art that happened to be in his car. That was a good start for Jeff to start the process of spinning up on election tech stuff, and being assimilated into the cozy crazy world of election geeks. Not too many months later, we were back-and-forthing on which kinds of data interchange could provide most technology-enabled transparency on the process of tabulating votes, taking into account the vagaries of precinct splits and residual votes.

Like all of us Jeff worked on a volunteer basis at first. But when one of our projects popped up an unexpected deliverable, Jeff was there immediately when I needed someone who was very strong on applied crypto, an experience developer, and savvy on current open source platforms. He worked with colleagues at Red Hat to develop a crypto workstation, a system dedicated to helping election officials carry out some mission-critical duties around crypto key management. This turned out to be the technical basis for the later TrustTheVote Browser Appliance, the first (or maybe tied for first) technology for creating a system that would do all and only a specific set of web application client functions, thereby sidestepping an enormous amount of client security and Internet security and privacy issues faced by election officials (or anyone!) using regular Internet-connected general-purpose PCs as workstations. I get requests for help in this area every couple of months from election officials. And sad to say, we were gearing up for some DHS funding to take a next step in Jeff's work to make this and other technology packaged up and distributed for practical use by election IT groups. I'm not sure how we'll fill that one of many holes left by Jeff's departure.

On another occasion, we had a sudden need for appliance-based demo system for another important function in elections -- tabulating votes. A tabulator is (or should be) a dedicated system component of a voting system, whose sole purpose is to aggregate vote counts, and rack them all up. It's tempting to think of it as a fancy adding machine, but in reality, 99% of the work is consistency and completeness checking on the data coming in, to make sure that the election result data coming out is actually valid. We were embarking on the first ever trial of a voting system component that was standalone (not wired into a monolithic voting system product), and open-data based, and able to be trial-evaluated in a process that we can define in collaboration with the EAC. Jeff stepped right up, defined the open-data formats, cranked the application code in addition to the appliance platform technology, created test data, documentation, and more. A real quality job. Again, one of our hopes for 2013 is to get the funding to support a trial evaluation, and do so using the new data interchanges being defined by NIST and IEEE. If we can do that, it will be bittersweet to do it without Jeff, but I am confident that new folks can pick up his work, because he was so meticulous.

Jeff also led the software development work on a new component of the TrustTheVote suite, which we created in response to new demand from election officials. The TTV Analytics component, though basic in its first version, is actually the first part of TTV to go from zero to deployment and production use by election officials, in less than a year. The work was similar to the TTV Tabulator, in terms of aggregating a bunch of data, but in this case it was not about ballots, but about voter registration and absentee voter administration. The idea is that we should be able to take logs from disparate systems, whack them together, and be able have anonymized records of every administrative action on every voter record for a whole election cycle, and able runs stats and reports that would show voter outcomes sliced every which way, including demographics to show whether in some part of the state, voters of a particular demographic had skewed outcomes. It's a great idea, with lots of legs, and a cool plan for version 2 this year. We'll be doing that, and standardizing the common data formats, and setting up a public access demo system (so you can see how it works for election officials), and so on -- all without the guy who stood up and said "I don't know anything about voter record management and transactions and reporting, but I'll figure out it, challenge you on the specs and data formats, work it all out, learn another new language and platform, write the core code and the UI, package it for open-source distribution, and work with our Virginia SBE adopter's cloud hosting service to get it deployed." He never said it in so many words like that, more like "OK, let's get started!" but that's what it meant, and that's what he did.

So facing the planning of our work in 2013 and into the 2014 election cycle, we're all very much in Jeff's debt, and we'll feel his absence keenly as we continue the work he was engaged in.

But of course it is much more than a gap in the TTV team. And it is much more than OSDV and TrustTheVote. For me, it's a loss of a friend and colleague that I've known for half my life, and the majority of my career. No one knows better than I do what we could have achieved together in the next growth phase of TTV, and what these achievements could have done for the election officials who need the new technology. We'll do the work without him, and we'll really miss him, sure. But my own labor and experience will be the poorer for the lack of the continuing example of energy and commitment that Jeff provided; and just as much for not being able to ask him what's he cooking for dinner tonight, how he got the idea or the recipe to tweak, and what I can do in my kitchen tonight to add a new twist, or what his latest art piece is like, and to hear his enthusiasm and gusto for everything that he did and made, with bits or with atoms, every day, morning, noon, and night.

I won’t say rest in peace, because it’s hard to imagine a guy with so much energy for so many different things, actually resting – but I have to say: thank you, and good-bye.