John Graham-Cumming

Last updated

John Graham-Cumming
Image of John Graham-Cumming.jpg
John Graham-Cumming in 2010
Alma mater University of Oxford (DPhil)
Known for POPFile
The Geek Atlas [1]
Scientific career
Institutions Cloudflare [2]
Electric Cloud [3]
Thesis The formal development of secure systems  (1992)
Doctoral advisor Jeff W. Sanders
Website www.jgc.org

John Graham-Cumming is a British software engineer and writer [4] best known for starting a successful petition to the Government of the United Kingdom asking for an apology for its persecution of Alan Turing. [5] UK Prime Minister Gordon Brown issued the apology in September 2009. [6] As of 2020, Graham-Cumming is Chief Technology Officer at Cloudflare; [7] [8] [9] previously he co-founded Electric Cloud. [3]

Contents

Education

Graham-Cumming was educated at the University of Oxford obtaining a BA in Mathematics and Computation and a Doctor of Philosophy degree in Computer Science in 1992 for research on formal methods for secure computing systems supervised by Jeff W. Sanders. [10] He was an undergraduate and graduate student at Lady Margaret Hall, Oxford. [10]

Career

Graham-Cumming is the original writer of POPFile, an open-source, cross-platform, machine learning email spam filtering program. [11] He is the author of The Geek Atlas, a travel book, [1] and The GNU Make book, a how-to technical manual for the GNU make software. [12] He also wrote and maintained a library of functions for GNU Make called the GNU Make Standard Library. [13]

In October 2010, he started an organization whose aim is to build Charles Babbage's Analytical Engine, [14] [15] [16] [17] known as Plan 28. [18] He has also campaigned for open-source software in science. [19] In 2014, he launched the MovieCode site on Tumblr, which aims to connect film screenshots to specific extracts of source code. [20] Some of the films and source code covered on the MovieCode website are explored in depth in the form of videos on his site Behind The Screens.

Related Research Articles

<span class="mw-page-title-main">Ada Lovelace</span> English mathematician (1815–1852)

Augusta Ada King, Countess of Lovelace was an English mathematician and writer, chiefly known for her work on Charles Babbage's proposed mechanical general-purpose computer, the Analytical Engine. She was the first to recognise that the machine had applications beyond pure calculation.

<span class="mw-page-title-main">Alan Turing</span> English computer scientist (1912–1954)

Alan Mathison Turing was an English mathematician, computer scientist, logician, cryptanalyst, philosopher and theoretical biologist. Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer. He is widely considered to be the father of theoretical computer science and artificial intelligence.

<span class="mw-page-title-main">Analytical engine</span> Proposed mechanical general-purpose computer

The analytical engine was a proposed digital mechanical general-purpose computer designed by English mathematician and computer pioneer Charles Babbage. It was first described in 1837 as the successor to Babbage's difference engine, which was a design for a simpler mechanical calculator.

<span class="mw-page-title-main">Computer science</span> Study of computation

Computer science is the study of computation, information, and automation. Computer science spans theoretical disciplines to applied disciplines. Though more often considered an academic discipline, computer science is closely related to computer programming.

<span class="mw-page-title-main">Free software</span> Software licensed to be freely used, modified and distributed

Free software, libre software, or libreware is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users ultimate control over the software and, subsequently, over their devices.

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop and NetBeans, do not.

In software development, obfuscation is the act of creating source or machine code that is difficult for humans or computers to understand. Like obfuscation in natural language, it may use needlessly roundabout expressions to compose statements. Programmers may deliberately obfuscate code to conceal its purpose or its logic or implicit values embedded in it, primarily, in order to prevent tampering, deter reverse engineering, or even to create a puzzle or recreational challenge for someone reading the source code. This can be done manually or by using an automated tool, the latter being the preferred technique in industry.

<span class="mw-page-title-main">GNU Autotools</span> Suite of programming tools

The GNU Autotools, also known as the GNU Build System, is a suite of programming tools designed to assist in making source code packages portable to many Unix-like systems.

