Closer Than You Might Think

David Alan Grier David Alan Grier is a writer and scholar on computing technologies and was President of the IEEE Computer Society in 2013. He writes for Computer magazine. You can find videos of his writings at He has served as editor in chief of IEEE Annals of the History of Computing, as chair of the Magazine Operations Committee and as an editorial board member of Computer. Grier formerly wrote the monthly column "The Known World." He is an associate professor of science and technology policy at George Washington University in Washington, DC, with a particular interest in policy regarding digital technology and professional societies. He can be reached at

Ghosts in the Machine

The themes for this year's China National Computing Congress were easy to predict.  The current issues for computing emerged about five or six years ago.  Cloud.  Privacy.  Big Data.  Mobile Platforms.  Security.  Parallel Architectures.  Yet, it was a map program that prepared me for the discussions at the meeting, for that program revealed a ghost in the machine, an old idea that has become a crucial issue with the new technologies. I was using the mapping program in order to get a better understanding of Zhengzhou. Read more

Meeting Protocol

Over the past month, I've been doing a little work to help one of the IEEE software conferences.  I have a very small role on the organizing committee.  I have spent a little time raise some money, get the support of a local education ministry and inspect the likely conference site. In all, I feel that I am spending most of my time in communications and trying to follow the IEEE conference protocols.  Complete a form.  Contact a minster.  Draft a notice.  I think that we spend more of our time coordinating our efforts than we actually spend working.  We may even spend more time in coordination than the speakers spend in research. Read more

Investing for the Future

The vice president for engineering gave me the usual response when I asked him how the IEEE Computer Society might be of help to his company. "Tell us where we should invest," he said, while making a big gesture with his arms. "Tell me which technology is going to be important so that we can make some money with it." I understood why he made this request, but felt that he really didn't understand what the Computer Society did or how it helped his engineers do their jobs better.  Ultimately, they would be able to answer his question better than I ever could. Read more

Getting Things Right

When my time came to be president of IEEE Computer Society, I didn't think I was quite ready for the job. I had risen very quickly through the leadership ranks and didn't know much about some parts of the society.  I knew little about standards and less about our education board.  I was worried that I might make a bad decision that would haunt my presidency.  A mistake that I could not correct.  However, as I got ready to take the position, a friend gave me a bit of friendly advice.  "You don't need to get everything right," he said, "you need to keep the organization on the path of improvement. Read more

The Center of the Universe

Koichi, a friend of mine, asked me to visit his office a few weeks ago to talk about the state of computing research.  He has a lovely office, located near the center of Washington, DC, and enjoys a beautiful view of the region.  Perhaps more importantly, he is an officer in one of the large government research organizations and near the center of the computing university. Read more 

Out With the Old and in With the New

Computer scientists and computing engineers don't deal with obsolescence well.  We quickly abandon old forms of technology as soon as new ones show their promise.  We claim that old software is useless and call the people who still use old systems "dinosaurs" or some other term that suggests that they are no longer productive members of the community.  Yet when we discard old technologies, we often fail to see how one technology builds upon another and how old ideas reappear in new solutions. Read more

Moving Ideas

Early in my career, I wrote a paper with a Chinese colleague on the technology transfer policies of Deng Xiaopeng. I had done no prior research in the field but was intrigued with the topic and enjoyed working with these colleagues. Read more 

Layers upon Layers

Towards the middle of May, Computer Society presidents start preparing for a major Board of Governors meeting in June. It's a large job and requires me to write the agenda and get the members ready for the meeting. Read more

A Migrating Process

Somehow time and place got lost.  During the last month, I promised myself that I would write my next column for the China Computing Federation as I shuttled from one IEEE meeting to another. That plan got lost in the shuttle from one airport to another. I hope that I am forgiven for the lapse, as movement seems to be one of the themes of this season. Perhaps, in the process, I will learn what needs to be moved and what does not. Read more

The Trade Union for Software Engineers?

As president of the IEEE Computer Society, I have had to talk to a lot of reporters about the state of technology. Over the past year, I have had to discuss 3D printing, the recent Chinese supercomputer, and the Internet of Things.  In early November, shortly after I returned from the Chinese National Computing Congress, I had to talk about the nature of the society itself. Read more

Market Algorithms

Should you ever go to the Consumer Electronics Show in Las Vegas, you can easily get confused and start to think that this is the place where technology leaves the laboratory and marches into the world in order to improve society. The show tells you that electronic technology is the most important force in the world today.  It offers hundreds of talks and thousands of exhibits about the newest products and the most innovative services. Over 150,000 people attended the show, looking for the ideas that will shape the future. If they had looked carefully enough, they would have seen that the Consumer Electronics Show not only reveals the value of electronic products, it also shows how the market shapes research and how our technology is moving to incorporate economic ideas. Read more

