The opinion archive provides access to past opinion stories from Communications of the ACM and other sources by date.
MIT Associate Professor Vivienne Sze discusses why we need low-power AI now, and more.
AI scholar Kate Crawford explores the history of artificial intelligence and its impact on the physical world in her new book, Atlas of AI.
Mark Kinsella, vice president of engineering at Opendoor Technologies, provides tips on best practices for remote tech interviews.
Speculators might make money on cryptocurrency, but the arguments for its usefulness fail completely.
Cryptocurrency mining uses huge amounts of power — and can be as destructive as the real thing.
Assessing its future, both the bad and the good.
To date, hacking has exclusively been a human activity. Not for long.
Google recently decided to adopt a new way to track users, and says it's more private than cookies and nearly as effective for advertising. The rest of the Internet pretty much hates it.
Data has become a critical source of power, yet remains largely ungoverned. Washington needs to craft new rules.
The unregulated practice of data brokerage is incredibly dangerous and harmful, and policymakers can ignore it no longer.
Melvin Greer, chief data scientist for the Americas, Intel Corp., discusses the importance of nontechnical skills and cross-domain expertise, ethical AI, and AI as "augmented intelligence."
Jeffrey Ullman, co-recipient of the 2020 ACM A.M. Turing Award, discusses the imposter syndrome, running a Burroughs 5500, and using applications to address social problems.
For some, code is therapy, an escape and a path to hope in a troubled world.
Rediet Abebe uses the tools of theoretical computer science to understand pressing social problems — and try to fix them.
Tracing temporary work modifications resulting in permanent organizational changes.
Seeking to improve systemic fairness in the computing realm.
Respect your staff, learn from others, and know when to let go.
The complex legacy of Steven Levy's obsessive programmers.
Considering the fundamental nature and malleability of programming.
Seeking to develop a multilingual Wikipedia where content can be shared among language editions.
How should software engineers try to classify their reflections?
To game a programmed system means thwarting non-programmed intention.
The ambitious systems that we develop today need a proper requirements structure. The plan defined here organizes requirements specification along …