A computer scientist is a scholar who specializes in the academic study of computer science.

<span class="mw-page-title-main">Jack Dongarra</span> American computer scientist (born 1950)

Jack Joseph Dongarra is an American computer scientist and mathematician. He is the American University Distinguished Professor of Computer Science in the Electrical Engineering and Computer Science Department at the University of Tennessee. He holds the position of a Distinguished Research Staff member in the Computer Science and Mathematics Division at Oak Ridge National Laboratory, Turing Fellowship in the School of Mathematics at the University of Manchester, and is an adjunct professor and teacher in the Computer Science Department at Rice University. He served as a faculty fellow at the Texas A&M University Institute for Advanced Study (2014–2018). Dongarra is the founding director of the Innovative Computing Laboratory at the University of Tennessee. He was the recipient of the Turing Award in 2021.

<span class="mw-page-title-main">Automatic Computing Engine</span> British early electronic serial stored-program computer

The Automatic Computing Engine (ACE) was a British early electronic serial stored-program computer design by Alan Turing. Turing completed the ambitious design in late 1945, having had experience in the years prior with the secret Colossus computer at Bletchley Park.

Free Java implementations are software projects that implement Oracle's Java technologies and are distributed under free software licences, making them free software. Sun released most of its Java source code as free software in May 2007, so it can now almost be considered a free Java implementation. Java implementations include compilers, runtimes, class libraries, etc. Advocates of free and open source software refer to free or open source Java virtual machine software as free runtimes or free Java runtimes.

<span class="mw-page-title-main">History of computer science</span>

The history of computer science began long before the modern discipline of computer science, usually appearing in forms like mathematics or physics. Developments in previous centuries alluded to the discipline that we now know as computer science. This progression, from mechanical inventions and mathematical theories towards modern computer concepts and machines, led to the development of a major academic field, massive technological advancement across the Western world, and the basis of a massive worldwide trade and culture.

<span class="mw-page-title-main">Computer</span> Automatic general-purpose device for performing arithmetic or logical operations

A computer is a machine that can be programmed to automatically carry out sequences of arithmetic or logical operations (computation). Modern digital electronic computers can perform generic sets of operations known as programs. These programs enable computers to perform a wide range of tasks. The term computer system may refer to a nominally complete computer that includes the hardware, operating system, software, and peripheral equipment needed and used for full operation; or to a group of computers that are linked and function together, such as a computer network or computer cluster.

Electric Cloud, Inc. was a privately held, DevOps software company based in San Jose, CA. Founded in 2002, Electric Cloud was a provider of application release orchestration (ARO) tools, automating release pipelines and managing application life cycles. Electric Cloud's products included ElectricFlow and ElectricAccelerator.

<span class="mw-page-title-main">GNU Affero General Public License</span> Free software license based on the AGPLv1 and GPLv3

The GNU Affero General Public License is a free, copyleft license published by the Free Software Foundation in November 2007, and based on the GNU GPL version 3 and the Affero General Public License (non-GNU).

<span class="mw-page-title-main">GNU General Public License</span> Series of free software licenses

The GNU General Public License is a series of widely used free software licenses, or copyleft, that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general use, and was originally written by Richard Stallman, the founder of the Free Software Foundation (FSF), for the GNU Project. The license grants the recipients of a computer program the rights of the Free Software Definition. The licenses in the GPL series are all copyleft licenses, which means that any derivative work must be distributed under the same or equivalent license terms. It is more restrictive than the Lesser General Public License, and even further distinct from the more widely-used permissive software licenses BSD, MIT, and Apache.

<span class="mw-page-title-main">Open-core model</span> Business model monetizing commercial open-source software

The open-core model is a business model for the monetization of commercially produced open-source software. The open-core model primarily involves offering a "core" or feature-limited version of a software product as free and open-source software, while offering "commercial" versions or add-ons as proprietary software. The term was coined by Andrew Lampitt in 2008.