All Things New

For the past six weeks, I have been adjusting to the life of a former president of the Computer Society.  At some level, the transition has been easy and welcome.  Sometime, in early January, people simply stopped sending me email. I no longer opened my mailbox to find society members asking for help with their subscription to Computer or the bill for their society dues or the conference that won't accept their paper. Yet, as I move through this period, I find that I cannot shed some of the business of the society as easily as I thought. Some of the projects that I started last year are not over.  A negotiation still needs to be completed.  There are responsibilities that I have to complete. These experiences have caused me to reflect on the bigger issues that the Computer Society faces when it needs to put aside a set of activities that have outlived their usefulness and start something new. This is a problem that all professional societies face. As we try to advance the field, we discover that we can't always drop activities that have outlived their usefulness.  Read more

Software Engineering: Two Directions at Once

You've got to read the audience.  It's one of hardest things you need to do when you are giving a technical talk.  Are they looking for details and guidance?  Are they looking for inspiration and vision of the future?  Again, if that is what they want then you had better be prepared to give it to them.  How about a fair and honest assessment of the state of technical careers? That is not as common among audiences.  Therefore, you had better be ready for comments if you are giving that kind of talk. Read more

Knowledge for Business

I wish I could say that I had been the peacemaker, but there was little peace to be made. We had gathered to discuss how we might develop the field of mobile computing but before 10 minutes had passed, we were in an argument that threatened to split the group. The battle line fell the way that it usually does in the IEEE Computer Society, splitting the university professors from the industrial engineers. Read more

The Global Classroom

Some days, I wonder if we did the right thing when we decided to bring computers and Internet connections into the classroom. This technology brings a lot of useful information into class discussions but it also brings many tempting distractions. Only the strongest students can sit in front of a computer without succumbing to the temptation to review the news on Instagram, or check the latest scores of sporting events, or send a message to their friends. We have brought the world into our classroom but we are still struggling to engage that world in our instruction. Read more

Thinking in Parallel

The problem of getting a group of busy professionals to find a single time to meet is hard enough but it also seems to reflect the problems that we are trying to address with our new forms of parallel machines. I have been following this effort, which focuses on the use of Graphical Processing Units, or GPUs, to do work in parallel. We are investigating general applications for these processors because we have encountered a difficult physical barrier with our efforts to scale computers ever smaller and smaller. Read more

Common Values

Not that long ago, I made the Founder of the Free Software Foundation, Richard Stallman, mad at me. At the time, I thought it was quite an accomplishment as I had never met Mr. Stallman and was fairly certain that he had never heard of me. To be honest, the controversy between us is of small consequence. Should we meet in the future, we will not be likely to exchange blows. However, the controversy between us was a reminder that the software world remains divided between those who believe that software should be free and those who consider it to be a commercial product. Read more

Rate of Return

The problem starts when we don’t test our assumptions, when base a project on some idea that seems so fundamentally true to us that we can’t imagine that this fails in some circumstance. The Earth always moves around the sun. The speed of light is always 186,000 miles per second in a vacuum. Why can’t we assume that our software will always be used exactly as we have used it? Read more

Imitating Life

It seemed like a good idea at the time, but its value is something that you will have to judge. It arrived when I was walking the streets of Dongcheng on the morning of the 2015 CCF Awards Banquet. My travels took me past a cinema that was near the hotel. When I saw the movie posters, I thought that I should write about the new film about Alan Turing, “The Imitation Game.” The movie is quite popular in the United States and Europe, though it is also making computer scientists a bit uneasy. Read more

Asking for Directions

I have a question about China:  Do men, when they are driving, ask others for directions? For instance, when a man is driving in an unfamiliar neighborhood, might he ever stop and ask someone, “Can you direct me to the Chengxin Comprehensive Supermarket?” I am interested because it might help me understand the recent interest in autonomous or self-driving cars. Read more

Impatient Minds

Sometime soon, the new forms of software engineering will become old. Already, many of these methods are sliding toward middle age. Agile programming is almost 15 years old, as is Lean, Scrum, and Extreme Programming. The young programmers who pioneered these methods have started families, moved to nice neighborhoods, and become managers. Already, they are being challenged by younger software developers who want to know why Agile or Lean or Scrum is important and why they should learn the disciplines and the stories that these methods tell about technology. Read more

In E-commerce We Trust

Perry didn’t blame e-commerce for putting him out of business. “There were a lot of factors,” he explained to me. “Retail has changed considerably since your grandfather owned the store.” Yet as we talked, I could clearly see that the forces of e-commerce had directly and indirectly contributed to the store’s demise. As he looked to the future, he was going to try to build a new business that better utilized computing technology, a business that would be built on the store’s capital and its reputation. Read more

