acm-header
Sign In

Communications of the ACM

BLOG@CACM


bg-corner

When Data Worlds Collide
From BLOG@CACM

When Data Worlds Collide

Critical sections in analytic workflows.

The Perils of 'Stay In Your Lane'
From BLOG@CACM

The Perils of 'Stay In Your Lane'

That phrase translates roughly to "do your job and let others do theirs," but in our division, it was intended to stifle troublesome question-asking.

Lessons from PL/I:  A Most Ambitious Programming Language
From BLOG@CACM

Lessons from PL/I: A Most Ambitious Programming Language

PL/I stands for Programming Language 1, and its aim was to be the Highlander of programming languages. 

The Hadoop Ecosystem's Continued Impact
From BLOG@CACM

The Hadoop Ecosystem's Continued Impact

Hadoop owed much to the Google GFS, MapReduce, and BigTable papers, but it was also a response to a broader technology community need. 

Enabling AI Projects In An Enterprise
From BLOG@CACM

Enabling AI Projects In An Enterprise

Identifying the development behaviors that have the highest chance of success for artificial intelligence efforts.

The Need For Combined Data And Analytic Governance
From BLOG@CACM

The Need For Combined Data And Analytic Governance

Numbers don't mean anything if people don't understand, or trust, the computation behind them.

Stack Ranking: Organizational Cancer
From BLOG@CACM

Stack Ranking: Organizational Cancer

If only the best are hired, why isn't everybody great?

Data Governance and the Psychology of Tension Management
From BLOG@CACM

Data Governance and the Psychology of Tension Management

The balancing of the chaos of no data tension and too much tension on data assets is what data governance frameworks and processes attempt to manage.

Why Are There So Many Programming Languages?
From BLOG@CACM

Why Are There So Many Programming Languages?

Most languages differ less in what they make possible, and more in terms of what they make easy. 

Enterprise Metrics and Optimization
From BLOG@CACM

Enterprise Metrics and Optimization

Metrics are critical; without them, you are flying blind.  But be careful what you try to optimize, because you might just get it.

Developing Technical Leaders
From BLOG@CACM

Developing Technical Leaders

How does one get to Carnegie Hall?

Making Bad Decisions
From BLOG@CACM

Making Bad Decisions

In software engineering, many technical decisions are context-dependent, and there are often complex edge cases to consider. 

Blockchain For What, Exactly?
From BLOG@CACM

Blockchain For What, Exactly?

Considering the real-world consequences of blockchain hype.

Log4j and the Thankless High-Risk Task of Managing Software Component Upgrades
From BLOG@CACM

Log4j and the Thankless High-Risk Task of Managing Software Component Upgrades

Managing included versions of third-party software components too often puts developers in no-win situations.

Software Stories: Legal Trouble
From BLOG@CACM

Software Stories: Legal Trouble

Legal troubles represent another collection of potential pitfalls where developers often find themselves unprepared. 

Software Quotes and Counter Quotes
From BLOG@CACM

Software Quotes and Counter Quotes

Certain phrases and motifs are repeated in software efforts.

Tech Meetups In A Pandemic
From BLOG@CACM

Tech Meetups In A Pandemic

By 2019, I generally thought there wasn't much that could surprise me about organizing meetups. Then Covid-19 hit. I was so wrong.

Design Orientation and Optimization
From BLOG@CACM

Design Orientation and Optimization

Considering how to concurrently maximize output via vertical and horizontal optimization.

The Art Of Speedy Systems Conversions
From BLOG@CACM

The Art Of Speedy Systems Conversions

System conversions represent a type of development in which project scope includes all the effort of an initial software release, plus an entirely new set of complexities...

What Happened to Watson Health?
From BLOG@CACM

What Happened to Watson Health?

A case study in portfolio management.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account