Cloudbleed was a Cloudflare buffer overflow disclosed by Project Zero on February 17, 2017. Cloudflare's code disclosed the contents of memory that contained the private information of other customers, such as HTTP cookies, authentication tokens, HTTP POST bodies, and other sensitive data. As a result, data from Cloudflare customers was leaked to all other Cloudflare customers that had access to server memory. This occurred, according to numbers provided by Cloudflare at the time, more than 18,000,000 times before the problem was corrected. Some of the leaked data was cached by search engines.

<span class="mw-page-title-main">Okta, Inc.</span> American information technology company

Okta, Inc. is an American identity and access management company based in San Francisco. It provides cloud software that helps companies manage and secure user authentication into applications, and for developers to build identity controls into applications, website web services and devices. It was founded in 2009 and had its initial public offering in 2017, being valued at over $6 billion.

References

  1. 1 2 John Graham-Cumming (2009). The Geek Atlas: 128 Places Where Science and Technology Come Alive. Sebastopol, CA: O'Reilly Media, Inc. ISBN   978-0-596-52320-6. OCLC   850983602.
  2. Swan, Chris (2014). "John Graham-Cumming on Polyglot Programming and Geek History". infoq.com. C4Media Inc. Retrieved 17 May 2016.
  3. 1 2 Melski, Eric (2009). "Seven lessons from seven years at Electric Cloud". electric-cloud.com. Archived from the original on 25 February 2020.
  4. Anon (2010). "John Graham-Cumming Profile". The Guardian . London. Retrieved 3 October 2013.
  5. Whiteman, Hilary (2009). "Petition seeks apology for Enigma code-breaker Turing". edition.cnn.com. CNN . Retrieved 3 October 2013.
  6. "PM's apology to codebreaker Alan Turing: we were inhumane", The Guardian, 10 September 2009
  7. Graham-Cumming, John (2019). "Helping To Build Cloudflare, Part 1: How I came to work here". blog.cloudflare.com. Cloudflare.
  8. Scammell, Robert (2020). "CTO Talk: Q&A with Cloudflare's John Graham-Cumming". verdict.co.uk.
  9. Graham-Cumming, John (2019). "Helping To Build Cloudflare, Part 2: The Most Difficult Two Weeks". blog.cloudflare.com. Cloudflare.
  10. 1 2 Graham-Cumming, John (1992). The formal development of secure systems. ox.ac.uk (DPhi thesis). University of Oxford. OCLC   60063995. EThOS   uk.bl.ethos.315747.
  11. Schechter, Bruce (8 March 2003). "Spambusters". newscientist.com. New Scientist . Retrieved 3 November 2013.
  12. Graham-Cumming, John (2008). The GNU Make Book. No Starch Press. ISBN   9781593276492. OCLC   896860365.
  13. "GNU Make Standard Library". gmsl.jgc.org. Retrieved 10 June 2023.
  14. Fildes, Jonathan (2010). "Campaign builds to construct Babbage Analytical Engine". bbc.co.uk. BBC News . Retrieved 3 October 2013.
  15. Graham, Duncan (3 March 2011). "A £400,000 PC downgrade: Rebooting Babbage's Analytical Engine". wired.co.uk. Wired UK . Retrieved 3 October 2013.
  16. "The Greatest Machine That Never Was: John Graham-Cumming at TEDxImperialCollege". youtube.com. YouTube. 26 April 2012. Archived from the original on 21 December 2021. Retrieved 3 October 2013.
  17. "John Graham-Cumming: The greatest machine that never was". ted.com. TED . Retrieved 3 October 2013.
  18. "Plan 28: Building Charles Babbage's Analytical Engine". plan28.org. Retrieved 24 July 2012.
  19. Ince, Darrel C.; Hatton, Leslie; Graham-Cumming, John (2012). "The case for open computer programs". Nature . 482 (7386): 485–488. doi: 10.1038/nature10836 . PMID   22358837.
  20. Johnson, Phil (2014). "The sources of all that code you see in TV and movies". itworld.com. ITworld. Archived from the original on 11 January 2014. Retrieved 13 January 2014.