Why We Must Meet: How Programmers Interact

I have a hard time convincing people that the study of programming is interesting. Even many of my fellow IEEE members think that the idea is strange and cannot possibly lead to any useful knowledge. “What do you expect to learn,” one of them asked me in a taunting voice, “from the conclusion that some people like to program at night and others during the day? Or if they prefer Coca-Cola while they sit at a computer, or would rather drink tea?” I usually dismiss these questions by saying that I’m just interested in how people work. However, I think the real answer is deeper. More than any other form of production, programming reflects the way we organize ourselves and the way that we think about our relations to others. Read more

Debating Artificial Intelligence

We are in the midst of a public debate about artificial intelligence. This discussion began sometime last fall, following a popular movie about Alan Turing and some announcements about robotic automobiles. Like many public debates, the discussion has been shaped by fear. Many of the comments reflect a concern that machines will soon replace human beings and make people obsolete. Last December, physicist Stephen Hawking told a BBC program that the "development of full artificial intelligence could spell the end of the human race.” PayPal founder Elon Musk was even more provocative when he claimed that our current approach to artificial intelligence was “summoning the demon.” Lost in this debate is the fact that artificial intelligence is a field with many different points of view and that many researchers aim to enhance human productivity rather than replace human beings. Read more

Bridging the Great Divide

Many difficult problems in computer science remain unsolved. Determining the relationship between P and NP—the problems that can be solved in polynomial time and those that cannot—is perhaps the most famous, but there are many others. What is the fastest way to multiply two matrices? Is it possible to factor an integer in polynomial time? Will we ever be able to get computer science researchers and computing practitioners to talk to each other peaceably? This last question describes the hardest issue that we face as a field. It will require us to acknowledge that we are a community that would like to believe is united by a technology, when we are in fact a group of workers divided by our methods of organizing knowledge. Read more

Learning from Conferences

There is something in a conference that defines our field. I have younger colleagues who claim that conferences are far more valuable to their careers than publishing a paper in a journal. I am sympathetic to their claims, even though I spent years resisting them when I served as a dean. Read more

The Impossible Task

We have created a nearly impossible task in software development. We believe that development must be flexible and agile. We have to create software quickly and respond to the needs of the market. Yet, we also want a strong and stable software team that builds its members’ skills. We accept these contradictions without a second thought and without a plan to reconcile them. At best, experience teaches us that “all things are not for all people.” Part of a team might be flexible, and part might be stable; part might be responsive to the market, and part might be able to master the most demanding skills. The group’s strength might not be measured in the flexibility of individual members but in the agility of the team as a whole. Read more

The Learning Machine

I was unable to attend the Chinese National Computing Congress this year; other tasks kept me close to home. I was sorry to miss the meeting. I had wanted to see some old friends and meet a few new ones. Most important, I had wanted to learn how Chinese researchers were approaching the current problems in computer science and assess how their ideas might interact with the work in the US, Europe, and India. Increasingly, we have come to appreciate that most computer science problems no longer have a single correct answer. Instead, we get the most efficient or workable solutions by combining ideas from multiple viewpoints. Read more

Evaluating the Digital Library

We put great faith in our electronic libraries of technical articles, such as IEEE Xplore. Time and again, people have told me that these libraries have completely replaced the traditional scholarly journal. “Journals are obsolete,” a friend once told me. “You can get more technical content from an electronic library in just a few seconds than you could get from a traditional journal in years.” Read more

Automating Development

One of my former students, a young man named Devin, surprised me recently when he told me he spent about $3,000 to take a course on Ruby on Rails—a Web development framework. Almost immediately, I asked him why he needed to take such a course. I try to educate my students in first principles. I teach the ideas on which our field is based and show how to reason from them to solve problems. Read more

What Is Software, and Why Do We Care?

I’ve never viewed software as controversial idea any more than I’ve considered wheels to be controversial. Wheels are simple things. They have an axel, a rim, and are useful for many things. Software is a little more complicated but it is little more than a list of instructions. Yet it doesn’t take much searching to discover engineers who don’t view software the same way that software developers view it. Indeed, there are many mechanical and electrical engineers who will freely claim that software should not be left in the hands of software developers. They argue that the field of software engineering does not properly engineer software. If we ever want truly good software, we should take it away from the people who claim the title of “software engineers” and put it in the hands of people who are properly trained as engineers, such as electrical or mechanical or even civil engineers. Read more

To Program

The invention of the computer is a contentious subject, and it encourages me to start this column with a little bit of advice, if you will allow me to offer advice. Should anyone ever ask you to debate the origins, invention, or creation of the electronic stored program computer, politely decline the offer. Tell them that there is something that you need to do or people that you need to see. Don’t get involved in a debate because you will quickly discover that it generates far more heat than light. Too many participants in this discussion are more interested in claiming complete credit for the idea than in helping us understand how computing became central to industrialized society. Read more

