From X to Bluesky: Echo Chamber or Oasis?

2025-03-17

This article examines the migration of users from X (formerly Twitter) to Bluesky. While Bluesky offers a more welcoming community, it risks becoming a liberal echo chamber, mirroring X's conservative bubble. The article analyzes the reasons behind this migration, including dissatisfaction with X's prevalent viewpoints and interaction style, as well as a desire for more civil discourse. The author argues that while the ideal public sphere may be unattainable, improved platform design and user responsibility can create digital spaces conducive to understanding and dialogue.

Read more

Generative AI's Limitations: A Critique by Gary Marcus

2025-02-15

Cognitive scientist Gary Marcus is a prominent skeptic of generative AI, arguing that the current technological path suffers from technical and ethical flaws. He points out that Large Language Models (LLMs) excel at function approximation but fall short in learning functions, prone to "distribution shift" issues, and unable to understand abstract concepts or reliably follow instructions. Marcus contends that LLMs lack understanding of the real world, leading to logical errors and biases. He proposes integrating neural networks with classical AI methods to address these shortcomings. He introduces a new evaluation benchmark—the "comprehension challenge"—where an AI system should be able to understand a movie plot and answer related questions, measuring true comprehension.

Read more

Non-Cryptographic Hash Functions: Design and Evaluation

2025-02-15

This article delves into the design and evaluation of non-cryptographic hash functions. By analyzing the performance of common functions like FNV-1a, FNV-1, Murmur2, and DJBX33A on diverse datasets (including names, words, IP addresses, and a deliberately biased dataset), the authors reveal key characteristics such as uniformity, collision rate, and avalanche effect. Experiments show Murmur2 excels in the avalanche effect but isn't always optimal for uniformity. The article stresses the importance of dataset characteristics in choosing appropriate hash functions and questions existing evaluation criteria, arguing that a single metric (like the avalanche effect) is insufficient for comprehensively assessing non-cryptographic hash function performance.

Read more
Development hash functions

Meta's Data Center Secrets: Scaling to the Extreme

2025-02-11

This collection of papers unveils Meta's cutting-edge research in building and operating hyperscale data centers. From BGP routing to distributed storage (TAO), real-time data processing, cluster management (Twine), global capacity management (Flux), and power management (Dynamo), the papers detail the technologies enabling Meta to handle massive data, global user traffic, and high concurrency. Innovations like MAST for global ML training and RAS for continuous resource optimization highlight Meta's approach to building highly reliable, performant, and efficient data centers. These findings offer invaluable insights for anyone tackling the challenges of hyperscale infrastructure.

Read more
Tech hyperscale

Memory Safety Standardization: A Path to Secure Software

2025-02-07

For decades, endemic memory-safety vulnerabilities in software trusted computing bases (TCBs) have fueled malware and devastating attacks. This article argues for memory-safety standardization as a crucial step towards universal strong memory safety. Recent advancements in memory-safe languages, hardware/software protections, formal methods, and compartmentalization offer solutions, but a lack of shared terminology hinders adoption. Standardization would improve industry best practices and address market failures preventing widespread use of these technologies, ultimately leading to more secure software for everyone.

Read more
Development Standardization

Modern C++: Key to Performance, Type Safety, and Flexibility

2025-02-05

This article explores key concepts in modern C++ (C++20 and beyond) for achieving performance, type safety, and flexibility, including resource management, lifetime management, error handling, modularity, and generic programming. The author highlights that many developers still use outdated C++ techniques, leading to less expressive, slower, less reliable, and harder-to-maintain code. The article introduces modern C++ mechanisms and proposes guidelines and profiles to ensure code modernity, aiming to help developers write cleaner, more efficient, and safer C++ code.

Read more
Development Modernization

Effective Stakeholder Engagement in Agile Projects: A How-To Guide

2025-02-02

This article explores the crucial role of stakeholder engagement in agile project management. It highlights the challenges of maintaining consistent participation in fast-paced, iterative environments, particularly with changing requirements and geographically dispersed teams. The article emphasizes the importance of tools like stakeholder mapping, digital collaboration platforms (Jira, Trello), and prioritization frameworks (MoSCoW, Kano) in fostering effective communication and alignment. The key roles of project managers and business analysts in bridging the gap between stakeholders and agile teams are also discussed, illustrating how successful engagement leads to improved project outcomes and reinforces the value of agile methodologies. Real-world examples from Kaiser Permanente, Revolut, and Atlassian showcase the practical application of these strategies.

Read more

50 Years in Computing: Life Lessons from a Legend

2025-01-25

Communications of the ACM features David Patterson's reflections on his five-decade career in computing. He shares 16 life and career lessons, emphasizing prioritizing family happiness, choosing happiness over wealth, valuing relationships, seeking honest feedback, and embracing bold visions. He highlights the importance of teamwork and a positive work culture, concluding with nine magic words for maintaining strong relationships. This Tech piece offers invaluable insights for those in the computer science field and beyond.

Read more

Software Bugs Lead to One of Britain's Biggest Miscarriages of Justice

2025-01-09

Nearly 1,000 UK post office managers were wrongly convicted of theft between 1999 and 2015 due to flaws in Fujitsu's Horizon accounting software. Poor coding, inadequate testing, and expanding functionality led to bugs causing account discrepancies, resulting in imprisonment, financial ruin, and even suicides. The convictions were overturned in 2024, and a compensation scheme was launched. This case highlights the devastating societal impact of software failures and the critical need for rigorous software development practices.

Read more

Tech Ethics Crisis: Are Big Tech Companies Doing Good?

2024-12-29

Moshe Y. Vardi, a professor at Rice University, revisits his previous stance on the tech ethics crisis. Initially believing that laws and regulations were sufficient to address computing's negative impacts, he now argues that a genuine ethical crisis exists, given the growing power of tech corporations and the ethical issues inherent in their business models. He questions the ethics of working for Big Tech, urging tech workers to consider the balance between self-interest and the public good, and to refer to ACM's Code of Ethics, emphasizing the support of the public good. The article discusses cases like Uber, illustrating how employees, even unknowingly, can participate in unethical practices. Ultimately, Vardi concludes that the tech industry needs a serious self-reflection to address its ethical dilemmas.

Read more

Will Large Language Models End Programming?

2024-12-15

Recent advancements in large language models (LLMs) have sparked debate about the obsolescence of programming. This article argues against this overly optimistic view. Focusing on the computational complexity of program synthesis, the author demonstrates that generating correct code is a PSPACE-complete problem, meaning even moderately sized inputs could require exponential time. While LLMs can assist programmers and boost efficiency, their inherent limitations prevent them from completely replacing human programmers. The core of programming remains problem-solving and system design, requiring human ingenuity and creativity.

Read more