Naming the Cloud

Names—be they names of technologies or names of people—behave in much the same way. We get them from our parents. We see them accepted by our community. We try to change them at our peril. Ultimately, we learn that our names don’t represent the ideas that we want to express or that we want our technologies want to express—they represent the ideas that others understand about us. Read more

Engineering in an Unengineered Environment

Eventually, I had to ask for directions to my meeting. I had been wandering the large, mostly empty Orlando Conference Center in search of a committee meeting. I had just arrived in town after a long flight and was unable to make sense of my directions. Most of the people in the building were getting ready for a large trade show on radio frequency identification (RFID) devices and had no idea where the governing board of the IEEE RFID initiative might be meeting. Read more

Situational Awareness

Situational awareness. This is the trend of the day. Not too long ago, my students wanted to do projects that involved big data or the Internet of Things or machine learning. Now, they want to work on situational awareness. As with much of computing, it is something new and old. It is the trend that will shape the next 18 or 24 months of technological development. It is also an idea that has deep roots in computing, roots that probe well beyond the invention of electronic computing machinery to the real reasons that governments and businesses first became interested in organized data processing. Read more


Trusting Your Data

Over the past eight months, I have been following stories about bitcoin—an electronic currency that has been available for roughly the past seven years. It is an independent mechanism of exchange, created by no country and managed by no central bank. It presents itself as trustworthy currency. “We have proposed,” states the original paper on bitcoin, “a system for electronic transactions without relying on trust.” However, the events of the year have caused all of us who follow bitcoin to ask ourselves if we really understand the nature of trust and wonder if technology really does nothing more than attempt to shift our trust from one group of people to another—from bankers to computer owners. Read more


Software Factories

A recent article on the Google software repository revealed something of the current state of software development. It showed the distance that software production had traveled since its origins in the 1950s and how it keeps returning to a basic set of ideas about the organization of work, ideas that software has fundamentally transformed. Read more


Real Simulations

Of all the branches or disciplines of computer science, the field of Monte Carlo simulation is perhaps the least understood. It is often viewed as something quite distant from computer science, an application for computers rather than a body of research that has contributed to the development of computers. Yet Monte Carlo simulation is deeply connected to the history of computing. Many early programs and many of the most sophisticated programs for the ENIAC, the first big all-electronic computing machine, were in fact Monte Carlo simulations of physical processes. “Monte Carlo methods proved to be of great importance to scientific computing and operations research after their computerized debut on ENIAC,” explained historians Tom Haigh, Mark Priestly, and Christian Rope. Read more

Is the Smartphone a Real Innovation?

Rumors and rumors of rumors. As the 10th anniversary of the iPhone approaches, we are starting to hear stories about how Apple might celebrate the event. The most common story seems to be one that suggests that the company will release a new version of its smartphone that resembles nothing more than a plain sheet of glass with images completely covering the front and perhaps the back of the device. I have no information that will confirm this, or any other story. However, I do feel that it is a good time to pause and ask if the iPhone is truly an innovative device. Read more

High-Performance Computing: Global and Local

Long before we had high-performance computing, we had high-performance computing centers. In spring 1904—almost half a century before the advent of the electronic computer—astronomer Simon Newcomb proposed a “Center for the Exact Sciences.” This center would do a variety of things to support scientific research, but one of its central roles was to provide computing services to scientific research. As he wrote, such a center should support “the development of mathematical methods and their application to a great mass of existing observations.” Read more

Invisible Internet of Things

The “most profound technologies are those that disappear,” wrote the computer scientist David Weisser some 20 years ago. They “weave themselves into the fabric of everyday life until they are indistinguishable from it.” However, some technologies require a substantial public discussion before they take their place as part of the fabric of everyday life. The conversation goes back and forth until we have adjusted the technology to solve real problems and redefined our problems in a way that can be solved by the new technology. At the moment, we are in the midst of such a dialogue with the Internet of Things. Read more

The Old and the New; The Computer and the Brain

There is great value in reading classic literature, but computer scientists are often reluctant to read anything but the most recent articles. Statistics from the IEEE and ACM digital libraries suggest that we rarely look at anything more than two or three years old. Yet, by constraining our vision, we overlook the richness of our field. We see only the questions that concern us today and miss ideas that have shaped 60 years of research. In the few times that we do turn to classic literature, we tend to use it only to justify our own work, to say that our contributions have always been central to the field or that we are solving universal problems. Rarely do we turn to this literature to test our ideas, to ask if we have contributed valid and lasting ideas to the field. Read more